[PATCH] passdb: Increase ABI version to 0.28.0

Lukas Slebodnik lslebodn at fedoraproject.org
Thu Mar 7 19:21:36 UTC 2019


On (07/03/19 19:47), Alexander Bokovoy wrote:
>On to, 07 maalis 2019, Jeremy Allison via samba-technical wrote:
>> On Thu, Mar 07, 2019 at 06:22:50PM +0100, Andreas Schneider wrote:
>> > On Thursday, March 7, 2019 6:08:41 PM CET Jeremy Allison wrote:
>> > > 
>> > > Maybe we need to stop installing this as an external library ?
>> > 
>> > That's probably the better thing to do ...
>> 
>> Yeah, but not now as FreeIPA needs it. I'm happy to
>> just coordinate closely with Alexander and gang for
>> now though :-).
>Yes, please don't change the way how the library is provided right now
>in the master. I will get FreeIPA's ipasam prepared for the inclusion to
>Samba but it will take a bit of time. Right now the 0.28.0 soname is OK
>-- it breaks the binaries, thus asking for a rebuild, like in past. And
>it means I need to adopt ipasam anyway.
>

"0.28.0" is not SONAME. SONAME is always just the name of library + the 1st number.

sh$ objdump -p /usr/lib64/libsamba-passdb.so.0.27.1 | grep SONAME
  SONAME               libsamba-passdb.so.0

And if you keep SONAME the same in master then it *will break* binaries;
cause dynamic linker (ldd) relies on SONAME.

sh$ ldd /usr/lib64/samba/pdb/ipasam.so | grep samba-pass
        libsamba-passdb.so.0 => /lib64/libsamba-passdb.so.0
        (0x00007fb2ade48000)

If you keep version "0.28.0" in master then dynamic linker will
assume it can be used becasue SONAME is expected but later it will
fail to resolve removed functions.

In case of SONAME bump; maintainers need to rebuild binaries.
If build pass then it mean their packages were not affected by
incompatible change. Otherwise they need to change their packages.

Summary 0.28.0 soname is not OK for master. And IIUC there will not be any
backward incompatible change in samba-4.10.x (freeipa will be OK for quite a
long)

Sure you need't follow best practices and do whatever you like.
Especially if you decide to make this library private in master.

LS



More information about the samba-technical mailing list