[PROPOSAL] Re-bundle (stop producing tarballs for) ldb?

Andreas Schneider asn at samba.org
Mon Apr 8 11:11:53 UTC 2019


On Monday, April 8, 2019 11:15:58 AM CEST Alexander Bokovoy via samba-
technical wrote:
> On ma, 08 huhti 2019, Andrew Bartlett via samba-technical wrote:
> > ldb 2.0.0 was marked in master just today, not out of some great
> > fanfare but because an externally exposed API/ABI changed and the .so
> > naming rules require it (as we strictly bind the two things for
> > simplicity).
> > 
> > ldb has been a great project, but aside from sssd and the now defunct
> > openchange, it simply hasn't taken off, certainly not in the way that
> > talloc and tdb have become central parts of the Linux ecosystem.
> > 
> > Samba development and Samba AD DC needs drive ldb, and it isn't going
> > to be an independent project any time soon.
> > 
> > So, I'm wondering if we should stop producing ldb tarballs.  We already
> > have to bump version numbers strictly branch with Samba releases and
> > have complex build logic to ensure we don't build with the wrong
> > version.
> > 
> > For Samba the ABI has always turned our to be a tricky beast, even
> > outside the module stack (where no promies were made) we quickly found
> > that using Samba with the 'wrong' ldb version was just looking for
> > pain.  
> > 
> > After a muck-up where a master version of ldb was published into debian
> > (and so breaking existing setups), our distributors have wondered the
> > same as well.  Specifically I recall a discussion on the debian
> > packaging list about if the ldb package should just be built from the
> > Samba tarball instead.
> > 
> > So this is my proposal: that we build ldb like we build libndr and
> > libsmbclient.  Others can still build against it as a public library,
> > but we never build against a 'system' version.  We should have an
> > option to keep it private as well, just like the current default build.
> > 
> > What do others think?
> 
> Looks like that in the past a need for many breaking changes in libldb
> was driven by an incomplete design of the features for Samba AD.
> Perhaps, spending a bit more effort at a drawing board would have helped
> here rather than shipping and then rewriting the code. I'm trying to
> reflect on this, not blame anyone as one can always find a case where
> own hands were dirty as well.

Also there is a feature on most Unix systems called symbol versioning. With 
this it is even possible to break the API if the library is versioned 
correctly. See:

https://github.com/ansasaki/abimap



-- 
Andreas Schneider                      asn at samba.org
Samba Team                             www.samba.org
GPG-ID:     8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D





More information about the samba-technical mailing list