APT: Simple upgrade is triggering a lot of seemingly unrelated package removals

Bug #918925 reported by Andreas Hasenack
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Landscape Client
Fix Released
High
Björn Tillenius

Bug Description

Not sure yet if it's a server or client issue, probably client, but I'm filing it against the server first.

Switched ls1 over to use apt instead of smart (client trunk revision 433). LS offered me some libxml2 upgrades (3), and I selected libxml2 to be upgraded. I was expecting to be prompted for the other 2 xml related packages.

What I got back is a huge proposal that will remove a lot of seemingly unrelated packages from the machine. This is the activity:
https://staging.landscape.canonical.com/account/landscape-devel/computer/1705/activity/134055

Here is what it will do. Remember I asked libxml2 to be upgraded:

Upgrade package libxml2 ls1-lucid
Additional required changes
Remove package apparmor-utils 2.5.1-0ubuntu0.10.04.3
Remove package bind9-host 1:9.7.0.dfsg.P1-1ubuntu0.4
Remove package bind9utils 1:9.7.0.dfsg.P1-1ubuntu0.4
Remove package clouddeck 11.08.20120106+bzr335+jenkins33-1
Remove package debhelper 7.4.15ubuntu1
Remove package dnsutils 1:9.7.0.dfsg.P1-1ubuntu0.4
Remove package gettext 0.17-8ubuntu3
Remove package gnome-doc-utils 0.20.0-0ubuntu2
Remove package gstreamer0.10-alsa 0.10.28-1
Remove package gstreamer0.10-plugins-base 0.10.28-1
Remove package gstreamer0.10-plugins-base-apps 0.10.28-1
Remove package gstreamer0.10-pulseaudio 0.10.21-1ubuntu3
Remove package gstreamer0.10-tools 0.10.28-1
Remove package gtk2-engines 1:2.20.0-0ubuntu1
Remove package gtk2-engines-murrine 0.90.3+git20100323-0ubuntu3
Remove package gtk2-engines-pixbuf 2.20.1-0ubuntu2.1
Remove package intltool-debian 0.35.0+20060710.1
Remove package landscape-server 11.10.20120111+bzr3696+jenkins220-1
Remove package landscape-server-quickstart 11.10.20120111+bzr3696+jenkins220-1
Remove package libappindicator0 0.0.19-0ubuntu5
Remove package libarchive1 2.8.0-2ubuntu0.1
Remove package libbind9-60 1:9.7.0.dfsg.P1-1ubuntu0.4
Remove package libbonobo2-0 2.24.3-0ubuntu1
Remove package libcanberra-gtk0 0.22-1ubuntu2
Remove package libcroco3 0.6.2-1
Remove package libdbusmenu-glib1 0.2.9-0ubuntu3.1
Remove package libdbusmenu-gtk1 0.2.9-0ubuntu3.1
Remove package libdns64 1:9.7.0.dfsg.P1-1ubuntu0.4
Remove package libevdocument2 2.30.3-0ubuntu1.2
Remove package libevview2 2.30.3-0ubuntu1.2
Remove package libgail18 2.20.1-0ubuntu2.1
Remove package libgcr0 2.92.92.is.2.30.3-0ubuntu1.1
Remove package libgdict-1.0-6 2.30.0-0ubuntu1.1
Remove package libglade2-0 1:2.6.4-1build1
Remove package libgnome2-canvas-perl 1.002-2build1
Remove package libgnomecanvas2-0 2.30.1-0ubuntu1
Remove package libgsf-1-114 1.14.16-1ubuntu1
Remove package libgstreamer-plugins-base0.10-0 0.10.28-1
Remove package libgstreamer0.10-0 0.10.28-1
Remove package libgtk2-perl 1:1.221-4ubuntu2
Remove package libgtk2.0-0 2.20.1-0ubuntu2.1
Remove package libgtk2.0-bin 2.20.1-0ubuntu2.1
Remove package libgtkmm-2.4-1c2a 1:2.20.3-0ubuntu1
Remove package libgtksourceview2.0-0 2.10.4-0ubuntu1
Remove package libgucharmap7 1:2.30.0-0ubuntu1
Remove package libindicator0 0.3.8-0ubuntu1
Remove package libisc60 1:9.7.0.dfsg.P1-1ubuntu0.4
Remove package libisccc60 1:9.7.0.dfsg.P1-1ubuntu0.4
Remove package libisccfg60 1:9.7.0.dfsg.P1-1ubuntu0.4
Remove package liblaunchpad-integration1 0.1.35
Remove package liblwres60 1:9.7.0.dfsg.P1-1ubuntu0.4
Remove package libnautilus-extension1 1:2.30.1-0ubuntu1.2
Remove package libnotify1 0.4.5-1ubuntu4
Remove package libpolkit-gtk-1-0 0.96-2ubuntu2
Remove package libpoppler-glib4 0.12.4-0ubuntu5.2
Remove package libpoppler5 0.12.4-0ubuntu5.2
Remove package librpc-xml-perl 0.72-1
Remove package librrd4 1.3.8-1ubuntu1
Remove package librsvg2-2 2.26.3-0ubuntu1.1
Remove package librsvg2-common 2.26.3-0ubuntu1.1
Remove package libsoup2.4-1 2.30.2-0ubuntu0.2
Remove package libunique-1.0-0 1.1.6-1ubuntu2
Remove package libvte9 1:0.23.5-0ubuntu1.1
Remove package libwebkit-1.0-2 1.2.7-0ubuntu0.10.04.1
Remove package libwnck22 1:2.30.0-0ubuntu1
Remove package libxklavier16 5.0-0ubuntu1
Remove package libxml-libxml-perl 1.70.ds-1
Remove package libxslt1.1 1.1.26-1ubuntu1
Remove package po-debconf 1.0.16
Remove package policykit-1-gnome 0.96-2ubuntu2
Remove package poppler-utils 0.12.4-0ubuntu5.2
Remove package postgresql-8.4 8.4.10-0ubuntu0.10.04.1
Remove package postgresql-plpython-8.4 8.4.10-0ubuntu0.10.04.1
Remove package python-aptdaemon-gtk 0.11+bzr345-0ubuntu4.1
Remove package python-glade2 2.17.0-0ubuntu2
Remove package python-gnomecanvas 2.28.0-1ubuntu1
Remove package python-gtk2 2.17.0-0ubuntu2
Remove package python-gtksourceview2 2.10.1-0ubuntu1
Remove package python-lxml 2.2.4-1
Remove package python-notify 0.1.1-2build3
Remove package python-vte 1:0.23.5-0ubuntu1.1
Remove package python-webkit 1.1.7-1
Remove package reprepro 4.5.0-1~lucid1~ppa2
Remove package rrdtool 1.3.8-1ubuntu1
Remove package screensaver-default-images 0.2-1
Remove package shared-mime-info 0.71-1ubuntu2
Remove package ssh-askpass-gnome 1:5.3p1-3ubuntu7
Remove package synaptic 0.63.1ubuntu7
Remove package ubuntu-standard 1.197
Remove package xdg-user-dirs-gtk 0.8-1ubuntu1
Remove package xscreensaver-data 5.10-3ubuntu4
Remove package xscreensaver-gl 5.10-3ubuntu4
Remove package xsltproc 1.1.26-1ubuntu1
Remove package zenity 2.30.0-0ubuntu1
Install package libxml2-utils 2.7.6.dfsg-1ubuntu1.3
Install package python-libxml2 2.7.6.dfsg-1ubuntu1.3
User requested changes
Upgrade package libxml2 2.7.6.dfsg-1ubuntu1.2 to 2.7.6.dfsg-1ubuntu1.3

