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

Re: Pinning question



On Mon, 15 Sep 2003 22:23:46 -0400, you wrote:

>> Package: *
>> Pin: release potato
>> Pin-Priority: 800
>> 
>> Package: *
>> Pin: release woody
>> Pin-Priority: 200
>> 
>
>When I read the man pages for apt_preferences, the format is Pin: 
>release a=stable, not pin: release woody. Maybe this will help.
>         ^^ note
>potato is still in the 'dists' list of 'ftp.us.debian.org/debian' so I 
>would guess using "Pin: release a=potato" would work?
>Chuck

I indeed tried this at first after seeing hundreds of web pages
explaining how, before reading the man page fully; according to the
man page:

Selection  by  release  is  more  complicated  and has three forms.
The primary purpose of release selections is to identify a set of
packages  that  match  a  specific  vendor,  or release (ie Debian
2.1). 

The first two forms are shortcuts intended for quick command line use.

"""If the first character of the specification is a digit then it is
considered to be  a release  version  match,  otherwise  a  release
label match."""

"""Specifications which contain equals are full release data matches
and are a comma seperated list  of  one  letter  keys followed by an
equals then by the string."""

v=2.1*,o=Debian,c=main
       l=Debian
       a=stable

"""The  data  for these matches are taken from the Release files that
APT downloads during an update."""

Here is a the release file for the 'main' section of 'woody' on my
machine:

$ cat
/var/state/apt/lists/http.us.debian.org_debian_dists_woody_main_binary-i386_Release
     Archive: stable
     Version: 3.0r1a
     Component: main
     Origin: Debian
     Label: Debian
     Architecture: i386

Here is the release file for the 'main' section of 'potato' on my
machine:

$ cat
/var/state/apt/lists/archive.debian.org_debian-archive_dists_potato_main_binary-i386_Release

     Archive: stable
     Version: 2.2r7
     Component: main
     Origin: Debian
     Label: Debian
     Architecture: i386

The man page says the data for these matches are taken from the
release file.  I commonly see 'release a=stable', release a=unstable',
used with pinning, so I assume 'a=' refers to the 'Archive:' field in
the release file.

That explains why I couldn't match on 'a=woody' for example.   Since
both woody and potato are considered 'stable', I can't use 'a=' to
differentiate between them, as 'a=stable' would match both dists.

However, I should be able to match based on the 'Version:' field,
which is still different between releases.  Indeed, at the end of
"http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html";,
there is an example including version numbers:

	Package: *
	Pin: release v=2.2*,a=stable,c=main,o=Debian,l=Debian
	Pin-Priority: 1001


I'm still not sure why my setup doesn't work:

>> Package: *
>> Pin: release v=2.2*
>> Pin-Priority: 800
>> 
>> Package: *
>> Pin: release v=3.0*
>> Pin-Priority: 200

I must be something extremely simple that I'm missing, anybody else???



Reply to: