[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apt pinning question



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.


Reply to: