Thanks for the patch; I've committed it to git, will upload later. Two
small further comments:

On Fri, Feb 19, 2016 at 11:03:05AM +0100, Matthias Klose wrote:
> updated patch, the .install files need the x bit set.

>   * Build python3 packages.
>   * Bump debhelper and standards version.
>   * Do not generate symbols for the extension module
Was there a specific reason you removed this? The extension module
should only export the init function anyway (so it'll never change),
Verifying that that is the only function exported doesn't seem bad
either, though it's also not super useful.

>   * Do not encode the SOABI and the multiarch string into the pytalloc-util
>     library, just append a '-py3'.
>   * Make the build log a bit more verbose.
Making waf more verbose can be done by setting the "V" environment
variable; I've committed a change to simplify this.

Cheers,

Jelmer

> 
> diff -Nru talloc-2.1.5/debian/compat talloc-2.1.5/debian/compat
> --- talloc-2.1.5/debian/compat        2015-11-07 15:36:10.000000000 +0000
> +++ talloc-2.1.5/debian/compat        2016-02-16 14:10:26.000000000 +0000
> @@ -1 +1 @@
> -8
> +9
> diff -Nru talloc-2.1.5/debian/control talloc-2.1.5/debian/control
> --- talloc-2.1.5/debian/control       2015-11-08 21:08:04.000000000 +0000
> +++ talloc-2.1.5/debian/control       2016-02-18 14:59:18.000000000 +0000
> @@ -4,7 +4,13 @@
>  Maintainer: Debian Samba Maintainers 
> <[email protected]>
>  Uploaders: Jelmer Vernooij <[email protected]>, Christian Perrier 
> <[email protected]>
>  Homepage: http://talloc.samba.org/
> -Build-Depends: debhelper (>= 8.1.3), docbook-xml, docbook-xsl, xsltproc, 
> libpopt-dev, python-all (>= 2.6.6-3), python-all-dev (>= 2.6.6-3)
> +Build-Depends: debhelper (>= 9),
> +  docbook-xml, docbook-xsl, xsltproc,
> +  dh-exec,
> +  dh-python,
> +  libpopt-dev,
> +  python-dev (>= 2.6.6-3),
> +  python3-dev,
>  Standards-Version: 3.9.6
>  Vcs-Git: git://anonscm.debian.org/pkg-samba/talloc.git -b unstable
>  XS-Testsuite: autopkgtest
> @@ -77,3 +83,38 @@
>   reference counting to determine when memory should be freed.
>   .
>   This package contains the development files for the Python bindings.
> +
> +Package: python3-talloc
> +Pre-Depends: ${misc:Pre-Depends}
> +Architecture: any
> +Section: python
> +Provides: ${python3:Provides}
> +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}
> +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 Python3 bindings.
> +
> +Package: python3-talloc-dbg
> +Architecture: any
> +Pre-Depends: ${misc:Pre-Depends}
> +Section: debug
> +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}, 
> python3-talloc (= ${binary:Version})
> +Recommends: python3-dbg, libtalloc2-dbg
> +Priority: extra
> +Description: hierarchical pool based memory allocator - Python3 debug 
> extension
> + A hierarchical pool based memory allocator with destructors. It uses
> + reference counting to determine when memory should be freed.
> + .
> + This package contains the Python3 debug extension.
> +
> +Package: python3-talloc-dev
> +Architecture: any
> +Section: libdevel
> +Depends: python3-talloc (= ${binary:Version}), ${misc:Depends}, pkg-config
> +Description: talloc Python3 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 Python3 bindings.
> diff -Nru talloc-2.1.5/debian/patches/pass-waf-flags.diff 
> talloc-2.1.5/debian/patches/pass-waf-flags.diff
> --- talloc-2.1.5/debian/patches/pass-waf-flags.diff   1970-01-01 
> 00:00:00.000000000 +0000
> +++ talloc-2.1.5/debian/patches/pass-waf-flags.diff   2016-02-16 
> 16:17:56.000000000 +0000
> @@ -0,0 +1,17 @@
> +# Allow to pass flags to waf
> +
> +--- talloc-2.1.5.orig/Makefile
> ++++ talloc-2.1.5/Makefile
> +@@ -3,10 +3,10 @@
> + WAF=WAF_MAKE=1 PATH=buildtools/bin:../../buildtools/bin:$$PATH waf
> + 
> + all:
> +-    $(WAF) build
> ++    $(WAF) build $(WAFFLAGS)
> + 
> + install:
> +-    $(WAF) install
> ++    $(WAF) install $(WAFFLAGS)
> + 
> + uninstall:
> +     $(WAF) uninstall
> diff -Nru talloc-2.1.5/debian/patches/pytalloc-util-name.diff 
> talloc-2.1.5/debian/patches/pytalloc-util-name.diff
> --- talloc-2.1.5/debian/patches/pytalloc-util-name.diff       1970-01-01 
> 00:00:00.000000000 +0000
> +++ talloc-2.1.5/debian/patches/pytalloc-util-name.diff       2016-02-18 
> 14:55:52.000000000 +0000
> @@ -0,0 +1,21 @@
> +# Don't encode the multiarch name into the pytalloc-util library name
> +
> +Index: b/buildtools/wafsamba/samba_python.py
> +===================================================================
> +--- a/buildtools/wafsamba/samba_python.py
> ++++ b/buildtools/wafsamba/samba_python.py
> +@@ -122,7 +122,13 @@ Build.BuildContext.SAMBA_PYTHON = SAMBA_
> + 
> + 
> + def pyembed_libname(bld, name, extrapython=False):
> +-    return name + bld.env['PYTHON_SO_ABI_FLAG']
> ++    abi_flag = bld.env['PYTHON_SO_ABI_FLAG']
> ++    # do we really want the version encoded in the library name?
> ++    #if bld.env['IS_EXTRA_PYTHON'] and 'DEB_HOST_MULTIARCH' in os.environ:
> ++    #    abi_flag = abi_flag.replace('-%s' % 
> os.environ['DEB_HOST_MULTIARCH'], '')
> ++    if bld.env['IS_EXTRA_PYTHON']:
> ++        abi_flag = '-py3'
> ++    return name + abi_flag
> + 
> + Build.BuildContext.pyembed_libname = pyembed_libname
> + 
> diff -Nru talloc-2.1.5/debian/patches/series 
> talloc-2.1.5/debian/patches/series
> --- talloc-2.1.5/debian/patches/series        2015-11-07 15:36:10.000000000 
> +0000
> +++ talloc-2.1.5/debian/patches/series        2016-02-16 16:19:36.000000000 
> +0000
> @@ -0,0 +1,2 @@
> +pass-waf-flags.diff
> +pytalloc-util-name.diff
> diff -Nru talloc-2.1.5/debian/python-talloc-dev.install 
> talloc-2.1.5/debian/python-talloc-dev.install
> --- talloc-2.1.5/debian/python-talloc-dev.install     2015-11-07 
> 15:36:10.000000000 +0000
> +++ talloc-2.1.5/debian/python-talloc-dev.install     2016-02-18 
> 15:03:52.000000000 +0000
> @@ -1,3 +1,4 @@
> -usr/include/pytalloc.h
> +#! /usr/bin/dh-exec
> +usr/include/pytalloc.h ${DEB_PY2_INCDIR}
>  usr/lib/*/pkgconfig/pytalloc-util.pc
>  usr/lib/*/libpytalloc-util.so
> diff -Nru talloc-2.1.5/debian/python-talloc.install 
> talloc-2.1.5/debian/python-talloc.install
> --- talloc-2.1.5/debian/python-talloc.install 2015-11-08 21:08:04.000000000 
> +0000
> +++ talloc-2.1.5/debian/python-talloc.install 2016-02-16 13:40:49.000000000 
> +0000
> @@ -1,2 +1,2 @@
> -usr/lib/python*/*-packages/talloc.so
> +usr/lib/python2*/*-packages/talloc.so
>  usr/lib/*/libpytalloc-util.so.*
> diff -Nru talloc-2.1.5/debian/python-talloc.symbols 
> talloc-2.1.5/debian/python-talloc.symbols
> --- talloc-2.1.5/debian/python-talloc.symbols 2015-11-08 21:18:54.000000000 
> +0000
> +++ talloc-2.1.5/debian/python-talloc.symbols 2016-02-16 16:11:46.000000000 
> +0000
> @@ -14,5 +14,3 @@
>   pytalloc_reference_ex@PYTALLOC_UTIL_2.0.6 2.0.6
>   pytalloc_steal@PYTALLOC_UTIL_2.0.6 2.0.6
>   pytalloc_steal_ex@PYTALLOC_UTIL_2.0.6 2.0.6
> -talloc.so #PACKAGE# #MINVER#
> - inittalloc@Base 2.0.6
> diff -Nru talloc-2.1.5/debian/python3-talloc-dev.install 
> talloc-2.1.5/debian/python3-talloc-dev.install
> --- talloc-2.1.5/debian/python3-talloc-dev.install    1970-01-01 
> 00:00:00.000000000 +0000
> +++ talloc-2.1.5/debian/python3-talloc-dev.install    2016-02-18 
> 15:03:21.000000000 +0000
> @@ -0,0 +1,3 @@
> +#! /usr/bin/dh-exec
> +usr/include/pytalloc.h ${DEB_PY3_INCDIR}
> +usr/lib/*/libpytalloc-util-py3.so
> diff -Nru talloc-2.1.5/debian/python3-talloc-dev.lintian-overrides 
> talloc-2.1.5/debian/python3-talloc-dev.lintian-overrides
> --- talloc-2.1.5/debian/python3-talloc-dev.lintian-overrides  1970-01-01 
> 00:00:00.000000000 +0000
> +++ talloc-2.1.5/debian/python3-talloc-dev.lintian-overrides  2016-02-16 
> 11:27:32.000000000 +0000
> @@ -0,0 +1 @@
> +python-talloc-dev binary: wrong-section-according-to-package-name 
> python-talloc-dev => python
> diff -Nru talloc-2.1.5/debian/python3-talloc.install 
> talloc-2.1.5/debian/python3-talloc.install
> --- talloc-2.1.5/debian/python3-talloc.install        1970-01-01 
> 00:00:00.000000000 +0000
> +++ talloc-2.1.5/debian/python3-talloc.install        2016-02-18 
> 14:58:41.000000000 +0000
> @@ -0,0 +1,2 @@
> +usr/lib/python3/dist-packages/talloc*.so
> +usr/lib/*/libpytalloc-util-py3.so.*
> diff -Nru talloc-2.1.5/debian/python3-talloc.lintian-overrides 
> talloc-2.1.5/debian/python3-talloc.lintian-overrides
> --- talloc-2.1.5/debian/python3-talloc.lintian-overrides      1970-01-01 
> 00:00:00.000000000 +0000
> +++ talloc-2.1.5/debian/python3-talloc.lintian-overrides      2016-02-16 
> 16:20:37.000000000 +0000
> @@ -0,0 +1 @@
> +python3-talloc binary: package-name-doesnt-match-sonames
> diff -Nru talloc-2.1.5/debian/python3-talloc.symbols 
> talloc-2.1.5/debian/python3-talloc.symbols
> --- talloc-2.1.5/debian/python3-talloc.symbols        1970-01-01 
> 00:00:00.000000000 +0000
> +++ talloc-2.1.5/debian/python3-talloc.symbols        2016-02-18 
> 15:05:58.000000000 +0000
> @@ -0,0 +1,7 @@
> +libpytalloc-util-py3.so.2 #PACKAGE# #MINVER#
> + PYTALLOC_UTIL_PY3_2.1.5@PYTALLOC_UTIL_PY3_2.1.5 2.1.5
> + pytalloc_Check@PYTALLOC_UTIL_PY3_2.1.5 2.1.5
> + pytalloc_GetObjectType@PYTALLOC_UTIL_PY3_2.1.5 2.1.5
> + pytalloc_reference_ex@PYTALLOC_UTIL_PY3_2.1.5 2.1.5
> + pytalloc_steal@PYTALLOC_UTIL_PY3_2.1.5 2.1.5
> + pytalloc_steal_ex@PYTALLOC_UTIL_PY3_2.1.5 2.1.5
> diff -Nru talloc-2.1.5/debian/rules talloc-2.1.5/debian/rules
> --- talloc-2.1.5/debian/rules 2015-11-08 21:08:04.000000000 +0000
> +++ talloc-2.1.5/debian/rules 2016-02-19 10:01:18.000000000 +0000
> @@ -16,27 +16,33 @@
>  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=python3
> +conf_args += -v
>  
>  export PYTHON="$(shell which `pyversions -d`)"
> -export PYTHON_CONFIG=$(PYTHON)-config
>  
>  %:
> -     dh $* --with python2 
> +     dh $* --parallel --with python2,python3
>  
>  override_dh_python2:
>       dh_python2 --no-guessing-versions
>  
>  override_dh_auto_configure:
> -     LDFLAGS="$(LDFLAGS)" PYTHON="$(PYTHON)" 
> PYTHON_CONFIG="$(PYTHON_CONFIG)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" 
> ./configure $(conf_args)
> +     LDFLAGS="$(LDFLAGS)" PYTHON="$(PYTHON)" CFLAGS="$(CFLAGS)" 
> CPPFLAGS="$(CPPFLAGS)" ./configure $(conf_args)
>  
>  override_dh_auto_build:
> -     $(MAKE) all
> +     $(MAKE) all WAFFLAGS="-vv"
>  
>  override_dh_auto_test:
>  ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
>       LD_LIBRARY_PATH=bin/shared ./bin/talloc_testsuite
>  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:
>       ./debian/build-orig.sh
>  
> @@ -60,6 +66,8 @@
>  override_dh_strip:
>       dh_strip -plibtalloc2 --dbg-package=libtalloc2-dbg
>       dh_strip -ppython-talloc --dbg-package=python-talloc-dbg
> +     dh_strip -ppython3-talloc --dbg-package=python3-talloc-dbg
>  
>  override_dh_makeshlibs:
> -     dh_makeshlibs -- -c4
> +     dh_makeshlibs -plibtalloc2 -- -c3
> +     dh_makeshlibs -ppython-talloc -ppython3-talloc -Xtalloc. -- -c3

> _______________________________________________
> Pkg-samba-maint mailing list
> [email protected]
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-samba-maint

Attachment: signature.asc
Description: PGP signature

Reply via email to