Hi, Quoting Evgeni Golov (evg...@debian.org): > Hi Zoran, > > I fear your problem is your pinning.
I believe the problem is update-manager does not behave like apt-preferences(5) says APT (or presumably any package manager) should. Some reasoning below. > > $ apt-cache policy libgl1-mesa-dri > > libgl1-mesa-dri: > > Installed: 7.8.2-2 > > Candidate: 7.7.1-4 > > Package pin: 7.7.1-4 > > Version table: > > *** 7.8.2-2 990 > > 200 http://debian.iskon.hr/debian/ experimental/main i386 Packages > > 100 /var/lib/dpkg/status > > 7.7.1-4 990 > > 700 http://debian.iskon.hr/debian/ testing/main i386 Packages > > 300 http://debian.iskon.hr/debian/ unstable/main i386 Packages > > 7.0.3-7 990 > > 400 http://debian.iskon.hr/debian/ stable/main i386 Packages > > Candidate is 7.7.1-4, NOT your wanted 7.8.2-2. Indeed, but a downgrade must not be attempted at priority 700 or even 990. The relevant passage from apt_preferences(5) seem to be: [cut] If the target release has been specified then APT uses the following algorithm to set the priorities of the versions of a package. Assign: priority 1 to the versions coming from archives which in their Release files are marked as "NotAutomatic: yes" like the debian experimental archive. priority 100 to the version that is already installed (if any). priority 500 to the versions that are not installed and do not belong to the target release. priority 990 to the versions that are not installed and belong to the target release. APT then applies the following rules, listed in order of precedence, to determine which version of a package to install. - Never downgrade unless the priority of an available version exceeds 1000. ("Downgrading" is installing a less recent version of a package in place of a more recent version. Note that none of APT's default priorities exceeds 1000; such high priorities can only be set in the preferences file. Note also that downgrading a package can be risky.) - Install the highest priority version. - If two or more versions have the same priority, install the most recent one (that is, the one with the higher version number). - If two or more versions have the same priority and version number but either the packages differ in some of their metadata or the --reinstall option is given, install the uninstalled one. [cut] Since the newer package was explicitely installed manually, and the highest pinned, target release package does _not_ exceed 1000, I believe a downgrade _must not_ be attempted at all. Both apt-get and aptitude binaries interpret the situation in this manner and don't try to downgrade, as opposed to update-manager. In addition to fixing this behavior, I strongly suggest update-manager should warn when a downgrade is attempted or proposed _even_ when the true conditions for a downgrade are met, because the packaging policies do not account for downgrades and things are allowed to break. If you want, I can clone or file a separate bug for absence of such a warning. > Can you paste the output of `apt-cache policy` and the content of > /etc/apt/preferences and /etc/apt/preferences.d/* Sure, attaching outputs of "apt-cache policy" and "cat /etc/apt/preferences /etc/apt/preferences.d/*". My preferences probably are somewhat broken according to "apt-cache policy libgl-mesa-dri". They don't do what I expected them to -- that is, make the latest libgl1-mesa-dri from either testing, unstable or experimental the prefered candidate. However I don't see a way how they could enable a downgrade. Regards, Zoran
$ apt-cache policy ================ Package files: 100 /var/lib/dpkg/status release a=now 500 http://download.virtualbox.org/virtualbox/debian/ lenny/non-free i386 Packages release o=Oracle Corporation,n=lenny,l=Oracle Corporation,c=non-free origin download.virtualbox.org 500 http://download.skype.com/linux/repos/debian/ stable/non-free i386 Packages origin download.skype.com 400 http://deb.opera.com/opera-snapshot/ stable/non-free i386 Packages release o=Opera Software ASA,a=stable,n=lenny,l=The Opera web browser,c=non-free origin deb.opera.com 400 http://deb.opera.com/opera/ stable/non-free i386 Packages release o=Opera Software ASA,a=stable,n=lenny,l=The Opera web browser,c=non-free origin deb.opera.com 500 file:/home/jelly/mnt/burek/packages/wine/ ./ Packages 500 file:/home/jelly/packages/ ./ Packages 300 http://www.debian-multimedia.org/ sid/non-free i386 Packages release v=None,o=Unofficial Multimedia Packages,a=unstable,n=sid,l=Unofficial Multimedia Packages,c=non-free origin www.debian-multimedia.org 300 http://www.debian-multimedia.org/ sid/main i386 Packages release v=None,o=Unofficial Multimedia Packages,a=unstable,n=sid,l=Unofficial Multimedia Packages,c=main origin www.debian-multimedia.org 500 http://www.lamaresh.net/apt/ squeeze/main i386 Packages release o=Wine Squeeze Repository,a=squeeze,n=squeeze,l=Wine Squeeze Repository,c=main origin www.lamaresh.net 700 http://security.debian.org/ squeeze/updates/non-free i386 Packages release v=None,o=Debian,a=testing,n=squeeze,l=Debian-Security,c=non-free origin security.debian.org 700 http://security.debian.org/ squeeze/updates/contrib i386 Packages release v=None,o=Debian,a=testing,n=squeeze,l=Debian-Security,c=contrib origin security.debian.org 700 http://security.debian.org/ squeeze/updates/main i386 Packages release v=None,o=Debian,a=testing,n=squeeze,l=Debian-Security,c=main origin security.debian.org 200 http://debian.iskon.hr/debian/ experimental/non-free i386 Packages release o=Debian,a=experimental,n=experimental,l=Debian,c=non-free origin debian.iskon.hr 200 http://debian.iskon.hr/debian/ experimental/contrib i386 Packages release o=Debian,a=experimental,n=experimental,l=Debian,c=contrib origin debian.iskon.hr 200 http://debian.iskon.hr/debian/ experimental/main i386 Packages release o=Debian,a=experimental,n=experimental,l=Debian,c=main origin debian.iskon.hr 300 http://debian.iskon.hr/debian/ unstable/non-free i386 Packages release o=Debian,a=unstable,n=sid,l=Debian,c=non-free origin debian.iskon.hr 300 http://debian.iskon.hr/debian/ unstable/contrib i386 Packages release o=Debian,a=unstable,n=sid,l=Debian,c=contrib origin debian.iskon.hr 300 http://debian.iskon.hr/debian/ unstable/main i386 Packages release o=Debian,a=unstable,n=sid,l=Debian,c=main origin debian.iskon.hr 700 http://debian.iskon.hr/debian/ testing/non-free i386 Packages release o=Debian,a=testing,n=squeeze,l=Debian,c=non-free origin debian.iskon.hr 700 http://debian.iskon.hr/debian/ testing/contrib i386 Packages release o=Debian,a=testing,n=squeeze,l=Debian,c=contrib origin debian.iskon.hr 700 http://debian.iskon.hr/debian/ testing/main i386 Packages release o=Debian,a=testing,n=squeeze,l=Debian,c=main origin debian.iskon.hr 400 http://debian.iskon.hr/debian/ stable/non-free i386 Packages release v=5.0.6,o=Debian,a=stable,n=lenny,l=Debian,c=non-free origin debian.iskon.hr 400 http://debian.iskon.hr/debian/ stable/contrib i386 Packages release v=5.0.6,o=Debian,a=stable,n=lenny,l=Debian,c=contrib origin debian.iskon.hr 400 http://debian.iskon.hr/debian/ stable/main i386 Packages release v=5.0.6,o=Debian,a=stable,n=lenny,l=Debian,c=main origin debian.iskon.hr Pinned packages: mplayer -> (not found) xserver-xorg-core -> 2:1.7.7-8 midori -> 0.2.7-1.1 amarok -> 2.3.1-1 wine -> 1.1.24-2 libgl1-mesa-dri -> 7.7.1-4 xserver-xorg-video-intel -> 2:2.12.0+shadow-2 $
cat /etc/apt/preferences ======================== Package: midori Pin: release a=unstable Pin-Priority: 900 Package: amarok Pin: release a=unstable Pin-Priority: 710 Package: wine Pin: release a=unstable Pin-Priority: 900 Package: wine Pin: release a=experimental Pin-Priority: 900 Package: xserver-xorg-video-intel Pin: release a=experimental Pin-Priority: 900 Package: xserver-xorg-video-intel Pin: release a=unstable Pin-Priority: 900 Package: libgl1-mesa-dri Pin: release a=experimental Pin-Priority: 990 Package: libgl1-mesa-dri Pin: release a=unstable Pin-Priority: 990 Package: libgl1-mesa-dri Pin: release a=testing Pin-Priority: 990 Package: xserver-xorg-core Pin: release a=experimental Pin-Priority: 900 Package: xserver-xorg-core Pin: release a=unstable Pin-Priority: 900 Package: mplayer Pin: version 1:* Pin-Priority: 990 Package: * Pin: release a=stable Pin-Priority: 400 Package: * Pin: release a=testing Pin-Priority: 700 Package: * Pin: release a=unstable Pin-Priority: 300 Package: * Pin: release a=experimental Pin-Priority: 200 cat /etc/apt/preferences.d/* ============================ zsh: no matches found: /etc/apt/preferences.d/*