[Pkg-samba-maint] [Git][samba-team/samba][master] 5 commits: drop python3-ldb-dev package (internal to samba build)

Michael Tokarev (@mjt) gitlab at salsa.debian.org
Sat Jun 29 13:59:46 BST 2024



Michael Tokarev pushed to branch master at Debian Samba Team / samba


Commits:
f961a344 by Michael Tokarev at 2024-06-29T15:03:02+03:00
drop python3-ldb-dev package (internal to samba build)

python3-ldb-dev contains development files for C bindings
for python3 bindings to libldb.  The files in there are
used during samba build but not elsewhere.  More, since
the library *name* is python-arch-version-dependent, it
is quite difficutl to use these bindings outside wafsamba
anyway.

This package is left here since the time when libldb were
built from its own sources instead of from samba sources.

Drop this package, temporarily replacing it with a empty
transitional package just in case someone has it installed
(since it depends on the same binary version of python3-ldb).
To be removed after trixie.

Also drop symbols for pyldb-utils.so which is used internally
(linked to from python extensions) and contains just 3 symbols.

- - - - -
76a12b7f by Michael Tokarev at 2024-06-29T15:03:23+03:00
d/rules,d/control: pass ldb:Version substvar instead of ldb:Depends

also remove usage of ${LDB_EPOCH} which is used only once

- - - - -
39f5e8b5 by Michael Tokarev at 2024-06-29T15:03:23+03:00
d/control: ensure python3-samba depends on exact version of python3-ldb too, not just samba-libs vs libldb2

- - - - -
a4a11ca0 by Michael Tokarev at 2024-06-29T15:03:23+03:00
d/rules: ensure python3-ldb does not depend on samba-libs|python3-samba

- - - - -
1cfa9380 by Michael Tokarev at 2024-06-29T15:56:26+03:00
d/rules: refine and explain --with-shared-modules

idmap_* are shared by default, but some other stuff needs extra care

- - - - -


6 changed files:

- debian/control
- debian/not-installed
- − debian/python3-ldb-dev.install
- − debian/python3-ldb-dev.lintian-overrides
- − debian/python3-ldb.symbols.in
- debian/rules


Changes:

=====================================
debian/control
=====================================
@@ -130,7 +130,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends},
 # since libldb ABI is incorrectly versioned resulting in breakage like #1021371,
 # just require libldb version of the same build
 # https://lists.samba.org/archive/samba-technical/2023-September/138422.html
- ${ldb:Depends},
+ libldb2 (= ${ldb:Version}),
 Replaces:
 # libsamba-util.so &deps moved from libwbclient0 to samba-libs in 4.16.1+dfsg-7
  libwbclient0 (<< 2:4.16.1+dfsg-7~),
@@ -315,9 +315,9 @@ Package: python3-samba
 Pre-Depends: ${misc:Pre-Depends}
 Architecture: any
 Section: python
-Depends: python3-ldb,
-         python3-tdb,
+Depends: python3-ldb (= ${ldb:Version}),
          samba-libs (= ${binary:Version}),
+         python3-tdb,
          ${misc:Depends},
          ${python3:Depends},
          ${shlibs:Depends}
@@ -343,7 +343,7 @@ Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: samba-libs (= ${binary:Version}),
-         ${ldb:Depends},
+         libldb2 (= ${ldb:Version}),
          ${misc:Depends},
          ${shlibs:Depends}
 Enhances: libldb2
@@ -667,21 +667,14 @@ Depends: libldb2 (= ${binary:Version}),
 Description: Python 3 bindings for LDB
  ldb is a LDAP-like embedded database built on top of TDB.
  .
- This package contains the Python 3 bindings.
+ This package contains the Python 3 bindings for ldb.
 
 Package: python3-ldb-dev
-Section: libdevel
+# Remove this package for trixie+1
+Section: oldlibs
 Architecture: any