This is what apt-get dist-upgrade gives me on that machine:

root@ls1-lucid:~# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libxml2 libxml2-utils python-libxml2
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,144kB of archives.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]? n
Abort.

ls1 is still in that state, I haven't touched it, and so is the activity in landscape.

If you are going to restart the client on ls1, remember to export USE_APT_FACADE=1 before as I didn't change the initscripts to set that variable.

To be safe, I "broke" smart on that machine, adding a raise() and a sys.exit(1) to /usr/lib/smart/distro.py.

Related branches

Revision history for this message
Björn Tillenius (bjornt) wrote :

This is definitely a problem in the client. I think we need to configure the ProblemResolver differently, to tell it not to fix problems by removing packages.

I don't think I have access to ls1. Could please tar up /var/lib/dpkg and give it to me? With that I should be able to reproduce it locally, without messing with ls1.

Changed in landscape:
status: New → Incomplete
assignee: nobody → Björn Tillenius (bjornt)
affects: landscape → landscape-client
Changed in landscape-client:
milestone: backlog → none
milestone: none → 12.01.2
tags: added: points-2
Revision history for this message
Björn Tillenius (bjornt) wrote :

Nevermind, Free gave me access to ls1, so I now have the files I need.

Changed in landscape-client:
status: Incomplete → In Progress
visibility: private → public
Changed in landscape-client:
status: In Progress → Fix Committed
Changed in landscape-client:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.