On Mon, Feb 08, 2010 at 07:36:55PM -0700, Brendan Long wrote:
On 02/08/2010 06:46 PM, fons@kokkinizita.net wrote:
It just knows that package (which contains application A0 requires package libfoo (which contains library libfoo.so.1).
In that case, play it safe and don't remove anything that any app could depend on. It's better than making a system instantly unusable.
If you're going to do that, why use a package manager in the first place?
Because even if it does not remove old library versions blindly it is still immensely useful.
And really, why use Arch if you don't want updates?
I did never write that I don't want updates.
Isn't the whole point that you want a system where everything is always up to date, even if things might be broken more often ?
No.
It would be interesting to try to patch yaourt to do what you're wanting though. The simplest solution I can think of is some sort of script that finds out which files in a package are libraries (probably something simple like looking for $pkgname.$pkgver.so, combined with what files are different in the new package). When you update a library and a package that's held back depends on it:
One very simple solution would be to never delete anything named /usr/lib/*.so* unless you really have to. That requires one regexp match. A hack, not perfect but it would help. Ciao, -- FA O tu, che porte, correndo si ? E guerra e morte !