[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#501855: upgrade-reports: initscripts Conflicts/Pre-Depends loop



On 2008-10-11 14:03 +0200, Olaf van der Spek wrote:

> On Sat, Oct 11, 2008 at 12:02 PM, Sven Joachim <svenjoac@gmx.de> wrote:
>> Hm, that looks fairly normal.  Probably it would work if you upgrade
>> initscripts before the full-upgrade.  However, it does not explain why
>> apt wanted to temporarily remove initscripts in the first place.  This
>> looks like a bug in apt, reassigning.
>
> # aptitude install initscripts
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> Reading extended state information
> Initializing package states... Done
> Writing extended state information... Done
> Reading task descriptions... Done
> The following packages are BROKEN:
>   initscripts
> The following packages will be upgraded:
>   libselinux1 libsepol1 sysvinit-utils
> 4 packages upgraded, 0 newly installed, 0 to remove and 230 not upgraded.
> Need to get 0B/347kB of archives. After unpacking 102kB will be used.
> The following packages have unmet dependencies:
>   initscripts: Conflicts: insserv (< 1.09.0-12) but 1.08.0-11 is
> installed and it is kept back.
> The following actions will resolve these dependencies:
>
> Upgrade the following packages:
> insserv [1.08.0-11 (now) -> 1.12.0-4 (testing)]
>
> Score is 120
>
> Accept this solution? [Y/n/q/?]
> The following packages will be upgraded:
>   initscripts insserv libselinux1 libsepol1 sysvinit-utils
> 5 packages upgraded, 0 newly installed, 0 to remove and 229 not upgraded.
> Need to get 0B/413kB of archives. After unpacking 426kB will be freed.
> Do you want to continue? [Y/n/?]
> Writing extended state information... Done
> E: This installation run will require temporarily removing the
> essential package initscripts due to a Conflicts/Pre-Depends loop.
> This is often bad, but if you really want to do it, activate the
> APT::Force-LoopBreak option.
> E: Internal Error, Could not early remove initscripts
> A package failed to install.  Trying to recover:
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> Reading extended state information
> Initializing package states... Done
> Reading task descriptions... Done

Thanks, now I see that there is indeed a dependency loop: the lenny
version of initscripts conflicts with the etch version of insserv and
vice versa, so apt has to remove one of these packages before the other
one can be unpacked.  The bug is that it chooses the wrong package,
namely the required package initscripts instead of the optional insserv.

A possible solution would be for insserv to depend on a recent version
of initscripts instead of conflicting against older versions, thus
breaking the dependency loop.  Insserv maintainers, what do you think?

Sven



Reply to: