[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