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

Re: keeping track of software changes (Re: alsa-base breaks linux-sound-base)



Andrei POPESCU <andreimpopescu@gmail.com> writes:

> On Lu, 03 sep 12, 18:57:26, lee wrote:
>> Andrei POPESCU <andreimpopescu@gmail.com> writes:
>> 
>> > This is your responsibility as the administrator of your system. 
>> > There are various methods to do it, it all depends on preferences.
>> 
>> Interesting, which methods are there?
>
> Since you only install select packages from unstable you can (ab)use the 
> apt preferences file. Don't set any priority for testing (or stable if 
> you have it in sources.list, don't remember if you do), so they will get 
> priority 500. Then write something like this in /etc/apt/preferences
>
> Package: *
> Pin: release a=unstable
> Pin-Priority: 1
> Explanation: don't auto-install packages from unstable
>
> Package: my-unstable-package
> Pin: version 1.2.3
> Pin-Priority: 500
> Explanation: fixes troubles with setting foo
>
> As long as the priority is the same as testing 'apt-get upgrade' will 
> pull the version from unstable (because it's higher). Because the pin is 
> by version and same priority as testing this is basically 
> fire-and-forget, because:
>
> - a newer package in unstable will not be installed (pin doesn't match)
> - a newer package in testing will be installed without interaction 
>   (higher version)

That should work nicely, though it's not what I had in mind. I'm
thinking more about being asked when upgrading or installing or removing
packages to enter a reason, like "trying NVIDIA drivers from unstable"
or "reverting to NVIDIA drivers from testing" or "regular upgrade" or
"package XYZ isn't needed anymore", etc.. The package management would
then record what it actually does and be able to show me a list of these
entries I can browse, and when I select one of these entries, it would
show me what actions were performed, like "installed ABC from testing"
or "removed XYZ from unstable". It would also offer a search feature
helping me to find out why a particular package is installed, so when
I'd see a particular package installed, it would search through the
records and list the entries in which the package shows up. Then I could
easily see, for example, that package ia32-libs from experimental was
installed when I tried out the NVIDIA drivers from there.

Then, for example, if there was a problem, I might look at the records
and find out that I have a package from experimental or unstable
installed and could tell the package management to replace it with the
package from testing, which might solve the problem.


The only thing I've had in /etc/apt/preferences.d is an entry to
downgrade the the NVIDIA drivers. Aptitude always picks packages from
testing, and it doesn't downgrade packages without being forced to do so
by entries in /etc/apt/preferences.d. If I wanted to install NVIDIA
drivers from unstable, I'd just run "aptitude -t unstable nvidia-glx" to
force it to use the version that's in unstable.

Keeping track of changes is a very different issue.


-- 
Debian testing amd64


Reply to: