From 09a6253f512b5d00d4a637454af77f50d6698fd6 Mon Sep 17 00:00:00 2001 From: Florian Best Date: Fri, 29 Nov 2019 13:07:51 +0100 Subject: [PATCH 1/4] Bug #49720: build talloc including python3 package Signed-off-by: Florian Best --- talloc/001_python3.patch | 19 ++++++++++ talloc/002_python3.patch | 32 +++++++++++++++++ talloc/003_python3.patch | 49 +++++++++++++++++++++++++ talloc/004_python3.quilt | 93 ++++++++++++++++++++++++++++++++++++++++++++++++ talloc/005_python3.patch | 15 ++++++++ talloc/006_python3.patch | 50 ++++++++++++++++++++++++++ talloc/007_python3.patch | 19 ++++++++++ talloc/008_python3.patch | 19 ++++++++++ talloc/009_python3.quilt | 15 ++++++++ talloc/010_python3.patch | 31 ++++++++++++++++ 10 files changed, 342 insertions(+) create mode 100644 talloc/001_python3.patch create mode 100644 talloc/002_python3.patch create mode 100644 talloc/003_python3.patch create mode 100644 talloc/004_python3.quilt create mode 100644 talloc/005_python3.patch create mode 100644 talloc/006_python3.patch create mode 100644 talloc/007_python3.patch create mode 100644 talloc/008_python3.patch create mode 100644 talloc/009_python3.quilt create mode 100644 talloc/010_python3.patch diff --git a/talloc/001_python3.patch b/talloc/001_python3.patch new file mode 100644 index 0000000..28cde75 --- /dev/null +++ b/talloc/001_python3.patch @@ -0,0 +1,19 @@ +commit feb748cca30be18307d3d84ae95470b276bac1b2 +Author: Andreas Hasenack +Date: Tue Feb 26 21:06:34 2019 +0000 + + d/rules: fix globbing for talloc static library creation + +diff --git debian/rules debian/rules +index 7b54167..7b2f08e 100755 +--- debian/rules ++++ debian/rules +@@ -63,7 +63,7 @@ override_dh_auto_clean: + override_dh_auto_install: + $(MAKE) install DESTDIR=$(DESTDIR) + # Waf really should be doing this: +- ar -rc libtalloc.a bin/default/talloc.*.o ++ ar -rc libtalloc.a bin/default/talloc*.o + mv libtalloc.a $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH) + + override_dh_strip: diff --git a/talloc/002_python3.patch b/talloc/002_python3.patch new file mode 100644 index 0000000..abc9d9c --- /dev/null +++ b/talloc/002_python3.patch @@ -0,0 +1,32 @@ +commit e42af93d6d2bb7c35cd9c245b990dcdb11b83f60 +Author: Andreas Hasenack +Date: Tue Feb 26 20:44:32 2019 +0000 + + d/rules: build for python2 and python3 + +diff --git debian/rules debian/rules +index 7b2f08e..73002f3 100755 +--- debian/rules ++++ debian/rules +@@ -17,18 +17,19 @@ DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + conf_args = --prefix=/usr --disable-rpath-install --disable-rpath --bundled-libraries=NONE + conf_args += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) + conf_args += --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) ++conf_args += --extra-python=python2 + conf_args += -v + + export PYTHON="$(shell which `pyversions -d`)" + + %: +- dh $* --parallel --with python2 ++ dh $* --parallel --with python2,python3 + + override_dh_python2: + dh_python2 --no-guessing-versions + + override_dh_auto_configure: +- LDFLAGS="$(LDFLAGS)" PYTHON="$(PYTHON)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" ./configure $(conf_args) ++ LDFLAGS="$(LDFLAGS)" PYTHON="" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" ./configure $(conf_args) + + override_dh_auto_build: + $(MAKE) all V=1 diff --git a/talloc/003_python3.patch b/talloc/003_python3.patch new file mode 100644 index 0000000..b863583 --- /dev/null +++ b/talloc/003_python3.patch @@ -0,0 +1,49 @@ +commit 36b0a76075956eddaf558c673f145b650eba2245 +Author: Andreas Hasenack +Date: Tue Feb 26 21:22:44 2019 +0000 + + d/control, d/python3-talloc.install: new python3 binding package + +diff --git debian/control debian/control +index 828dd96..d6e9dcd 100644 +--- debian/control ++++ debian/control +@@ -9,7 +9,8 @@ Build-Depends: debhelper (>= 9), + dh-exec, + dh-python, + libpopt-dev, +- python-dev (>= 2.6.6-3) ++ python-dev (>= 2.6.6-3), ++ python3-dev, + Standards-Version: 4.0.0 + Vcs-Browser: https://anonscm.debian.org/cgit/pkg-samba/talloc.git + Vcs-Git: https://anonscm.debian.org/git/pkg-samba/talloc.git +@@ -41,6 +42,20 @@ Description: hierarchical pool based memory allocator - development files + . + This package contains the development files. + ++Package: python3-talloc ++Section: python ++Architecture: linux-any kfreebsd-any ++Depends: libtalloc2 (= ${binary:Version}), ++ ${misc:Depends}, ++ ${python3:Depends}, ++ ${shlibs:Depends} ++Provides: ${python3:Provides} ++Description: hierarchical pool based memory allocator - Python3 bindings ++ A hierarchical pool based memory allocator with destructors. It uses ++ reference counting to determine when memory should be freed. ++ . ++ This package contains the Python 3 bindings. ++ + Package: python-talloc + Pre-Depends: ${misc:Pre-Depends} + Architecture: any +diff --git debian/python3-talloc.install debian/python3-talloc.install +new file mode 100644 +index 0000000..0f4359e +--- /dev/null ++++ debian/python3-talloc.install +@@ -0,0 +1,2 @@ ++usr/lib/*/libpytalloc-util.cpython-35m-*.so.* ++usr/lib/python3* diff --git a/talloc/004_python3.quilt b/talloc/004_python3.quilt new file mode 100644 index 0000000..a1549cd --- /dev/null +++ b/talloc/004_python3.quilt @@ -0,0 +1,93 @@ +commit 25e64859c693bab522f2b6f537ff34016af494fe +Author: Andreas Hasenack +Date: Wed Feb 27 14:32:43 2019 +0000 + + d/python3-talloc.symbols.{common,amd64,armhf,arm64,s390x,ppc64el,i386}: use per-arch symbols file + +diff --git debian/python3-talloc.symbols.amd64 debian/python3-talloc.symbols.amd64 +new file mode 100644 +index 0000000..94333ad +--- /dev/null ++++ debian/python3-talloc.symbols.amd64 +@@ -0,0 +1,3 @@ ++libpytalloc-util.cpython-35m-x86-64-linux-gnu.so.2 python3-talloc #MINVER# ++ PYTALLOC_UTIL.CPYTHON_35M_X86_64_LINUX_GNU_2.1.16@PYTALLOC_UTIL.CPYTHON_35M_X86_64_LINUX_GNU_2.1.16 2.1.16 ++#include "python3-talloc.symbols.common" +diff --git debian/python3-talloc.symbols.arm64 debian/python3-talloc.symbols.arm64 +new file mode 100644 +index 0000000..2e75156 +--- /dev/null ++++ debian/python3-talloc.symbols.arm64 +@@ -0,0 +1,3 @@ ++libpytalloc-util.cpython-35m-aarch64-linux-gnu.so.2 python3-talloc #MINVER# ++ PYTALLOC_UTIL.CPYTHON_35M_AARCH64_LINUX_GNU_2.1.16@PYTALLOC_UTIL.CPYTHON_35M_AARCH64_LINUX_GNU_2.1.16 2.1.16 ++#include "python3-talloc.symbols.common" +diff --git debian/python3-talloc.symbols.armhf debian/python3-talloc.symbols.armhf +new file mode 100644 +index 0000000..32dcc53 +--- /dev/null ++++ debian/python3-talloc.symbols.armhf +@@ -0,0 +1,3 @@ ++libpytalloc-util.cpython-35m-arm-linux-gnueabihf.so.2 python3-talloc #MINVER# ++ PYTALLOC_UTIL.CPYTHON_35M_ARM_LINUX_GNUEABIHF_2.1.16@PYTALLOC_UTIL.CPYTHON_35M_ARM_LINUX_GNUEABIHF_2.1.16 2.1.16 ++#include "python3-talloc.symbols.common" +diff --git debian/python3-talloc.symbols.common debian/python3-talloc.symbols.common +new file mode 100644 +index 0000000..e8d4966 +--- /dev/null ++++ debian/python3-talloc.symbols.common +@@ -0,0 +1,27 @@ ++ PYTALLOC_UTIL.PY3_2.1.10@PYTALLOC_UTIL.PY3_2.1.10 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.11@PYTALLOC_UTIL.PY3_2.1.11 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.12@PYTALLOC_UTIL.PY3_2.1.12 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.13@PYTALLOC_UTIL.PY3_2.1.13 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.14@PYTALLOC_UTIL.PY3_2.1.14 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.15@PYTALLOC_UTIL.PY3_2.1.15 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.16@PYTALLOC_UTIL.PY3_2.1.16 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.5@PYTALLOC_UTIL.PY3_2.1.5 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.6@PYTALLOC_UTIL.PY3_2.1.6 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.7@PYTALLOC_UTIL.PY3_2.1.7 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.8@PYTALLOC_UTIL.PY3_2.1.8 2.1.16 ++ PYTALLOC_UTIL.PY3_2.1.9@PYTALLOC_UTIL.PY3_2.1.9 2.1.16 ++ _pytalloc_check_type@PYTALLOC_UTIL.PY3_2.1.9 2.1.16 ++ _pytalloc_get_mem_ctx@PYTALLOC_UTIL.PY3_2.1.6 2.1.16 ++ _pytalloc_get_ptr@PYTALLOC_UTIL.PY3_2.1.6 2.1.16 ++ _pytalloc_get_type@PYTALLOC_UTIL.PY3_2.1.6 2.1.16 ++ pytalloc_BaseObject_PyType_Ready@PYTALLOC_UTIL.PY3_2.1.6 2.1.16 ++ pytalloc_BaseObject_check@PYTALLOC_UTIL.PY3_2.1.6 2.1.16 ++ pytalloc_BaseObject_size@PYTALLOC_UTIL.PY3_2.1.6 2.1.16 ++ pytalloc_Check@PYTALLOC_UTIL.PY3_2.1.5 2.1.16 ++ pytalloc_GenericObject_reference_ex@PYTALLOC_UTIL.PY3_2.1.9 2.1.16 ++ pytalloc_GenericObject_steal_ex@PYTALLOC_UTIL.PY3_2.1.9 2.1.16 ++ pytalloc_GetBaseObjectType@PYTALLOC_UTIL.PY3_2.1.6 2.1.16 ++ pytalloc_GetObjectType@PYTALLOC_UTIL.PY3_2.1.5 2.1.16 ++ pytalloc_reference_ex@PYTALLOC_UTIL.PY3_2.1.5 2.1.16 ++ pytalloc_steal@PYTALLOC_UTIL.PY3_2.1.5 2.1.16 ++ pytalloc_steal_ex@PYTALLOC_UTIL.PY3_2.1.5 2.1.16 +diff --git debian/python3-talloc.symbols.i386 debian/python3-talloc.symbols.i386 +new file mode 100644 +index 0000000..6af4333 +--- /dev/null ++++ debian/python3-talloc.symbols.i386 +@@ -0,0 +1,3 @@ ++libpytalloc-util.cpython-35m-i386-linux-gnu.so.2 python3-talloc #MINVER# ++ PYTALLOC_UTIL.CPYTHON_35M_I386_LINUX_GNU_2.1.16@PYTALLOC_UTIL.CPYTHON_35M_I386_LINUX_GNU_2.1.16 2.1.16 ++#include "python3-talloc.symbols.common" +diff --git debian/python3-talloc.symbols.ppc64el debian/python3-talloc.symbols.ppc64el +new file mode 100644 +index 0000000..acb14bb +--- /dev/null ++++ debian/python3-talloc.symbols.ppc64el +@@ -0,0 +1,3 @@ ++libpytalloc-util.cpython-35m-powerpc64le-linux-gnu.so.2 python3-talloc #MINVER# ++ PYTALLOC_UTIL.CPYTHON_35M_POWERPC64LE_LINUX_GNU_2.1.16@PYTALLOC_UTIL.CPYTHON_35M_POWERPC64LE_LINUX_GNU_2.1.16 2.1.16 ++#include "python3-talloc.symbols.common" +diff --git debian/python3-talloc.symbols.s390x debian/python3-talloc.symbols.s390x +new file mode 100644 +index 0000000..019ba8e +--- /dev/null ++++ debian/python3-talloc.symbols.s390x +@@ -0,0 +1,3 @@ ++libpytalloc-util.cpython-35m-s390x-linux-gnu.so.2 python3-talloc #MINVER# ++ PYTALLOC_UTIL.CPYTHON_35M_S390X_LINUX_GNU_2.1.16@PYTALLOC_UTIL.CPYTHON_35M_S390X_LINUX_GNU_2.1.16 2.1.16 ++#include "python3-talloc.symbols.common" diff --git a/talloc/005_python3.patch b/talloc/005_python3.patch new file mode 100644 index 0000000..36cc4fe --- /dev/null +++ b/talloc/005_python3.patch @@ -0,0 +1,15 @@ +commit 0c05ad0b4aa228f37af9036ca573c2fbb6d26a7d +Author: Andreas Hasenack +Date: Wed Feb 27 14:22:21 2019 +0000 + + d/rules: check python3-talloc symbols + +diff --git debian/rules debian/rules +index 9b2bbdf..75ce95f 100755 +--- debian/rules ++++ debian/rules +@@ -70,3 +70,4 @@ override_dh_auto_install: + override_dh_makeshlibs: + dh_makeshlibs -plibtalloc2 -- -c4 + dh_makeshlibs -ppython-talloc -Xtalloc. -- -c3 ++ dh_makeshlibs -ppython3-talloc -Xtalloc. -- -c3 diff --git a/talloc/006_python3.patch b/talloc/006_python3.patch new file mode 100644 index 0000000..c577ecf --- /dev/null +++ b/talloc/006_python3.patch @@ -0,0 +1,50 @@ +commit 669fd6ffcbb52e36789b44772c20bad5bf81dfaa +Author: Andreas Hasenack +Date: Wed Feb 27 20:47:07 2019 +0000 + + d/control, d/python3-talloc-dev.install, d/rules: new python3-talloc-dev package + +diff --git debian/control debian/control +index 998a58c..0e34fbf 100644 +--- debian/control ++++ debian/control +@@ -56,6 +56,17 @@ Description: hierarchical pool based memory allocator - Python3 bindings + . + This package contains the Python 3 bindings. + ++Package: python3-talloc-dev ++Architecture: any ++Multi-Arch: same ++Section: libdevel ++Depends: pkg-config, python3-talloc (= ${binary:Version}), ${misc:Depends}, ${python:Depends} ++Description: talloc Python 3 bindings - development files ++ A hierarchical pool based memory allocator with destructors. It uses ++ reference counting to determine when memory should be freed. ++ . ++ This package contains the development files for the Python 3 bindings. ++ + Package: python-talloc + Pre-Depends: ${misc:Pre-Depends} + Architecture: any +diff --git debian/python3-talloc-dev.install debian/python3-talloc-dev.install +new file mode 100755 +index 0000000..92837be +--- /dev/null ++++ debian/python3-talloc-dev.install +@@ -0,0 +1,4 @@ ++#! /usr/bin/dh-exec ++usr/include/pytalloc.h ${DEB_PY3_INCDIR} ++usr/lib/*/pkgconfig/pytalloc-util.cpython-*.pc ++usr/lib/*/libpytalloc-util.cpython-*.so +diff --git debian/rules debian/rules +index 75ce95f..7837f92 100755 +--- debian/rules ++++ debian/rules +@@ -41,6 +41,7 @@ endif + + override_dh_install: + DEB_PY2_INCDIR=$(shell python-config --includes | sed 's,^-I\([^ ]*\).*,\1,') \ ++ DEB_PY3_INCDIR=$(shell python3-config --includes | sed 's,^-I\([^ ]*\).*,\1,') \ + dh_install --list-missing + + get-packaged-orig-source: diff --git a/talloc/007_python3.patch b/talloc/007_python3.patch new file mode 100644 index 0000000..a7ffe0d --- /dev/null +++ b/talloc/007_python3.patch @@ -0,0 +1,19 @@ +commit e79247175369007726adcb7efde371c916a3279b +Author: Mathieu Parent +Date: Sat Mar 23 08:47:53 2019 +0100 + + dpkg-gencontrol: warning: Depends field of package python3-talloc-dev: substitution variable ${python:Depends} used, but is not defined + +diff --git debian/control debian/control +index 0e34fbf..186398a 100644 +--- debian/control ++++ debian/control +@@ -60,7 +60,7 @@ Package: python3-talloc-dev + Architecture: any + Multi-Arch: same + Section: libdevel +-Depends: pkg-config, python3-talloc (= ${binary:Version}), ${misc:Depends}, ${python:Depends} ++Depends: pkg-config, python3-talloc (= ${binary:Version}), ${misc:Depends} + Description: talloc Python 3 bindings - development files + A hierarchical pool based memory allocator with destructors. It uses + reference counting to determine when memory should be freed. diff --git a/talloc/008_python3.patch b/talloc/008_python3.patch new file mode 100644 index 0000000..225a805 --- /dev/null +++ b/talloc/008_python3.patch @@ -0,0 +1,19 @@ +commit 5deadff0f91ac9048d3c9552b08144f3b10b34af +Author: Mathieu Parent +Date: Sat Mar 23 08:54:53 2019 +0100 + + Standards-Version: 4.3.0 + +diff --git debian/control debian/control +index 52c2023..1e723f6 100644 +--- debian/control ++++ debian/control +@@ -11,7 +11,7 @@ Build-Depends: debhelper (>= 9), + libpopt-dev, + python-dev (>= 2.6.6-3), + python3-dev, +-Standards-Version: 4.0.0 ++Standards-Version: 4.3.0 + Vcs-Browser: https://anonscm.debian.org/cgit/pkg-samba/talloc.git + Vcs-Git: https://anonscm.debian.org/git/pkg-samba/talloc.git + diff --git a/talloc/009_python3.quilt b/talloc/009_python3.quilt new file mode 100644 index 0000000..a7d869a --- /dev/null +++ b/talloc/009_python3.quilt @@ -0,0 +1,15 @@ +commit 49217e83cea951c42bc80aeda7dcc198eb7d4f7c +Author: Mathieu Parent +Date: Sat Mar 23 08:57:17 2019 +0100 + + Add Build-Depends-Package: python3-talloc-dev to python3-talloc.symbols.common + +diff --git debian/python3-talloc.symbols.common debian/python3-talloc.symbols.common +index e8d4966..5ffd890 100644 +--- debian/python3-talloc.symbols.common ++++ debian/python3-talloc.symbols.common +@@ -1,3 +1,4 @@ ++* Build-Depends-Package: python3-talloc-dev + PYTALLOC_UTIL.PY3_2.1.10@PYTALLOC_UTIL.PY3_2.1.10 2.1.16 + PYTALLOC_UTIL.PY3_2.1.11@PYTALLOC_UTIL.PY3_2.1.11 2.1.16 + PYTALLOC_UTIL.PY3_2.1.12@PYTALLOC_UTIL.PY3_2.1.12 2.1.16 diff --git a/talloc/010_python3.patch b/talloc/010_python3.patch new file mode 100644 index 0000000..bc7e704 --- /dev/null +++ b/talloc/010_python3.patch @@ -0,0 +1,31 @@ +commit d7b864850199c0b47ad96764c6cdf6da46c9cdaf +Author: Mathieu Parent +Date: Sat Mar 23 09:03:08 2019 +0100 + + Add python3-talloc{,-dev}.lintian-overrides + +diff --git debian/python3-talloc-dev.lintian-overrides debian/python3-talloc-dev.lintian-overrides +new file mode 100644 +index 0000000..038be62 +--- /dev/null ++++ debian/python3-talloc-dev.lintian-overrides +@@ -0,0 +1 @@ ++python3-talloc-dev: wrong-section-according-to-package-name python3-talloc-dev => python +diff --git debian/python3-talloc.lintian-overrides debian/python3-talloc.lintian-overrides +new file mode 100644 +index 0000000..cb0e5b4 +--- /dev/null ++++ debian/python3-talloc.lintian-overrides +@@ -0,0 +1,3 @@ ++python3-talloc: package-name-doesnt-match-sonames libpytalloc-util.cpython-* ++# False positives, see #896012 ++python3-talloc: library-not-linked-against-libc usr/lib/x86_64-linux-gnu/libpytalloc-util.cpython-*.so.* +diff --git debian/source/lintian-overrides debian/source/lintian-overrides +index 48a18fa..d348676 100644 +--- debian/source/lintian-overrides ++++ debian/source/lintian-overrides +@@ -1,2 +1,3 @@ +-# Variable defined in debian/rules ++# Variables defined in debian/rules + talloc source: dh-exec-subst-unknown-variable debian/python-talloc-dev.install DEB_PY2_INCDIR ++talloc source: dh-exec-subst-unknown-variable debian/python3-talloc-dev.install DEB_PY3_INCDIR -- 2.11.0