On Thu, Sep 20, 2007 at 14:20:27 +0100, Bob wrote:
Hi, I just tried Lenny and MergeFB is busted for that combination of
xserver-xorg-core and xserver-xorg-video-ati, for the moment the fix is
install xserver-xorg-video-ati from experimental, so I have to delve in the
world of apt-pinning.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=420628
If I install a package from experimental or sid, is there any way I can
track it's progress down the tree? that is to say, in some months time,
when a fix or feature has trickled down to Lenny, I don't necessarily want
to be running whatever even newer version is in experimental or sid, which
may well have problems of it's own. Failing that how do you downgrade a
package from the one in sid to the one in testing?
You don't have to pin anything; apt assigns a very low priority to
"experimental" packages by default:
$ apt-cache policy xserver-xorg-video-ati
xserver-xorg-video-ati:
Installed: 1:6.6.192-1
Candidate: 1:6.6.193-3
Version table:
1:6.7.192-4 0
1 http://ftp.de.debian.org experimental/main Packages
1:6.6.193-3 0
500 http://ftp.de.debian.org unstable/main Packages
*** 1:6.6.192-1 0
100 /var/lib/dpkg/status
1:6.6.3-2 0
500 http://ftp.de.debian.org stable/main Packages
500 http://ftp.de.debian.org testing/main Packages
As you can see, the experimental version is ignored as an installation
candidate even though it is the newer than the one in Sid.
A priority of 1 means that the package will only be installed if there
is no installed version of that package; see "man apt_preferences". In
other words, an experimental version of a package will never
automatically displace an already installed version of that same package
(even if the installed version itself came from experimental). When a
newer version of that package comes to Lenny, on the other hand,
apt(itude) will automatically replace the older version if you use
"upgrade". If I understand you correctly, this is what you want.
Therefore you can simply add an "experimental" repository to your
sources list and run
apt-get install -t experimental xserver-xorg-video-ati
to install the new ati driver. You system will continue to have that
driver until a newer version comes to Lenny or until you ask for a newer
experimental one by using the "-t experimental" switch again.
I myself prefer to use aptitude's interactive interface when I mess
around with (experimental) packages since this gives me better control
and a quicker overview of dependency issues. (The "-t" option works the
same for aptitude.)
Please note, however, that all my remarks only concern the package
management; I have no ideas about possible problems of the experimental
driver itself. Also, there can be complications related to sets of
interdependent packages, but you would run into the same issues when
using pinning. The apt-cache command is always helpful to get a feeling
for what is going on.
In the /etc/apt/preferences file, is there any way of pining to a release
rather than to stable or testing? I've got used to using the release
codename in my sources.list so that I don't upgrade until I change the link
in sources.list and issue an apt-get dist-upgrade.
It seems in the preferences file an entry like
Package: *
Pin: release a=etch
Pin-Priority: 700
doesn't work and you have to use a line like,
Pin: release a=stable
Is there a way round this inconsistency?
I don't know of any, but I have never really investigated this issue
since it does not concern real men (Sid users) like me. In the absence
of a general solution I hope that what I wrote above is at least helpful
for your specific problem.