-Depends: libc6-dev,
-         libldb-dev,
-         python3-ldb (= ${binary:Version}),
-         ${misc:Depends}
-Description: LDB Python 3 bindings - development files
- ldb is a LDAP-like embedded database built on top of TDB.
- .
- It is a fast database with an LDAP-like API designed
- to be used within an application. In some ways it can be seen as a
- intermediate solution between key-value pair databases and a real LDAP
- database.
- .
- This package contains the development files for the Python 3 bindings.
+Depends: ${misc:Depends}
+Description: LDB Python 3 bindings development files - transitional empty package
+ This package previously contained development files for python3-ldb.
+ These files are not needed outside of samba build system.
+ It is safe to remove this package.


=====================================
debian/not-installed
=====================================
@@ -8,3 +8,7 @@ usr/share/man/man1/wspsearch.1
 # downgrade db to pre-4.8 version, hardly needed anymore:
 usr/sbin/samba_downgrade_db
 usr/share/man/man8/samba_downgrade_db.8
+# 3 files was in python3-ldb-dev:
+usr/include/samba-4.0/pyldb.h
+usr/lib/*/libpyldb-util.cpython-*.so
+usr/lib/*/pkgconfig/pyldb-util.cpython-*.pc


=====================================
debian/python3-ldb-dev.install deleted
=====================================
@@ -1,3 +0,0 @@
-usr/include/samba-4.0/pyldb.h
-usr/lib/*/libpyldb-util.cpython-*.so
-usr/lib/*/pkgconfig/pyldb-util.cpython-*.pc


=====================================
debian/python3-ldb-dev.lintian-overrides deleted
=====================================
@@ -1,2 +0,0 @@
-# This is actually a -dev package
-python3-ldb-dev: wrong-section-according-to-package-name * => python


