Package: python3 Version: 3.2.3-5 Followup-For: Bug #672178 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Dear Maintainer, The attached patch fixes both bug 672178 and 690259. It should allow python3-defaults to be compatible with Python 3.3 now. - -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-3-amd64 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages python3 depends on: ii python3-minimal 3.2.3-5 ii python3.2 3.2.3-2 python3 recommends no packages. Versions of packages python3 suggests: pn python3-doc <none> pn python3-tk <none> - -- no debconf information -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAEBCAAGBQJQd0bXAAoJEBJutWOnSwa/51kP/2T6pYPY65NLDuON4VH8JlYy uR017VxOGPbaLR++ahZorjawoiQxqtfWAsjnrB61of/xGt3ixz20/hDkB5TEyFF5 WOHv87cxTNaFMbKbetX6WDUg2FXI8pQtb2sLt9iBH7JjY5S6yp1pztfrG2L1q3ra Relqi59ChmI2W5F1qSkVRDiMHtkGnag6J2um5+RJ09vFHdw+MlwrvO5gt/LJyFAB qu5c1K0uIu744WQMdRbsz7O+Rq5QqAKqPmwcAzPLZ7tOC+iOJJE6V+vNdi32h2V6 HFyisGcIcEO0c+mrEy/wdqzhJRSRdsNgbvOFG+6PMhX/T2MOGP7BWfhPq61AvEGv GsN+vlM3yEY5oRKG+bfHWhTKf76+6PDh8ET18YXw44YT2itTnQ3DU12dy1s8RZxg lh/cRgagNE5ku7vIto7SPsO3QqotXN6zabrz5k4NTEjj0oR+TDjsbQftiRsNNOSj A5515TGRK0l7yyeRTakWWU4jLbmTk1xmYhDHyEwNsgT9Sedq7R3BgE8MDONwXOt0 fXhAmaUXEQjbisLJCS76YCXeEVU0sO7cb+zMEXoLevX4jsglXFLIwGJ43LPSenZ8 PWGFBxwfs7XasH1YxKcHMJib395jUTrVdkc8YBSYiwZPB7jGQ8zG4DeTMydUjXIF hJPgq9KZZHrAix5FIB63 =hf+j -----END PGP SIGNATURE-----
=== modified file 'Makefile' --- Makefile 2012-06-30 19:32:37 +0000 +++ Makefile 2012-10-11 19:08:03 +0000 @@ -35,7 +35,7 @@ # TESTS nose: - nosetests-3 --with-doctest --with-coverage + nosetests3 --with-doctest --with-coverage tests: nose make -C tests === modified file 'README.derivatives' --- README.derivatives 2011-03-13 22:13:08 +0000 +++ README.derivatives 2012-10-11 21:33:21 +0000 @@ -1,7 +1,8 @@ How to change a list of supported Python versions? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* Open debian/debian_defaults file and change `supported-versions` variable +* Open debian/debian_defaults file and change `supported-versions` variable, + separating multiple values by comma * Open debian/control.in file and edit python3-all, python3-all-dev and python3-all-dbg's Depends line (add or remove pythonX.Y packages) * Open debpython/versions.py file and edit `SUPPORTED` list around @@ -14,8 +15,6 @@ * Open debian/debian_defaults file and change `default-version` variable * Open debian/rules file and edit `VER` variable (default version), `NVER` (default + 1 version) and `PVER` (default version with "python" prefix) -* Open debian/py3versions.py file and edit `debian_default` variable around - line 171 * Open debpython/versions.py file and edit `DEFAULT` variable around line 27 === modified file 'debian/changelog' --- debian/changelog 2012-09-19 22:17:51 +0000 +++ debian/changelog 2012-10-11 21:44:11 +0000 @@ -1,3 +1,17 @@ +python3-defaults (3.2.3-7) UNRELEASED; urgency=low + + * dh_python3: Rework calculation of extension tags to add support for + Python 3.3's different suffixes, and to allow for unadorned .so files + to assume they are built with the default Python 3 version. + Closes: 672178 + * README.derivatives: It is no longer necessary to edit + debian/py3versions.py since the values are taken from + debian_defaults. Also added some text on how to separate the + specification when multiple versions are supported. + * Makefile: Fix the nosetests3 command. Closes: 690259 + + -- Barry Warsaw <ba...@python.org> Thu, 11 Oct 2012 15:09:02 -0400 + python3-defaults (3.2.3-6) unstable; urgency=low [ Piotr Ożarowski ] === modified file 'dh_python3' --- dh_python3 2012-06-30 19:15:05 +0000 +++ dh_python3 2012-10-11 19:04:38 +0000 @@ -47,9 +47,17 @@ log = logging.getLogger(__name__) os.umask(0o22) -# tag that will be added to .so files without one -EXTENSION_TAG = 'cpython-%smu' -DBG_EXTENSION_TAG = 'cpython-%sdmu' +# Tag that will be added to .so files without one. Because these values are +# different between versions of Python 3 (e.g. 3.2 has dmu but 3.3 only has +# dm), this maps vrepr()'s to extension templates. +EXTENSION_TAGS = { + '3.2': 'cpython-%smu', + '3.3': 'cpython-%sm', + } +DBG_EXTENSION_TAGS = { + '3.2': 'cpython-%sdmu', + '3.3': 'cpython-%sdm', + } TAG_RE = re.compile(r'-([0-9]{2})[^-.]*\.so$') # naming conventions used in the file: @@ -132,17 +140,23 @@ ### PACKAGE DETAILS ############################################ def tagged_extname(fname, version, dbg_package=False): """Return tagged extension name for given file & version.""" - vers = vrepr(version) # make sure it's a string - vers = vers.replace('.', '') + extkey = vrepr(version) # make sure it's a string + vers = extkey.replace('.', '') if vers == '3': - # assume .so files without tag in /usr/lib/python3/ are build for Python 3.2 - vers = '32' + # Assume that .so files without tags in /usr/lib/python3 are built for + # the default Python 3 version. + vers = ''.join(str(digit) for digit in DEFAULT) + try: + ext_tag = EXTENSION_TAGS[extkey] + dbg_tag = DBG_EXTENSION_TAGS[extkey] + except KeyError: + raise ValueError('No known tag for Python version {}'.format(extkey)) if fname.endswith('_d.so'): - fname = "%s.%s.so" % (fname[:-5], DBG_EXTENSION_TAG % vers) + fname = "%s.%s.so" % (fname[:-5], dbg_tag % vers) elif dbg_package: - fname = "%s.%s.so" % (fname[:-3], DBG_EXTENSION_TAG % vers) + fname = "%s.%s.so" % (fname[:-3], dbg_tag % vers) else: - fname = "%s.%s.so" % (fname[:-3], EXTENSION_TAG % vers) + fname = "%s.%s.so" % (fname[:-3], ext_tag % vers) return fname