apt-get -t, the real story
Can someone please explain to me, at long last, how the apt-get -t
option really works (or is supposed to)? The manpage says:
This option controls the default input to the
policy engine, it creates a default pin at pri-
ority 990 using the specified release string. The
preferences file may further override this
setting. In short, this option lets you have
simple control over which distribution packages
will be retrieved from. Some common examples might
be -t `2.1*' or -t unstable.
This gives the impression it instructs apt to prefer packages
according to fields of the respective Release files, as documented in
apt_preferences(5). But _which field_ ?? "unstable" would be in
the Archive: field but "2.1" would be in the Version: field!
The reason I ask is that I cannot persuade apt to do the right thing
with my (peculiar) kind of sources.list file:
deb ftp://ftp.us.debian.org/debian testing main
deb ftp://non-us.debian.org/debian-non-US testing non-US/main
deb ftp://security.debian.org/debian-security testing/updates main
deb ftp://security.debian.org/debian-security stable/updates main
No matter what I do, I can't make apt prefer a security-fixed version
from stable over a later (yet unfixed) version from testing. I have
to either just wget the debs bypassing apt, or temporarily edit out
the testing sources.
So how _is_ this supposed to work? And how can I find out, other than
studying the source of apt?
Actually, just before firing this off, I found a way, sort of. If I
postfix every package name on the command line with /stable, it does
what I want. But still this is much less convenient than -t, assuming
it can be made to cooperate.
Ian Zimmerman, Oakland, California, U.S.A.
GPG: 433BA087 9C0F 194F 203A 63F7 B1B8 6E5A 8CA3 27DB 433B A087
EngSoc adopts market economy: cheap is wasteful, efficient is expensive.