Re: spatial stuff detail



On Tue, Sep 23, 2003 at 07:15:13PM +0200, Guido Schimmels wrote:
> Then you have 3 incompatible versions in /usr/lib, used by one  
> application each. Why not keeping it together with the apps then?
> That's my point all long. What's the point of shared resources which  
> don't get shared?
> But as Debian packagers think duplicate libraries are evil, they will  
> repackage such that your little security update will end up 50M big.

And how would it not be 50M if you had to update all the apps because they
used static libs?  If a library contains just a security fix that doesn't
affect API/ABI then I don't see why you want to repackage anything else than
the lib itself.  If you do you are on crack.  You could also repackage 
the whole system and have apt-get pull in a 5 megabytes of completely random
data to waste bandwidth, but that would be stupid right?  Why would you
rebuild apps if ABI has not changed?  You are essentially doing the same.
If you rebuild an app against a lib that doesn't change it's ABI, then
I don't see how you end up with something different.

> Not to speak about the theory and practice of backwards compatibility.
> You can't put the new library in the repository until you have checked  
> it with every single app which depends on it. That puts an excessive  
> burden on the distributor. That doesn't scale. Better let the  
> application developer care for the obscure libraries he uses. He also  
> has probably better means of testing the new library version - like  
> unit tests he uses for regular development.

As far as I remember this similar practice led to incredibly broken MS shared
libs because everybody depended on a different broken version.  There was no
need to keep binary compat because everybody would package their own version.
One particular offender I remember was a 3D widget set lib (official lib from
MS by the way) before windows actually went to full 3d look everywhere.  This
lib managed to have the same filename while being both source and binary
incompatible between versions.  Besides this it had a multitude of bugs that
one had to work around and this set of bugs was different in different
versions.  Meaning since libs weren't actually shared, they weren't actually
well maintained.

Shared libs that are actually shared among apps and get updated
independently, tend to have higher quality in my experience.  As a linux
example, look at the quality of libs that are usually installed as static
only libs.  They're usually very horrible.  ABI/API problems are quickly
discovered if you have more users using different versions of the library.

George

-- 
George <jirka 5z com>
   Although prepared for martyrdom, I preferred that it be postponed.
                       -- Sir Winston Churchill



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