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

Re: Why are new package versions depending on libc6 in unstable?



On Tue, Nov 19, 2002 at 12:29:16AM -0700, Jason Gunthorpe wrote:
> There is a fairly simple way to tell if the ABI has changed - diff all the
> header files that are installed then examine the exported symbols of the
> shared library. If the header files are identical (within reason), and the
> symbol list is the same then the libaries are ABI compatible. You have to
> check all the symbols versions and elf symbol sizes when looking at the
> library too.

You have to check the implementation too :-)  A function might have exactly
the same calling interface, yet behave slightly differently.  For example,
a function might accept a NULL value where the previous version didn't.
This wouldn't show up in any header files or symbol tables, but it would
be a backward-incompatible change.  A package which expects the new behaviour
(and has been tested with that) would fail when used with the old version.

> Looking at the changelog, maybe the answer is that we need per-arch
> shlibs, alot of bumps could potentially be due to other arches getting
> patched up, but for instance i386 staying the same..

This wouldn't necessarily help with the migration-to-testing problem,
because a package moves on all architectures simultaneously.

Richard Braakman



Reply to: