[PATCH] passdb: Increase ABI version to 0.28.0

Jeremy Allison jra at samba.org
Thu Mar 7 17:08:41 UTC 2019


On Thu, Mar 07, 2019 at 12:20:37PM +0100, Andreas Schneider wrote:
> On Thursday, March 7, 2019 9:49:13 AM CET Lukas Slebodnik via samba-technical 
> wrote:
> > On (06/03/19 15:12), Jeremy Allison wrote:
> > >On Wed, Mar 06, 2019 at 03:01:19PM -0700, Christof Schmitt via samba-
> technical wrote:
> > >> Past changes of this library versions have been done by incrementing the
> > >> second number as "major" and the third as "minor". My guess is that the
> > >> leading 0 tries to state that this is not necessarily a stable API.
> > >> 
> > >> You are correct that this does not conform to the normal handling of
> > >> library versions. The question is whether we stick to the old scheme for
> > >> now and discuss library versioning separately; or whether passdb should
> > >> become 1.0.0 now. I would like to hear other opinions on this topic.
> > >
> > >Oh, when you put it like *that* :-). passdb should certainly
> > >*not* be at 1.0.0 :-).
> > >
> > >OK, fair enough. Let's leave it at 0.28.0 for master.
> > 
> > Could you explain why ?
> > 
> > You have to bump SONAME because of backward incompatible change in public
> > library especially for master.
> > 
> > If you want you can have 1.28.0 and not 1.0.0 that's just tiny detail IMHO
> 
> Lukas is right. The SO version is MAJOR.MINOR.PATCH
> 
> MAJOR needs be bumped if you have an API incompatible change, e.g. removing a 
> functions which was public before.
> 
> MINOR needs to be bumped if you add something to the public API, add a value 
> to an enum, new function, new define etc.
> 
> PATCH is increased if only a code change and the API did not change in any 
> way.
> 
> 
> So if you remove a function you need to bump the MAJOR so we will get 1.0.0!

Problem is passdb isn't really an externally supported API for
general use. It's not the case that it gets wide usage or traction
like our VFS libraries, talloc or tevent.

I completely agree with your ideas on these libraries, we
fully externally support stabe API/ABI's here.

I don't *want* it to be an external ABI that other projects
depend on, certainly not without much more thought and revisions.

Essentially FreeIPA is the only external user, and I'd like
to move that code back into Samba (inside third_party/ if
you like) and keep in sync upstream.

Maybe we need to stop installing this as an external library ?

Jeremy.



More information about the samba-technical mailing list