X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/22c9c0cf1c59768d55d9a326663219baa81ed499..ce7038edc964147511a8d4454f65023803096df5:/blog/archive/2010/07/07.rss diff --git a/blog/archive/2010/07/07.rss b/blog/archive/2010/07/07.rss index 361b64b519..23a22733b8 100644 --- a/blog/archive/2010/07/07.rss +++ b/blog/archive/2010/07/07.rss @@ -1056,5 +1056,62 @@ http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla</p> + + Circular package dependencies harms apt recovery + http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html + http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html + Tue, 27 Jul 2010 23:50:00 +0200 + +<p>I discovered this while doing +<a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">automated +testing of upgrades from Debian Lenny to Squeeze</a>. A few packages +in Debian still got circular dependencies, and it is often claimed +that apt and aptitude should be able to handle this just fine, but +some times these dependency loops causes apt to fail.</p> + +<p>An example is from todays +<a href="http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt">upgrade +of KDE using aptitude</a>. In it, a bug in kdebase-workspace-data +causes perl-modules to fail to upgrade. The cause is simple. If a +package fail to unpack, then only part of packages with the circular +dependency might end up being unpacked when unpacking aborts, and the +ones already unpacked will fail to configure in the recovery phase +because its dependencies are unavailable.</p> + +<p>In this log, the problem manifest itself with this error:</p> + +<blockquote><pre> +dpkg: dependency problems prevent configuration of perl-modules: + perl-modules depends on perl (>= 5.10.1-1); however: + Version of perl on system is 5.10.0-19lenny2. +dpkg: error processing perl-modules (--configure): + dependency problems - leaving unconfigured +</pre></blockquote> + +<p>The perl/perl-modules circular dependency is already +<a href="http://bugs.debian.org/527917">reported as a bug</a>, and will +hopefully be solved as soon as possible, but it is not the only one, +and each one of these loops in the dependency tree can cause similar +failures. Of course, they only occur when there are bugs in other +packages causing the unpacking to fail, but it is rather nasty when +the failure of one package causes the problem to become worse because +of dependency loops.</p> + +<p>Thanks to +<a href="http://lists.debian.org/debian-devel/2010/06/msg00116.html">the +tireless effort by Bill Allombert</a>, the number of circular +dependencies +<a href="http://debian.semistable.com/debgraph.out.html">left in Debian +is dropping</a>, and perhaps it will reach zero one day. :)</p> + +<p>Todays testing also exposed a bug in +<a href="http://bugs.debian.org/590605">update-notifier</a> and +<a href="http://bugs.debian.org/590604">different behaviour</a> between +apt-get and aptitude, the latter possibly caused by some circular +dependency. Reported both to BTS to try to get someone to look at +it.</p> + + +