1 Title: Circular package dependencies harms apt recovery
2 Tags: english, nuug, debian
5 <p>I discovered this while doing
6 <a href="http://www.hungry.com/~pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">automated
7 testing of upgrades from Debian Lenny to Squeeze</a>. A few packages
8 in Debian still got circular dependencies, and it is often claimed
9 that apt and aptitude should be able to handle this just fine, but
10 some times these dependency loops causes apt to fail.</p>
12 <p>An example is from todays
13 <a href="https://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt">upgrade
14 of KDE using aptitude</a>. In it, a bug in kdebase-workspace-data
15 causes perl-modules to fail to upgrade. The cause is simple. If a
16 package fail to unpack, then only part of packages with the circular
17 dependency might end up being unpacked when unpacking aborts, and the
18 ones already unpacked will fail to configure in the recovery phase
19 because its dependencies are unavailable.</p>
21 <p>In this log, the problem manifest itself with this error:</p>
24 dpkg: dependency problems prevent configuration of perl-modules:
25 perl-modules depends on perl (>= 5.10.1-1); however:
26 Version of perl on system is 5.10.0-19lenny2.
27 dpkg: error processing perl-modules (--configure):
28 dependency problems - leaving unconfigured
31 <p>The perl/perl-modules circular dependency is already
32 <a href="http://bugs.debian.org/527917">reported as a bug</a>, and will
33 hopefully be solved as soon as possible, but it is not the only one,
34 and each one of these loops in the dependency tree can cause similar
35 failures. Of course, they only occur when there are bugs in other
36 packages causing the unpacking to fail, but it is rather nasty when
37 the failure of one package causes the problem to become worse because
38 of dependency loops.</p>
41 <a href="http://lists.debian.org/debian-devel/2010/06/msg00116.html">the
42 tireless effort by Bill Allombert</a>, the number of circular
44 <a href="http://debian.semistable.com/debgraph.out.html">left in Debian
45 is dropping</a>, and perhaps it will reach zero one day. :)</p>
47 <p>Todays testing also exposed a bug in
48 <a href="http://bugs.debian.org/590605">update-notifier</a> and
49 <a href="http://bugs.debian.org/590604">different behaviour</a> between
50 apt-get and aptitude, the latter possibly caused by some circular
51 dependency. Reported both to BTS to try to get someone to look at