Tom Lane wrote:

Stephen Frost <[EMAIL PROTECTED]> writes:
Tom Lane wrote:
* Do we bump the .so major version number for libpq?  I think we should
because there are two new exported functions since 8.2, and on at least
some platforms there's nothing else than major number to disambiguate
whether a client needs these or not.  Comments?

Bumping the soname is an indication of a binary-incompatible change and
means that old binaries *can't* link against the new library, and so
everything has to be recompiled.  Please don't do that unless it really
is a binary-incompatible change because it's alot of extra work for
packagers to deal with all of their reverse dependencies and getting
everyone to recompile.

It's not only a question of whether old binaries can use the newer
library; it's a question of whether a package's dependencies correctly
show that it needs the newer library (if it does).  Without this,
dependency-solving update systems like yum, apt, etc may fail to install
prerequisite updates.

If we can skip the compatibility-package pushup this time around,
I'll be as happy as anyone.  But I'm worried about getting into the
kind of mess we had in 8.0, where we decided *after* release that
we needed a soname bump :-(

Anyone on -packagers want to weigh in on this?

I'm for bumbing. Because if we use same number it also means that new binary will able to use old library. But if there are two new functions number must be increased. Standard practice how ELF loader works is following:

Each library could have tree numbers libxxx-X.Y.Z. Loader/Linker ignores Z number. It means any binaries can be linked e.g. with X.Y.Z+1 or X.Y.Z-1. This is used for bugfixing. Middle number Y means that binaries which requires Y can also use Y+1 (and linker takes it), but not Y-1. It is used for adding new thing into interface - backward compatible. Change in major number X means it is not backward compatible libraries.

More information you can get there:

In PostgreSQL perspective, we use only major number. We can increase main number (X) or best way is add Y and keep major number same. But I don't know if it is possible in current infrastructure and if it will work everywhere.


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to