Re: [pgsql-packagers] Getting to 8.3 beta1

Поиск
Список
Период
Сортировка
От Zdenek.Kotala@Sun.COM
Тема Re: [pgsql-packagers] Getting to 8.3 beta1
Дата
Msg-id 46FC2155.7080200@Sun.COM
обсуждение исходный текст
Ответ на Re: Getting to 8.3 beta1  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [pgsql-packagers] Getting to 8.3 beta1  (Stephen Frost <sfrost@snowman.net>)
Список pgsql-hackers
Tom Lane wrote:

>Stephen Frost <sfrost@snowman.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 
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:
http://www.iecc.com/linker/

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.


         Zdenek



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Chris Browne
Дата:
Сообщение: Re: Getting to 8.3 beta1
Следующее
От: Zdenek.Kotala@Sun.COM
Дата:
Сообщение: Re: Getting to 8.3 beta1