On Tue, Feb 09, 2010 at 03:09:00AM +0800, Ray Rashif wrote: > I really like the sodepends/soprovides idea, especially after the last > discussion. After this one, I like it even more. The libfoo2/3/4 has > always confused me, and is one of the reasons why our repos appear > "cleaner" and are, in essence, "easier to navigate". > > But really, the only problem we all can recall from the last rebuild > was cairo, of which I myself was a victim (it just skipped my mind > entirely that I had a foreign cairo). Even Nagy mentioned this as an > example of a breakage which sodepends/soprovides could solve, but > technically it's still our own short-sightedness at fault while > everything was rebuilt and ready. Here I'd like to chime in, also referring to the other thread (library version conflict) that I started yesterday. It makes perfect sense to me 1. to have a 'rolling release' system in which packages are updated as soon as possible instead of waiting for a bulk update in the form of a new 'version', 2. that all packages in a repo depend on the same library versions. What does *not* make sense is to impose (2) on a user's system. At least not strictly. If I install a new package, and doing that updates a library to one that is incompatible with the previous one (i.e. having a different majer version number) there is *no reason at all* to remove the previous library version. Having a 'rolling release' does not require doing that. If I notice that a new app or an update of an existing one has included a new major version of a library, I will in time probably update or recompile everything to use the new library as well. It would typically be a matter of some days. Just do not expect me to do that *immediately*. I do expect that any apps that I didn't update continue to work until I update them. This means that the previous library version must not be removed. I don't keep a system as a toy and for the pleasure of keeping it up to date. I need it to do my work, and having to do a complete system update at an unexpected time is not helping at all. Even less if that complete system update results in the machine locking up and /me having to spend some hours manually repairing file systems and installed packages. As happened today. Removing the old version means that the user is left with a system that does not work. In my case, installing Latex broke xv, firefox, gnuplot, emacs, and as I discovered only the day after, also my desktop. It left me with an utterly unusable system for no good reason at all. Except maybe some 'religious' one about imposing 'absolute purity' on users. (2) also means that there is no point to include a library version in the package name (Debian style, the cause of lots of misery). Just *do not remove the previous library* when installing one with a different major version. Ciao, -- FA O tu, che porte, correndo si ? E guerra e morte !