Package: dh-python
Version: 1.20141111-2
Severity: important
Tags: patch

Dear Maintainer(s),

We have a source package that builds and packages a shared library using
autotools, and generates binding for various languages via swig.

One of the languages is python. A .py module and a shared library are
created. We use debhelper, and dh-python, to create the packages. More
specifically, we have debian/<package_name>.pyinstall.

All is fine with python 2. I tried to also add a python 3 package and a
corresponding .pyinstall, but the binary package ends up empty.

I noticed that while dh_python2 calls the dh_python.tools.pyinstall
method, dh_python3 does not. Adding the call in the same way that
dh_python2 has fixes the problem.

Is that difference intended? I couldn't fine anything in the
documentation that suggested dh_python3 does not support .pyinstall
files.

Attached is the patch that I used and that fixes the problem for me. I
have not tested all possible use cases and workflows.

Kind regards,
Luca Boccassi



-- System Information:
Debian Release: 8.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500,
'stable'), (104, 'testing'), (103, 'unstable'), (102, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.3.0-rc5-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages dh-python depends on:
pn  python3:any  <none>

dh-python recommends no packages.

dh-python suggests no packages.

-- no debconf information

*** /home/lboccass/git/dh-python/0001-Call-dh_python.tools.pyinstall-from-
dh_python3.patch
From 0cbc1a9c75c2dc5ee7eb9382437283c288613c62 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <luca.bocca...@gmail.com>
Date: Thu, 22 Oct 2015 15:37:31 +0100
Subject: [PATCH] Call dh_python.tools.pyinstall from dh_python3

dh_python2 calls pyinstall to build a package when the source uses
debian/<packagename>.pyinstall, but dh_python3 does not and binary
packages end up empty due to this.
---
 dh_python3 | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/dh_python3 b/dh_python3
index 8c62c87..8c2024c 100755
--- a/dh_python3
+++ b/dh_python3
@@ -35,7 +35,7 @@ from dhpython.version import supported, default,
Version,
VersionRange
 from dhpython.pydist import validate as validate_pydist
 from dhpython.fs import fix_locations, Scan
 from dhpython.option import Option
-from dhpython.tools import pyremove
+from dhpython.tools import pyinstall, pyremove

 # initialize script
 logging.basicConfig(format='%(levelname).1s: dh_python3 '
@@ -173,6 +173,11 @@ def main():

         if not private_dir:
             try:
+                pyinstall(interpreter, package, options.vrange)
+            except Exception as err:
+                log.error("%s.pyinstall: %s", package, err)
+                exit(4)
+            try:
                 pyremove(interpreter, package, options.vrange)
             except Exception as err:
                 log.error("%s.pyremove: %s", package, err)
--

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to