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

conflict/pre-depends loop involving e2fsprogs/sysvinit/libc6



First, I don't know where I should file this bug.  Looking for suggestions on
the list.

Second, any ideas on how to fix this problem?


So, I have a system that was created(by debootstrap) between Feb 14 and May
10(dates taken from the libc6 changelog, based on the version installed).
However, I can't upgrade to current unstable.  This is really not acceptable
to break upgrades so quickly.

rescueparty:/home/doogie# apt-get install e2fsprogs
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  e2fslibs initscripts libblkid1 libc6 libuuid1 locales sysvinit
The following NEW packages will be installed:
  e2fslibs initscripts libblkid1 libuuid1
4 packages upgraded, 5 newly installed, 0 to remove and 213  not upgraded.
Need to get 0B/9810kB of archives. After unpacking 2351kB will be used.
Do you want to continue? [Y/n]
E: This installation run will require temporarily removing the essential
package e2fsprogs 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 e2fsprogs
rescueparty:/home/doogie# apt-get install e2fsprogs -s -o
APT::Force-LoopBreak=true
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  e2fslibs initscripts libblkid1 libc6 libuuid1 locales sysvinit
The following NEW packages will be installed:
  e2fslibs initscripts libblkid1 libuuid1
4 packages upgraded, 5 newly installed, 0 to remove and 213  not upgraded.
Inst locales (2.3.5-6 Debian:unstable) []
Remv e2fsprogs (1.38-2 Debian:unstable) [sysvinit ]
Inst libc6 (2.3.5-6 Debian:unstable) [sysvinit ]
Conf libc6 (2.3.5-6 Debian:unstable) [sysvinit ]
Inst libblkid1 (1.38-2 Debian:unstable) [sysvinit ]
Conf libblkid1 (1.38-2 Debian:unstable) [sysvinit ]
Inst libuuid1 (1.38-2 Debian:unstable) [sysvinit ]
Conf libuuid1 (1.38-2 Debian:unstable) [sysvinit ]
Inst initscripts (2.86.ds1-1.1 Debian:unstable) [sysvinit ]
Conf initscripts broken
 Depends:e2fsprogs
 [sysvinit ]
Inst sysvinit (2.86.ds1-1.1 Debian:unstable) []
Conf sysvinit (2.86.ds1-1.1 Debian:unstable) []
Inst e2fslibs (1.38-2 Debian:unstable) []
Conf e2fslibs (1.38-2 Debian:unstable) []
Inst e2fsprogs (1.38-2 Debian:unstable)
Conf e2fsprogs (1.38-2 Debian:unstable)
Conf locales (2.3.5-6 Debian:unstable)
E: Conf Broken initscripts

Here's a bit more detail:

First, the set of installed packages and their versions.

e2fsprogs	1.27-2
libc6		2.3.2.ds1-21
locales		2.3.2.ds1-21
sysvinit	2.84-2woody1

Now, the important depends lines from the new versions(also trimmed to remove
packages not nescessary for this analysis)

Package: e2fslibs
Version: 1.38-2
Depends: libc6 (>= 2.3.5-1)

Package: e2fsprogs
Version: 1.38-2
Pre-Depends: e2fslibs (= 1.38-2), libblkid1 (>= 1.34-1), libc6 (>= 2.3.5-1),
 libuuid1 (>= 1.34-1)
Conflicts: initscripts (<< 2.85-4),  sysvinit (<< 2.85-4)

Package: libblkid1
Version: 1.38-2
Depends: libc6 (>= 2.3.5-1)

Package: libc6
Version: 2.3.5-6
Conflicts: e2fsprogs (<< 1.35-7)

Package: libuuid1
Version: 1.38-2
Depends: libc6 (>= 2.3.5-1)

Package: locales
Version: 2.3.5-6
Depends: glibc-2.3.5-3, debconf (>= 0.2.26)
Conflicts: localebin, wg15-locale, i18ndata, locale-ja, locale-ko, locale-vi,
locale-zh

Package: sysvinit
Version: 2.86.ds1-1.1
Depends: coreutils
Pre-Depends: libc6 (>= 2.3.5-1), initscripts, sysv-rc (>= 2.85-2) | file-rc
(>> 0.7.0)

Package: initscripts
Version: 2.86.ds1-1.1
Depends: libc6 (>= 2.3.5-1), e2fsprogs (>= 1.19-1)

So, let's analyze this a bit.

All these packages(with the exception of locales and libc6 itself
require a new libc6).  So, libc6 needs to be upgraded.

libc6, however, conflicts with the current version of e2fsprogs.  This means
it needs to be upgraded first.

e2fsprogs pre-depends on several things(most likely because the package has
been split).  It also conflicts with the version of sysvinit installed.
So, sysvinit has to be upgraded and configured first before e2fsprogs can
be considered.

sysvinit pre-depends on the newer libc6.  However, since the newer libc6
conflicts with the existing e2fsprogs, we are in a loop, and apt complains.

I'm not certain who to blame here.  But this is very bad to have something
like this occur.



Reply to: