Please unblock python3-defaults 3.1.2-6. It fixes some important bugs related to dh_python3 and py3compile. -- Piotr Ożarowski Debian GNU/Linux Developer www.ozarowski.pl www.griffith.cc www.debian.org GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645
diff -Nru python3-defaults-3.1.2/debian/changelog python3-defaults-3.1.2/debian/changelog --- python3-defaults-3.1.2/debian/changelog 2010-07-28 22:49:13.000000000 +0200 +++ python3-defaults-3.1.2/debian/changelog 2010-08-13 23:29:29.000000000 +0200 @@ -1,3 +1,23 @@ +python3-defaults (3.1.2-6) unstable; urgency=low + + [ Matthias Klose ] + * Substitution variables for control files always start with a `python3' + prefix (python:Versions -> python3:Versions, python:Provides -> + python3:Provides). + * Generate dependencies on python3 (>= 3.1.2-6~). + + [ Piotr Ożarowski ] + * py3compile: do not hang if interpreters are not started in the same order + as they're used + * dh_python3: pass shallow=False to cmpfiles to make sure file comparison + works as expected + + [ Scott Kitterman ] + * Us X-Python3-Version for Python 3 instead of XS-Python-Version (which + should just be used for Python) + + -- Piotr Ożarowski <piotr@debian.org> Fri, 13 Aug 2010 23:27:45 +0200 + python3-defaults (3.1.2-5) unstable; urgency=medium * Add README.PyDist to python3-doc package diff -Nru python3-defaults-3.1.2/debian/py3versions.py python3-defaults-3.1.2/debian/py3versions.py --- python3-defaults-3.1.2/debian/py3versions.py 2010-06-07 21:58:26.000000000 +0200 +++ python3-defaults-3.1.2/debian/py3versions.py 2010-08-13 23:27:05.000000000 +0200 @@ -164,8 +164,8 @@ pass def extract_pyversion_attribute(fn, pkg): - """read the debian/control file, extract the XS-Python-Version - field; check that XB-Python-Version exists for the package.""" + """read the debian/control file, extract the X-Python3-Version + field.""" version = None sversion = None @@ -180,21 +180,16 @@ section = 'Source' elif line.startswith('Package: ' + pkg): section = pkg - elif line.startswith('XS-Python-Version:'): + elif line.startswith('X-Python3-Version:'): if section != 'Source': - raise ValueError('attribute XS-Python-Version not in Source section') + raise ValueError('attribute X-Python3-Version not in Source section') sversion = line.split(':', 1)[1].strip() - elif line.startswith('XB-Python-Version:'): - if section == pkg: - version = line.split(':', 1)[1].strip() if section == None: raise ControlFileValueError('not a control file') if pkg == 'Source': if sversion == None: - raise MissingVersionValueError('missing XS-Python-Version in control file') + raise MissingVersionValueError('missing X-Python3-Version in control file') return sversion - if version == None: - raise MissingVersionValueError('missing XB-Python-Version for package `%s' % pkg) return version def requested_versions_bis(vstring, version_only=False): @@ -239,7 +234,7 @@ help='print the supported python3 versions', action='store_true', dest='supported') parser.add_option('-r', '--requested', - help='print the python3 versions requested by a build; the argument is either the name of a control file or the value of the XS-Python-Version attribute', + help='print the python3 versions requested by a build; the argument is either the name of a control file or the value of the X-Python3-Version attribute', action='store_true', dest='requested') parser.add_option('-i', '--installed', help='print the installed supported python3 versions', @@ -276,7 +271,7 @@ % (program, fn)) sys.exit(1) except MissingVersionValueError: - sys.stderr.write("%s: missing XS-Python-Version in control file, fall back to supported versions\n" \ + sys.stderr.write("%s: missing X-Python3-Version in control file, fall back to supported versions\n" \ % program) vs = supported_versions(opts.version_only) else: diff -Nru python3-defaults-3.1.2/debpython/debhelper.py python3-defaults-3.1.2/debpython/debhelper.py --- python3-defaults-3.1.2/debpython/debhelper.py 2010-07-25 16:19:18.000000000 +0200 +++ python3-defaults-3.1.2/debpython/debhelper.py 2010-08-13 23:42:02.000000000 +0200 @@ -80,7 +80,7 @@ elif line.startswith('Source:'): self.source_name = line[7:].strip() elif source_section and line.startswith('X-Python3-Version:'): - self.python_version = line[17:] + self.python_version = line[18:] elif source_section and line.startswith('XS-Python-Version:')\ and not self.python_version: self.python_version = line[18:] diff -Nru python3-defaults-3.1.2/debpython/depends.py python3-defaults-3.1.2/debpython/depends.py --- python3-defaults-3.1.2/debpython/depends.py 2010-07-28 22:42:08.000000000 +0200 +++ python3-defaults-3.1.2/debpython/depends.py 2010-08-13 23:27:05.000000000 +0200 @@ -87,7 +87,7 @@ # make sure py3compile binary is available if stats['compile']: - self.depend("python3 (>= 3.1.2-5~)") + self.depend("python3 (>= 3.1.2-6~)") for interpreter, version in stats['shebangs']: self.depend(interpreter) diff -Nru python3-defaults-3.1.2/dh_python3 python3-defaults-3.1.2/dh_python3 --- python3-defaults-3.1.2/dh_python3 2010-07-28 22:39:09.000000000 +0200 +++ python3-defaults-3.1.2/dh_python3 2010-08-13 23:31:18.000000000 +0200 @@ -165,7 +165,7 @@ dc = dircmp(srcdir, dstdir) common_dirs = iter(dc.subdirs.items()) # dircmp returns common names only, lets check files more carefully... - res = cmpfiles(srcdir, dstdir, dc.common_files) + res = cmpfiles(srcdir, dstdir, dc.common_files, shallow=False) common_files = res[0] different_files = res[1] @@ -346,7 +346,7 @@ parser.add_option('-a', '--arch', action='store_true', dest='arch', help='Act on architecture dependent packages') parser.add_option('-q', '--quiet', action='store_false', dest='verbose', - default=True, help='be quiet') + help='be quiet') parser.add_option('-p', '--package', action='append', dest='package', help='Act on the package named PACKAGE') parser.add_option('-N', '--no-package', action='append', dest='no_package', @@ -419,11 +419,11 @@ dependencies.export_to(dh) if stats['public_vers']: - dh.addsubstvar(package, 'python:Versions', \ + dh.addsubstvar(package, 'python3:Versions', \ ', '.join(sorted(vrepr(stats['public_vers'])))) ps = package.split('-', 1) if len(ps) > 1 and ps[0] == 'python3': - dh.addsubstvar(package, 'python:Provides', \ + dh.addsubstvar(package, 'python3:Provides', \ ', '.join("python%s-%s" % (i, ps[1])\ for i in sorted(vrepr(stats['public_vers'])))) diff -Nru python3-defaults-3.1.2/py3compile python3-defaults-3.1.2/py3compile --- python3-defaults-3.1.2/py3compile 2010-07-28 22:40:33.000000000 +0200 +++ python3-defaults-3.1.2/py3compile 2010-08-13 23:27:05.000000000 +0200 @@ -171,7 +171,8 @@ if not isinstance(version, str): version = vrepr(version) cmd = "python%s -m py_compile -" % version - process = Popen(cmd, bufsize=1, shell=True, stdin=PIPE) + process = Popen(cmd, bufsize=1, shell=True, + stdin=PIPE, close_fds=True) workers[version] = process # keep the reference for .communicate() stdin = process.stdin while True: diff -Nru python3-defaults-3.1.2/tests/t1/debian/control python3-defaults-3.1.2/tests/t1/debian/control --- python3-defaults-3.1.2/tests/t1/debian/control 2010-07-25 14:15:44.000000000 +0200 +++ python3-defaults-3.1.2/tests/t1/debian/control 2010-08-13 23:45:45.000000000 +0200 @@ -5,15 +5,15 @@ Build-Depends: debhelper (>= 7.0.50~) Build-Depends-Indep: python-all Standards-Version: 3.9.0 +X-Python3-Version: >= 3.1 Package: python3-foo Architecture: all -Depends: ${python:Depends}, ${misc:Depends} +Depends: ${python3:Depends}, ${misc:Depends} Recommends: ${python3:Recommends} Suggests: ${python3:Suggests} Enhances: ${python3:Enhances} Breaks: ${python3:Breaks} Provides: ${python3:Provides} -XB-Python-Version: ${python:Versions} Description: foo to rule them all exemple package #1
Attachment:
signature.asc
Description: Digital signature