Tuesday, 6 May 2014

Re: Moving from static rcN.d/ ordering to insserv in utopic?

On Tue, May 06, 2014 at 09:41:46AM +0200, Martin Pitt wrote:
> I'm currently merging sysvinit with Debian. The current versions of
> update-rc.d now entirely dropped support for the old static SysV
> rc?.d/SXXservice ordering/numbering and only support insserv, which
> computes the "XX"es according to the dependencies specified in the LSB
> headers. I tested that on my workstation, some VMs and some scenarios
> in a chroot (the latter without booting, of course), and it works
> quite nicely.

> So in case we want to follow Debian here, we should revert our delta
> in insserv to move /usr/bin/insserv to /usr/lib/insserv/ (to avoid
> breaking auto-synced packages and wrong paths in update-rc.d), or keep
> the changed path, try and get it into Debian, and adjust update-rc.d
> accordingly. Also, our update-rc.d delta would entirely disappear.

Petter has mentioned recently that he plans to move it off the path for
Debian as well.

The reason for the delta in Ubuntu on insserv is documented in the
changelog:

* Add 200_hide_insserv_on_ubuntu.patch: Move insserv out of system path
to dissuade package maintainers from invoking it directly. (LP:
#897390)

Third-party packages were invoking insserv from their maintainer scripts in
violation of the defined package interfaces. This led to filesystem
corruption and dataloss on shutdown, because insserv is *not* supported in
Ubuntu (and never has been).

We should aim to get back in sync with Debian on this, but doing so depends
on first restoring the init scripts that have been dropped from Ubuntu as
part of the implementation of upstart, so that insserv has enough
information to actually run scripts in the proper order.

--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org