[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Freeze exception: python3-defaults 3.1.2-6



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


Reply to: