[Pkg-sysvinit-devel] Bug#728566: upstart: make upstart co-installable with sysvinit

Steve Langasek vorlon at debian.org
Mon Nov 25 07:07:03 UTC 2013


Control: reassign -1 sysvinit
Control: tags -1 patch

Hi there,

On Sun, Nov 03, 2013 at 11:18:10AM +0900, Osamu Aoki wrote:
> Please make upstart co-installable with sysvinit by removing sysvinit in
> the "Conflicts:" stanza and offer separate upstart-sysv package for
> replacing /sbin/init just as systemd does with systemd and systemd-sysv.

> This eases testing and migration much easier.  I would like to install
> all upstart/systemd/sysvinit together and switch my boot mode by setting
> the kernel boot parameter like
>  init=/usr/lib/upstart
>  init=/usr/lib/systemd
>  init=/sbin/init or init=/usr/lib/sysvinit

> There may be some coordination needed with systemd and sysvinit but this
> kind of technical measure will be good idea whatever init system is
> chosen as default. (I did not look in how exactly systemd work with
> sysvinit on supposedly overlapping commands like telinit etc.)

> Background:
> I installed upstart to my system.  It removed sysvinit as expected.
> Although I faced some boot failure with upstart, I could get normal boot
> by providing init=/usr/lib/systemd when booting since I had systemd
> installed without removing sysvinit before.  (I did not have time to
> debug...)

> Also, dist-upgrade removes upstart as expected since it conflicts with
> the essential package sysvinit.  This is annoying too.

> For me to feel easy to come back to upstart to debug issues, I would
> rather select boot mode via kernel parameter.  I also would like to have
> no complication with dist-upgrade.  Then I can make benchmarking of boot
> speed etc. without complication.

The reason upstart conflicts with sysvinit it because it was always intended
to be a full replacement for sysvinit, with no reason to have both installed
together - and there are many overlapping commands between the two, not just
'init'.  This was designed with the idea of a short transition from sysvinit
to upstart, which is not what has happened in practice.  Nevertheless, I
don't consider it reasonable to split the upstart package and keep sysvinit
installed.  For one thing, the sysvinit shutdown command is not compatible
with upstart, so a system set up without "upstart-sysv" would not shutdown
cleanly!

I discussed the upstart-conflicts-essential-sysvinit issue with various
folks at DebConf, and the consensus there seemed to be that the only
straightforward solution would be to make sysvinit (the package marked
Essential: yes) a transitional package that depends on an ORed list of the
possible implementors of /sbin/init.  I'm attaching a patch against sysvinit
that does just this.  I believe this also addresses bug #645540 against
sysvinit.

I realize this doesn't exactly address your request, but I think it's as
close as we can usefully get.

-- 
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 at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Move-sysvinit-functionality-into-a-new-binary-packag.patch
Type: text/x-diff
Size: 11470 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/attachments/20131125/d50317a1/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/attachments/20131125/d50317a1/attachment.sig>


More information about the Pkg-sysvinit-devel mailing list