[Reproducible-builds] [dh-python] 170/183: pybuild: do not invoke clean commands for missing interpreters

Jérémy Bobbio lunar at moszumanska.debian.org
Fri Sep 19 15:30:35 UTC 2014


This is an automated email from the git hooks/post-receive script.

lunar pushed a commit to branch pu/reproducible_builds
in repository dh-python.

commit 4b2c85471680a03da951a2abab1e601a1784e401
Author: Piotr Ożarowski <piotr at debian.org>
Date:   Thu Jan 30 22:08:55 2014 +0100

    pybuild: do not invoke clean commands for missing interpreters
    
    clean commands are invoked for requested (f.e. via Build-Depends)
    interpreters only, but if given interpreter is not installed, it usually
    also means there are no files to clean - it should be safe to skip
    these commands.
    
    It's a common practice to build source package outside build chroot
    so this change will make it easier to build pybuild based packages
    (host machines will not have to install these interpreters)
---
 debian/changelog                   | 8 ++++++++
 dhpython/build/plugin_distutils.py | 4 +++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index fc5c358..80547a0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+dh-python (1.20140128-2) UNRELEASED; urgency=medium
+
+  * pybuild: do not invoke clean commands for missing interpreters
+    (and thus do not require all interpreter versions to be installed while
+    building source package outside build environment, closes: 737091)
+
+ -- Piotr Ożarowski <piotr at debian.org>  Thu, 30 Jan 2014 21:41:34 +0100
+
 dh-python (1.20140128-1) unstable; urgency=low
 
   * dh_python3, dh_pypy: add support for debian/package.pyremove files
diff --git a/dhpython/build/plugin_distutils.py b/dhpython/build/plugin_distutils.py
index dd21ee2..91a2daa 100644
--- a/dhpython/build/plugin_distutils.py
+++ b/dhpython/build/plugin_distutils.py
@@ -84,7 +84,9 @@ class BuildSystem(Base):
         for fname in glob1(context['dir'], '*.egg-info'):
             fpath = join(context['dir'], fname)
             rmtree(fpath) if isdir(fpath) else remove(fpath)
-        return '{interpreter} {setup_py} clean {args}'
+        if exists(args['interpreter'].binary()):
+            return '{interpreter} {setup_py} clean {args}'
+        return 0  # no need to invoke anything
 
     @shell_command
     @create_pydistutils_cfg

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/dh-python.git



More information about the Reproducible-builds mailing list