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

Re: Dependencies on shared libs, take 2

On Mon, 04 Jun 2007, Josselin Mouette wrote:
> Le lundi 04 juin 2007 à 10:54 +0200, Raphael Hertzog a écrit :
> > Creating a first version of the symbols file is not difficult either. For
> > the sake of example, here's how I did with the libc6 package. I included 
> > the etch package first so that I have history of symbols starting from
> > etch. 
> > $ aptitude download libc6/stable libc6/unstable
> > $ dpkg -x libc6_2.3.6.ds1-13_i386.deb /tmp/etch-libc6
> > $ dpkg -x libc6_2.5-9_i386.deb /tmp/sid-libc6
> > $ dpkg-gensymbols -v2.3.6.ds1 -plibc6 -e/tmp/etch-libc6/lib*.so* -Olibc6.symbols
> > $ dpkg-gensymbols -v2.5-9 -plibc6 -e/tmp/sid-libc6/lib*.so* -Olibc6.symbols
> Again, this doesn't take into account existing symbols that change their
> ABI across versions. I won't insist too much, as I have already
> explained at large how heavy a burden it puts on the maintainer's
> shoulders.

I understood your point, unfortunately it doesn't look like there's much
to do except giving up all the other benefits that I expect from this
way of handling dependencies on shared libs.

We can theoretically already have problems like those, if the maintainer
forgets to bump the shlibs when such a change happen. Agreed, it's far less
likely given that any other change requiring shlibs bump would hide this
problem whereas with this new system, it wouldn't be the case unless the
application also uses one of the new symbols.

In the end, it will be the maintainer's decision to use symbols file or
not, but I really hope that the libraries that are in the top of
our dependency tree will be early and careful adopters. Libraries that are
in early development stage can safely decide to not use symbols file and
stay with simple shlibs bump.

If you have concrete suggestions, I'm all ears. But I think that if
something needs to be done, it's more on the side of early QA with some 
tool testing a package with the oldest possible libraries. It would be
nice if something could be automated here, but I don't see what and how.

Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :

Reply to: