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

Why no apt-pinning by release name?



Hi list,

recently I was trying to install a package from lenny on etch, that has no 
backport available (yet; request has been filed). I was 
configuring /etc/apt/apt-conf and /etc/apt/preferences as I saw fit, but 
learned "the hard way" that it's seemingly not possible to pin releases by 
their relase name (etch, lenny), but only with stable, testing, unstable.

For instance,

Package: *
Pin: release a=lenny
Pin-Priority: 99

doesn't do anything when checking with 'apt-cache policy', but

Package: *
Pin: release a=testing
Pin-Priority: 99

works.

I use only release names in my 'sources.list's, so that apt-cacher doesn't 
autmatically switch to a new release when it becomes stable. But if pinning 
is only possible via 'Pin: release a=stable' or 'Pin: release a=testing' 
instead of 'Pin: release a=etch' and 'Pin: release a=lenny', that won't work 
in the sane way that it should, IMHO.

If I had a sources.list pointing both to etch and lenny, and 
a /etc/apt/preferences like

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 600

I'd guess the only way to assure a non-upgrade to lenny once it will be 
declared stable, would be something like 'APT::Default-Release "oldstable";' 
in /etc/apt/apt.conf - if that worked at all, just a guess for a somewhat 
practical workaround...

Long story short, why is it not possible to pin by release name? Searching for 
this returns lots of web pages that show examples with pinning by release 
name, and I'm wondering why they all propose something that doesn't work at 
all...

I hope somebody can enlighten me on this topic a bit.


Reply to: