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 583134a25f33fa1b5af8208e28009a1c19949ea5 Author: Steve Langasek <steve.langa...@ubuntu.com> Date: Fri Sep 6 17:02:53 2013 -0700 Adjust dh_python to be multiarch-friendly. To be able to cross-install packages that use python as a shebang, dependencies need to be generated on 'python:any' instead of just on 'python'. This should work without introducing problems for compiled extensions, since those will have dependencies on libpythonX.Y instead of just on python. --- debian/changelog | 4 ++++ dhpython/__init__.py | 4 ++-- dhpython/depends.py | 22 +++++++++++++++++----- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/debian/changelog b/debian/changelog index 88e5b8e..992c292 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,11 @@ dh-python (1.20130913-1) UNRELEASED; urgency=low + [ Piotr Ożarowski ] * dh_py*: add --requires option + [ Steve Langasek ] + * Adjust dh_python to be multiarch-friendly (closes: 722045) + -- Piotr Ożarowski <pi...@debian.org> Fri, 06 Sep 2013 20:27:05 +0200 dh-python (1.20130903-1) unstable; urgency=low diff --git a/dhpython/__init__.py b/dhpython/__init__.py index b330192..57fcbc4 100644 --- a/dhpython/__init__.py +++ b/dhpython/__init__.py @@ -25,8 +25,8 @@ PKG_PREFIX_MAP = {'cpython2': 'python', 'pypy': 'pypy'} # minimum version required for compile/clean scripts: -MINPYCDEP = {'cpython2': 'python (>= 2.6.6-3)', - 'cpython3': 'python3 (>= 3.2.3-3~)', +MINPYCDEP = {'cpython2': 'python:any (>= 2.6.6-3)', + 'cpython3': 'python3:any (>= 3.2.3-3~)', 'pypy': 'pypy'} PUBLIC_DIR_RE = { diff --git a/dhpython/depends.py b/dhpython/depends.py index 1d93305..989d4fa 100644 --- a/dhpython/depends.py +++ b/dhpython/depends.py @@ -100,9 +100,21 @@ class Dependencies: vtpl = self.ipkg_vtpl vrange = options.vrange + # Shebang depends are the only things that get python:any + if vrange and stats['shebangs']: + minv = vrange.minver + # note it's an open interval (i.e. do not add 1 here!): + maxv = vrange.maxver + if minv == maxv: + self.depend(vtpl % minv) + minv = maxv = None + if minv: + self.depend("%s:any (>= %s)" % (tpl, minv)) + if maxv: + self.depend("%s:any (<< %s)" % (tpl, maxv)) + if vrange and any((stats['compile'], stats['public_vers'], - stats['ext_vers'], stats['ext_no_version'], - stats['shebangs'])): + stats['ext_vers'], stats['ext_no_version'])): minv = vrange.minver # note it's an open interval (i.e. do not add 1 here!): maxv = vrange.maxver @@ -140,7 +152,7 @@ class Dependencies: self.depend(MINPYCDEP[self.impl]) for ipreter in stats['shebangs']: - self.depend(str(ipreter)) + self.depend("%s:any" % str(ipreter)) supported_versions = supported(self.impl) default_version = default(self.impl) @@ -149,13 +161,13 @@ class Dependencies: for v in versions: if v in supported_versions: - self.depend(vtpl % v) + self.depend("%s:any" % (vtpl % v)) else: log.info('dependency on %s (from shebang) ignored' ' - it\'s not supported anymore', vtpl % v) # /usr/bin/python{,3} shebang → add python{,3} to Depends if any(True for i in details.get('shebangs', []) if i.version is None): - self.depend(tpl) + self.depend("%s:any" % tpl) extensions = sorted(details.get('ext_vers', set())) #self.depend('|'.join(vtpl % i for i in extensions)) -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/dh-python.git _______________________________________________ Reproducible-builds mailing list Reproducible-builds@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds