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

Re: How to pin certain packages from experimental?



On Mon, Mar 21, 2005 at 12:36:52PM +0100, Marc Haber wrote:
> On Mon, 21 Mar 2005 08:47:22 +0100, Adeodato Simó <asp16@alu.ua.es>
> wrote:
> >* Marc Haber [Mon, 21 Mar 2005 08:03:21 +0100]:
> >> |  Version Table:
> >> |     4.50-4 555
> >> |        500 http://debian.debian.zugschlus.de sid/main Packages
> >> | *** 4.50-1 555
> >> |        100 /var/lib/dpkg/status
> >> |     4.44-2 555
> >> |        500 http://debian.debian.zugschlus.de sarge/main Packages
> >> |[2/502]mh@lefler:~$   
> >
> >> available versions (4.44-2, 4.50-1 and 4.50-4) are pinned to priority
> >> 555.

> >> And I see that the pin is somewhat wrong, as the 555 pin should only
> >> apply to packages available from the experimental distribution and not
> >> to sarge and sid.

> >  The priority of each version/location is the number at the left of it,
> >  in this case, 500, 100, 500. Those numbers are correct.

> So you're basically saying that my pin doesn't work at all?

Well, the above output doesn't show a version in experimental...

"How APT Interprets Priorities" in apt-preferences(5) seems to suggest
that a '500' priority won't be upgraded automatically, that's the
priority assigned to non-target distribution packages:

"causes a version to be installed unless there is a version available
belonging to some other distribution or the installed version is more
recent"

Try setting sid (or sarge) as your target distribution, and 4.50-4
should rise to 990, and be auto-upgraded. However, this means your
experimental pin for this package is too low, and needs to be "990 < P
<=1000" to get the effect of "If there's a newer one in experimental,
grab it".

> How got 4.50-1 installed then in the first place?

That would depend on the policy state when it was instslled.

From what you said earlier, I'd guess that 4.50-1 was installed when it
was in experimental, and the priority was therefore 500 < x <= 990,
which means it'll be installed if there's no version belonging to the
target release. And the above policy output shows there _is_ no target
release set.

The upshot here (and the same lesson I learnt futzing with apt-pinning)
is: Set a target release, or it won't do what you expect. ^_^

Or at the very least, (if for example you use other archives that
also claim to be unstable, and you only want to fall back on them
if Debian/unstable doesn't have what you need:)

Package: *
Pin: release o=Debian,a=Unstable,c=main
Pin-Priority: 990

Which is roughly the same as picking a target release, but doesn't
give 990 to non-Debian archives marked Unstable.

-- 
-----------------------------------------------------------
Paul "TBBle" Hampson, MCSE
8th year CompSci/Asian Studies student, ANU
The Boss, Bubblesworth Pty Ltd (ABN: 51 095 284 361)
Paul.Hampson@Anu.edu.au

"No survivors? Then where do the stories come from I wonder?"
-- Capt. Jack Sparrow, "Pirates of the Caribbean"

This email is licensed to the recipient for non-commercial
use, duplication and distribution.
-----------------------------------------------------------

Attachment: signature.asc
Description: Digital signature


Reply to: