[Pkg-sysvinit-devel] Bug#706877: insserv: breaks dist-upgrade by installing before packages fix their init scripts

Lucas Nussbaum lucas at debian.org
Thu Nov 6 08:08:25 UTC 2014


On 20/10/13 at 09:33 +0200, Petter Reinholdtsen wrote:
> [Jamin W. Collins]
> > It may be bogus or incomplete boot script ordering information, but it
> > previously worked, keep that in mind.  One does not expect a Debian
> > dist-upgrade from one stable release to another to result in a
> > non-functional system.
> 
> Sure.  But the fact that the ordering was not broken when the
> dependencies was ignored do not really matter much.  'ignoring ordering
> loops' is another way to say 'generate incorrect boot sequence', which
> might result in a non-bootable system.  So there is no safe way to
> continue when the boot ordering can not be trusted, and update-rc.d
> refuse to upgrade more packages when this happen as a safe-guard against
> silently breaking the boot (which would only be discovered the next time
> the machine is booted, instead of when the upgrade happen).
> 
> > The former effectively left me locked out of my systems.  I had to
> > reboot every one of them to a single user root session to fix them as
> > my user existed only in LDAP and then unrelated init scripts caused
> > the upgrade to abort in such a way that my user could no longer be
> > validated for sudo.  Had the upgrade proceeded, the system would have
> > been in complete working order (AFAICT).
> 
> Did you run 'sudo apt-get dist-upgrade', and was unable to run a new
> sudo command when the upgrade failed?  Perhaps a safer approach is to
> use 'sudo -i' and then run 'apt-get dist-upgrade' with a root shell to
> make sure you can recover when something go wrong?
> 
> Anyway, I am positive to try to figure out way to avoid breaking systems
> where upgrading packages in a different order would work, but do not
> know which packages have incorrect dependencies in earlier versions
> leading to dependency loops and thus do not know how to do it. :)

Hi,

Is this bug still a problem for wheezy->jessie upgrades?
One could argue that all packages with problematic dependencies could
likely have been fixed during the jessie cycle.

Looking at bugs mentioned in this bug log:
#651037: a duplicate of #650995; fixed in wheezy
#680223: caused by munin-node, fixed in wheezy
#695751: discussion on dependencies on packages themselves depending on
         $all, either implicitely or explicitely (because they would
	 have no LSB headers). There are only a few packages remaining
	 with missing LSB headers[1], and none of them seem likely to be
	 depended. There are more that depend explicitely on $all[2]
	 (lintian has a check for that), and maybe they should be fixed,
	 but again, none of them seem likely to be depended on, except
	 maybe cloud-init. So I believe that in practice, this problem is
	 not so severe.
#589238: several (old) reports of dependency loops. (last activity in
         2011)

Given that this bug was present (unfixed) in wheezy, and the situation
can only have improved since then, I think that this bug should be
jessie-ignore'd.

[1] https://lintian.debian.org/tags/init.d-script-missing-lsb-section.html
[2] https://lintian.debian.org/tags/init.d-script-depends-on-all-virtual-facility.html

- Lucas



More information about the Pkg-sysvinit-devel mailing list