=====================================
debian/python3-ldb.symbols.in deleted
=====================================
@@ -1,70 +0,0 @@
-#libpyldb-util${DEB_PY3_EXTENSION_SUFFIX}.2 #PACKAGE# #MINVER#
-# PYLDB_UTIL${DEB_PY3_EXTENSION_UPCASE}_2.5.0 at PYLDB_UTIL${DEB_PY3_EXTENSION_UPCASE}_2.5.0 2:2.5.0
- PYLDB_UTIL_1.1.2 at PYLDB_UTIL_1.1.2 2:2.2.0
- PYLDB_UTIL_1.1.3 at PYLDB_UTIL_1.1.3 2:2.0.7
- PYLDB_UTIL_1.1.4 at PYLDB_UTIL_1.1.4 2:2.0.7
- PYLDB_UTIL_1.1.5 at PYLDB_UTIL_1.1.5 2:2.0.7
- PYLDB_UTIL_1.1.6 at PYLDB_UTIL_1.1.6 2:2.0.7
- PYLDB_UTIL_1.1.7 at PYLDB_UTIL_1.1.7 2:2.0.7
- PYLDB_UTIL_1.1.8 at PYLDB_UTIL_1.1.8 2:2.0.7
- PYLDB_UTIL_1.1.9 at PYLDB_UTIL_1.1.9 2:2.0.7
- PYLDB_UTIL_1.1.10 at PYLDB_UTIL_1.1.10 2:2.0.7
- PYLDB_UTIL_1.1.11 at PYLDB_UTIL_1.1.11 2:2.0.7
- PYLDB_UTIL_1.1.12 at PYLDB_UTIL_1.1.12 2:2.0.7
- PYLDB_UTIL_1.1.13 at PYLDB_UTIL_1.1.13 2:2.0.7
- PYLDB_UTIL_1.1.14 at PYLDB_UTIL_1.1.14 2:2.0.7
- PYLDB_UTIL_1.1.15 at PYLDB_UTIL_1.1.15 2:2.0.7
- PYLDB_UTIL_1.1.16 at PYLDB_UTIL_1.1.16 2:2.0.7
- PYLDB_UTIL_1.1.17 at PYLDB_UTIL_1.1.17 2:2.0.7
- PYLDB_UTIL_1.1.18 at PYLDB_UTIL_1.1.18 2:2.0.7
- PYLDB_UTIL_1.1.19 at PYLDB_UTIL_1.1.19 2:2.0.7
- PYLDB_UTIL_1.1.20 at PYLDB_UTIL_1.1.20 2:2.0.7
- PYLDB_UTIL_1.1.21 at PYLDB_UTIL_1.1.21 2:2.0.7
- PYLDB_UTIL_1.1.22 at PYLDB_UTIL_1.1.22 2:2.0.7
- PYLDB_UTIL_1.1.23 at PYLDB_UTIL_1.1.23 1.5.4
- PYLDB_UTIL_1.1.24 at PYLDB_UTIL_1.1.24 1.5.4
- PYLDB_UTIL_1.1.25 at PYLDB_UTIL_1.1.25 1.5.4
- PYLDB_UTIL_1.1.26 at PYLDB_UTIL_1.1.26 1.5.4
- PYLDB_UTIL_1.1.27 at PYLDB_UTIL_1.1.27 1.5.4
- PYLDB_UTIL_1.1.28 at PYLDB_UTIL_1.1.28 1.5.4
- PYLDB_UTIL_1.1.29 at PYLDB_UTIL_1.1.29 1.5.4
- PYLDB_UTIL_1.1.30 at PYLDB_UTIL_1.1.30 1.5.4
- PYLDB_UTIL_1.1.31 at PYLDB_UTIL_1.1.31 1.5.4
- PYLDB_UTIL_1.2.0 at PYLDB_UTIL_1.2.0 1.5.4
- PYLDB_UTIL_1.2.1 at PYLDB_UTIL_1.2.1 1.5.4
- PYLDB_UTIL_1.2.2 at PYLDB_UTIL_1.2.2 1.5.4
- PYLDB_UTIL_1.2.3 at PYLDB_UTIL_1.2.3 1.5.4
- PYLDB_UTIL_1.3.0 at PYLDB_UTIL_1.3.0 1.5.4
- PYLDB_UTIL_1.3.1 at PYLDB_UTIL_1.3.1 1.5.4
- PYLDB_UTIL_1.3.2 at PYLDB_UTIL_1.3.2 1.5.4
- PYLDB_UTIL_1.4.0 at PYLDB_UTIL_1.4.0 1.5.4
- PYLDB_UTIL_1.4.1 at PYLDB_UTIL_1.4.1 1.5.4
- PYLDB_UTIL_1.5.0 at PYLDB_UTIL_1.5.0 1.5.4
- PYLDB_UTIL_1.5.1 at PYLDB_UTIL_1.5.1 1.5.4
- PYLDB_UTIL_1.5.2 at PYLDB_UTIL_1.5.2 1.5.4
- PYLDB_UTIL_1.5.3 at PYLDB_UTIL_1.5.3 1.5.4
- PYLDB_UTIL_1.6.0 at PYLDB_UTIL_1.6.0 2:2.0.7
- PYLDB_UTIL_1.6.1 at PYLDB_UTIL_1.6.1 2:2.0.7
- PYLDB_UTIL_1.6.2 at PYLDB_UTIL_1.6.2 2:2.0.7
- PYLDB_UTIL_1.6.3 at PYLDB_UTIL_1.6.3 2:2.0.7
- PYLDB_UTIL_2.0.0 at PYLDB_UTIL_2.0.0 2:2.0.7
- PYLDB_UTIL_2.0.1 at PYLDB_UTIL_2.0.1 2:2.0.7
- PYLDB_UTIL_2.0.2 at PYLDB_UTIL_2.0.2 2:2.0.7
- PYLDB_UTIL_2.0.3 at PYLDB_UTIL_2.0.3 2:2.0.7
- PYLDB_UTIL_2.0.4 at PYLDB_UTIL_2.0.4 2:2.0.7
- PYLDB_UTIL_2.0.5 at PYLDB_UTIL_2.0.5 2:2.0.7
- PYLDB_UTIL_2.1.0 at PYLDB_UTIL_2.1.0 2:2.1.0
- PYLDB_UTIL_2.1.1 at PYLDB_UTIL_2.1.1 2:2.1.1
- PYLDB_UTIL_2.2.0 at PYLDB_UTIL_2.2.0 2:2.2.0
- PYLDB_UTIL_2.4.0 at PYLDB_UTIL_2.4.0 2:2.5.0
- PYLDB_UTIL_2.4.1 at PYLDB_UTIL_2.4.1 2:2.5.0
- PYLDB_UTIL_2.5.0 at PYLDB_UTIL_2.5.0 2:2.5.0
- PYLDB_UTIL_2.6.0 at PYLDB_UTIL_2.6.0 2:2.6.0
- PYLDB_UTIL_2.6.1 at PYLDB_UTIL_2.6.1 2:2.6.1
- PYLDB_UTIL_2.7.0 at PYLDB_UTIL_2.7.0 2:2.7.0
- PYLDB_UTIL_2.8.0 at PYLDB_UTIL_2.8.0 2:2.8.0
- PYLDB_UTIL_2.9.0 at PYLDB_UTIL_2.9.0 2:2.9.0
- PYLDB_UTIL_2.9.1 at PYLDB_UTIL_2.9.1 2:2.9.1
- pyldb_Dn_FromDn at PYLDB_UTIL_1.1.2 2:2.0.7
- pyldb_Object_AsDn at PYLDB_UTIL_1.1.2 2:2.0.7
- pyldb_check_type at PYLDB_UTIL_2.1.0 2:2.1.0


