On 2011-03-30 15:00:45 John Bazik wrote:
>My local archive is oldstable (same as lenny), and I have no target
>release defined.
>
>sources.list:
> deb http://mymirror/debian lenny main contrib non-free
> deb http://mymirror/debian-security lenny/updates main contrib non-free
> deb http://mymirror/debian-backports lenny-backports main contrib non
> deb http://mymirror/debian-browncs lenny local
>
>preferences:
> Package: *
> Pin: release a=oldstable
> Pin-Priority: 750
>
> Package: *
> Pin: release a=lenny-backports
> Pin-Priority: 80
>
> Package: dovecot-imapd
> Pin: release a=lenny-backports
> Pin-Priority: 750
>
>% apt-cache policy dovecot-imapd
>dovecot-imapd:
> Installed: (none)
> Candidate: 1:1.2.15-1~bpo50+1
> Package pin: 1:1.2.15-1~bpo50+1
> Version table:
> 1:1.2.15-1~bpo50+1+browncs 750
> 750 http://mymirror lenny/local Packages
> 1:1.2.15-1~bpo50+1 750
> 80 http://mymirror lenny-backports/main Packages
> 1:1.0.15-2.3+lenny1 750
> 750 http://mymirror lenny/main Packages
> 750 http://mymirror lenny/updates/main Packages
>
>The priorities are equal, but the older version from lenny-backports
>is the candidate. I would expect the newer version to be installed.
>
>This looks broken to me.
Looks broken to me, as well. Perhaps this is worth a bug report? At the very
least the output is confusing.
Nothing in /etc/apt/preferences.d? What's the output of (apt-cache policy |
awk 'BEGIN { p = 0 } /^Pinned packages:/ { p = 1 } { if (p) print }')?
I'm thinking that, despite the output, that the "general-form" Pins are not
actually being applied to the "dovecore-impad" package (independent of
version), since a "specific-form" pins matched the package name. Because of
that, the internal (and not displayed!) priority for dovecot-
imapd_1:1.2.15-1~bpo50+1+browncs is actually 500.
(I've always been a bit irked at how priorities are displayed.)
Try adding this to your preferences:
Package: dovecot-imapd
Pin: release a=oldstable
Pin-Priority: 750
If that works, that provides evidence it is as I feared. Having any package-
name match in any specific-form prevents application of all general-form to
packages with that name. I think that is one valid interpretation of the
documentation:
"If any specific-form records match an available package version then the
first such record determines the priority of the package version. Failing
that, if any general-form records match an available package version then the
first such record determines the priority of the package version." -- (man 5
apt_preferences)
--
Boyd Stephen Smith Jr. ,= ,-_-. =.
bss@iguanasuicide.net ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/ \_/
Attachment:
signature.asc
Description: This is a digitally signed message part.