Re: How to pin certain packages from experimental?
On Tue, 22 Mar 2005 02:21:39 +1100, Paul.Hampson@anu.edu.au (Paul
>On Mon, Mar 21, 2005 at 12:36:52PM +0100, Marc Haber wrote:
>> On Mon, 21 Mar 2005 08:47:22 +0100, Adeodato Simó <email@example.com>
>> >* 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...
When 4.50-1 was installed on the system in question. there was 4.50-1
in experimental. 4.50-2 went to unstable and thus 4.50-1 was
automatically removed from 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:
The previous 4.44 version on the system was updated to 4.50-1 from
experimental while the 500 pin was in place.
>"causes a version to be installed unless there is a version available
>belonging to some other distribution or the installed version is more
4.50-4 is part of the target distribution, and there is no version
available belonging to some other distribution, and the installed
version is not more recent. Or does apt get confused by the 4.44-2
package available from sarge?
>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,
Hm. What distribution does apt take as target distribution if none is
set in /etc/apt/apt.conf.d?
>> How got 4.50-1 installed then in the first place?
>That would depend on the policy state when it was instslled.
The policy was the same as listed above, pinning the distribution to
>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
The priority was 500.
Shouldn't installation set a target release automatically? Why don't
I have a 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. ^_^
I see. I expected that to happen automatically.
>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:)
>Pin: release o=Debian,a=Unstable,c=main
>Which is roughly the same as picking a target release, but doesn't
>give 990 to non-Debian archives marked Unstable.
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834