[arch-general] A suggestion for the devs regarding rebuilds

fons at kokkinizita.net fons at kokkinizita.net
Mon Feb 8 16:04:23 EST 2010


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 !


More information about the arch-general mailing list