Migrating the insserv enabling stuff from insserv to sysv-rc
Petter Reinholdtsen
pere at hungry.com
Sun Aug 2 08:27:15 UTC 2009
[Petter Reinholdtsen]
> This conflict break upgrades, and installation with dpkg -i when I
> install more packages (insserv, sysv-rc, sysvinit, sysvinit-utils
> and initscrits). I'm not quite sure if this conflict is required or
> not. :/ Removing it made upgrades and dpkg -i installation work
> properly.
The conflict is there to make sure no-one upgrade to a newer sysv-rc
or insserv without also upgrading the other package. It should only
be a problem if insserv is enabled. Here are the two scenarios:
* Upgrading insserv to a newer version while keeping a version of
sysv-rc without the depend on a newer insserv, will make it
possible to remove sysv-rc without getting a warning about enabled
dependency based boot sequencing. This is ok, and we do not need
the conflict for this. Those removing sysv-rc will have to insert
a replacement doing dependency based boot sequencing and know what
they are doing.
* Upgrading sysv-rc to a newer version will also depend on a newer
version of insserv. There is no need for a conflict for this.
This make me believe the conflict in insserv on older sysv-rc versions
is not needed.
> One idea presented by Daniel Silverstone when I discussed this
> problem with him, was to move the insserv binary into the sysv-rc
> package. It would basicly get rid of the problem.
This did not work. When sysv-rc replaces the old insserv package,
dpkg try to remove the old insserv package and fail to do so because
insserv is still enabled. Next, I tried a empty transition package
for insserv to avoid having to remove the old insserv package, but
this make update-rc.d disappear during upgrade when initscripts try to
run its postinst, and thus is no good either.
I suspect we will be stuck with the update-rc.d-insserv script for
squeeze, as no other working alternative have presented itself. :/
Happy hacking,
--
Petter Reinholdtsen
More information about the initscripts-ng-devel
mailing list