=====================================
debian/rules
=====================================
@@ -26,11 +26,9 @@ endif
 
 DESTDIR = ${CURDIR}/debian/tmp
 
-LDB_EPOCH = 2:
 LDB_VERSION = $(call dpkg_late_eval,LDB_VERSION,grep ^VERSION lib/ldb/wscript | cut -d\' -f2)
-LDB_DEB_VERSION = ${LDB_EPOCH}${LDB_VERSION}+samba${DEB_VERSION_UPSTREAM_REVISION}
-LDB_DEPENDS = libldb2 (= ${LDB_DEB_VERSION})
-LDB_PACKAGES = libldb2 libldb-dev ldb-tools python3-ldb python3-ldb-dev
+LDB_DEB_VERSION = 2:${LDB_VERSION}+samba${DEB_VERSION_UPSTREAM_REVISION}
+LDB_PACKAGES = libldb2 libldb-dev ldb-tools python3-ldb
 
 before-trixie := $(filter pkg.samba.before-trixie, ${DEB_BUILD_PROFILES})
 
@@ -66,7 +64,6 @@ config-args = \
 	--enable-spotlight \
 	--with-profiling-data \
 	--disable-rpath --disable-rpath-install \
-	--with-shared-modules=idmap_rid,idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_tdb2,vfs_dfs_samba4,auth_samba4,vfs_nfs4acl_xattr \
 	--bundled-libraries=NONE,pytevent,ldb \
 	\
 	--with-cluster-support \
@@ -74,6 +71,15 @@ config-args = \
 	--with-socketpath=/run/ctdb/ctdbd.socket \
 	--with-logdir=/var/log/ctdb \
 
+# some modules are linked statically by default (see default_static_module in wscript*),
+# but they're often linked into other libraries, which might result in cyclic deps.
+# Eg, vfs_dfs_samba4 is statically linked to libsmbd-base-private, which is part of
+# samba-libs (not samba), because it is used by python3-samba too (smbd.cpython).
+# Might consider using --with-shared-modules=ALL
+# Other modules (vfs_nfs4acl_xattr) are not enabled by default (#930540).
+config-args += \
+	--with-shared-modules=vfs_dfs_samba4,vfs_nfs4acl_xattr,auth_samba4
+
 ifeq (${DEB_HOST_ARCH_OS}, linux) # extra linux-specific features
 
 config-args += \
@@ -323,24 +329,12 @@ execute_after_dh_fixperms-arch:
 	$(call ifpkg, smbclient, chmod 0700 debian/smbclient/usr/libexec/samba/smbspool_krb5_wrapper)
 
 override_dh_makeshlibs:
-	# generate symbols file with correct cpython suffix in there
-	{ \
-	    suff=$$(${DEB_HOST_MULTIARCH}-python3-config --extension-suffix | tr _ -); \
-	    SUFF=$$(echo "$${suff%.so}" | tr a-z- A-Z_); \
-	    echo "libpyldb-util$${suff}.2 #PACKAGE# #MINVER#"; \
-	    echo "* Build-Depends-Package: python3-ldb-dev" ; \
-	    echo " PYLDB_UTIL$${SUFF}_${LDB_VERSION}@PYLDB_UTIL$${SUFF}_${LDB_VERSION} ${LDB_EPOCH}${LDB_VERSION}"; \
-	    cat debian/python3-ldb.symbols.in; \
-	} > debian/python3-ldb.symbols
-
 	# create symbols and shlibs files in separate wrapper script
 	# to deal with private libraries
 	debian/genshlibs \
 		$(addsuffix =${LDB_DEB_VERSION},${LDB_PACKAGES}) \
 		$(addsuffix =${mitkrb5-samba-ver}, ${mitkrb5-dep-pkgs})
 
-	rm -f debian/python3-ldb.symbols
-
 # depcheck package, dep1|dep2... -- dependencies which should NOT be there
 depcheck = if egrep '^shlibs.Depends=.* ($(strip $2)) ' debian/$(strip $1).substvars; \
 	then echo 'E: $(strip $1) should not depend on $(strip $2)' >&2; exit 1; fi
@@ -362,6 +356,7 @@ endif
 	$(call depcheck, smbclient, samba|winbind|ctdb)
 	$(call depcheck, ctdb, samba|winbind|smbclient)
 	$(call depcheck, libldb2, samba|samba-libs|winbind|libwbclient0) # use-bzero-instead-of-memset_s.diff
+	$(call depcheck, python3-ldb, samba-libs|python3-samba)
 	$(call depcheck, python3-samba, samba|winbind|ctdb)
 	$(call depcheck, libwbclient0, samba|samba-libs|winbind|smbclient|ctdb)
 	$(call depcheck, ${libsmbclient}, samba|winbind|smbclient|ctdb)
@@ -369,9 +364,9 @@ endif
 override_dh_gencontrol:
 	dh_gencontrol $(addprefix -p, ${LDB_PACKAGES}) -- -v${LDB_DEB_VERSION}
 ifneq (,$(filter ${build-pkgs}, ${mitkrb5-dep-pkgs}))
-	dh_gencontrol $(addprefix -p, $(filter ${build-pkgs}, ${mitkrb5-dep-pkgs})) -- -v${mitkrb5-samba-ver} -Vldb:Depends="${LDB_DEPENDS}"
+	dh_gencontrol $(addprefix -p, $(filter ${build-pkgs}, ${mitkrb5-dep-pkgs})) -- -v${mitkrb5-samba-ver} -Vldb:Version=${LDB_DEB_VERSION}
 endif
-	dh_gencontrol --remaining-packages -- -Vldb:Depends="${LDB_DEPENDS}"
+	dh_gencontrol --remaining-packages -- -Vldb:Version=${LDB_DEB_VERSION}
 ifeq (,${before-trixie})
 # run dh_movetousr only on trixie and up, not before
 	dh_movetousr -plibpam-winbind -plibnss-winbind



View it on GitLab: https://salsa.debian.org/samba-team/samba/-/compare/772efc8704ffc7d2fb6a9754734e682c2ab75865...1cfa9380b680f13a3e07a50d0cb3dbfb04c5b888

-- 
This project does not include diff previews in email notifications.
View it on GitLab: https://salsa.debian.org/samba-team/samba/-/compare/772efc8704ffc7d2fb6a9754734e682c2ab75865...1cfa9380b680f13a3e07a50d0cb3dbfb04c5b888
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-samba-maint/attachments/20240629/19d3acae/attachment-0001.htm>


More information about the Pkg-samba-maint mailing list