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: