apt wants to downgrade packages with pin-priority less than 1000
alon at turnkeylinux.org
Tue Jan 6 14:46:35 GMT 2009
I never really got much response from my original mail describing the
issue, so I decided to reproduce the issue using a vanilla ubuntu
package and the ubuntu repositories directly (so you can see for
I have chosen base-files as its a small package without any build-deps,
but any package would work.
# dpkg -s base-files |grep Version
# grep deb-src /etc/apt/sources.list.d/sources.list
deb-src http://archive.ubuntu.com/ubuntu hardy-updates main
# apt-get source base-files
dpkg-source: extracting base-files in base-files-4.0.1ubuntu5.8.04.3
dpkg-source: unpacking base-files_4.0.1ubuntu5.8.04.3.tar.gz
# head debian/changelog
base-files (4.0.1ubuntu5.8.04.3-1) hardy-proposed; urgency=low
* testing pinning issue
-- Alon Swartz <alon at turnkeylinux.org> Tue, 06 Jan 2009 00:00:00 +0000
# dpkg-buildpackage -b -tc
# dpkg -i base-files_4.0.1ubuntu5.8.04.3-1_i386.deb
Setting up base-files (4.0.1ubuntu5.8.04.3-1) ...
# dpkg -s base-files |grep Version
# cat /etc/apt/preferences
Pin: release o=Ubuntu
# apt-cache policy base-files
Package pin: 4.0.1ubuntu5.8.04.3
*** 4.0.1ubuntu5.8.04.3-1 999
500 http://archive.ubuntu.com hardy-updates/main Packages
500 http://archive.ubuntu.com hardy/main Packages
# apt-get install base-files
The following packages will be DOWNGRADED:
In other words, apt wants to downgrade a package even though the
pin-priority is less than 1000, which goes against all the
Is this a bug in apt, a bug in the documentation, or am I
Alon Swartz wrote:
> Martin Meredith wrote:
>> On Sat, Dec 27, 2008 at 09:14:56PM +0200, Alon Swartz wrote:
>>> Hi Guys,
>>> Firstly, let me introduce myself, I am one of the developers for TurnKey
>>> Linux, an opensource project that develops a family of lightweight
>>> installable Ubuntu based Live CD appliances optimized for various
>>> server-type tasks.
>>> Now, down to business...
>>> apt will attempt to downgrade an installed package if the pin-priority
>>> of the package is greater than 99.
>>> apt will not downgrade when pin-priorty is 99 or below because the
>>> already installed package automatically gets a priority of 100.
>>> According to the apt_preferences manpage (mentioned several times), apt
>>> will *never* downgrade a package unless the priority of an available
>>> version exceeds 1000.
>>> I came across this issue because our package repository has not yet been
>>> updated with the latest package, but the latest package has been
>>> installed on the system.
>>> Although this shouldn't matter, apt seems to be breaking its own rules
>>> (unless I am missing something...)
>>> My testing system:
>>> Ubuntu 8.04.1 (Hardy)
>>> apt 0.7.9ubuntu17.1 for i386 compiled on Oct 27 2008 18:11:08
>>> # dpkg -s drupal5 |grep Version
>>> Version: 5.12-2
>>> # cat /etc/apt/preferences
>>> Package: drupal5
>>> Pin: release o=turnkeylinux
>>> Pin-Priority: 999
>>> Note: the pin-priority can be anything larger than 99 to reproduce this,
>>> and the same situation happens with other packages.
>>> # apt-cache policy drupal5
>>> Installed: 5.12-2
>>> Candidate: 5.10-3
>>> Package pin: 5.10-3
>>> Version table:
>>> *** 5.12-2 999
>>> 100 /var/lib/dpkg/status
>>> 5.10-3 999
>>> 500 http://archive.turnkeylinux.org hardy-security/universe Packages
>>> 5.7-1ubuntu1.1 999
>>> 500 http://archive.ubuntu.com hardy-security/universe Packages
>>> # apt-get install drupal5
>>> The following packages will be DOWNGRADED:
>>> In other words, the installed version is 5.12-2 but apt wants to
>>> downgrade to the eariler version 5.10-3.
>>> Is this a bug in apt, a bug in the documentation, or am I
>>> mis-understanding something?
>> Is that the full of your apt preferences? Policy is reporting you've pinned the
>> package by version.
>> Can you pastebin your full preferences file, and the output of apt-config dump?
> The above mentioned /etc/apt/preferences is my full preferences file.
> I have pinned the package to the release origin, not specifying a version.
> # grep Origin
> Origin: turnkeylinux
> The output of apt-config dump is available at the following link,
> although it looks like a vanilla ubuntu configuration:
> Alon Swartz
More information about the ubuntu-devel