Samba DEBUG in OpenChange

Ralph Boehme rb at
Mon Dec 14 09:12:59 UTC 2015

On Mon, Dec 14, 2015 at 08:57:53AM +0100, Volker Lendecke wrote:
> From lib/util/wscript_build:
> public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h samba_util.h string_wrappers.h idtree.h idtree_random.h blocking.h signal.h substitute.h fault.h genrand.h'
> public_headers='tevent_ntstatus.h tevent_werror.h'

hm. libsamba-util is public and installs debug.h, why can't Openchange
simply link against libsamba-util? I must be missing something...

> Other place:
> public_headers='include/smbldap.h include/smb_ldap.h'
> public_headers='error.h ntstatus.h doserr.h werror.h hresult.h'
> I mean, we publish samba_util.h, the very definition of a
> kitchen sink. Do you really mean to seriously publish this
> as an API???

from a technical pov as far as it concerns the rest of Samba, what's
the difference between a private library we can modify willy-nilly and
a public library we can modify willy-nilly?

Afaict, the only public Samba libraries where we actually take care of
the ABI are those that use abi_directory and abi_match in
bld.SAMBA_LIBRARY(), right ?

Makes for three classes of libraries:

1) private libs

2) public libs without ABI guaranty, use at your own risk, ABI (and API) can change

3) public libs with ABI guaranty, like talloc

25df58a853d8d3ecab2705687453193cb676976c changed libdebug from class 2
to 1, which I would consider the right thing to do from a technical pov.

Afaict, making it public again (class 2, NOT 3), doesn't impose *any*
restriction on us wrt to ABI or API.


SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen,

More information about the samba-technical mailing list