X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/22c9c0cf1c59768d55d9a326663219baa81ed499..ce7038edc964147511a8d4454f65023803096df5:/blog/index.rss diff --git a/blog/index.rss b/blog/index.rss index 94bef78060..b048971f03 100644 --- a/blog/index.rss +++ b/blog/index.rss @@ -6,6 +6,63 @@ http://people.skolelinux.org/pere/blog/ + + 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> + + + First Debian Edu test release (alpha0) based on Squeeze is released http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html @@ -748,106 +805,5 @@ offentlig myndighet?</p> - - Lenny->Squeeze upgrades, apt vs aptitude with the Gnome desktop - http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html - http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html - Sat, 3 Jul 2010 23:55:00 +0200 - -<p>Here is a short update on my <a -href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">my -Debian Lenny->Squeeze upgrade testing</a>. Here is a summary of the -difference for Gnome when it is upgraded by apt-get and aptitude. I'm -not reporting the status for KDE, because the upgrade crashes when -aptitude try because of missing conflicts -(<a href="http://bugs.debian.org/584861">#584861</a> and -<a href="http://bugs.debian.org/585716">#585716</a>).</p> - -<p>At the end of the upgrade test script, dpkg -l is executed to get a -complete list of the installed packages. Based on this I see these -differences when I did a test run today. As usual, I do not really -know what the correct set of packages would be, but thought it best to -publish the difference.</p> - -<p>Installed using apt-get, missing with aptitude</p> - -<blockquote><p> - at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs - libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common - libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin - libgtksourceview-common libpt-1.10.10-plugins-alsa - libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java - libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip - python-4suite-xml python-eggtrayicon python-gtkhtml2 - python-gtkmozembed svgalibg1 xserver-xephyr zip -</p></blockquote> - -<p>Installed using apt-get, removed with aptitude</p> - -<blockquote><p> - bluez-utils dhcdbd djvulibre-desktop epiphany-gecko - gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager - libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50 - libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3 - libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9 - libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3 - libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9 - libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2 - libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0 - libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0 - libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50 - libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10 - libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4 - libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5 - libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3 - libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8 - libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 - libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj - libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3 - mysql-common swfdec-gnome totem-gstreamer wodim -</p></blockquote> - -<p>Installed using aptitude, missing with apt-get</p> - -<blockquote><p> - gnome gnome-desktop-environment hamster-applet python-gnomeapplet - python-gnomekeyring python-wnck rhythmbox-plugins xorg - xserver-xorg-input-all xserver-xorg-input-evdev - xserver-xorg-input-kbd xserver-xorg-input-mouse - xserver-xorg-input-synaptics xserver-xorg-video-all - xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati - xserver-xorg-video-chips xserver-xorg-video-cirrus - xserver-xorg-video-dummy xserver-xorg-video-fbdev - xserver-xorg-video-glint xserver-xorg-video-i128 - xserver-xorg-video-i740 xserver-xorg-video-mach64 - xserver-xorg-video-mga xserver-xorg-video-neomagic - xserver-xorg-video-nouveau xserver-xorg-video-nv - xserver-xorg-video-r128 xserver-xorg-video-radeon - xserver-xorg-video-radeonhd xserver-xorg-video-rendition - xserver-xorg-video-s3 xserver-xorg-video-s3virge - xserver-xorg-video-savage xserver-xorg-video-siliconmotion - xserver-xorg-video-sis xserver-xorg-video-sisusb - xserver-xorg-video-tdfx xserver-xorg-video-tga - xserver-xorg-video-trident xserver-xorg-video-tseng - xserver-xorg-video-vesa xserver-xorg-video-vmware - xserver-xorg-video-voodoo -</p></blockquote> - -<p>Installed using aptitude, removed with apt-get</p> - -<blockquote><p> - deskbar-applet xserver-xorg xserver-xorg-core - xserver-xorg-input-wacom xserver-xorg-video-intel - xserver-xorg-video-openchrome -</p></blockquote> - -<p>I was told on IRC that the xorg-xserver package was -<a href="http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120">changed -in git</a> today to try to get apt-get to not remove xorg completely. -No idea when it hits Squeeze, but when it does I hope it will reduce -the difference somewhat. - - -