[Pkg-samba-maint] ldb merge

Michael Tokarev mjt at tls.msk.ru
Mon Mar 28 10:32:46 BST 2022


There are a few interesting surprises here.

The first one is:

$ ldd libldb2/usr/lib/x86_64-linux-gnu/libldb.so.2
	libreplace-samba4.so.0 => not found

oops.

When building libldb separately, this libreplace
library is linked directly into libldb.so.

libldb2 depends on libwbclient0, but this one,
too, does not include or depend on libreplace.
So I guess this is a problem. Unless we can
somehow hack the build script to include
libreplace just into the libdb.


Next it has some strange directory structure.

libldb2 built from separate source contains this:

  usr/lib/x86_64-linux-gnu/ldb/libldb-key-value.so
  usr/lib/x86_64-linux-gnu/ldb/libldb-mdb-int.so
  usr/lib/x86_64-linux-gnu/ldb/libldb-tdb-err-map.so
  usr/lib/x86_64-linux-gnu/ldb/libldb-tdb-int.so

  usr/lib/x86_64-linux-gnu/ldb/modules/ldb/asq.so
  usr/lib/x86_64-linux-gnu/ldb/modules/ldb/ldap.so
...

there, /usr/lib/x86_64-linux-gnu/ldb/modules/ldb is
referenced within libldb.so.2.5.0, which is ok.
But I don't see how
/usr/lib/x86_64-linux-gnu/ldb/libldb-*.so objects
are used.

Now, when libldb2 is built from samba source, it contains
this:

  usr/lib/x86_64-linux-gnu/ldb/modules/ldb/samba => ../../../samba/ldb
  usr/lib/x86_64-linux-gnu/samba/libldb-key-value-samba4.so.0
  usr/lib/x86_64-linux-gnu/samba/libldb-mdb-int-samba4.so.0
  usr/lib/x86_64-linux-gnu/samba/libldb-tdb-err-map-samba4.so.0
  usr/lib/x86_64-linux-gnu/samba/libldb-tdb-int-samba4.so.0

all the actual modules went to samba-dsdb-modules package,
since they were in usr/lib/x86_64-linux-gnu/samba/ldb/.
Having some more understanding of waf-the-buildsystem
I probably can make it put stuff into separate dir.
Because else we'll have to expand the wildcard in
debian/samba-dsdb-modules.install.


The include files are in /usr/include/samba-4.0/ldb.h etc.
Maybe this is right.

Next we have lintian warnings:

W: ldb-tools: package-relation-with-self
   Depends: ldb-tools (= 2:4.16.0+dfsg-1)
This is due to libldb-cmdline-samba4.so.0 which
is packaged in the same binary package.
And it is here because of private-libraries-have-0-vnum ;)

W: libldb2: package-relation-with-self
  Depends: libldb2 (= 2:4.16.0+dfsg-1)
W: python3-ldb: package-relation-with-self
  Depends: python3-ldb (>= 2:4.16.0+dfsg)

ditto


So far, I had enough of this stuff for *now*.
I'll stash the ldb changes in the separate
branch and try to run some binaries.. :)

What's the way to run some testsuite?

Thanks!

/mjt



More information about the Pkg-samba-maint mailing list