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