tag 387218 confirmed
thanks
On Wed, Sep 13, 2006 at 01:25:31AM +0200, carlo@alinoe.com wrote:
> When next an /etc/apt/preferences file is created
> with the following contents:
>
> Package: linux-kernel-headers
> Pin: version 2.6.17.10-3
> Pin-Priority: 50
>
> One would expect to NOT see an upgrade, as this would set
> the priority of the Candidate to very low. However, the
> result of using this preferences file is:
>
> $ apt-get --dry-run install linux-kernel-headers
> Reading package lists... Done
> Building dependency tree... Done
> The following packages will be upgraded:
> linux-kernel-headers
> 1 upgraded, 0 newly installed, 0 to remove and 50 not upgraded.
> Inst linux-kernel-headers [2.6.17.6-1] (2.6.17.10-3 Debian:testing)
> Conf linux-kernel-headers (2.6.17.10-3 Debian:testing)
>
> Moreover, when - instead - using the following preferences file:
>
> Package: linux-kernel-headers
> Pin: origin ftp.nluug.nl
> Pin-Priority: 50
>
> The result is STILL that it gets installed!
>
> $ apt-get --dry-run install linux-kernel-headers
> Reading package lists... Done
> Building dependency tree... Done
> The following packages will be upgraded:
> linux-kernel-headers
> 1 upgraded, 0 newly installed, 0 to remove and 50 not upgraded.
> Inst linux-kernel-headers [2.6.17.6-1] (2.6.17.10-3 Debian:testing)
> Conf linux-kernel-headers (2.6.17.10-3 Debian:testing)
>
> This has to be a bug, because next when we only change the Package line
> to refer to all packages instead of just linux-kernel-headers, thus:
>
> Package: *
> Pin: origin ftp.nluug.nl
> Pin-Priority: 50
>
> The result is finally:
>
> $ apt-get --dry-run install linux-kernel-headers
> Reading package lists... Done
> Building dependency tree... Done
> linux-kernel-headers is already the newest version.
> 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
>
> and
>
> $ apt-cache policy linux-kernel-headers
> linux-kernel-headers:
> Installed: 2.6.17.6-1
> Candidate: 2.6.17.6-1
> Version table:
> 2.6.17.10-3 0
> 50 http://ftp.nluug.nl etch/main Packages
> *** 2.6.17.6-1 0
> 100 /var/lib/dpkg/status
>
> The latter can be understood since 50 < 100.
> apt-cache policy linux-kernel-headers
> linux-kernel-headers:
> Installed: 2.6.17.6-1
> Candidate: 2.6.17.10-3
> Package pin: 2.6.17.10-3
> Version table:
> 2.6.17.10-3 50
> 500 http://ftp.nluug.nl etch/main Packages
> *** 2.6.17.6-1 50
> 100 /var/lib/dpkg/status
>
> Why is there still a '500' there now?
> Doesn't the 500 refer to version 2.6.17.10-3 (of
> package linux-kernel-headers!)? That 500 is both,
> on the line of origin http://ftp.nluug.nl, and
> below (indented) of version 2.6.17.10-3, and thus
> package linux-kernel-headers. The priority should
> be 50!
So it seems that pinning per-package is a bit broken. Below you can see
two tries. The lists priority overrides the package priority somehow.
jak@hp:~/Desktop/apt/jak$ cat prefs
Package: apt
Pin: release o=Debian
Pin-Priority: 50
jak@hp:~/Desktop/apt/jak$ LC_ALL=C apt-cache -oDir::Etc::Preferences=$PWD/prefs policy apt
apt:
Installed: 0.7.25.3
Candidate: 0.7.26~exp2
Package pin: 0.7.26~exp2
Version table:
0.7.26~exp2 50
500 http://localhost/debian/ experimental/main Packages
*** 0.7.25.3 50
100 /var/lib/dpkg/status
jak@hp:~/Desktop/apt/jak$ cat prefs
Package: *
Pin: release o=Debian
Pin-Priority: 50
jak@hp:~/Desktop/apt/jak$ LC_ALL=C apt-cache -oDir::Etc::Preferences=$PWD/prefs policy apt
apt:
Installed: 0.7.25.3
Candidate: 0.7.25.3
Version table:
0.7.26~exp2 0
50 http://localhost/debian/ experimental/main Packages
*** 0.7.25.3 0
100 /var/lib/dpkg/status
--
Julian Andres Klode - Debian Developer, Ubuntu Member
See http://wiki.debian.org/JulianAndresKlode and http://jak-linux.org/.
Attachment:
pgp4nZeBmLU05.pgp
Description: PGP signature