Re: Comments on introducing a new Essential package: base-init?
On Wed, Feb 08, 2012 at 09:49:26PM +0100, Sven Joachim wrote:
> On 2012-02-08 21:03 +0100, Roger Leigh wrote:
> > This is regarding Bug #645540 ("Essential" package conflict between
> > sysvinit and systemd-sysv).
> > sysvinit is currently Essential. In order to permit the replacement
> > of sysvinit with an alternative init system, I'd like to propose the
> > creation of a new Essential package "base-init", with a Depends on
> > "sysvinit | init", where "init" is a virtual package provided by all
> > packages providing /sbin/init. This would be provided by sysvinit,
> > systemd, upstart, etc.
> Assuming they all provide /sbin/init, they need to conflict with each
> other, right? In that case, switching init systems has the dangerous
> effect that apt will remove the current provider before unpacking the
> replacement, leaving a window where /sbin/init does not exist. Sounds
> rather dangerous to me.
This is a good point, but is there a safer alternative? Upstart
and systemd currently have a Replaces: sysvinit to replace it outright,
but it still requires sysvinit to be installed in the first place, and
it is still Essential. Any alternative init system is required to do
this, and it would be ideal to have a means of removing sysvinit
entirely. If there's a way which does not involve a virtual package,
we could do that--I guess it's not strictly necessary, but it does
avoid the need for init-providers to explicitly conflict/replace
each other. For example, upstart currently conflicts/replaces
sysvinit /anyway/, so it's not like the virtual package would
introduce a window of breakage which is not already present today.
Obviously, a perfectly safe and clean solution would be preferred!
.''`. Roger Leigh
: :' : Debian GNU/Linux http://people.debian.org/~rleigh/
`. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/
`- GPG Public Key: 0x25BFB848 Please GPG sign your mail.