Skip site navigation (1) Skip section navigation (2)

Re: [pgsql-packagers] Getting to 8.3 beta1

From: Zdenek(dot)Kotala(at)Sun(dot)COM
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, Heikki Linnakangas <heikki(at)enterprisedb(dot)com>, pgsql-hackers(at)postgresql(dot)org, pgsql-packagers(at)postgresql(dot)org
Subject: Re: [pgsql-packagers] Getting to 8.3 beta1
Date: 2007-09-27 21:32:05
Message-ID: 46FC2155.7080200@Sun.COM (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
Tom Lane wrote:

>Stephen Frost <sfrost(at)snowman(dot)net> 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 

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.


In response to


pgsql-hackers by date

Next:From: Zdenek.KotalaDate: 2007-09-27 21:52:52
Subject: Re: Getting to 8.3 beta1
Previous:From: Tom LaneDate: 2007-09-27 21:04:32
Subject: Re: Eliminate more detoast copies for packed varlenas

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group