[ovs-dev,2/2] openvswitch-switch.postinst: Remove upstart files.
diff mbox

Message ID CAM_3v9+KXPYY-yrYPMvcLe2iatGPchYTjW3=WXL2G1jW1ASXtg@mail.gmail.com
State Accepted
Headers show

Commit Message

Gurucharan Shetty July 12, 2017, 4:46 p.m. UTC
On 12 July 2017 at 09:34, Ben Pfaff <blp@ovn.org> wrote:

> On Mon, Jun 26, 2017 at 04:05:14AM -0700, Gurucharan Shetty wrote:
> > For a while, ubuntu used upstart scripts as an alternative
> > for sysv scripts. For e.g popular releases like ubuntu12.04
> > and ubuntu14.04 have upstart infrastructure. From Ubuntu16.04,
> > they have moved to systemd.
> >
> > Ubuntu maintainers have a fork of openvswitch packages with
> > upstart scripts. When a user installs openvswitch-switch
> > package on a ubuntu 14.04 with 'apt-get install openvswitch-switch',
> > two upstart files are added to /etc/init directory.
> >
> > Now, when the same user builds debian packages from this repo
> > and then installs them, the older upstart files don't get
> > deleted. What this means is that a command like
> > 'invoke-rc.d openvswitch-switch restart' calls initctl scripts
> > instead of sysv script that this repo provides. In our sysv
> > scripts we have logic to carefully upgrade kernel module and
> > save openflow flows. This breaks the intent of the package from
> > this repo.
> >
> > This commit deletes any stale upstart files that have remained
> > in the system.
> >
> > Signed-off-by: Gurucharan Shetty <guru@ovn.org>
>
> Thanks for finding and fixing the problem.  This sounds like it was
> really mysterious.
>
> Would you please add some appropriate comments to the script that
> explains what's going on?
>
> Acked-by: Ben Pfaff <blp@ovn.org>
>
Thank you! I will add the following incremental and apply it after some
time.

Patch
diff mbox

diff --git a/debian/openvswitch-switch.postinst
b/debian/openvswitch-switch.postinst
index 37e62b7..3f9b055 100755
--- a/debian/openvswitch-switch.postinst
+++ b/debian/openvswitch-switch.postinst
@@ -33,6 +33,9 @@  case "$1" in
                     fi
                 done
         fi
+        # Certain versions of upstream Ubuntu's openvswitch packages (which
+        # are forks) may install upstart files which are incompatible
+        # with the packages generated from this repo. Remove them.
         if [ -e "/etc/init/openvswitch-switch.conf" ]; then
             rm /etc/init/openvswitch-switch.conf
         fi