summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2019-12-01 17:44:24 +0300
committerIgor Pashev <pashev.igor@gmail.com>2019-12-01 17:44:24 +0300
commitc089c4500b0b78acf03ee5405ad250a84b0dfa66 (patch)
tree23870848d194569aff6e0e4e41bc7907960b1af1
parent377002e7300431b68f3548d9fd2c7f99cf883939 (diff)
downloadpython3.7-debian.tar.gz
Import python3.7 (3.7.5-2)debian/3.7.5-2debian
-rw-r--r--debian/PVER-dbg.overrides.in2
-rw-r--r--debian/PVER-doc.info.in1
-rw-r--r--debian/PVER-minimal.README.Debian.in3
-rw-r--r--debian/PVER-minimal.overrides.in1
-rw-r--r--debian/PVER-venv.overrides.in1
-rw-r--r--debian/PVER.overrides.in2
-rw-r--r--debian/changelog472
-rw-r--r--debian/control172
-rw-r--r--debian/control.in44
-rw-r--r--debian/idle-PVER.overrides.in2
-rw-r--r--debian/libPVER-testsuite.overrides.in2
-rw-r--r--debian/libPVER.symbols.i386.in2
-rw-r--r--debian/libPVER.symbols.in1
-rw-r--r--debian/libPVER.symbols.lpia.in6
-rw-r--r--debian/libpython.symbols.in257
-rw-r--r--debian/multiarch.h.in26
-rw-r--r--debian/patches/arm-alignment.diff17
-rw-r--r--debian/patches/bdist-wininst-notfound.diff11
-rw-r--r--debian/patches/build-math-object.diff23
-rw-r--r--debian/patches/ctypes-arm.diff2
-rw-r--r--debian/patches/deb-locations.diff8
-rw-r--r--debian/patches/deb-setup.diff8
-rw-r--r--debian/patches/disable-sem-check.diff8
-rw-r--r--debian/patches/disable-some-tests.diff4
-rw-r--r--debian/patches/distutils-install-layout.diff34
-rw-r--r--debian/patches/distutils-sysconfig.diff16
-rw-r--r--debian/patches/doc-build-texinfo.diff27
-rw-r--r--debian/patches/ensurepip-disabled.diff8
-rw-r--r--debian/patches/ensurepip-wheels.diff38
-rw-r--r--debian/patches/ext-no-libpython-link.diff6
-rw-r--r--debian/patches/git-updates.diff4
-rw-r--r--debian/patches/issue35998.diff22
-rw-r--r--debian/patches/langpack-gettext.diff2
-rw-r--r--debian/patches/lib-argparse.diff8
-rw-r--r--debian/patches/lib2to3-no-pickled-grammar.diff16
-rw-r--r--debian/patches/link-opt.diff14
-rw-r--r--debian/patches/local-doc-references.diff22
-rw-r--r--debian/patches/locale-module.diff2
-rw-r--r--debian/patches/lto-link-flags.diff8
-rw-r--r--debian/patches/mangle-fstack-protector.diff4
-rw-r--r--debian/patches/multiarch.diff16
-rw-r--r--debian/patches/platform-lsbrelease.diff27
-rw-r--r--debian/patches/profiled-build.diff8
-rw-r--r--debian/patches/pydoc-use-pager.diff4
-rw-r--r--debian/patches/pyhash.diff67
-rw-r--r--debian/patches/reproducible-buildinfo.diff4
-rw-r--r--debian/patches/revert-profile-opt-changes.diff189
-rw-r--r--debian/patches/series9
-rw-r--r--debian/patches/setup-modules.diff18
-rw-r--r--debian/patches/sysconfig-debian-schemes.diff33
-rw-r--r--debian/patches/tempfile-minimal.diff4
-rw-r--r--debian/patches/test-no-random-order.diff4
-rw-r--r--debian/patches/update-tls-protocol.diff79
-rw-r--r--debian/patches/update-tls-protocol2.diff98
-rw-r--r--debian/pdb.1.in2
-rw-r--r--debian/py37-breaks.Debian73
-rw-r--r--debian/pyfpe-breaks.Debian52
-rw-r--r--debian/pyfpe-breaks.Ubuntu2
-rw-r--r--debian/pymindeps.py2
-rwxr-xr-xdebian/rules231
-rw-r--r--debian/source.lintian-overrides5
-rw-r--r--debian/source.lintian-overrides.in3
-rw-r--r--debian/tests/control35
-rwxr-xr-x[-rw-r--r--]debian/tests/failing-tests32
-rwxr-xr-x[-rw-r--r--]debian/tests/failing-tests-dbg32
-rw-r--r--debian/tests/test-common.sh47
-rwxr-xr-x[-rw-r--r--]debian/tests/testsuite37
-rwxr-xr-x[-rw-r--r--]debian/tests/testsuite-dbg32
-rw-r--r--debian/watch2
69 files changed, 1543 insertions, 910 deletions
diff --git a/debian/PVER-dbg.overrides.in b/debian/PVER-dbg.overrides.in
index 567c6db..22e76f1 100644
--- a/debian/PVER-dbg.overrides.in
+++ b/debian/PVER-dbg.overrides.in
@@ -3,3 +3,5 @@
# pointless lintian ...
@PVER@-dbg binary: hardening-no-fortify-functions
+
+@PVER@-dbg binary: command-with-path-in-maintainer-script
diff --git a/debian/PVER-doc.info.in b/debian/PVER-doc.info.in
new file mode 100644
index 0000000..7476490
--- /dev/null
+++ b/debian/PVER-doc.info.in
@@ -0,0 +1 @@
+Doc/build/texinfo/@PVER@.info
diff --git a/debian/PVER-minimal.README.Debian.in b/debian/PVER-minimal.README.Debian.in
index f0783c5..66b2c76 100644
--- a/debian/PVER-minimal.README.Debian.in
+++ b/debian/PVER-minimal.README.Debian.in
@@ -9,6 +9,7 @@ are:
__builtin__ builtin
__future__ module
+ _abc extension
_ast extension
_bisect extension
_blake2 extension
@@ -32,6 +33,7 @@ are:
_operator extension
_pickle extension
_posixsubprocess extension
+ _py_abc module
_random extension
_sha1 extension
_sha3 extension
@@ -67,6 +69,7 @@ are:
bisect module
builtins builtin
calendar module
+ cmath extension
codecs module
collections package
compileall module
diff --git a/debian/PVER-minimal.overrides.in b/debian/PVER-minimal.overrides.in
new file mode 100644
index 0000000..f63083b
--- /dev/null
+++ b/debian/PVER-minimal.overrides.in
@@ -0,0 +1 @@
+@PVER@-minimal binary: command-with-path-in-maintainer-script
diff --git a/debian/PVER-venv.overrides.in b/debian/PVER-venv.overrides.in
new file mode 100644
index 0000000..df5377c
--- /dev/null
+++ b/debian/PVER-venv.overrides.in
@@ -0,0 +1 @@
+@PVER@-venv binary: command-with-path-in-maintainer-script
diff --git a/debian/PVER.overrides.in b/debian/PVER.overrides.in
index 7e070b2..9400c8c 100644
--- a/debian/PVER.overrides.in
+++ b/debian/PVER.overrides.in
@@ -6,3 +6,5 @@
# no, not useless
@PVER@ binary: manpage-has-useless-whatis-entry
+
+@PVER@ binary: command-with-path-in-maintainer-script
diff --git a/debian/changelog b/debian/changelog
index d0975ff..de88536 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,104 +1,466 @@
-python3.6 (3.6.3~rc1-2) unstable; urgency=medium
+python3.7 (3.7.5-2) unstable; urgency=medium
- * Update symbols files for 32bit and big endian architectures.
+ * python3.7-dev: Depend on zlib1g-dev, needed to link as an
+ embedded interpreter.
- -- Matthias Klose <doko@debian.org> Wed, 20 Sep 2017 12:49:48 +0200
+ -- Matthias Klose <doko@debian.org> Sun, 27 Oct 2019 17:43:29 +0200
-python3.6 (3.6.3~rc1-1) unstable; urgency=medium
+python3.7 (3.7.5-1) unstable; urgency=medium
- * Python 3.6.3 release candidate 1.
- * Don't run test_platform/test_linux_distribution_encoding, Fedora only.
- * test_{ftplib,httplib,poplib,urllib2_localnet}: Run tests with TLSv1_2.
- * Update symbols files.
+ * Python 3.7.5 release.
- -- Matthias Klose <doko@debian.org> Wed, 20 Sep 2017 09:38:18 +0200
+ -- Matthias Klose <doko@debian.org> Tue, 15 Oct 2019 17:24:06 +0200
-python3.6 (3.6.2-5) unstable; urgency=medium
+python3.7 (3.7.5~rc1-2) unstable; urgency=medium
- * Fix symbols files.
+ * Apply proposed patch for issue 38368. LP: #1847036. Closes: #941650.
- -- Matthias Klose <doko@debian.org> Tue, 05 Sep 2017 22:23:28 +0200
+ -- Matthias Klose <doko@debian.org> Tue, 08 Oct 2019 18:47:45 +0200
-python3.6 (3.6.2-4) unstable; urgency=medium
+python3.7 (3.7.5~rc1-1) unstable; urgency=medium
- * Add package breaks for extensions referencing symbols for the removed
- _PyFPE module. Addresses: #873921.
+ * Python 3.7.5 release candidate 1.
* Bump standards version.
- -- Matthias Klose <doko@debian.org> Tue, 05 Sep 2017 21:20:29 +0200
+ -- Matthias Klose <doko@debian.org> Wed, 02 Oct 2019 06:19:31 +0200
+
+python3.7 (3.7.4-4) unstable; urgency=medium
+
+ * Update to 20190904 from the 3.7 branch.
+
+ -- Matthias Klose <doko@debian.org> Wed, 04 Sep 2019 10:03:05 +0200
+
+python3.7 (3.7.4-3) unstable; urgency=medium
+
+ * Enable pgo/lto builds on arm64. Closes: #934812.
+ * Don't propagate lto flags to the _sysconfigdata module. Closes: #934771.
+ * d/patches/issue35998.diff: Disable TLS1.3 in the client on all platforms
+ rather than just reducing the payload size (Michael Hudson-Doyle).
+ * Annote build dependencies used for tests. Closes: #928513.
+
+ -- Matthias Klose <doko@debian.org> Wed, 21 Aug 2019 18:01:23 +0200
+
+python3.7 (3.7.4-2) unstable; urgency=medium
+
+ * Bump the platform name for KFreeBSD.
+
+ -- Matthias Klose <doko@debian.org> Thu, 11 Jul 2019 12:43:21 +0200
+
+python3.7 (3.7.4-1) unstable; urgency=medium
+
+ * Python 3.7.4 release.
+
+ -- Matthias Klose <doko@debian.org> Tue, 09 Jul 2019 07:48:37 +0200
+
+python3.7 (3.7.4~rc2-2) unstable; urgency=medium
+
+ * Bump standards version.
+
+ -- Matthias Klose <doko@debian.org> Mon, 08 Jul 2019 12:07:13 +0200
+
+python3.7 (3.7.4~rc2-1) experimental; urgency=medium
+
+ * Python 3.7.4 release candidate 2.
+
+ -- Matthias Klose <doko@debian.org> Wed, 03 Jul 2019 09:09:05 +0200
+
+python3.7 (3.7.4~rc1-1) experimental; urgency=medium
+
+ * Python 3.7.4 release candidate 1.
+
+ -- Matthias Klose <doko@debian.org> Wed, 19 Jun 2019 19:04:25 +0200
+
+python3.7 (3.7.3-2) unstable; urgency=medium
+
+ * d/p/arm-alignment.diff: Don't allow unaligned memory accesses in the
+ _sha3 extension (Dave Jones). LP: #1821869. Issue #36515.
+ * Tweak the asyncio/ssl test again.
+
+ -- Matthias Klose <doko@debian.org> Wed, 03 Apr 2019 07:39:12 +0200
+
+python3.7 (3.7.3-1) unstable; urgency=medium
+
+ * Python 3.7.3 release.
+ * Work around issue #35988, reducing the payload size for the asyncio/ssl
+ tests.
+
+ -- Matthias Klose <doko@debian.org> Tue, 26 Mar 2019 08:25:18 +0100
-python3.6 (3.6.2-3) unstable; urgency=medium
+python3.7 (3.7.3~rc1-1) unstable; urgency=medium
- * Stop building the fpectl extension.
- * Break python3-numpy (<< 1:1.12.1-3.1), referencing the now missing fpectl
- modules. Closes: #873791.
+ * Python 3.7.3 release candidate 1.
+ * CVE-2019-9636. Fix issue #36216: Add check for characters in netloc that
+ normalize to separators. Closes: #924072.
+ * Use a build profile for libbluetooth-dev (<!pkg.python3.7.nobluetooth>).
- -- Matthias Klose <doko@debian.org> Wed, 23 Aug 2017 15:37:24 +0200
+ -- Matthias Klose <doko@debian.org> Wed, 13 Mar 2019 12:01:15 +0100
-python3.6 (3.6.2-2) unstable; urgency=medium
+python3.7 (3.7.2-3) unstable; urgency=medium
- * Move test_support.py and libregrtest from libpython3.6-testsuite to
- libpython3.6-stdlib.
+ * Update to 20190227 from the 3.7 branch.
+ * Add more breaks for packages not compatible with Python 3.7:
+ - xapers. Closes: #916914.
+ * Move the test/ann_module{,2,3} modules into libpython-stdlib.
+ Closes: #922285.
+ * Limit the import checks for some extension modules to native builds.
+ Closes: #921742.
- -- Matthias Klose <doko@debian.org> Fri, 04 Aug 2017 10:35:04 -0400
+ -- Matthias Klose <doko@debian.org> Wed, 27 Feb 2019 16:41:59 +0100
-python3.6 (3.6.2-1) unstable; urgency=medium
+python3.7 (3.7.2-2) unstable; urgency=medium
- * Python 3.6.2 release.
+ * Update to 20190202 from the 3.7 branch.
- -- Matthias Klose <doko@debian.org> Mon, 17 Jul 2017 15:39:29 +0200
+ -- Matthias Klose <doko@debian.org> Sat, 02 Feb 2019 15:31:48 +0100
-python3.6 (3.6.2~rc2-2) unstable; urgency=medium
+python3.7 (3.7.2-1) unstable; urgency=medium
- * Python 3.6.2 release candidate 2.
+ * Python 3.7.2 release.
+ * Revert the link optimization changes which appeared after the
+ release candidate.
+ * Make the build compatible with sphinx 1.6.x.
+ * Loosen the pyzo break. Closes: #916548.
- -- Matthias Klose <doko@debian.org> Sat, 08 Jul 2017 16:29:22 +0200
+ -- Matthias Klose <doko@debian.org> Thu, 03 Jan 2019 03:55:40 +0100
-python3.6 (3.6.2~rc1-1) unstable; urgency=medium
+python3.7 (3.7.2~rc1-1) unstable; urgency=medium
- * Python 3.6.2 release candidate 1.
+ * Python 3.7.2 release candidate 1.
+ * Add more breaks for packages not compatible with Python 3.7:
+ - python3-dns. Closes: #912988.
+ - python3-dkim. Closes: #912084.
+ - pyzo. Closes: #914332.
+ * Update VCS attributes. Closes: #904097.
* Update symbols files.
- * Build using -fexceptions on ppc64 and ppc64el.
- Addresses: #862925. LP: #1691848.
- -- Matthias Klose <doko@debian.org> Tue, 20 Jun 2017 14:51:36 +0200
+ -- Matthias Klose <doko@debian.org> Wed, 12 Dec 2018 07:25:49 +0100
-python3.6 (3.6.1-2) unstable; urgency=medium
+python3.7 (3.7.1-1~18.10) cosmic-proposed; urgency=medium
- * Update to 20170607 from the 3.6 branch.
- * Explicitly use the system python for byte compilation in postinst scripts.
+ * SRU: LP: #1799202.
+
+ -- Matthias Klose <doko@ubuntu.com> Mon, 22 Oct 2018 13:21:55 +0200
+
+python3.7 (3.7.1-1) unstable; urgency=medium
+
+ * Python 3.7.1 release.
+
+ -- Matthias Klose <doko@debian.org> Sun, 21 Oct 2018 10:03:53 +0200
+
+python3.7 (3.7.1~rc2-1) unstable; urgency=medium
+
+ * Python 3.7.1 release candidate 2.
+
+ -- Matthias Klose <doko@debian.org> Mon, 15 Oct 2018 11:24:12 +0200
+
+python3.7 (3.7.1~rc1-1) unstable; urgency=medium
+
+ * Python 3.7.1 release candidate 1.
+
+ -- Matthias Klose <doko@debian.org> Thu, 27 Sep 2018 11:41:42 +0200
+
+python3.7 (3.7.0-7) unstable; urgency=medium
+
+ * Update to 20180925 from the 3.7 branch.
+ * Don't run OpenSSL related tests during the build. Hanging on
+ some buildds.
+
+ -- Matthias Klose <doko@debian.org> Tue, 25 Sep 2018 16:01:24 +0200
+
+python3.7 (3.7.0-6) unstable; urgency=medium
+
+ * Update to 20180901 from the 3.7 branch.
+ - Fixes the build with OpenSSL 1.1.1. Closes: #907031.
+ * Don't run the test_ftplib and test_ssl autopkg tests, not yet ready
+ for OpenSSL 1.1.1.
+
+ -- Matthias Klose <doko@debian.org> Sat, 01 Sep 2018 01:21:37 +0200
+
+python3.7 (3.7.0-5) unstable; urgency=medium
+
+ * Update to 20180820 from the 3.7 branch.
+ * Avoid usage of distutils in the platform module. See issue #26544.
+ * Fix some issues on architectures from the computer museum (Jason Duerstock).
+ Closes: #905536.
+ - Disable -O3 on ia64 (see PR rtl-optimization/85412).
+ - Remove the -O2 override on m68k (see Debian #326903).
+ - Remove the -mieee and -O2 overrides for DEC Alpha (see Debian #212912).
+ * Add more breaks for packages not compatible with Python 3.7:
+ - python3-aiomeasures. See #906159.
+ - python3-motor (updated). See #903527.
+ * Again close the RC issue about the syntax errors triggered by Python 3.7.
+ Closes: #902788.
+ * Update symbols files.
+
+ -- Matthias Klose <doko@debian.org> Mon, 20 Aug 2018 19:52:20 +0200
+
+python3.7 (3.7.0-4) unstable; urgency=medium
+
+ * Update to 20180802 from the 3.7 branch.
+ * Add more breaks for packages not compatible with Python 3.7:
+ - python3-pyatspi. See #902989.
+ * Move test/__main__.py into libpython3.7-stdlib.
+
+ -- Matthias Klose <doko@debian.org> Thu, 02 Aug 2018 08:46:56 +0200
+
+python3.7 (3.7.0-3) unstable; urgency=medium
+
+ * Update to 20180730 from the 3.7 branch.
+ * Add more breaks for packages not compatible with Python 3.7:
+ - python3-trollius. See #903888.
+ - python3-sleekxmpp. See #904453.
+ - voltron. See #904657.
+ - visidata. See #904656.
+ - salt-common. See #903654.
+ - python3-yowsup. See #904653.
+ - python3-websockets. See #904650.
+ - python3-txfixtures. See #904649.
+ - python3-tweepy. See #904648.
+ - python3-slixmpp. See #904644.
+ - python3-signaller. See #904642.
+ - python3-rpyc. See #904615.
+ - python3-protorpc-standalone. See #904603.
+ - python3-nova. See #904587.
+ - python3-murano. See #904581.
+ - python3-mastodon. See #904579.
+ - python3-hug. See #904576.
+ - python3-async. See #904492.
+ - python3-pylama. See #904491.
+ - python3-exabgp. See #904390.
+ - python3-glance. See #904389.
+ - python3-gbulb. See #904388.
+ - python3-engineio. See #904383.
+ - python3-doublex. See #904382.
+ - python3-dns. See #904381.
+ - python3-opcua. See #904373.
+ - openscap-daemon. See #904.
+ - oca-core. See #904370.
+ - patroni. See #904369.
+ - python3-panoramisk. See #904368.
+ - linux-show-player-. See #904367.
+ - python3-cs. See #904365.
+ - python3-azure. See #904364.
+ - python3-applicationinsights. See #904363.
+ - python3-aiopg. See #904361.
+ - python3-aiozmq. See #904358.
+ - python3-pysnmp4. See #904357.
+ - python3-astroquery. See #904351.
+ - snakemake. See #904350.
+ - fail2ban. See #902817.
+ - python3-morse-simulator. See #904343.
+ - python3-tango. See #904298.
+ - python3-pycuda. See #903826.
+ - python3-pycsw. See #903784.
+ - gnome3-builder. See #903558.
+ * Close the RC issue about the syntax errors triggered by Python 3.7, now
+ that all the breaks are in place. Closes: #902788.
+ * Mark the lib2to3 and site tests as succeeding again, mark the tcl test
+ as failing (issue #34178).
+
+ -- Matthias Klose <doko@debian.org> Mon, 30 Jul 2018 06:39:20 +0200
+
+python3.7 (3.7.0-2) unstable; urgency=medium
+
+ * Update to 20180720 from the 3.7 branch.
+ * Add breaks for packages not compatible with Python 3.7:
+ - python3-twisted. See #902766.
+ - python3-pexpect. See #902646.
+ - python3-cxx-dev. See #902673.
+ - libboost-python1.62.0. See #902702.
+ - python3-psycopg2. See #902715.
+ - python3-maxminddb. See #902756.
+ - python3-blist. See #902757.
+ - python3-django. See #902761.
+ - diffoscope. See #902650.
+ - gpodder. See #902704.
+ - python3-http-parser. See: #902759.
+ - python3-celery. See #902900.
+ - python3-astroid. See #902631.
+ - python3-ubjson. See #902762.
+ - python3-protobuf. See #902597.
+ - python3-opengl. See #903218.
+ - python3-ws4py. See #903529.
+ - python3-dropbox. See #903525.
+ - python3-pycuda. See #903826.
+ - python3-libcloud. See #903388.
+ - python3-motor. See #903527.
+ - python3-jira. See #903526.
+
+ -- Matthias Klose <doko@debian.org> Fri, 20 Jul 2018 15:51:14 +0200
+
+python3.7 (3.7.0-1~18.04) bionic-proposed; urgency=medium
+
+ * SRU: LP: #1792140. Update Python 3.7 to the final 3.7.0 release.
+
+ -- Matthias Klose <doko@ubuntu.com> Wed, 12 Sep 2018 20:30:08 +0200
+
+python3.7 (3.7.0-1) unstable; urgency=medium
- -- Matthias Klose <doko@debian.org> Wed, 07 Jun 2017 12:00:24 -0700
+ * Python 3.7.0 release.
-python3.6 (3.6.1-1) unstable; urgency=medium
+ -- Matthias Klose <doko@debian.org> Wed, 27 Jun 2018 16:40:03 +0200
- * Python 3.6.1 release.
+python3.7 (3.7.0~rc1-3) unstable; urgency=medium
- -- Matthias Klose <doko@debian.org> Wed, 22 Mar 2017 07:17:05 +0100
+ * Update to 20180622 from the 3.7 branch.
+ - Fix installation of the idlelib tests.
-python3.6 (3.6.1~rc1-1) unstable; urgency=medium
+ -- Matthias Klose <doko@debian.org> Fri, 22 Jun 2018 10:11:22 +0200
- * Python 3.6.1 release candidate 1.
+python3.7 (3.7.0~rc1-2) unstable; urgency=medium
- -- Matthias Klose <doko@debian.org> Sun, 05 Mar 2017 13:34:53 +0100
+ * Update to 20180619 from the 3.7 branch.
+ * Let ensurepip work with pip versions 9 or 10. Addresses: #901797.
+ * pdb(1): Fix pointer to HTML documentation. Addresses: #901603.
-python3.6 (3.6.0-2) experimental; urgency=medium
+ -- Matthias Klose <doko@debian.org> Tue, 19 Jun 2018 09:10:27 +0200
- * Update to 20170203 from the 3.6 branch.
+python3.7 (3.7.0~rc1-1) unstable; urgency=medium
- -- Matthias Klose <doko@debian.org> Fri, 03 Feb 2017 09:23:51 +0100
+ * Python 3.7.0 release candidate 1.
-python3.6 (3.6.0-1) experimental; urgency=medium
+ -- Matthias Klose <doko@debian.org> Wed, 13 Jun 2018 10:04:13 +0200
- * Python 3.6.0 release.
+python3.7 (3.7.0~b5-1) unstable; urgency=medium
+
+ * Python 3.7.0 beta 5 release.
+
+ -- Matthias Klose <doko@debian.org> Thu, 31 May 2018 12:14:46 +0200
+
+python3.7 (3.7.0~b4-5) unstable; urgency=medium
+
+ * Update to 20180529 from the 3.7 branch.
+ * sysconfig: The 'posix_local' schema name is the default unless the env var
+ DEB_PYTHON_INSTALL_LAYOUT is set to 'deb' or 'deb_system'. Use the latter
+ for package buillds.
+
+ -- Matthias Klose <doko@ubuntu.com> Tue, 29 May 2018 13:54:38 +0200
+
+python3.7 (3.7.0~b4-4) unstable; urgency=medium
+
+ * Update to 20180516 from the 3.7 branch.
+ * Fix building cmath and build cmath as a builtin instead of an extension.
+ * Run the test_code_module, test_dbm, test_zipfile tests in the autopkg
+ tests again.
+
+ -- Matthias Klose <doko@debian.org> Wed, 16 May 2018 16:51:00 -0400
+
+python3.7 (3.7.0~b4-3) unstable; urgency=medium
+
+ * python3.7: Add breaks on python3-all (<< 3.6.5~rc1-1),
+ python3-dev (<< 3.6.5~rc1-1), python3-venv (<< 3.6.5-2). Addresses: #898401.
+ * Restore the sysconfig-debian-schemes patch.
+
+ -- Matthias Klose <doko@debian.org> Fri, 11 May 2018 11:18:40 -0400
+
+python3.7 (3.7.0~b4-2) unstable; urgency=medium
+
+ * Fix the lto build for extensions, passing -fPIC to the linker.
+
+ -- Matthias Klose <doko@debian.org> Mon, 07 May 2018 19:24:57 +0200
+
+python3.7 (3.7.0~b4-1) unstable; urgency=medium
+
+ * Python 3.7.0 beta 4 release.
+ * Fix library name in python debug pkgconfig file. Addresses: #894498.
+ * Re-enable pgo/lto builds.
+ * Update autopkg tests to really run with 3.7.
+ * Make the build of the shared modules verbose again.
+
+ -- Matthias Klose <doko@debian.org> Thu, 03 May 2018 13:45:04 +0200
+
+python3.7 (3.7.0~b3-1) unstable; urgency=medium
+
+ * Python 3.7.0 beta 3 release.
+ * libpython3.7-stdlib: Add missing python3-distutils breaks. Closes: #894204.
+
+ -- Matthias Klose <doko@debian.org> Fri, 30 Mar 2018 12:35:22 +0800
+
+python3.7 (3.7.0~b2-2) unstable; urgency=medium
+
+ * libpython3.7-stdlib: Ship again distutils/{__init__,version}.py.
+
+ -- Matthias Klose <doko@debian.org> Fri, 23 Mar 2018 11:21:34 +0800
+
+python3.7 (3.7.0~b2-1) unstable; urgency=medium
+
+ * Python 3.7.0 beta 2 release.
+ - Fix issue #32185: The SSL module no longer sends IP addresses in SNI TLS
+ extension on platforms with OpenSSL 1.0.2+ or inet_pton. See #892814.
+ * Add support for riscv64 (Aurelien Jarno). Addresses: #892328.
+ * Update symbols files.
+
+ -- Matthias Klose <doko@debian.org> Tue, 13 Mar 2018 20:55:14 +0100
+
+python3.7 (3.7.0~b1-1) unstable; urgency=medium
+
+ * Python 3.7.0 beta 1 release.
+ * Update symbols files.
+
+ -- Matthias Klose <doko@debian.org> Thu, 01 Feb 2018 08:36:28 +0100
+
+python3.7 (3.7.0~a4-1) unstable; urgency=medium
+
+ * Python 3.7.0 alpha 4 release.
+
+ -- Matthias Klose <doko@debian.org> Wed, 10 Jan 2018 13:34:16 +0100
+
+python3.7 (3.7.0~a3-4) unstable; urgency=medium
+
+ * Stop building python3.7-2to3, now replaced by 2to3 and python3-lib2to3.
+
+ -- Matthias Klose <doko@debian.org> Fri, 05 Jan 2018 03:45:13 +0100
+
+python3.7 (3.7.0~a3-3) unstable; urgency=medium
+
+ * Stop shipping lib2to3, now shipped in python3-lib2to3.
+
+ -- Matthias Klose <doko@debian.org> Wed, 27 Dec 2017 14:04:53 +0100
+
+python3.7 (3.7.0~a3-2) unstable; urgency=medium
+
+ * Split out a python3.7-2to3 package.
+ * Stop shipping the tkinter and distutils modules in libpython3.7-stdlib.
+
+ -- Matthias Klose <doko@debian.org> Wed, 13 Dec 2017 12:18:54 +0100
+
+python3.7 (3.7.0~a3-1) unstable; urgency=medium
+
+ * Python 3.7.0 alpha 3 release.
+ * Add support for mipsr6 triplets (YunQiang Su). Addresses: #881942.
+ * Move the idle library into the idle-python3.7 package.
+ * Build documentation in info format (Benjamin Moody). Addresses: #881959.
+
+ -- Matthias Klose <doko@debian.org> Wed, 06 Dec 2017 13:24:25 +0100
+
+python3.7 (3.7.0~a2-1) experimental; urgency=medium
+
+ * Python 3.7.0 alpha 2 release.
+
+ -- Matthias Klose <doko@debian.org> Wed, 18 Oct 2017 20:58:26 +0200
+
+python3.7 (3.7.0~a1-2) experimental; urgency=medium
+
+ * Build with -fstack-protector instead of -fstack-protector-strong.
+ Performance improvements of around 1-2% according to LP #1638695.
+
+ -- Matthias Klose <doko@debian.org> Wed, 20 Sep 2017 14:12:51 +0200
+
+python3.7 (3.7.0~a1-1) experimental; urgency=medium
+
+ * Python 3.7.0 alpha 1 release.
+ * Explicitly use the system python for byte compilation in postinst scripts.
+ Addresses: #852163. LP: #1682934.
+ * Build using -fexceptions on ppc64 and ppc64el.
+ Addresses: #862925. LP: #1691848.
- -- Matthias Klose <doko@debian.org> Thu, 29 Dec 2016 05:29:02 +0100
+ -- Matthias Klose <doko@debian.org> Wed, 20 Sep 2017 14:12:51 +0200
-python3.6 (3.6.0~rc1-1) experimental; urgency=medium
+python3.7 (3.7-20170522-1) experimental; urgency=medium
- * Python 3.6.0 release candidate 1.
+ * Python 3.7 snapshot 20170522.
- -- Matthias Klose <doko@debian.org> Wed, 07 Dec 2016 09:56:22 +0100
+ -- Matthias Klose <doko@ubuntu.com> Mon, 22 May 2017 14:32:31 -0700
python3.6 (3.6.0~b4-1) experimental; urgency=medium
diff --git a/debian/control b/debian/control
index 7af2434..a2ecc9f 100644
--- a/debian/control
+++ b/debian/control
@@ -1,4 +1,4 @@
-Source: python3.6
+Source: python3.7
Section: python
Priority: optional
Maintainer: Matthias Klose <doko@debian.org>
@@ -10,170 +10,184 @@ Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.17.11),
libgdbm-dev, libdb-dev,
tk-dev, blt-dev (>= 2.4z), libssl-dev,
libexpat1-dev, libmpdec-dev (>= 2.4),
- libbluetooth-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64],
- locales [!armel !avr32 !hppa !ia64 !mipsel],
+ libbluetooth-dev [linux-any] <!pkg.python3.7.nobluetooth>,
+ locales-all,
libsqlite3-dev, libffi-dev (>= 3.0.5) [!or1k !avr32],
libgpm2 [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64],
mime-support, netbase, bzip2, time, python3:any,
- net-tools, xvfb, xauth
-Build-Depends-Indep: python3-sphinx
-Standards-Version: 4.1.0
-Vcs-Browser: https://code.launchpad.net/~doko/python/pkg3.6-debian
-Vcs-Bzr: http://bazaar.launchpad.net/~doko/python/pkg3.6-debian
+ net-tools, xvfb <!nocheck>, xauth <!nocheck>
+Build-Depends-Indep: python3-sphinx, texinfo
+Standards-Version: 4.4.1
+Vcs-Browser: https://salsa.debian.org/cpython-team/python3/tree/python3.7
+Vcs-Git: https://salsa.debian.org/cpython-team/python3.git -b python3.7
XS-Testsuite: autopkgtest
-Package: python3.6
+Package: python3.7
Architecture: any
Multi-Arch: allowed
Priority: optional
-Depends: python3.6-minimal (= ${binary:Version}), libpython3.6-stdlib (= ${binary:Version}), mime-support, ${shlibs:Depends}, ${misc:Depends}
-Suggests: python3.6-venv, python3.6-doc, binutils
-Description: Interactive high-level object-oriented language (version 3.6)
- Python is a high-level, interactive, object-oriented language. Its 3.6 version
+Depends: python3.7-minimal (= ${binary:Version}),
+ libpython3.7-stdlib (= ${binary:Version}),
+ mime-support,
+ ${shlibs:Depends}, ${misc:Depends}
+Suggests: python3.7-venv, python3.7-doc, binutils
+Breaks: python3-all (<< 3.6.5~rc1-1),
+ python3-dev (<< 3.6.5~rc1-1),
+ python3-venv (<< 3.6.5-2), ${python37:Breaks}
+Description: Interactive high-level object-oriented language (version 3.7)
+ Python is a high-level, interactive, object-oriented language. Its 3.7 version
includes an extensive class library with lots of goodies for
network programming, system administration, sounds and graphics.
-Package: python3.6-venv
+Package: python3.7-venv
Architecture: any
Multi-Arch: allowed
Priority: optional
-Depends: python3.6 (= ${binary:Version}),
+Depends: python3.7 (= ${binary:Version}),
python-pip-whl (>= 8.1.0-2), ${shlibs:Depends}, ${misc:Depends},
Breaks: python3-pip (<< 1.5.6-4)
-Description: Interactive high-level object-oriented language (pyvenv binary, version 3.6)
- Python is a high-level, interactive, object-oriented language. Its 3.6 version
+Description: Interactive high-level object-oriented language (pyvenv binary, version 3.7)
+ Python is a high-level, interactive, object-oriented language. Its 3.7 version
includes an extensive class library with lots of goodies for
network programming, system administration, sounds and graphics.
.
- This package contains the pyvenv-3.6 binary.
+ This package contains the pyvenv-3.7 binary.
-Package: libpython3.6-stdlib
+Package: libpython3.7-stdlib
Architecture: any
Multi-Arch: same
Priority: optional
Pre-Depends: ${misc:Pre-Depends}
-Depends: libpython3.6-minimal (= ${binary:Version}), mime-support, ${shlibs:Depends}, ${misc:Depends}
-Breaks: libmpdec2 (<< 2.4.2), cython3 (<< 0.26-2.1), python3-lxml (<< 3.8.0-2), python3-numpy (<< 1:1.12.1-3.1), python3-tk (<< 3.6.2-1~), python3-scipy (<< 0.18.1-2.1), borgbackup (<= 1.0.11-3), python3-acora (<= 2.0-2+b1), python3-adios (<= 1.12.0-3), python3-astroml-addons (<= 0.2.2-4), python3-astropy (<= 2.0.1-2), python3-astroscrappy (<= 1.0.5-1+b1), python3-asyncpg (<= 0.12.0-1), python3-bcolz (<= 1.1.0+ds1-4+b1), python3-brainstorm (<= 0.5-3+b1), python3-cartopy (<= 0.14.2+dfsg1-2+b1), python3-cutadapt (<= 1.13-1+b1), python3-djvu (<= 0.8-2), python3-fabio (<= 0.4.0+dfsg-2+b1), python3-falcon (<= 1.0.0-2+b1), python3-fiona (<= 1.7.9-1), python3-grib (<= 2.0.2-2), python3-gssapi (<= 1.2.0-1+b1), python3-h5py (<= 2.7.0-1+b1), python3-healpy (<= 1.10.3-2+b1), python3-kivy (<= 1.9.1-1+b1), python3-libdiscid (<= 1.0-1+b1), python3-liblo (<= 0.10.0-3+b1), python3-llfuse (<= 1.2+dfsg-1+b1), python3-ltfatpy (<= 1.0.9-1), python3-netcdf4 (<= 1.2.9-1+b1), python3-pandas-lib (<= 0.20.3-1), python3-petsc4py (<= 3.7.0-3+b1), python3-pybedtools (<= 0.7.8-1), python3-pyfai (<= 0.13.0+dfsg-1+b1), python3-pygpu (<= 0.6.9-2), python3-pymca5 (<= 5.1.3+dfsg-1+b1), python3-pymssql (<= 2.1.3+dfsg-1+b1), python3-pyresample (<= 1.5.0-3+b1), python3-pysam (<= 0.11.2.2+ds-3), python3-pywt (<= 0.5.1-1.1+b1), python3-rasterio (<= 0.36.0-2+b2), python3-sfml (<= 2.2~git20150611.196c88+dfsg-4), python3-shapely (<= 1.6.1-1), python3-skbio (<= 0.5.1-2+b1), python3-skimage-lib (<= 0.12.3-9+b1), python3-sklearn-lib (<= 0.19.0-1), python3-specutils (<= 0.2.2-1+b1), python3-stemmer (<= 1.3.0+dfsg-1+b7), python3-tables-lib (<= 3.3.0-5+b1), python3-tinycss (<= 0.4-1+b1), python3-wheezy.template (<= 0.1.167-1.1+b1), python3-yt (<= 3.3.3-2+b1),
-Replaces: libpython3.6-testsuite (<< 3.6.2-2)
-Description: Interactive high-level object-oriented language (standard library, version 3.6)
- Python is a high-level, interactive, object-oriented language. Its 3.6 version
+Depends: libpython3.7-minimal (= ${binary:Version}), mime-support, ${shlibs:Depends}, ${misc:Depends}
+Breaks: python3-tk (<< 3.6.4~rc1-2), libmpdec2 (<< 2.4.2),
+ python3-distutils (<< 3.6.5~rc1-2),
+ libpython3.7-testsuite (<< 3.7.2-3),
+Replaces: python3-distutils (<< 3.6.5~rc1-2), libpython3.7-testsuite (<< 3.7.2-3),
+Description: Interactive high-level object-oriented language (standard library, version 3.7)
+ Python is a high-level, interactive, object-oriented language. Its 3.7 version
includes an extensive class library with lots of goodies for
network programming, system administration, sounds and graphics.
.
- This package contains Python 3.6's standard library. It is normally not
- used on its own, but as a dependency of python3.6.
+ This package contains Python 3.7's standard library. It is normally not
+ used on its own, but as a dependency of python3.7.
-Package: python3.6-minimal
+Package: python3.7-minimal
Architecture: any
Multi-Arch: allowed
Priority: optional
Pre-Depends: ${shlibs:Pre-Depends}
-Depends: libpython3.6-minimal (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-Recommends: python3.6
+Depends: libpython3.7-minimal (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Recommends: python3.7
Suggests: binfmt-support
Conflicts: binfmt-support (<< 1.1.2)
-Description: Minimal subset of the Python language (version 3.6)
+Description: Minimal subset of the Python language (version 3.7)
This package contains the interpreter and some essential modules. It can
be used in the boot process for some basic tasks.
- See /usr/share/doc/python3.6-minimal/README.Debian for a list of the modules
+ See /usr/share/doc/python3.7-minimal/README.Debian for a list of the modules
contained in this package.
-Package: libpython3.6-minimal
+Package: libpython3.7-minimal
Architecture: any
Multi-Arch: same
Priority: optional
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
-Recommends: libpython3.6-stdlib
-Conflicts: binfmt-support (<< 1.1.2)
-Description: Minimal subset of the Python language (version 3.6)
+Recommends: libpython3.7-stdlib
+Breaks: libpython3.7-stdlib (<< 3.7.0~b2-1~)
+Conflicts: binfmt-support (<< 1.1.2), libpython3.7-stdlib (<< 3.7.0~b2-1~)
+Description: Minimal subset of the Python language (version 3.7)
This package contains some essential modules. It is normally not
- used on it's own, but as a dependency of python3.6-minimal.
+ used on it's own, but as a dependency of python3.7-minimal.
-Package: libpython3.6
+Package: libpython3.7
Architecture: any
Multi-Arch: same
Section: libs
Priority: optional
Pre-Depends: ${misc:Pre-Depends}
-Depends: libpython3.6-stdlib (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-Description: Shared Python runtime library (version 3.6)
- Python is a high-level, interactive, object-oriented language. Its 3.6 version
+Depends: libpython3.7-stdlib (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Shared Python runtime library (version 3.7)
+ Python is a high-level, interactive, object-oriented language. Its 3.7 version
includes an extensive class library with lots of goodies for
network programming, system administration, sounds and graphics.
.
This package contains the shared runtime library, normally not needed
for programs using the statically linked interpreter.
-Package: python3.6-examples
+Package: python3.7-examples
Architecture: all
-Multi-Arch: foreign
-Depends: python3.6:any (>= ${source:Version}), ${misc:Depends}
-Description: Examples for the Python language (v3.6)
- Examples, Demos and Tools for Python (v3.6). These are files included in
- the upstream Python distribution (v3.6).
+Depends: python3.7 (>= ${source:Version}), ${misc:Depends}
+Description: Examples for the Python language (v3.7)
+ Examples, Demos and Tools for Python (v3.7). These are files included in
+ the upstream Python distribution (v3.7).
-Package: python3.6-dev
+Package: python3.7-dev
Architecture: any
Multi-Arch: allowed
-Depends: python3.6 (= ${binary:Version}), libpython3.6-dev (= ${binary:Version}), libpython3.6 (= ${binary:Version}), libexpat1-dev, ${shlibs:Depends}, ${misc:Depends}
+Depends: python3.7 (= ${binary:Version}),
+ libpython3.7-dev (= ${binary:Version}),
+ libpython3.7 (= ${binary:Version}),
+ libexpat1-dev, zlib1g-dev,
+ ${shlibs:Depends}, ${misc:Depends}
Recommends: libc6-dev | libc-dev
-Description: Header files and a static library for Python (v3.6)
+Description: Header files and a static library for Python (v3.7)
Header files, a static library and development tools for building
- Python (v3.6) modules, extending the Python interpreter or embedding
- Python (v3.6) in applications.
+ Python (v3.7) modules, extending the Python interpreter or embedding
+ Python (v3.7) in applications.
.
Maintainers of Python packages should read README.maintainers.
-Package: libpython3.6-dev
+Package: libpython3.7-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
-Depends: libpython3.6-stdlib (= ${binary:Version}), libpython3.6 (= ${binary:Version}), libexpat1-dev, ${shlibs:Depends}, ${misc:Depends}
+Depends: libpython3.7-stdlib (= ${binary:Version}), libpython3.7 (= ${binary:Version}), libexpat1-dev, ${shlibs:Depends}, ${misc:Depends}
Recommends: libc6-dev | libc-dev
-Description: Header files and a static library for Python (v3.6)
+Description: Header files and a static library for Python (v3.7)
Header files, a static library and development tools for building
- Python (v3.6) modules, extending the Python interpreter or embedding
- Python (v3.6) in applications.
+ Python (v3.7) modules, extending the Python interpreter or embedding
+ Python (v3.7) in applications.
.
Maintainers of Python packages should read README.maintainers.
.
This package contains development files. It is normally not
- used on it's own, but as a dependency of python3.6-dev.
+ used on it's own, but as a dependency of python3.7-dev.
-Package: libpython3.6-testsuite
+Package: libpython3.7-testsuite
Section: libdevel
Architecture: all
-Depends: python3.6 (>= ${binary:Version}), ${misc:Depends}, net-tools
+Depends: python3.7 (>= ${binary:Version}), ${misc:Depends}, net-tools
Suggests: python3-gdbm, python3-tk
-Description: Testsuite for the Python standard library (v3.6)
+Description: Testsuite for the Python standard library (v3.7)
The complete testsuite for the Python standard library. Note that
- a subset is found in the libpython3.6-stdlib package, which should
+ a subset is found in the libpython3.7-stdlib package, which should
be enough for other packages to use (please do not build-depend
on this package, but file a bug report to include additional
- testsuite files in the libpython3.6-stdlib package).
+ testsuite files in the libpython3.7-stdlib package).
-Package: idle-python3.6
+Package: idle-python3.7
Architecture: all
-Depends: python3.6, python3-tk, python3.6-tk, ${misc:Depends}
-Enhances: python3.6
-Description: IDE for Python (v3.6) using Tkinter
- IDLE is an Integrated Development Environment for Python (v3.6).
+Depends: python3.7, python3-tk, python3.7-tk, ${misc:Depends}
+Enhances: python3.7
+Breaks: libpython3.7-stdlib (<< 3.7.0~a3-1)
+Replaces: libpython3.7-stdlib (<< 3.7.0~a3-1)
+Description: IDE for Python (v3.7) using Tkinter
+ IDLE is an Integrated Development Environment for Python (v3.7).
IDLE is written using Tkinter and therefore quite platform-independent.
-Package: python3.6-doc
+Package: python3.7-doc
Section: doc
Architecture: all
Multi-Arch: foreign
Depends: libjs-jquery, libjs-underscore, ${misc:Depends}
-Suggests: python3.6
-Description: Documentation for the high-level object-oriented language Python (v3.6)
+Suggests: python3.7
+Description: Documentation for the high-level object-oriented language Python (v3.7)
These is the official set of documentation for the interactive high-level
- object-oriented language Python (v3.6). All documents are provided
+ object-oriented language Python (v3.7). All documents are provided
in HTML format. The package consists of ten documents:
.
- * What's New in Python3.6
+ * What's New in Python3.7
* Tutorial
* Python Library Reference
* Macintosh Module Reference
@@ -184,15 +198,14 @@ Description: Documentation for the high-level object-oriented language Python (v
* Documenting Python
* Distributing Python Modules
-Package: python3.6-dbg
+Package: python3.7-dbg
Section: debug
Architecture: any
Multi-Arch: allowed
-Priority: extra
-Depends: python3.6 (= ${binary:Version}), libpython3.6-dbg (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Depends: python3.7 (= ${binary:Version}), libpython3.7-dbg (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Recommends: gdb
Suggests: python3-gdbm-dbg, python3-tk-dbg
-Description: Debug Build of the Python Interpreter (version 3.6)
+Description: Debug Build of the Python Interpreter (version 3.7)
The package holds two things:
.
- A Python interpreter configured with --pydebug. Dynamically loaded modules
@@ -202,14 +215,13 @@ Description: Debug Build of the Python Interpreter (version 3.6)
.
See the README.debug for more information.
-Package: libpython3.6-dbg
+Package: libpython3.7-dbg
Section: debug
Architecture: any
Multi-Arch: same
-Priority: extra
Pre-Depends: ${misc:Pre-Depends}
-Depends: libpython3.6-stdlib (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-Description: Debug Build of the Python Interpreter (version 3.6)
+Depends: libpython3.7-stdlib (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Debug Build of the Python Interpreter (version 3.7)
The package holds two things:
.
- Extensions for a Python interpreter configured with --pydebug.
diff --git a/debian/control.in b/debian/control.in
index d040857..810de7c 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -10,24 +10,30 @@ Build-Depends: debhelper (>= 9), @bd_dpkgdev@
libgdbm-dev, libdb-dev,
tk-dev, blt-dev (>= 2.4z), libssl-dev,
libexpat1-dev, libmpdec-dev (>= 2.4),
- libbluetooth-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64],
- locales [!armel !avr32 !hppa !ia64 !mipsel],
+ libbluetooth-dev [linux-any] <!pkg.@PVER@.nobluetooth>,
+ locales-all,
libsqlite3-dev, libffi-dev (>= 3.0.5) [!or1k !avr32],
libgpm2 [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64],
mime-support, netbase, bzip2, time, python3@bd_qual@,
- net-tools, xvfb, xauth
-Build-Depends-Indep: python3-sphinx
-Standards-Version: 4.1.0
-Vcs-Browser: https://code.launchpad.net/~doko/python/pkg@VER@-debian
-Vcs-Bzr: http://bazaar.launchpad.net/~doko/python/pkg@VER@-debian
+ net-tools, xvfb <!nocheck>, xauth <!nocheck>
+Build-Depends-Indep: python3-sphinx, texinfo
+Standards-Version: 4.4.1
+Vcs-Browser: https://salsa.debian.org/cpython-team/python3/tree/python3.7
+Vcs-Git: https://salsa.debian.org/cpython-team/python3.git -b python3.7
XS-Testsuite: autopkgtest
Package: @PVER@
Architecture: any
Multi-Arch: allowed
Priority: @PRIO@
-Depends: @PVER@-minimal (= ${binary:Version}), lib@PVER@-stdlib (= ${binary:Version}), mime-support, ${shlibs:Depends}, ${misc:Depends}
+Depends: @PVER@-minimal (= ${binary:Version}),
+ lib@PVER@-stdlib (= ${binary:Version}),
+ mime-support,
+ ${shlibs:Depends}, ${misc:Depends}
Suggests: @PVER@-venv, @PVER@-doc, binutils
+Breaks: python3-all (<< 3.6.5~rc1-1),
+ python3-dev (<< 3.6.5~rc1-1),
+ python3-venv (<< 3.6.5-2), ${python37:Breaks}
Description: Interactive high-level object-oriented language (version @VER@)
Python is a high-level, interactive, object-oriented language. Its @VER@ version
includes an extensive class library with lots of goodies for
@@ -53,8 +59,10 @@ Multi-Arch: same
Priority: @PRIO@
Pre-Depends: ${misc:Pre-Depends}
Depends: lib@PVER@-minimal (= ${binary:Version}), mime-support, ${shlibs:Depends}, ${misc:Depends}
-Breaks: libmpdec2 (<< 2.4.2), PYFPE_BREAKS
-Replaces: lib@PVER@-testsuite (<< 3.6.2-2)
+Breaks: python3-tk (<< 3.6.4~rc1-2), libmpdec2 (<< 2.4.2),
+ python3-distutils (<< 3.6.5~rc1-2),
+ libpython3.7-testsuite (<< 3.7.2-3),
+Replaces: python3-distutils (<< 3.6.5~rc1-2), libpython3.7-testsuite (<< 3.7.2-3),
Description: Interactive high-level object-oriented language (standard library, version @VER@)
Python is a high-level, interactive, object-oriented language. Its @VER@ version
includes an extensive class library with lots of goodies for
@@ -85,7 +93,8 @@ Priority: @MINPRIO@
Pre-Depends: ${misc:Pre-Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: lib@PVER@-stdlib
-Conflicts: binfmt-support (<< 1.1.2)
+Breaks: libpython3.7-stdlib (<< 3.7.0~b2-1~)
+Conflicts: binfmt-support (<< 1.1.2), libpython3.7-stdlib (<< 3.7.0~b2-1~)
Description: Minimal subset of the Python language (version @VER@)
This package contains some essential modules. It is normally not
used on it's own, but as a dependency of @PVER@-minimal.
@@ -107,8 +116,7 @@ Description: Shared Python runtime library (version @VER@)
Package: @PVER@-examples
Architecture: all
-Multi-Arch: foreign
-Depends: @PVER@:any (>= ${source:Version}), ${misc:Depends}
+Depends: @PVER@ (>= ${source:Version}), ${misc:Depends}
Description: Examples for the Python language (v@VER@)
Examples, Demos and Tools for Python (v@VER@). These are files included in
the upstream Python distribution (v@VER@).
@@ -116,7 +124,11 @@ Description: Examples for the Python language (v@VER@)
Package: @PVER@-dev
Architecture: any
Multi-Arch: allowed
-Depends: @PVER@ (= ${binary:Version}), lib@PVER@-dev (= ${binary:Version}), lib@PVER@ (= ${binary:Version}), libexpat1-dev, ${shlibs:Depends}, ${misc:Depends}
+Depends: @PVER@ (= ${binary:Version}),
+ lib@PVER@-dev (= ${binary:Version}),
+ lib@PVER@ (= ${binary:Version}),
+ libexpat1-dev, zlib1g-dev,
+ ${shlibs:Depends}, ${misc:Depends}
Recommends: libc6-dev | libc-dev
Description: Header files and a static library for Python (v@VER@)
Header files, a static library and development tools for building
@@ -158,6 +170,8 @@ Package: idle-@PVER@
Architecture: all
Depends: @PVER@, python3-tk, @PVER@-tk, ${misc:Depends}
Enhances: @PVER@
+Breaks: lib@PVER@-stdlib (<< 3.7.0~a3-1)
+Replaces: lib@PVER@-stdlib (<< 3.7.0~a3-1)
Description: IDE for Python (v@VER@) using Tkinter
IDLE is an Integrated Development Environment for Python (v@VER@).
IDLE is written using Tkinter and therefore quite platform-independent.
@@ -188,7 +202,6 @@ Package: @PVER@-dbg
Section: debug
Architecture: any
Multi-Arch: allowed
-Priority: extra
Depends: @PVER@ (= ${binary:Version}), lib@PVER@-dbg (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Recommends: gdb
Suggests: python3-gdbm-dbg, python3-tk-dbg
@@ -206,7 +219,6 @@ Package: lib@PVER@-dbg
Section: debug
Architecture: any
Multi-Arch: same
-Priority: extra
Pre-Depends: ${misc:Pre-Depends}
Depends: lib@PVER@-stdlib (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: Debug Build of the Python Interpreter (version @VER@)
diff --git a/debian/idle-PVER.overrides.in b/debian/idle-PVER.overrides.in
index d7c35cf..58d77fa 100644
--- a/debian/idle-PVER.overrides.in
+++ b/debian/idle-PVER.overrides.in
@@ -1,2 +1,4 @@
# icon in dependent package
idle-@PVER@ binary: menu-icon-missing
+
+idle-@PVER@ binary: command-with-path-in-maintainer-script
diff --git a/debian/libPVER-testsuite.overrides.in b/debian/libPVER-testsuite.overrides.in
index cdb4408..930ff08 100644
--- a/debian/libPVER-testsuite.overrides.in
+++ b/debian/libPVER-testsuite.overrides.in
@@ -1,2 +1,4 @@
lib@PVER@-testsuite binary: python-script-but-no-python-dep
lib@PVER@-testsuite binary: image-file-in-usr-lib
+lib@PVER@-testsuite binary: privacy-breach-generic
+lib@PVER@-testsuite binary: command-with-path-in-maintainer-script
diff --git a/debian/libPVER.symbols.i386.in b/debian/libPVER.symbols.i386.in
index a510084..b6b0270 100644
--- a/debian/libPVER.symbols.i386.in
+++ b/debian/libPVER.symbols.i386.in
@@ -5,5 +5,3 @@ libpython@VER@m.so.1.0 libpython@VER@ #MINVER#
_Py_force_double@Base @SVER@
_Py_get_387controlword@Base @SVER@
_Py_set_387controlword@Base @SVER@
-
- (optional)__gnu_lto_v1@Base @SVER@
diff --git a/debian/libPVER.symbols.in b/debian/libPVER.symbols.in
index 98924ea..6094b8b 100644
--- a/debian/libPVER.symbols.in
+++ b/debian/libPVER.symbols.in
@@ -2,4 +2,3 @@ libpython@VER@m.so.1.0 libpython@VER@ #MINVER#
#include "libpython.symbols"
PyModule_Create2@Base @SVER@
PyModule_FromDefAndSpec2@Base @SVER@
- (optional)__gnu_lto_v1@Base @SVER@
diff --git a/debian/libPVER.symbols.lpia.in b/debian/libPVER.symbols.lpia.in
deleted file mode 100644
index 34e5179..0000000
--- a/debian/libPVER.symbols.lpia.in
+++ /dev/null
@@ -1,6 +0,0 @@
-libpython@VER@m.so.1.0 libpython@VER@ #MINVER#
-#include "libpython.symbols"
- PyModule_Create2@Base @SVER@
- _Py_force_double@Base @SVER@
- _Py_get_387controlword@Base @SVER@
- _Py_set_387controlword@Base @SVER@
diff --git a/debian/libpython.symbols.in b/debian/libpython.symbols.in
index 2c9bd18..3c4dd1f 100644
--- a/debian/libpython.symbols.in
+++ b/debian/libpython.symbols.in
@@ -161,6 +161,20 @@
PyComplex_ImagAsDouble@Base @SVER@
PyComplex_RealAsDouble@Base @SVER@
PyComplex_Type@Base @SVER@
+ PyContextTokenMissing_Type@Base @SVER@
+ PyContextToken_Type@Base @SVER@
+ PyContextVar_Get@Base @SVER@
+ PyContextVar_New@Base @SVER@
+ PyContextVar_Reset@Base @SVER@
+ PyContextVar_Set@Base @SVER@
+ PyContextVar_Type@Base @SVER@
+ PyContext_ClearFreeList@Base @SVER@
+ PyContext_Copy@Base @SVER@
+ PyContext_CopyCurrent@Base @SVER@
+ PyContext_Enter@Base @SVER@
+ PyContext_Exit@Base @SVER@
+ PyContext_New@Base @SVER@
+ PyContext_Type@Base @SVER@
PyCoro_New@Base @SVER@
PyCoro_Type@Base @SVER@
PyDescr_NewClassMethod@Base @SVER@
@@ -256,7 +270,6 @@
PyEval_EvalFrame@Base @SVER@
PyEval_EvalFrameEx@Base @SVER@
PyEval_GetBuiltins@Base @SVER@
- PyEval_GetCallStats@Base @SVER@
PyEval_GetFrame@Base @SVER@
PyEval_GetFuncDesc@Base @SVER@
PyEval_GetFuncName@Base @SVER@
@@ -316,7 +329,6 @@
PyExc_PermissionError@Base @SVER@
PyExc_ProcessLookupError@Base @SVER@
PyExc_RecursionError@Base @SVER@
- PyExc_RecursionErrorInst@Base @SVER@
PyExc_ReferenceError@Base @SVER@
PyExc_ResourceWarning@Base @SVER@
PyExc_RuntimeError@Base @SVER@
@@ -346,7 +358,9 @@
PyException_SetCause@Base @SVER@
PyException_SetContext@Base @SVER@
PyException_SetTraceback@Base @SVER@
+ PyFPE_counter@Base @SVER@
PyFPE_dummy@Base @SVER@
+ PyFPE_jbuf@Base @SVER@
PyFileIO_Type@Base @SVER@
PyFile_FromFd@Base @SVER@
PyFile_GetLine@Base @SVER@
@@ -420,6 +434,7 @@
PyImport_GetImporter@Base @SVER@
PyImport_GetMagicNumber@Base @SVER@
PyImport_GetMagicTag@Base @SVER@
+ PyImport_GetModule@Base @SVER@
PyImport_GetModuleDict@Base @SVER@
PyImport_Import@Base @SVER@
PyImport_ImportFrozenModule@Base @SVER@
@@ -436,7 +451,9 @@
PyInstanceMethod_Type@Base @SVER@
PyInterpreterState_Clear@Base @SVER@
PyInterpreterState_Delete@Base @SVER@
+ PyInterpreterState_GetID@Base @SVER@
PyInterpreterState_Head@Base @SVER@
+ PyInterpreterState_Main@Base @SVER@
PyInterpreterState_New@Base @SVER@
PyInterpreterState_Next@Base @SVER@
PyInterpreterState_ThreadHead@Base @SVER@
@@ -602,6 +619,9 @@
PyODict_SetItem@Base @SVER@
PyODict_Type@Base @SVER@
PyOS_AfterFork@Base @SVER@
+ PyOS_AfterFork_Child@Base @SVER@
+ PyOS_AfterFork_Parent@Base @SVER@
+ PyOS_BeforeFork@Base @SVER@
PyOS_FSPath@Base @SVER@
PyOS_FiniInterrupts@Base @SVER@
PyOS_InitInterrupts@Base @SVER@
@@ -838,6 +858,13 @@
PyThread_set_key_value@Base @SVER@
PyThread_set_stacksize@Base @SVER@
PyThread_start_new_thread@Base @SVER@
+ PyThread_tss_alloc@Base @SVER@
+ PyThread_tss_create@Base @SVER@
+ PyThread_tss_delete@Base @SVER@
+ PyThread_tss_free@Base @SVER@
+ PyThread_tss_get@Base @SVER@
+ PyThread_tss_is_created@Base @SVER@
+ PyThread_tss_set@Base @SVER@
PyToken_OneChar@Base @SVER@
PyToken_ThreeChars@Base @SVER@
PyToken_TwoChars@Base @SVER@
@@ -851,6 +878,8 @@
PyTraceBack_Here@Base @SVER@
PyTraceBack_Print@Base @SVER@
PyTraceBack_Type@Base @SVER@
+ PyTraceMalloc_Track@Base @SVER@
+ PyTraceMalloc_Untrack@Base @SVER@
PyTupleIter_Type@Base @SVER@
PyTuple_ClearFreeList@Base @SVER@
PyTuple_Fini@Base @SVER@
@@ -1081,16 +1110,16 @@
Py_UNICODE_strncmp@Base @SVER@
Py_UNICODE_strncpy@Base @SVER@
Py_UNICODE_strrchr@Base @SVER@
+ Py_UTF8Mode@Base @SVER@
Py_UnbufferedStdioFlag@Base @SVER@
Py_UniversalNewlineFgets@Base @SVER@
- Py_UseClassExceptionsFlag@Base @SVER@
Py_VaBuildValue@Base @SVER@
Py_VerboseFlag@Base @SVER@
Py_hexdigits@Base @SVER@
Py_meta_grammar@Base @SVER@
Py_pgen@Base @SVER@
- _PyAIterWrapper_New@Base @SVER@
- _PyAIterWrapper_Type@Base @SVER@
+ _PyAST_Optimize@Base @SVER@
+ _PyAST_ExprAsUnicode@Base @SVER@
_PyAccu_Accumulate@Base @SVER@
_PyAccu_Destroy@Base @SVER@
_PyAccu_Finish@Base @SVER@
@@ -1100,11 +1129,14 @@
_PyArg_NoKeywords@Base @SVER@
_PyArg_NoPositional@Base @SVER@
_PyArg_ParseStack@Base @SVER@
+ _PyArg_ParseStackAndKeywords@Base @SVER@
+ _PyArg_ParseStackAndKeywords_SizeT@Base @SVER@
_PyArg_ParseStack_SizeT@Base @SVER@
_PyArg_ParseTupleAndKeywordsFast@Base @SVER@
_PyArg_ParseTupleAndKeywordsFast_SizeT@Base @SVER@
_PyArg_ParseTupleAndKeywords_SizeT@Base @SVER@
_PyArg_ParseTuple_SizeT@Base @SVER@
+ _PyArg_UnpackStack@Base @SVER@
_PyArg_Parse_SizeT@Base @SVER@
_PyArg_VaParseTupleAndKeywordsFast@Base @SVER@
_PyArg_VaParseTupleAndKeywordsFast_SizeT@Base @SVER@
@@ -1144,6 +1176,15 @@
_PyCodec_Lookup@Base @SVER@
_PyCodec_LookupTextEncoding@Base @SVER@
_PyComplex_FormatAdvancedWriter@Base @SVER@
+ _PyContext_Fini@Base @SVER@
+ _PyContext_Init@Base @SVER@
+ _PyContext_NewHamtForTests@Base @SVER@
+ _PyCoreConfig_AsDict@Base @SVER@
+ _PyCoreConfig_Clear@Base @SVER@
+ _PyCoreConfig_Copy@Base @SVER@
+ _PyCoreConfig_GetGlobalConfig@Base @SVER@
+ _PyCoreConfig_Read@Base @SVER@
+ _PyCoreConfig_SetGlobalConfig@Base @SVER@
_PyCoroWrapper_Type@Base @SVER@
_PyCoro_GetAwaitableIter@Base @SVER@
_PyDebugAllocatorStats@Base @SVER@
@@ -1175,23 +1216,29 @@
_PyErr_BadInternalCall@Base @SVER@
_PyErr_ChainExceptions@Base @SVER@
_PyErr_FormatFromCause@Base @SVER@
- _PyErr_FormatFromCause@Base @SVER@
+ _PyErr_GetTopmostException@Base @SVER@
_PyErr_SetKeyError@Base @SVER@
_PyErr_TrySetFromCause@Base @SVER@
+ _PyErr_WarnUnawaitedCoroutine@Base @SVER@
_PyEval_CallTracing@Base @SVER@
+ _PyEval_EvalCodeWithName@Base @SVER@
_PyEval_EvalFrameDefault@Base @SVER@
_PyEval_FiniThreads@Base @SVER@
_PyEval_GetAsyncGenFinalizer@Base @SVER@
_PyEval_GetAsyncGenFirstiter@Base @SVER@
+ _PyEval_GetBuiltinId@Base @SVER@
+ _PyEval_GetCoroutineOriginTrackingDepth@Base @SVER@
_PyEval_GetCoroutineWrapper@Base @SVER@
_PyEval_SetCoroutineWrapper@Base @SVER@
_PyEval_GetSwitchInterval@Base @SVER@
+ _PyEval_Initialize@Base @SVER@
_PyEval_RequestCodeExtraIndex@Base @SVER@
_PyEval_SetAsyncGenFinalizer@Base @SVER@
_PyEval_SetAsyncGenFirstiter@Base @SVER@
+ _PyEval_SetCoroutineOriginTrackingDepth@Base @SVER@
_PyEval_SetSwitchInterval@Base @SVER@
_PyEval_SignalAsyncExc@Base @SVER@
- _PyEval_SignalReceived@Base 3.6.3~rc1
+ _PyEval_SignalReceived@Base @SVER@
_PyEval_SliceIndex@Base @SVER@
_PyEval_SliceIndexNotNone@Base @SVER@
_PyExc_Fini@Base @SVER@
@@ -1210,6 +1257,7 @@
_PyFloat_Unpack8@Base @SVER@
_PyFrame_DebugMallocStats@Base @SVER@
_PyFrame_Init@Base @SVER@
+ _PyFrame_New_NoTrack@Base @SVER@
_PyFunction_FastCallDict@Base @SVER@
_PyFunction_FastCallKeywords@Base @SVER@
_PyGC_CollectIfEnabled@Base @SVER@
@@ -1217,24 +1265,40 @@
_PyGC_Dump@Base @SVER@
_PyGC_DumpShutdownStats@Base @SVER@
_PyGC_Fini@Base @SVER@
- _PyGC_generation0@Base @SVER@
+ _PyGC_Initialize@Base @SVER@
_PyGILState_Fini@Base @SVER@
_PyGILState_GetInterpreterStateUnsafe@Base @SVER@
_PyGILState_Init@Base @SVER@
_PyGILState_Reinit@Base @SVER@
- _PyGILState_check_enabled@Base @SVER@
_PyGen_FetchStopIterationValue@Base @SVER@
_PyGen_Finalize@Base @SVER@
_PyGen_Send@Base @SVER@
_PyGen_SetStopIterationValue@Base @SVER@
_PyGen_yf@Base @SVER@
+ _PyHamtItems_Type@Base @SVER@
+ _PyHamtKeys_Type@Base @SVER@
+ _PyHamtValues_Type@Base @SVER@
+ _PyHamt_ArrayNode_Type@Base @SVER@
+ _PyHamt_Assoc@Base @SVER@
+ _PyHamt_BitmapNode_Type@Base @SVER@
+ _PyHamt_CollisionNode_Type@Base @SVER@
+ _PyHamt_Eq@Base @SVER@
+ _PyHamt_Find@Base @SVER@
+ _PyHamt_Fini@Base @SVER@
+ _PyHamt_Init@Base @SVER@
+ _PyHamt_Len@Base @SVER@
+ _PyHamt_New@Base @SVER@
+ _PyHamt_NewIterItems@Base @SVER@
+ _PyHamt_NewIterKeys@Base @SVER@
+ _PyHamt_NewIterValues@Base @SVER@
+ _PyHamt_Type@Base @SVER@
+ _PyHamt_Without@Base @SVER@
_PyHash_Fini@Base @SVER@
_PyIOBase_check_closed@Base @SVER@
_PyIOBase_check_readable@Base @SVER@
_PyIOBase_check_seekable@Base @SVER@
_PyIOBase_check_writable@Base @SVER@
_PyIOBase_finalize@Base @SVER@
- _PyIO_ConvertSsize_t@Base @SVER@
_PyIO_Module@Base @SVER@
_PyIO_empty_bytes@Base @SVER@
_PyIO_empty_str@Base @SVER@
@@ -1251,6 +1315,7 @@
_PyIO_str_isatty@Base @SVER@
_PyIO_str_newlines@Base @SVER@
_PyIO_str_nl@Base @SVER@
+ _PyIO_str_peek@Base @SVER@
_PyIO_str_read1@Base @SVER@
_PyIO_str_read@Base @SVER@
_PyIO_str_readable@Base @SVER@
@@ -1266,23 +1331,34 @@
_PyIO_str_writable@Base @SVER@
_PyIO_str_write@Base @SVER@
_PyIO_trap_eintr@Base @SVER@
- _PyIO_zero@Base @SVER@
_PyImportHooks_Init@Base @SVER@
_PyImportZip_Init@Base @SVER@
_PyImport_AcquireLock@Base @SVER@
+ _PyImport_AddModuleObject@Base @SVER@
_PyImport_DynLoadFiletab@Base @SVER@
_PyImport_FindBuiltin@Base @SVER@
_PyImport_FindExtensionObject@Base @SVER@
+ _PyImport_FindExtensionObjectEx@Base @SVER@
_PyImport_FindSharedFuncptr@Base @SVER@
+ _PyImport_Fini2@Base @SVER@
_PyImport_Fini@Base @SVER@
_PyImport_FixupBuiltin@Base @SVER@
_PyImport_FixupExtensionObject@Base @SVER@
+ _PyImport_GetModuleId@Base @SVER@
_PyImport_Init@Base @SVER@
_PyImport_Inittab@Base @SVER@
+ _PyImport_IsInitialized@Base @SVER@
_PyImport_LoadDynamicModuleWithSpec@Base @SVER@
_PyImport_ReInitLock@Base @SVER@
_PyImport_ReleaseLock@Base @SVER@
+ _PyImport_SetModule@Base @SVER@
+ _PyImport_SetModuleString@Base @SVER@
_PyIncrementalNewlineDecoder_decode@Base @SVER@
+ _PyInterpreterState_Enable@Base @SVER@
+ _PyInterpreterState_IDDecref@Base @SVER@
+ _PyInterpreterState_IDIncref@Base @SVER@
+ _PyInterpreterState_IDInitref@Base @SVER@
+ _PyInterpreterState_LookUpID@Base @SVER@
_PyList_DebugMallocStats@Base @SVER@
_PyList_Extend@Base @SVER@
_PyLong_AsByteArray@Base @SVER@
@@ -1306,17 +1382,29 @@
_PyLong_Init@Base @SVER@
_PyLong_New@Base @SVER@
_PyLong_NumBits@Base @SVER@
+ _PyLong_One@Base @SVER@
_PyLong_Sign@Base @SVER@
+ _PyLong_Zero@Base @SVER@
+ _PyMainInterpreterConfig_AsDict@Base @SVER@
+ _PyMainInterpreterConfig_Clear@Base @SVER@
+ _PyMainInterpreterConfig_Copy@Base @SVER@
+ _PyMainInterpreterConfig_Read@Base @SVER@
_PyManagedBuffer_Type@Base @SVER@
_PyMem_DumpTraceback@Base @SVER@
- _PyMem_PymallocEnabled@Base @SVER@
+ _PyMem_GetAllocatorsName@Base @SVER@
_PyMem_RawStrdup@Base @SVER@
+ _PyMem_RawWcsdup@Base @SVER@
+ _PyMem_SetDefaultAllocator@Base @SVER@
_PyMem_SetupAllocators@Base @SVER@
_PyMem_Strdup@Base @SVER@
+ _PyMethodDef_RawFastCallDict@Base @SVER@
+ _PyMethodDef_RawFastCallKeywords@Base @SVER@
+ _PyMethodDescr_FastCallKeywords@Base @SVER@
_PyMethodWrapper_Type@Base @SVER@
_PyMethod_DebugMallocStats@Base @SVER@
_PyModule_Clear@Base @SVER@
_PyModule_ClearDict@Base @SVER@
+ _PyModule_CreateInitialized@Base @SVER@
_PyNamespace_New@Base @SVER@
_PyNamespace_Type@Base @SVER@
_PyNode_SizeOf@Base @SVER@
@@ -1344,6 +1432,7 @@
_PyObject_Dump@Base @SVER@
_PyObject_FastCallDict@Base @SVER@
_PyObject_FastCallKeywords@Base @SVER@
+ _PyObject_FastCall_Prepend@Base @SVER@
_PyObject_GC_Calloc@Base @SVER@
_PyObject_GC_Malloc@Base @SVER@
_PyObject_GC_New@Base @SVER@
@@ -1354,9 +1443,14 @@
_PyObject_GetAttrId@Base @SVER@
_PyObject_GetBuiltin@Base @SVER@
_PyObject_GetDictPtr@Base @SVER@
+ _PyObject_GetMethod@Base @SVER@
_PyObject_HasAttrId@Base @SVER@
+ _PyObject_HasFastCall@Base @SVER@
_PyObject_HasLen@Base @SVER@
_PyObject_IsAbstract@Base @SVER@
+ _PyObject_IsFreed@Base @SVER@
+ _PyObject_LookupAttr@Base @SVER@
+ _PyObject_LookupAttrId@Base @SVER@
_PyObject_LookupSpecial@Base @SVER@
_PyObject_New@Base @SVER@
_PyObject_NewVar@Base @SVER@
@@ -1366,59 +1460,69 @@
_PyObject_SetAttrId@Base @SVER@
_PyParser_Grammar@Base @SVER@
_PyParser_TokenNames@Base @SVER@
- _PyRandom_Fini@Base @SVER@
- _PyRandom_Init@Base @SVER@
- (arch=alpha amd64 arm64 ia64 mips64el ppc64el kfreebsd-amd64)_PySHA3_KeccakF1600_FastLoop_Absorb@Base 3.6.3~rc1
- (arch=!alpha !amd64 !arm64 !ia64 !mips64el !ppc64el !kfreebsd-amd64)_PySHA3_KeccakP1600_AddByte@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_AddBytes@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_AddBytesInLane@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_AddLanes@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_ExtractAndAddBytes@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_ExtractAndAddBytesInLane@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_ExtractAndAddLanes@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_ExtractBytes@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_ExtractBytesInLane@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_ExtractLanes@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_Initialize@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_OverwriteBytes@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_OverwriteBytesInLane@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_OverwriteLanes@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_OverwriteWithZeroes@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_Permute_12rounds@Base 3.6.3~rc1
- _PySHA3_KeccakP1600_Permute_24rounds@Base 3.6.3~rc1
- (arch=!alpha !amd64 !arm64 !ia64 !mips64el !ppc64el !kfreebsd-amd64)_PySHA3_KeccakP1600_Permute_Nrounds@Base 3.6.3~rc1
- (arch=!alpha !amd64 !arm64 !ia64 !mips64el !ppc64el !kfreebsd-amd64)_PySHA3_KeccakP1600_SetBytesInLaneToZero@Base 3.6.3~rc1
- _PySHA3_KeccakWidth1600_Sponge@Base 3.6.3~rc1
- _PySHA3_KeccakWidth1600_SpongeAbsorb@Base 3.6.3~rc1
- _PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits@Base 3.6.3~rc1
- _PySHA3_KeccakWidth1600_SpongeInitialize@Base 3.6.3~rc1
- _PySHA3_KeccakWidth1600_SpongeSqueeze@Base 3.6.3~rc1
- _PySHA3_Keccak_HashFinal@Base 3.6.3~rc1
- _PySHA3_Keccak_HashInitialize@Base 3.6.3~rc1
- _PySHA3_Keccak_HashSqueeze@Base 3.6.3~rc1
- _PySHA3_Keccak_HashUpdate@Base 3.6.3~rc1
+ _PyPathConfig_Calculate@Base @SVER@
+ _PyPathConfig_Clear@Base @SVER@
+ _PyPathConfig_ComputeArgv0@Base @SVER@
+ _PyPathConfig_Init@Base @SVER@
+ (arch=alpha amd64 arm64 ia64 mips64 mips64el mips64r6 mips64r6el ppc64el riscv64 kfreebsd-amd64)_PySHA3_KeccakF1600_FastLoop_Absorb@Base @SVER@
+ (arch=!alpha !amd64 !arm64 !ia64 !mips64 !mips64el !mips64r6 !mips64r6el !ppc64el !riscv64 !kfreebsd-amd64)_PySHA3_KeccakP1600_AddByte@Base @SVER@
+ _PySHA3_KeccakP1600_AddBytes@Base @SVER@
+ _PySHA3_KeccakP1600_AddBytesInLane@Base @SVER@
+ _PySHA3_KeccakP1600_AddLanes@Base @SVER@
+ _PySHA3_KeccakP1600_ExtractAndAddBytes@Base @SVER@
+ _PySHA3_KeccakP1600_ExtractAndAddBytesInLane@Base @SVER@
+ _PySHA3_KeccakP1600_ExtractAndAddLanes@Base @SVER@
+ _PySHA3_KeccakP1600_ExtractBytes@Base @SVER@
+ _PySHA3_KeccakP1600_ExtractBytesInLane@Base @SVER@
+ _PySHA3_KeccakP1600_ExtractLanes@Base @SVER@
+ _PySHA3_KeccakP1600_Initialize@Base @SVER@
+ _PySHA3_KeccakP1600_OverwriteBytes@Base @SVER@
+ _PySHA3_KeccakP1600_OverwriteBytesInLane@Base @SVER@
+ _PySHA3_KeccakP1600_OverwriteLanes@Base @SVER@
+ _PySHA3_KeccakP1600_OverwriteWithZeroes@Base @SVER@
+ _PySHA3_KeccakP1600_Permute_12rounds@Base @SVER@
+ _PySHA3_KeccakP1600_Permute_24rounds@Base @SVER@
+ (arch=!alpha !amd64 !arm64 !ia64 !mips64 !mips64el !mips64r6 !mips64r6el !ppc64el !kfreebsd-amd64 !riscv64)_PySHA3_KeccakP1600_Permute_Nrounds@Base @SVER@
+ (arch=!alpha !amd64 !arm64 !ia64 !mips64 !mips64el !mips64r6 !mips64r6el !ppc64el !kfreebsd-amd64 !riscv64)_PySHA3_KeccakP1600_SetBytesInLaneToZero@Base @SVER@
+ _PySHA3_KeccakWidth1600_Sponge@Base @SVER@
+ _PySHA3_KeccakWidth1600_SpongeAbsorb@Base @SVER@
+ _PySHA3_KeccakWidth1600_SpongeAbsorbLastFewBits@Base @SVER@
+ _PySHA3_KeccakWidth1600_SpongeInitialize@Base @SVER@
+ _PySHA3_KeccakWidth1600_SpongeSqueeze@Base @SVER@
+ _PySHA3_Keccak_HashFinal@Base @SVER@
+ _PySHA3_Keccak_HashInitialize@Base @SVER@
+ _PySHA3_Keccak_HashSqueeze@Base @SVER@
+ _PySHA3_Keccak_HashUpdate@Base @SVER@
+ _PyRuntime@Base @SVER@
+ _PyRuntimeState_Fini@Base @SVER@
+ _PyRuntimeState_Init@Base @SVER@
+ _PyRuntime_Finalize@Base @SVER@
+ _PyRuntime_Initialize@Base @SVER@
_PySequence_BytesToCharpArray@Base @SVER@
_PySequence_IterSearch@Base @SVER@
_PySet_Dummy@Base @SVER@
_PySet_NextEntry@Base @SVER@
_PySet_Update@Base @SVER@
+ _PySignal_AfterFork@Base @SVER@
_PySlice_FromIndices@Base @SVER@
_PySlice_GetLongIndices@Base @SVER@
_PyStack_AsDict@Base @SVER@
_PyStack_AsTuple@Base @SVER@
+ _PyStack_AsTupleSlice@Base @SVER@
_PyStack_UnpackDict@Base @SVER@
_PyState_AddModule@Base @SVER@
_PyState_ClearModules@Base @SVER@
_PyStructSequence_Init@Base @SVER@
+ _PySys_AddWarnOptionWithError@Base @SVER@
+ _PySys_AddXOptionWithError@Base @SVER@
+ _PySys_BeginInit@Base @SVER@
+ _PySys_EndInit@Base @SVER@
_PySys_GetObjectId@Base @SVER@
_PySys_GetSizeOf@Base @SVER@
_PySys_ImplCacheTag@Base @SVER@
_PySys_ImplName@Base @SVER@
- _PySys_Init@Base @SVER@
_PySys_SetObjectId@Base @SVER@
- _PyThreadState_Current@Base @SVER@
_PyThreadState_DeleteExcept@Base @SVER@
- _PyThreadState_GetFrame@Base @SVER@
_PyThreadState_Init@Base @SVER@
_PyThreadState_Prealloc@Base @SVER@
_PyThreadState_UncheckedGet@Base @SVER@
@@ -1433,13 +1537,19 @@
_PyTime_AsTimeval_noraise@Base @SVER@
_PyTime_FromMillisecondsObject@Base @SVER@
_PyTime_FromNanoseconds@Base @SVER@
+ _PyTime_FromNanosecondsObject@Base @SVER@
_PyTime_FromSeconds@Base @SVER@
_PyTime_FromSecondsObject@Base @SVER@
+ _PyTime_FromTimespec@Base @SVER@
+ _PyTime_FromTimeval@Base @SVER@
_PyTime_GetMonotonicClock@Base @SVER@
_PyTime_GetMonotonicClockWithInfo@Base @SVER@
+ _PyTime_GetPerfCounter@Base @SVER@
+ _PyTime_GetPerfCounterWithInfo@Base @SVER@
_PyTime_GetSystemClock@Base @SVER@
_PyTime_GetSystemClockWithInfo@Base @SVER@
_PyTime_Init@Base @SVER@
+ _PyTime_MulDiv@Base @SVER@
_PyTime_ObjectToTime_t@Base @SVER@
_PyTime_ObjectToTimespec@Base @SVER@
_PyTime_ObjectToTimeval@Base @SVER@
@@ -1448,11 +1558,7 @@
_PyTraceMalloc_Fini@Base @SVER@
_PyTraceMalloc_GetTraceback@Base @SVER@
_PyTraceMalloc_Init@Base @SVER@
- _PyTraceMalloc_Track@Base @SVER@
- _PyTraceMalloc_Untrack@Base @SVER@
_PyTraceback_Add@Base @SVER@
- _PyTrash_delete_later@Base @SVER@
- _PyTrash_delete_nesting@Base @SVER@
_PyTrash_deposit_object@Base @SVER@
_PyTrash_destroy_chain@Base @SVER@
_PyTrash_thread_deposit_object@Base @SVER@
@@ -1466,6 +1572,7 @@
_PyType_GetTextSignatureFromInternalDoc@Base @SVER@
_PyType_Lookup@Base @SVER@
_PyType_LookupId@Base @SVER@
+ _PyType_Name@Base @SVER@
_PyUnicodeTranslateError_Create@Base @SVER@
_PyUnicodeWriter_Dealloc@Base @SVER@
_PyUnicodeWriter_Finish@Base @SVER@
@@ -1481,8 +1588,7 @@
_PyUnicode_AsKind@Base @SVER@
_PyUnicode_AsLatin1String@Base @SVER@
_PyUnicode_AsUTF8String@Base @SVER@
- _PyUnicode_AsUnicode@Base 3.6.3~rc1
- _PyUnicode_AsWideCharString@Base 3.6.3~rc1
+ _PyUnicode_AsUnicode@Base @SVER@
_PyUnicode_BidirectionalNames@Base @SVER@
_PyUnicode_CategoryNames@Base @SVER@
_PyUnicode_ClearStaticStrings@Base @SVER@
@@ -1561,13 +1667,18 @@
_Py_Bytes@Base @SVER@
_Py_Call@Base @SVER@
_Py_CheckFunctionResult@Base @SVER@
+ _Py_CheckHashBasedPycsMode@Base @SVER@
_Py_CheckRecursionLimit@Base @SVER@
_Py_CheckRecursiveCall@Base @SVER@
_Py_ClassDef@Base @SVER@
+ _Py_CoerceLegacyLocale@Base @SVER@
_Py_Compare@Base @SVER@
_Py_Constant@Base @SVER@
_Py_Continue@Base @SVER@
_Py_Dealloc@Base @SVER@
+ _Py_DecodeLocaleEx@Base @SVER@
+ _Py_DecodeUTF8Ex@Base @SVER@
+ _Py_DecodeUTF8_surrogateescape@Base @SVER@
_Py_Delete@Base @SVER@
_Py_Dict@Base @SVER@
_Py_DictComp@Base @SVER@
@@ -1579,33 +1690,50 @@
_Py_DumpTracebackThreads@Base @SVER@
_Py_Ellipsis@Base @SVER@
_Py_EllipsisObject@Base @SVER@
+ _Py_EncodeLocaleEx@Base @SVER@
+ _Py_EncodeLocaleRaw@Base @SVER@
+ _Py_EncodeUTF8Ex@Base @SVER@
_Py_ExceptHandler@Base @SVER@
_Py_Expr@Base @SVER@
_Py_Expression@Base @SVER@
_Py_ExtSlice@Base @SVER@
_Py_FalseStruct@Base @SVER@
- _Py_Finalizing@Base @SVER@
+ _Py_FatalInitError@Base @SVER@
+ _Py_FindEnvConfigValue@Base @SVER@
_Py_For@Base @SVER@
_Py_FormattedValue@Base @SVER@
_Py_FreeCharPArray@Base @SVER@
_Py_FunctionDef@Base @SVER@
_Py_GeneratorExp@Base @SVER@
_Py_GetAllocatedBlocks@Base @SVER@
- _Py_Global@Base @SVER@
+ _Py_GetForceASCII@Base @SVER@
+ _Py_GetGlobalVariablesAsDict@Base @SVER@
+ _Py_GetLocaleconvNumeric@Base @SVER@
_Py_Gid_Converter@Base @SVER@
+ _Py_Global@Base @SVER@
_Py_HashBytes@Base @SVER@
_Py_HashDouble@Base @SVER@
_Py_HashPointer@Base @SVER@
+ _Py_HashRandomization_Fini@Base @SVER@
+ _Py_HashRandomization_Init@Base @SVER@
_Py_HashSecret@Base @SVER@
_Py_If@Base @SVER@
_Py_IfExp@Base @SVER@
_Py_Import@Base @SVER@
_Py_ImportFrom@Base @SVER@
_Py_Index@Base @SVER@
- _Py_InitializeEx_Private@Base @SVER@
+ _Py_InitializeCore@Base @SVER@
+ _Py_InitializeCore_impl@Base @SVER@
+ _Py_InitializeFromConfig@Base @SVER@
+ _Py_InitializeMainInterpreter@Base @SVER@
+ _Py_Initialize_ReadEnvVarsNoAlloc@Base @SVER@
_Py_Interactive@Base @SVER@
+ _Py_IsCoreInitialized@Base @SVER@
+ _Py_IsFinalizing@Base @SVER@
_Py_JoinedStr@Base @SVER@
+ _Py_KeyedHash@Base @SVER@
_Py_Lambda@Base @SVER@
+ _Py_LegacyLocaleDetected@Base @SVER@
_Py_List@Base @SVER@
_Py_ListComp@Base @SVER@
_Py_M__importlib@Base @SVER@
@@ -1622,12 +1750,16 @@
_Py_Pass@Base @SVER@
_Py_PyAtExit@Base @SVER@
_Py_Raise@Base @SVER@
+ _Py_ReadHashSeed@Base @SVER@
_Py_ReadyTypes@Base @SVER@
_Py_ReleaseInternedUnicodeStrings@Base @SVER@
+ _Py_ResetForceASCII@Base @SVER@
_Py_RestoreSignals@Base @SVER@
_Py_Return@Base @SVER@
_Py_Set@Base @SVER@
_Py_SetComp@Base @SVER@
+ _Py_SetLocaleFromEnv@Base @SVER@
+ _Py_SetProgramFullPath@Base @SVER@
_Py_Slice@Base @SVER@
_Py_Starred@Base @SVER@
_Py_Str@Base @SVER@
@@ -1639,13 +1771,15 @@
_Py_Tuple@Base @SVER@
_Py_Uid_Converter@Base @SVER@
_Py_UnaryOp@Base @SVER@
+ _Py_UnixMain@Base @SVER@
+ _Py_VaBuildStack@Base @SVER@
+ _Py_VaBuildStack_SizeT@Base @SVER@
_Py_VaBuildValue_SizeT@Base @SVER@
_Py_While@Base @SVER@
_Py_With@Base @SVER@
_Py_Yield@Base @SVER@
_Py_YieldFrom@Base @SVER@
_Py_abstract_hack@Base @SVER@
- _Py_acosh@Base @SVER@
_Py_add_one_to_index_C@Base @SVER@
_Py_add_one_to_index_F@Base @SVER@
_Py_addarc@Base @SVER@
@@ -1660,8 +1794,6 @@
_Py_ascii_whitespace@Base @SVER@
_Py_asdl_int_seq_new@Base @SVER@
_Py_asdl_seq_new@Base @SVER@
- _Py_asinh@Base @SVER@
- _Py_atanh@Base @SVER@
_Py_bytes_capitalize@Base @SVER@
_Py_bytes_contains@Base @SVER@
_Py_bytes_count@Base @SVER@
@@ -1670,6 +1802,7 @@
_Py_bytes_index@Base @SVER@
_Py_bytes_isalnum@Base @SVER@
_Py_bytes_isalpha@Base @SVER@
+ _Py_bytes_isascii@Base @SVER@
_Py_bytes_isdigit@Base @SVER@
_Py_bytes_islower@Base @SVER@
_Py_bytes_isspace@Base @SVER@
@@ -1693,6 +1826,7 @@
_Py_capitalize__doc__@Base @SVER@
_Py_center__doc__@Base @SVER@
_Py_comprehension@Base @SVER@
+ _Py_convert_optional_to_ssize_t@Base @SVER@
_Py_count__doc__@Base @SVER@
_Py_ctype_table@Base @SVER@
_Py_ctype_tolower@Base @SVER@
@@ -1707,7 +1841,6 @@
_Py_dup@Base @SVER@
_Py_endswith__doc__@Base @SVER@
_Py_expandtabs__doc__@Base @SVER@
- _Py_expm1@Base @SVER@
_Py_find__doc__@Base @SVER@
_Py_findlabel@Base @SVER@
_Py_fopen@Base @SVER@
@@ -1737,6 +1870,7 @@
_Py_index__doc__@Base @SVER@
_Py_isalnum__doc__@Base @SVER@
_Py_isalpha__doc__@Base @SVER@
+ _Py_isascii__doc__@Base @SVER@
_Py_isdigit__doc__@Base @SVER@
_Py_islower__doc__@Base @SVER@
_Py_isspace__doc__@Base @SVER@
@@ -1756,6 +1890,7 @@
_Py_open_cloexec_works@Base @SVER@
_Py_open_noraise@Base @SVER@
_Py_parse_inf_or_nan@Base @SVER@
+ _Py_path_config@Base @SVER@
_Py_pgen@Base @SVER@
_Py_read@Base @SVER@
_Py_rfind__doc__@Base @SVER@
@@ -1765,6 +1900,7 @@
(arch=amd64 i386 hurd-i386 kfreebsd-i386)_Py_set_387controlword@Base @SVER@
_Py_set_blocking@Base @SVER@
_Py_set_inheritable@Base @SVER@
+ _Py_set_inheritable_async_safe@Base @SVER@
_Py_startswith__doc__@Base @SVER@
_Py_stat@Base @SVER@
_Py_strhex@Base @SVER@
@@ -1782,10 +1918,7 @@
_Py_write@Base @SVER@
_Py_write_noraise@Base @SVER@
_Py_zfill__doc__@Base @SVER@
- __PyCodeExtraState_Get@Base @SVER@
(optional|regex)"^_ctypes_.*@Base$" @SVER@
- (optional|regex)"^ffi_type_.*@Base$" @SVER@
- (optional|regex)"^ffi_closure_.*@Base$" @SVER@
(optional|regex)"^PyInit_.*@Base$" @SVER@
diff --git a/debian/multiarch.h.in b/debian/multiarch.h.in
index 33d2efb..bc579db 100644
--- a/debian/multiarch.h.in
+++ b/debian/multiarch.h.in
@@ -19,6 +19,26 @@
# include <ia64-linux-gnu/@subdir@/@header@>
# elif defined(__m68k__) && !defined(__mcoldfire__)
# include <m68k-linux-gnu/@subdir@/@header@>
+# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) && defined(_MIPSEL)
+# if _MIPS_SIM == _ABIO32
+# include <mipsisa32r6el-linux-gnu/@subdir@/@header@>
+# elif _MIPS_SIM == _ABIN32
+# include <mipsisa64r6el-linux-gnuabin32/@subdir@/@header@>
+# elif _MIPS_SIM == _ABI64
+# include <mipsisa64r6el-linux-gnuabi64/@subdir@/@header@>
+# else
+# error unknown multiarch location for @header@
+# endif
+# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6)
+# if _MIPS_SIM == _ABIO32
+# include <mipsisa32r6-linux-gnu/@subdir@/@header@>
+# elif _MIPS_SIM == _ABIN32
+# include <mipsisa64r6-linux-gnuabin32/@subdir@/@header@>
+# elif _MIPS_SIM == _ABI64
+# include <mipsisa64r6-linux-gnuabi64/@subdir@/@header@>
+# else
+# error unknown multiarch location for @header@
+# endif
# elif defined(__mips_hard_float) && defined(_MIPSEL)
# if _MIPS_SIM == _ABIO32
# include <mipsel-linux-gnu/@subdir@/@header@>
@@ -61,6 +81,12 @@
# include <sparc64-linux-gnu/@subdir@/@header@>
# elif defined(__sparc__)
# include <sparc-linux-gnu/@subdir@/@header@>
+# elif defined(__riscv)
+# if __riscv_xlen == 64
+# include <riscv64-linux-gnu/@subdir@/@header@>
+# else
+# include <riscv32-linux-gnu/@subdir@/@header@>
+# endif
# else
# error unknown multiarch location for @header@
# endif
diff --git a/debian/patches/arm-alignment.diff b/debian/patches/arm-alignment.diff
new file mode 100644
index 0000000..a7a4b39
--- /dev/null
+++ b/debian/patches/arm-alignment.diff
@@ -0,0 +1,17 @@
+Author: Dave Jones <dave.jones@canonical.com>
+Description: Use aligned access for _sha3 module on ARM.
+--- a/Modules/_sha3/sha3module.c
++++ b/Modules/_sha3/sha3module.c
+@@ -64,6 +64,12 @@
+ #define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN
+ #endif
+
++/* Bus error on 32-bit ARM due to un-aligned memory accesses; 64-bit ARM
++ * doesn't complain but un-aligned memory accesses are sub-optimal */
++#if defined(__arm__) || defined(__aarch64__)
++#define NO_MISALIGNED_ACCESSES
++#endif
++
+ /* mangle names */
+ #define KeccakF1600_FastLoop_Absorb _PySHA3_KeccakF1600_FastLoop_Absorb
+ #define Keccak_HashFinal _PySHA3_Keccak_HashFinal
diff --git a/debian/patches/bdist-wininst-notfound.diff b/debian/patches/bdist-wininst-notfound.diff
index 27e9024..a716bf3 100644
--- a/debian/patches/bdist-wininst-notfound.diff
+++ b/debian/patches/bdist-wininst-notfound.diff
@@ -5,15 +5,14 @@ Index: b/Lib/distutils/command/bdist_wininst.py
===================================================================
--- a/Lib/distutils/command/bdist_wininst.py
+++ b/Lib/distutils/command/bdist_wininst.py
-@@ -358,7 +358,10 @@ class bdist_wininst(Command):
- sfix = ''
-
+@@ -359,6 +359,10 @@ class bdist_wininst(Command):
filename = os.path.join(directory, "wininst-%s%s.exe" % (bv, sfix))
-- f = open(filename, "rb")
-+ try:
+ f = open(filename, "rb")
+ try:
+ f = open(filename, "rb")
+ except IOError as e:
+ raise DistutilsFileError(str(e) + ', %s not included in the Debian packages.' % filename)
- try:
++ try:
return f.read()
finally:
+ f.close()
diff --git a/debian/patches/build-math-object.diff b/debian/patches/build-math-object.diff
new file mode 100644
index 0000000..904e9eb
--- /dev/null
+++ b/debian/patches/build-math-object.diff
@@ -0,0 +1,23 @@
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -22,7 +22,8 @@
+
+ MODBUILT_NAMES= _MODBUILT_NAMES_
+ MODDISABLED_NAMES= _MODDISABLED_NAMES_
+-MODOBJS= _MODOBJS_
++# filter out duplicate object files (_math.o)
++MODOBJS= $(sort _MODOBJS_)
+ MODLIBS= _MODLIBS_
+
+ # === Variables set by configure
+@@ -602,8 +603,9 @@ pybuilddir.txt: $(BUILDPYTHON)
+ fi
+
+ # This is shared by the math and cmath modules
++# don't build with -fPIC when building as math and cmath as builtins
+ Modules/_math.o: Modules/_math.c Modules/_math.h
+- $(CC) -c $(CCSHARED) $(PY_CORE_CFLAGS) -o $@ $<
++ $(CC) -c $(if $(findstring _math.o, $(MODOBJS)),,$(CCSHARED)) $(PY_CORE_CFLAGS) -o $@ $<
+
+ # blake2s is auto-generated from blake2b
+ $(srcdir)/Modules/_blake2/blake2s_impl.c: $(srcdir)/Modules/_blake2/blake2b_impl.c $(srcdir)/Modules/_blake2/blake2b2s.py
diff --git a/debian/patches/ctypes-arm.diff b/debian/patches/ctypes-arm.diff
index 5be98b6..9387ac7 100644
--- a/debian/patches/ctypes-arm.diff
+++ b/debian/patches/ctypes-arm.diff
@@ -2,7 +2,7 @@ Index: b/Lib/ctypes/util.py
===================================================================
--- a/Lib/ctypes/util.py
+++ b/Lib/ctypes/util.py
-@@ -247,16 +247,27 @@ elif os.name == "posix":
+@@ -256,16 +256,27 @@ elif os.name == "posix":
def _findSoname_ldconfig(name):
import struct
diff --git a/debian/patches/deb-locations.diff b/debian/patches/deb-locations.diff
index b3b2ad9..513adb7 100644
--- a/debian/patches/deb-locations.diff
+++ b/debian/patches/deb-locations.diff
@@ -1,10 +1,8 @@
# DP: adjust locations of directories to debian policy
-Index: b/Lib/pydoc.py
-===================================================================
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
-@@ -28,6 +28,10 @@ to a file named "<name>.html".
+@@ -31,6 +31,10 @@ to a file named "<name>.html".
Module docs for core modules are assumed to be in
@@ -15,11 +13,9 @@ Index: b/Lib/pydoc.py
https://docs.python.org/X.Y/library/
This can be overridden by setting the PYTHONDOCS environment variable
-Index: b/Misc/python.man
-===================================================================
--- a/Misc/python.man
+++ b/Misc/python.man
-@@ -327,7 +327,7 @@ exception). Error messages are written
+@@ -337,7 +337,7 @@ exception). Error messages are written
These are subject to difference depending on local installation
conventions; ${prefix} and ${exec_prefix} are installation-dependent
and should be interpreted as for GNU software; they may be the same.
diff --git a/debian/patches/deb-setup.diff b/debian/patches/deb-setup.diff
index 08ce316..748085d 100644
--- a/debian/patches/deb-setup.diff
+++ b/debian/patches/deb-setup.diff
@@ -1,10 +1,8 @@
# DP: Don't include /usr/local/include and /usr/local/lib as gcc search paths
-Index: b/setup.py
-===================================================================
--- a/setup.py
+++ b/setup.py
-@@ -262,8 +262,10 @@ class PyBuildExt(build_ext):
+@@ -337,8 +337,10 @@ class PyBuildExt(build_ext):
# unfortunately, distutils doesn't let us provide separate C and C++
# compilers
if compiler is not None:
@@ -17,8 +15,8 @@ Index: b/setup.py
self.compiler.set_executables(**args)
build_ext.build_extensions(self)
-@@ -487,12 +489,7 @@ class PyBuildExt(build_ext):
- return ['m']
+@@ -576,12 +578,7 @@ class PyBuildExt(build_ext):
+ os.unlink(tmpfile)
def detect_modules(self):
- # Ensure that /usr/local is always used, but the local build
diff --git a/debian/patches/disable-sem-check.diff b/debian/patches/disable-sem-check.diff
index cb1630f..387fd8a 100644
--- a/debian/patches/disable-sem-check.diff
+++ b/debian/patches/disable-sem-check.diff
@@ -1,10 +1,8 @@
# DP: Assume working semaphores, don't rely on running kernel for the check.
-Index: b/configure.ac
-===================================================================
--- a/configure.ac
+++ b/configure.ac
-@@ -4496,8 +4496,13 @@ int main(void) {
+@@ -4586,8 +4586,13 @@ int main(void) {
AC_MSG_RESULT($ac_cv_posix_semaphores_enabled)
if test $ac_cv_posix_semaphores_enabled = no
then
@@ -20,7 +18,7 @@ Index: b/configure.ac
fi
# Multiprocessing check for broken sem_getvalue
-@@ -4532,8 +4537,13 @@ int main(void){
+@@ -4622,8 +4627,13 @@ int main(void){
AC_MSG_RESULT($ac_cv_broken_sem_getvalue)
if test $ac_cv_broken_sem_getvalue = yes
then
@@ -35,4 +33,4 @@ Index: b/configure.ac
+ esac
fi
- AC_CHECK_DECLS([RTLD_LAZY, RTLD_NOW, RTLD_GLOBAL, RTLD_LOCAL, RTLD_NODELETE, RTLD_NOLOAD, RTLD_DEEPBIND], [], [], [[#include <dlfcn.h>]])
+ AC_CHECK_DECLS([RTLD_LAZY, RTLD_NOW, RTLD_GLOBAL, RTLD_LOCAL, RTLD_NODELETE, RTLD_NOLOAD, RTLD_DEEPBIND, RTLD_MEMBER], [], [], [[#include <dlfcn.h>]])
diff --git a/debian/patches/disable-some-tests.diff b/debian/patches/disable-some-tests.diff
index ddec2cd..7f8dc05 100644
--- a/debian/patches/disable-some-tests.diff
+++ b/debian/patches/disable-some-tests.diff
@@ -5,8 +5,8 @@ Index: b/Lib/distutils/tests/test_build_ext.py
--- a/Lib/distutils/tests/test_build_ext.py
+++ b/Lib/distutils/tests/test_build_ext.py
@@ -102,6 +102,7 @@ class BuildExtTestCase(TempdirManager,
- build_ext.USER_BASE = self.old_user_base
- super(BuildExtTestCase, self).tearDown()
+ self.assertIsInstance(xx.Null(), xx.Null)
+ self.assertIsInstance(xx.Str(), xx.Str)
+ @unittest.skip('Skipping failing Solaris test')
def test_solaris_enable_shared(self):
diff --git a/debian/patches/distutils-install-layout.diff b/debian/patches/distutils-install-layout.diff
index 9ca8b00..fbc6681 100644
--- a/debian/patches/distutils-install-layout.diff
+++ b/debian/patches/distutils-install-layout.diff
@@ -2,8 +2,6 @@
# DP: - installs into $prefix/dist-packages instead of $prefix/site-packages.
# DP: - doesn't encode the python version into the egg name.
-Index: b/Lib/distutils/command/install_egg_info.py
-===================================================================
--- a/Lib/distutils/command/install_egg_info.py
+++ b/Lib/distutils/command/install_egg_info.py
@@ -14,18 +14,38 @@ class install_egg_info(Command):
@@ -50,8 +48,6 @@ Index: b/Lib/distutils/command/install_egg_info.py
self.target = os.path.join(self.install_dir, basename)
self.outputs = [self.target]
-Index: b/Lib/distutils/command/install.py
-===================================================================
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -35,6 +35,20 @@ INSTALL_SCHEMES = {
@@ -139,11 +135,9 @@ Index: b/Lib/distutils/command/install.py
def finalize_other(self):
"""Finalizes options for non-posix platforms"""
-Index: b/Lib/distutils/sysconfig.py
-===================================================================
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
-@@ -122,6 +122,7 @@ def get_python_lib(plat_specific=0, stan
+@@ -140,6 +140,7 @@ def get_python_lib(plat_specific=0, stan
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
@@ -151,7 +145,7 @@ Index: b/Lib/distutils/sysconfig.py
if prefix is None:
if standard_lib:
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
-@@ -133,6 +134,12 @@ def get_python_lib(plat_specific=0, stan
+@@ -151,6 +152,12 @@ def get_python_lib(plat_specific=0, stan
"lib", "python" + get_python_version())
if standard_lib:
return libpython
@@ -164,8 +158,6 @@ Index: b/Lib/distutils/sysconfig.py
else:
return os.path.join(libpython, "site-packages")
elif os.name == "nt":
-Index: b/Lib/site.py
-===================================================================
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -7,12 +7,18 @@
@@ -188,7 +180,7 @@ Index: b/Lib/site.py
If a file named "pyvenv.cfg" exists one directory above sys.executable,
sys.prefix and sys.exec_prefix are set to that directory and
it is also checked for site-packages (sys.base_prefix and
-@@ -304,9 +310,20 @@ def getsitepackages(prefixes=None):
+@@ -334,9 +340,20 @@ def getsitepackages(prefixes=None):
seen.add(prefix)
if os.sep == '/':
@@ -211,14 +203,12 @@ Index: b/Lib/site.py
else:
sitepackages.append(prefix)
sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
-Index: b/Lib/test/test_site.py
-===================================================================
--- a/Lib/test/test_site.py
+++ b/Lib/test/test_site.py
-@@ -260,10 +260,10 @@ class HelperFunctionsTests(unittest.Test
- self.assertEqual(dirs[1], wanted)
- elif os.sep == '/':
- # OS X non-framwework builds, Linux, FreeBSD, etc
+@@ -269,10 +269,10 @@ class HelperFunctionsTests(unittest.Test
+ dirs = site.getsitepackages()
+ if os.sep == '/':
+ # OS X, Linux, FreeBSD, etc
- self.assertEqual(len(dirs), 1)
- wanted = os.path.join('xoxo', 'lib',
+ self.assertEqual(len(dirs), 3)
@@ -229,21 +219,17 @@ Index: b/Lib/test/test_site.py
self.assertEqual(dirs[0], wanted)
else:
# other platforms
-Index: b/Lib/distutils/tests/test_bdist_dumb.py
-===================================================================
--- a/Lib/distutils/tests/test_bdist_dumb.py
+++ b/Lib/distutils/tests/test_bdist_dumb.py
@@ -85,7 +85,7 @@ class BuildDumbTestCase(support.TempdirM
fp.close()
- contents = sorted(os.path.basename(fn) for fn in contents)
+ contents = sorted(filter(None, map(os.path.basename, contents)))
- wanted = ['foo-0.1-py%s.%s.egg-info' % sys.version_info[:2], 'foo.py']
+ wanted = ['foo-0.1.egg-info', 'foo.py']
if not sys.dont_write_bytecode:
wanted.append('foo.%s.pyc' % sys.implementation.cache_tag)
self.assertEqual(contents, sorted(wanted))
-Index: b/Lib/distutils/tests/test_install.py
-===================================================================
--- a/Lib/distutils/tests/test_install.py
+++ b/Lib/distutils/tests/test_install.py
@@ -193,7 +193,7 @@ class InstallTestCase(support.TempdirMan
@@ -264,11 +250,9 @@ Index: b/Lib/distutils/tests/test_install.py
self.assertEqual(found, expected)
def test_debug_mode(self):
-Index: b/Lib/pydoc.py
-===================================================================
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
-@@ -417,6 +417,7 @@ class Doc:
+@@ -420,6 +420,7 @@ class Doc:
'marshal', 'posix', 'signal', 'sys',
'_thread', 'zipimport') or
(file.startswith(basedir) and
diff --git a/debian/patches/distutils-sysconfig.diff b/debian/patches/distutils-sysconfig.diff
index c12e6b3..3a87f2f 100644
--- a/debian/patches/distutils-sysconfig.diff
+++ b/debian/patches/distutils-sysconfig.diff
@@ -2,35 +2,33 @@
# DP: the python build, when CFLAGS, CPPFLAGS, LDSHARED) are not set
# DP: in the environment.
-Index: b/Lib/distutils/sysconfig.py
-===================================================================
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
-@@ -177,9 +177,11 @@ def customize_compiler(compiler):
+@@ -195,9 +195,11 @@ def customize_compiler(compiler):
_osx_support.customize_compiler(_config_vars)
_config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
-- (cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
-+ (cc, cxx, opt, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags,
+- (cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
++ (cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags,
+ configure_cppflags, configure_cflags, configure_ldflags) = \
- get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
+ get_config_vars('CC', 'CXX', 'CFLAGS',
- 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
+ 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS',
+ 'CONFIGURE_CPPFLAGS', 'CONFIGURE_CFLAGS', 'CONFIGURE_LDFLAGS')
if 'CC' in os.environ:
newcc = os.environ['CC']
-@@ -200,13 +202,22 @@ def customize_compiler(compiler):
+@@ -218,13 +220,22 @@ def customize_compiler(compiler):
cpp = cc + " -E" # not always
if 'LDFLAGS' in os.environ:
ldshared = ldshared + ' ' + os.environ['LDFLAGS']
+ elif configure_ldflags:
+ ldshared = ldshared + ' ' + configure_ldflags
if 'CFLAGS' in os.environ:
- cflags = opt + ' ' + os.environ['CFLAGS']
+ cflags = cflags + ' ' + os.environ['CFLAGS']
ldshared = ldshared + ' ' + os.environ['CFLAGS']
+ elif configure_cflags:
-+ cflags = opt + ' ' + configure_cflags
++ cflags = cflags + ' ' + configure_cflags
+ ldshared = ldshared + ' ' + configure_cflags
if 'CPPFLAGS' in os.environ:
cpp = cpp + ' ' + os.environ['CPPFLAGS']
diff --git a/debian/patches/doc-build-texinfo.diff b/debian/patches/doc-build-texinfo.diff
new file mode 100644
index 0000000..7297473
--- /dev/null
+++ b/debian/patches/doc-build-texinfo.diff
@@ -0,0 +1,27 @@
+Description: Add the option to build Texinfo-format documentation.
+Author: Benjamin Moody <benjamin@physionet.org>
+Bug-Debian: https://bugs.debian.org/881959
+Last-Update: 2017-11-27
+
+--- python3.7-3.7.0~a2.orig/Doc/Makefile
++++ python3.7-3.7.0~a2/Doc/Makefile
+@@ -27,6 +27,7 @@ help:
+ @echo " htmlview to open the index page built by the html target in your browser"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
++ @echo " texinfo to make Texinfo files"
+ @echo " text to make plain text files"
+ @echo " epub to make EPUB files"
+ @echo " changes to make an overview over all changed/added/deprecated items"
+@@ -72,6 +73,11 @@ latex: build
+ @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
+ "run these through (pdf)latex."
+
++texinfo: BUILDER = texinfo
++texinfo: build
++ @echo "Build finished; the Texinfo files are in build/texinfo."
++ @echo "Run \`make\' in that directory to run these through makeinfo."
++
+ text: BUILDER = text
+ text: build
+ @echo "Build finished; the text files are in build/text."
diff --git a/debian/patches/ensurepip-disabled.diff b/debian/patches/ensurepip-disabled.diff
index f19b36a..ff221d7 100644
--- a/debian/patches/ensurepip-disabled.diff
+++ b/debian/patches/ensurepip-disabled.diff
@@ -1,7 +1,5 @@
# DP: Disable ensurepip for the system installation, only enable it for virtual environments.
-Index: b/Lib/ensurepip/__init__.py
-===================================================================
--- a/Lib/ensurepip/__init__.py
+++ b/Lib/ensurepip/__init__.py
@@ -8,6 +8,34 @@ import tempfile
@@ -39,7 +37,7 @@ Index: b/Lib/ensurepip/__init__.py
_PROJECTS = [
"setuptools",
-@@ -56,6 +84,11 @@ def bootstrap(*, root=None, upgrade=Fals
+@@ -75,6 +103,11 @@ def _bootstrap(*, root=None, upgrade=Fal
Note that calling this function will alter both sys.path and os.environ.
"""
@@ -51,11 +49,9 @@ Index: b/Lib/ensurepip/__init__.py
if altinstall and default_pip:
raise ValueError("Cannot use altinstall and default_pip together")
-Index: b/Lib/venv/__init__.py
-===================================================================
--- a/Lib/venv/__init__.py
+++ b/Lib/venv/__init__.py
-@@ -242,7 +242,28 @@ class EnvBuilder:
+@@ -266,7 +266,28 @@ class EnvBuilder:
# intended for the global Python environment
cmd = [context.env_exe, '-Im', 'ensurepip', '--upgrade',
'--default-pip']
diff --git a/debian/patches/ensurepip-wheels.diff b/debian/patches/ensurepip-wheels.diff
index df5de92..558cf9d 100644
--- a/debian/patches/ensurepip-wheels.diff
+++ b/debian/patches/ensurepip-wheels.diff
@@ -1,5 +1,3 @@
-Index: b/Lib/ensurepip/__init__.py
-===================================================================
--- a/Lib/ensurepip/__init__.py
+++ b/Lib/ensurepip/__init__.py
@@ -1,3 +1,4 @@
@@ -11,9 +9,9 @@ Index: b/Lib/ensurepip/__init__.py
__all__ = ["version", "bootstrap"]
--_SETUPTOOLS_VERSION = "28.8.0"
+-_SETUPTOOLS_VERSION = "41.2.0"
-
--_PIP_VERSION = "9.0.1"
+-_PIP_VERSION = "19.2.3"
-
_PROJECTS = [
- ("setuptools", _SETUPTOOLS_VERSION),
@@ -24,7 +22,21 @@ Index: b/Lib/ensurepip/__init__.py
]
-@@ -32,7 +30,10 @@ def version():
+@@ -24,15 +22,22 @@ def _run_pip(args, additional_paths=None
+ sys.path = additional_paths + sys.path
+
+ # Install the bundled software
+- import pip._internal
+- return pip._internal.main(args)
++ try:
++ import pip._internal
++ return pip._internal.main(args)
++ except ImportError:
++ import pip
++ return pip.main(args)
+
+
+ def version():
"""
Returns a string specifying the bundled version of pip.
"""
@@ -36,7 +48,7 @@ Index: b/Lib/ensurepip/__init__.py
def _disable_pip_configuration_settings():
# We deliberately ignore all pip environment variables
-@@ -73,20 +74,44 @@ def bootstrap(*, root=None, upgrade=Fals
+@@ -88,20 +93,44 @@ def _bootstrap(*, root=None, upgrade=Fal
# omit pip and easy_install
os.environ["ENSUREPIP_OPTIONS"] = "install"
@@ -91,16 +103,16 @@ Index: b/Lib/ensurepip/__init__.py
# Construct the arguments to be passed to the pip command
args = ["install", "--no-index", "--find-links", tmpdir]
-@@ -99,7 +124,7 @@ def bootstrap(*, root=None, upgrade=Fals
+@@ -114,7 +143,7 @@ def _bootstrap(*, root=None, upgrade=Fal
if verbosity:
args += ["-" + "v" * verbosity]
-- _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
-+ _run_pip(args + _PROJECTS, additional_paths)
+- return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
++ return _run_pip(args + _PROJECTS, additional_paths)
def _uninstall_helper(*, verbosity=0):
"""Helper to support a clean default uninstall process on Windows
-@@ -113,7 +138,8 @@ def _uninstall_helper(*, verbosity=0):
+@@ -128,7 +157,8 @@ def _uninstall_helper(*, verbosity=0):
return
# If the pip version doesn't match the bundled one, leave it alone
@@ -110,12 +122,12 @@ Index: b/Lib/ensurepip/__init__.py
msg = ("ensurepip will only uninstall a matching version "
"({!r} installed, {!r} bundled)")
print(msg.format(pip.__version__, _PIP_VERSION), file=sys.stderr)
-@@ -126,7 +152,7 @@ def _uninstall_helper(*, verbosity=0):
+@@ -141,7 +171,7 @@ def _uninstall_helper(*, verbosity=0):
if verbosity:
args += ["-" + "v" * verbosity]
-- _run_pip(args + [p[0] for p in reversed(_PROJECTS)])
-+ _run_pip(args + reversed(_PROJECTS))
+- return _run_pip(args + [p[0] for p in reversed(_PROJECTS)])
++ return _run_pip(args + reversed(_PROJECTS))
def _main(argv=None):
diff --git a/debian/patches/ext-no-libpython-link.diff b/debian/patches/ext-no-libpython-link.diff
index 627d9d1..21407d7 100644
--- a/debian/patches/ext-no-libpython-link.diff
+++ b/debian/patches/ext-no-libpython-link.diff
@@ -1,10 +1,8 @@
# DP: Don't link extensions with the shared libpython library.
-Index: b/Lib/distutils/command/build_ext.py
-===================================================================
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
-@@ -230,7 +230,7 @@ class build_ext(Command):
+@@ -231,7 +231,7 @@ class build_ext(Command):
# For building extensions with a shared Python library,
# Python's library directory must be appended to library_dirs
# See Issues: #1600860, #4366
@@ -13,7 +11,7 @@ Index: b/Lib/distutils/command/build_ext.py
if not sysconfig.python_build:
# building third party extensions
self.library_dirs.append(sysconfig.get_config_var('LIBDIR'))
-@@ -746,7 +746,7 @@ class build_ext(Command):
+@@ -724,7 +724,7 @@ class build_ext(Command):
return ext.libraries
else:
from distutils import sysconfig
diff --git a/debian/patches/git-updates.diff b/debian/patches/git-updates.diff
index f9229ee..773b020 100644
--- a/debian/patches/git-updates.diff
+++ b/debian/patches/git-updates.diff
@@ -1,4 +1,4 @@
-# DP: updates from the 3.6 branch (until 2017-06-07, ).
+# DP: updates from the 3.7 branch (until 2019-09-04).
-# git diff 69c0db5050f623e8895b72dfe970392b1f9a0e2e 09b6c0c71ea944f7e8b46998f3ebaf5b9fbe15f6 | filterdiff -x ?/.hgignore -x ?/.hgeol -x ?/.hgtags -x ?/.hgtouch -x ?/.gitignore -x ?/.gitattributes -x '?/.github/*' -x '?/.git*' -x ?/.codecov.yml -x ?/.travis.yml -x ?/configure --remove-timestamps
+# git diff --no-renames e09359112e250268eca209355abeb17abf822486 6b8121a261917256198ac5bc3a02306a05cea169 | filterdiff -x ?/.hgignore -x ?/.hgeol -x ?/.hgtags -x ?/.hgtouch -x ?/.gitignore -x ?/.gitattributes -x '?/.github/*' -x '?/.git*' -x ?/.codecov.yml -x ?/.travis.yml -x ?/configure --remove-timestamps
diff --git a/debian/patches/issue35998.diff b/debian/patches/issue35998.diff
new file mode 100644
index 0000000..51cdd1f
--- /dev/null
+++ b/debian/patches/issue35998.diff
@@ -0,0 +1,22 @@
+--- a/Lib/test/test_asyncio/test_sslproto.py
++++ b/Lib/test/test_asyncio/test_sslproto.py
+@@ -495,14 +495,11 @@
+
+ server_context = test_utils.simple_server_sslcontext()
+ client_context = test_utils.simple_client_sslcontext()
+- if (sys.platform.startswith('freebsd')
+- or sys.platform.startswith('win')
+- or sys.platform.startswith('darwin')):
+- # bpo-35031: Some FreeBSD and Windows buildbots fail to run this test
+- # as the eof was not being received by the server if the payload
+- # size is not big enough. This behaviour only appears if the
+- # client is using TLS1.3. Also seen on macOS.
+- client_context.options |= ssl.OP_NO_TLSv1_3
++ # bpo-35031: Some buildbots fail to run this test as the eof
++ # was not being received by the server if the payload size is
++ # not big enough. This behaviour only appears if the client is
++ # using TLS1.3.
++ client_context.options |= ssl.OP_NO_TLSv1_3
+ answer = None
+
+ def client(sock, addr):
diff --git a/debian/patches/langpack-gettext.diff b/debian/patches/langpack-gettext.diff
index 56deb77..c80e300 100644
--- a/debian/patches/langpack-gettext.diff
+++ b/debian/patches/langpack-gettext.diff
@@ -7,7 +7,7 @@ Index: b/Lib/gettext.py
===================================================================
--- a/Lib/gettext.py
+++ b/Lib/gettext.py
-@@ -491,11 +491,26 @@ def find(domain, localedir=None, languag
+@@ -499,11 +499,26 @@ def find(domain, localedir=None, languag
if lang == 'C':
break
mofile = os.path.join(localedir, lang, 'LC_MESSAGES', '%s.mo' % domain)
diff --git a/debian/patches/lib-argparse.diff b/debian/patches/lib-argparse.diff
index c9d604a..28856ff 100644
--- a/debian/patches/lib-argparse.diff
+++ b/debian/patches/lib-argparse.diff
@@ -1,10 +1,12 @@
# DP: argparse.py: Make the gettext import conditional
+Index: b/Lib/argparse.py
+===================================================================
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
-@@ -90,7 +90,16 @@
+@@ -87,7 +87,16 @@ import os as _os
+ import re as _re
import sys as _sys
- import textwrap as _textwrap
-from gettext import gettext as _, ngettext
+try:
@@ -18,5 +20,5 @@
+ else:
+ return plural
-
SUPPRESS = '==SUPPRESS=='
+
diff --git a/debian/patches/lib2to3-no-pickled-grammar.diff b/debian/patches/lib2to3-no-pickled-grammar.diff
index 6364384..a7cc1ec 100644
--- a/debian/patches/lib2to3-no-pickled-grammar.diff
+++ b/debian/patches/lib2to3-no-pickled-grammar.diff
@@ -2,7 +2,7 @@ Index: b/Lib/lib2to3/pgen2/driver.py
===================================================================
--- a/Lib/lib2to3/pgen2/driver.py
+++ b/Lib/lib2to3/pgen2/driver.py
-@@ -122,7 +122,10 @@ def load_grammar(gt="Grammar.txt", gp=No
+@@ -120,7 +120,10 @@ def load_grammar(gt="Grammar.txt", gp=No
if force or not _newer(gp, gt):
logger.info("Generating grammar tables from %s", gt)
g = pgen.generate_grammar(gt)
@@ -18,7 +18,7 @@ Index: b/Lib/lib2to3/tests/test_parser.py
===================================================================
--- a/Lib/lib2to3/tests/test_parser.py
+++ b/Lib/lib2to3/tests/test_parser.py
-@@ -36,71 +36,6 @@
+@@ -38,83 +38,6 @@ class TestDriver(support.TestCase):
self.assertEqual(t.children[1].children[0].type, syms.print_stmt)
@@ -85,6 +85,18 @@ Index: b/Lib/lib2to3/tests/test_parser.py
- finally:
- shutil.rmtree(tmpdir)
-
+- def test_load_packaged_grammar(self):
+- modname = __name__ + '.load_test'
+- class MyLoader:
+- def get_data(self, where):
+- return pickle.dumps({'elephant': 19})
+- class MyModule:
+- __file__ = 'parsertestmodule'
+- __spec__ = importlib.util.spec_from_loader(modname, MyLoader())
+- sys.modules[modname] = MyModule()
+- self.addCleanup(operator.delitem, sys.modules, modname)
+- g = pgen2_driver.load_packaged_grammar(modname, 'Grammar.txt')
+- self.assertEqual(g.elephant, 19)
-
-
class GrammarTest(support.TestCase):
diff --git a/debian/patches/link-opt.diff b/debian/patches/link-opt.diff
index 4b4d7b7..5608d5c 100644
--- a/debian/patches/link-opt.diff
+++ b/debian/patches/link-opt.diff
@@ -1,10 +1,8 @@
# DP: Call the linker with -O1 -Bsymbolic-functions
-Index: b/configure.ac
-===================================================================
--- a/configure.ac
+++ b/configure.ac
-@@ -2511,8 +2511,8 @@ then
+@@ -2611,8 +2611,8 @@ then
fi
;;
Linux*|GNU*|QNX*)
@@ -12,12 +10,12 @@ Index: b/configure.ac
- LDCXXSHARED='$(CXX) -shared';;
+ LDSHARED='$(CC) -shared -Wl,-O1 -Wl,-Bsymbolic-functions'
+ LDCXXSHARED='$(CXX) -shared -Wl,-O1 -Wl,-Bsymbolic-functions';;
- BSD/OS*/4*)
- LDSHARED="gcc -shared"
- LDCXXSHARED="g++ -shared";;
-@@ -2612,7 +2612,7 @@ then
+ FreeBSD*)
+ if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
+ then
+@@ -2703,7 +2703,7 @@ then
+ LINKFORSHARED="-Wl,-E -Wl,+s";;
# LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
- BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";;
Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";;
- Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";;
+ Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions";;
diff --git a/debian/patches/local-doc-references.diff b/debian/patches/local-doc-references.diff
new file mode 100644
index 0000000..631a1de
--- /dev/null
+++ b/debian/patches/local-doc-references.diff
@@ -0,0 +1,22 @@
+--- a/Doc/tools/templates/layout.html
++++ b/Doc/tools/templates/layout.html
+@@ -50,7 +50,7 @@
+ {% endblock %}
+ {% block extrahead %}
+ <link rel="shortcut icon" type="image/png" href="{{ pathto('_static/py.png', 1) }}" />
+- <link rel="canonical" href="https://docs.python.org/3/{{pagename}}.html" />
++ <link rel="canonical" href="file:///usr/share/doc/python3.7/html/{{pagename}}.html" />
+ {% if builder != "htmlhelp" %}
+ {% if not embedded %}<script type="text/javascript" src="{{ pathto('_static/copybutton.js', 1) }}"></script>{% endif %}
+ {% if switchers is defined and not embedded %}<script type="text/javascript" src="{{ pathto('_static/switchers.js', 1) }}"></script>{% endif %}
+--- a/Lib/idlelib/help.html
++++ b/Lib/idlelib/help.html
+@@ -27,7 +27,7 @@
+ <link rel="copyright" title="Copyright" href="../copyright.html" />
+ <link rel="next" title="Other Graphical User Interface Packages" href="othergui.html" />
+ <link rel="prev" title="tkinter.scrolledtext — Scrolled Text Widget" href="tkinter.scrolledtext.html" />
+- <link rel="canonical" href="https://docs.python.org/3/library/idle.html" />
++ <link rel="canonical" href="file:///usr/share/doc/python3.7/html/library/idle.html" />
+
+
+
diff --git a/debian/patches/locale-module.diff b/debian/patches/locale-module.diff
index 76fd849..a35f0bf 100644
--- a/debian/patches/locale-module.diff
+++ b/debian/patches/locale-module.diff
@@ -6,7 +6,7 @@ Index: b/Lib/locale.py
===================================================================
--- a/Lib/locale.py
+++ b/Lib/locale.py
-@@ -1339,8 +1339,8 @@ locale_alias = {
+@@ -1403,8 +1403,8 @@ locale_alias = {
'ug_cn': 'ug_CN.UTF-8',
'uk': 'uk_UA.KOI8-U',
'uk_ua': 'uk_UA.KOI8-U',
diff --git a/debian/patches/lto-link-flags.diff b/debian/patches/lto-link-flags.diff
index afea9c2..dcf9d5d 100644
--- a/debian/patches/lto-link-flags.diff
+++ b/debian/patches/lto-link-flags.diff
@@ -1,17 +1,15 @@
-Index: b/Makefile.pre.in
-===================================================================
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -146,7 +146,7 @@ CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$
+@@ -150,7 +150,7 @@ CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$
SHLIB_SUFFIX= @SHLIB_SUFFIX@
EXT_SUFFIX= @EXT_SUFFIX@
LDSHARED= @LDSHARED@ $(PY_LDFLAGS)
-BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS)
-+BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS) $(PY_CFLAGS)
++BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS) $(PY_CFLAGS) $(CCSHARED)
LDCXXSHARED= @LDCXXSHARED@
DESTSHARED= $(BINLIBDEST)/lib-dynload
-@@ -544,7 +544,7 @@ clinic: $(BUILDPYTHON) $(srcdir)/Modules
+@@ -580,7 +580,7 @@ clinic: check-clean-src $(srcdir)/Module
# Build the interpreter
$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
diff --git a/debian/patches/mangle-fstack-protector.diff b/debian/patches/mangle-fstack-protector.diff
index 19b27f7..35384c7 100644
--- a/debian/patches/mangle-fstack-protector.diff
+++ b/debian/patches/mangle-fstack-protector.diff
@@ -1,8 +1,6 @@
# DP: When using GCC versions older than 4.9, automagically mangle
# DP: -fstack-protector-strong to -fstack-protector
-Index: b/Lib/distutils/sysconfig.py
-===================================================================
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -13,6 +13,7 @@ import _imp
@@ -13,7 +11,7 @@ Index: b/Lib/distutils/sysconfig.py
from .errors import DistutilsPlatformError
-@@ -197,6 +198,10 @@ def customize_compiler(compiler):
+@@ -216,6 +217,10 @@ def customize_compiler(compiler):
cc = newcc
if 'CXX' in os.environ:
cxx = os.environ['CXX']
diff --git a/debian/patches/multiarch.diff b/debian/patches/multiarch.diff
index dace3f5..cdd5290 100644
--- a/debian/patches/multiarch.diff
+++ b/debian/patches/multiarch.diff
@@ -1,8 +1,6 @@
-Index: b/Lib/sysconfig.py
-===================================================================
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
-@@ -557,6 +557,12 @@ def get_config_vars(*args):
+@@ -558,6 +558,12 @@ def get_config_vars(*args):
# the init-function.
_CONFIG_VARS['userbase'] = _getuserbase()
@@ -15,11 +13,9 @@ Index: b/Lib/sysconfig.py
# Always convert srcdir to an absolute path
srcdir = _CONFIG_VARS.get('srcdir', _PROJECT_BASE)
if os.name == 'posix':
-Index: b/Lib/distutils/sysconfig.py
-===================================================================
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
-@@ -99,6 +99,9 @@ def get_python_inc(plat_specific=0, pref
+@@ -112,6 +112,9 @@ def get_python_inc(plat_specific=0, pref
incdir = os.path.join(get_config_var('srcdir'), 'Include')
return os.path.normpath(incdir)
python_dir = 'python' + get_python_version() + build_flags
@@ -28,12 +24,10 @@ Index: b/Lib/distutils/sysconfig.py
+ return sysconfig.get_path('platinclude')
return os.path.join(prefix, "include", python_dir)
elif os.name == "nt":
- return os.path.join(prefix, "include")
-Index: b/Makefile.pre.in
-===================================================================
+ if python_build:
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -760,6 +760,7 @@ Modules/signalmodule.o: $(srcdir)/Module
+@@ -794,6 +794,7 @@ Modules/signalmodule.o: $(srcdir)/Module
Python/dynload_shlib.o: $(srcdir)/Python/dynload_shlib.c Makefile
$(CC) -c $(PY_CORE_CFLAGS) \
@@ -41,7 +35,7 @@ Index: b/Makefile.pre.in
-DSOABI='"$(SOABI)"' \
-o $@ $(srcdir)/Python/dynload_shlib.c
-@@ -1404,7 +1405,7 @@ inclinstall:
+@@ -1477,7 +1478,7 @@ inclinstall:
LIBPL= @LIBPL@
# pkgconfig directory
diff --git a/debian/patches/platform-lsbrelease.diff b/debian/patches/platform-lsbrelease.diff
index 271139f..83f3df3 100644
--- a/debian/patches/platform-lsbrelease.diff
+++ b/debian/patches/platform-lsbrelease.diff
@@ -1,10 +1,8 @@
# DP: Use /etc/lsb-release to identify the platform.
-Index: b/Lib/platform.py
-===================================================================
--- a/Lib/platform.py
+++ b/Lib/platform.py
-@@ -267,7 +267,7 @@ _release_version = re.compile(r'([^0-9]+
+@@ -299,7 +299,7 @@ _release_version = re.compile(r'([^0-9]+
_supported_dists = (
'SuSE', 'debian', 'fedora', 'redhat', 'centos',
'mandrake', 'mandriva', 'rocks', 'slackware', 'yellowdog', 'gentoo',
@@ -13,18 +11,18 @@ Index: b/Lib/platform.py
def _parse_release_file(firstline):
-@@ -296,6 +296,10 @@ def _parse_release_file(firstline):
+@@ -328,6 +328,10 @@ def _parse_release_file(firstline):
id = l[1]
return '', version, id
-+_distributor_id_file_re = re.compile("(?:DISTRIB_ID\s*=)\s*(.*)", re.I)
-+_release_file_re = re.compile("(?:DISTRIB_RELEASE\s*=)\s*(.*)", re.I)
-+_codename_file_re = re.compile("(?:DISTRIB_CODENAME\s*=)\s*(.*)", re.I)
++_distributor_id_file_re = re.compile(r"(?:DISTRIB_ID\s*=)\s*(.*)", re.I)
++_release_file_re = re.compile(r"(?:DISTRIB_RELEASE\s*=)\s*(.*)", re.I)
++_codename_file_re = re.compile(r"(?:DISTRIB_CODENAME\s*=)\s*(.*)", re.I)
+
def linux_distribution(distname='', version='', id='',
supported_dists=_supported_dists,
-@@ -328,6 +332,25 @@ def _linux_distribution(distname, versio
+@@ -360,6 +364,25 @@ def _linux_distribution(distname, versio
args given as parameters.
"""
@@ -50,16 +48,3 @@ Index: b/Lib/platform.py
try:
etc = os.listdir(_UNIXCONFDIR)
except OSError:
-Index: b/Lib/test/test_platform.py
-===================================================================
---- a/Lib/test/test_platform.py
-+++ b/Lib/test/test_platform.py
-@@ -349,6 +349,8 @@ class PlatformTest(unittest.TestCase):
- self.assertEqual(version, '19')
- self.assertEqual(distid, 'Schr\xf6dinger\u2019s Cat')
-
-+ # we know we are Debian/Ubuntu
-+ test_linux_distribution_encoding.skip = True
-
- class DeprecationTest(unittest.TestCase):
-
diff --git a/debian/patches/profiled-build.diff b/debian/patches/profiled-build.diff
index 1eb203b..b4e67c5 100644
--- a/debian/patches/profiled-build.diff
+++ b/debian/patches/profiled-build.diff
@@ -1,18 +1,16 @@
# DP: Ignore errors in the profile task.
-Index: b/Makefile.pre.in
-===================================================================
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -467,6 +467,16 @@ build_all_generate_profile:
+@@ -504,6 +504,16 @@ build_all_generate_profile:
run_profile_task:
- : # FIXME: can't run for a cross build
+ @ # FIXME: can't run for a cross build
$(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
+ task="$(PROFILE_TASK)"; \
+ case "$$task" in \
+ *-s\ *) \
+ $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $$task; \
-+ while [ -f $(srcdir)/build/pynexttest ]; do \
++ while [ -f $(abs_builddir)/build/pynexttest ]; do \
+ $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $$task; \
+ done;; \
+ *) \
diff --git a/debian/patches/pydoc-use-pager.diff b/debian/patches/pydoc-use-pager.diff
index a92c245..ca2b49f 100644
--- a/debian/patches/pydoc-use-pager.diff
+++ b/debian/patches/pydoc-use-pager.diff
@@ -1,10 +1,8 @@
# DP: pydoc: use the pager command if available.
-Index: b/Lib/pydoc.py
-===================================================================
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
-@@ -1446,6 +1446,8 @@ def getpager():
+@@ -1473,6 +1473,8 @@ def getpager():
return plainpager
if sys.platform == 'win32':
return lambda text: tempfilepager(plain(text), 'more <')
diff --git a/debian/patches/pyhash.diff b/debian/patches/pyhash.diff
deleted file mode 100644
index f8ecfda..0000000
--- a/debian/patches/pyhash.diff
+++ /dev/null
@@ -1,67 +0,0 @@
-Index: b/Python/pyhash.c
-===================================================================
---- a/Python/pyhash.c
-+++ b/Python/pyhash.c
-@@ -328,13 +328,14 @@ static PyHash_FuncDef PyHash_Func = {fnv
- * the hash values' least significant bits.
- */
- #if PY_LITTLE_ENDIAN
--# define _le64toh(x) ((uint64_t)(x))
-+# define _le64toh(v, x) memcpy(&(v), &(x), sizeof(v))
- #elif defined(__APPLE__)
--# define _le64toh(x) OSSwapLittleToHostInt64(x)
-+# define _le64toh(v, x) v = OSSwapLittleToHostInt64(x)
- #elif defined(HAVE_LETOH64)
--# define _le64toh(x) le64toh(x)
-+# define _le64toh(v, x) v = le64toh(x)
- #else
--# define _le64toh(x) (((uint64_t)(x) << 56) | \
-+# define _le64toh(v, x) v = \
-+ (((uint64_t)(x) << 56) | \
- (((uint64_t)(x) << 40) & 0xff000000000000ULL) | \
- (((uint64_t)(x) << 24) & 0xff0000000000ULL) | \
- (((uint64_t)(x) << 8) & 0xff00000000ULL) | \
-@@ -366,22 +367,24 @@ static PyHash_FuncDef PyHash_Func = {fnv
-
- static Py_hash_t
- siphash24(const void *src, Py_ssize_t src_sz) {
-- uint64_t k0 = _le64toh(_Py_HashSecret.siphash.k0);
-- uint64_t k1 = _le64toh(_Py_HashSecret.siphash.k1);
-+ uint64_t k0, k1, v0, v1, v2, v3;
- uint64_t b = (uint64_t)src_sz << 56;
- const uint64_t *in = (uint64_t*)src;
-
-- uint64_t v0 = k0 ^ 0x736f6d6570736575ULL;
-- uint64_t v1 = k1 ^ 0x646f72616e646f6dULL;
-- uint64_t v2 = k0 ^ 0x6c7967656e657261ULL;
-- uint64_t v3 = k1 ^ 0x7465646279746573ULL;
--
-- uint64_t t;
-+ uint64_t t, t2;
- uint8_t *pt;
- uint8_t *m;
-
-+ _le64toh(k0, _Py_HashSecret.siphash.k0);
-+ _le64toh(k1, _Py_HashSecret.siphash.k1);
-+ v0 = k0 ^ 0x736f6d6570736575ULL;
-+ v1 = k1 ^ 0x646f72616e646f6dULL;
-+ v2 = k0 ^ 0x6c7967656e657261ULL;
-+ v3 = k1 ^ 0x7465646279746573ULL;
-+
- while (src_sz >= 8) {
-- uint64_t mi = _le64toh(*in);
-+ uint64_t mi;
-+ _le64toh(mi, *in);
- in += 1;
- src_sz -= 8;
- v3 ^= mi;
-@@ -401,7 +404,8 @@ siphash24(const void *src, Py_ssize_t sr
- case 2: pt[1] = m[1]; /* fall through */
- case 1: pt[0] = m[0]; /* fall through */
- }
-- b |= _le64toh(t);
-+ _le64toh(t2, t);
-+ b |= t2;
-
- v3 ^= b;
- DOUBLE_ROUND(v0,v1,v2,v3);
diff --git a/debian/patches/reproducible-buildinfo.diff b/debian/patches/reproducible-buildinfo.diff
index 232e43e..8ee5271 100644
--- a/debian/patches/reproducible-buildinfo.diff
+++ b/debian/patches/reproducible-buildinfo.diff
@@ -1,10 +1,8 @@
# DP: Build getbuildinfo.o with DATE/TIME values when defined
-Index: b/Makefile.pre.in
-===================================================================
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -732,6 +732,8 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
+@@ -766,6 +766,8 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
-DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \
-DGITTAG="\"`LC_ALL=C $(GITTAG)`\"" \
-DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \
diff --git a/debian/patches/revert-profile-opt-changes.diff b/debian/patches/revert-profile-opt-changes.diff
new file mode 100644
index 0000000..b66c6ce
--- /dev/null
+++ b/debian/patches/revert-profile-opt-changes.diff
@@ -0,0 +1,189 @@
+--- a/Lib/_osx_support.py
++++ b/Lib/_osx_support.py
+@@ -17,7 +17,7 @@ __all__ = [
+ _UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
+ 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
+ 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
+- 'PY_CORE_CFLAGS', 'PY_CORE_LDFLAGS')
++ 'PY_CORE_CFLAGS')
+
+ # configuration variables that may contain compiler calls
+ _COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
+--- a/Lib/test/pythoninfo.py
++++ b/Lib/test/pythoninfo.py
+@@ -420,10 +420,7 @@ def collect_sysconfig(info_add):
+ 'OPT',
+ 'PY_CFLAGS',
+ 'PY_CFLAGS_NODIST',
+- 'PY_CORE_LDFLAGS',
+ 'PY_LDFLAGS',
+- 'PY_LDFLAGS_NODIST',
+- 'PY_STDMODULE_CFLAGS',
+ 'Py_DEBUG',
+ 'Py_ENABLE_SHARED',
+ 'SHELL',
+--- a/Lib/test/test__osx_support.py
++++ b/Lib/test/test__osx_support.py
+@@ -24,7 +24,7 @@ class Test_OSXSupport(unittest.TestCase)
+ for cv in ('CFLAGS', 'LDFLAGS', 'CPPFLAGS',
+ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'CC',
+ 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
+- 'PY_CORE_CFLAGS', 'PY_CORE_LDFLAGS'):
++ 'PY_CORE_CFLAGS'):
+ if cv in self.env:
+ self.env.unset(cv)
+
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -85,10 +85,6 @@ CONFIGURE_CFLAGS= @CFLAGS@
+ # Use it when a compiler flag should _not_ be part of the distutils CFLAGS
+ # once Python is installed (Issue #21121).
+ CONFIGURE_CFLAGS_NODIST=@CFLAGS_NODIST@
+-# LDFLAGS_NODIST is used in the same manner as CFLAGS_NODIST.
+-# Use it when a linker flag should _not_ be part of the distutils LDFLAGS
+-# once Python is installed (bpo-35257)
+-CONFIGURE_LDFLAGS_NODIST=@LDFLAGS_NODIST@
+ CONFIGURE_CPPFLAGS= @CPPFLAGS@
+ CONFIGURE_LDFLAGS= @LDFLAGS@
+ # Avoid assigning CFLAGS, LDFLAGS, etc. so users can use them on the
+@@ -101,7 +97,6 @@ PY_CFLAGS_NODIST=$(CONFIGURE_CFLAGS_NODI
+ # environment variables
+ PY_CPPFLAGS= $(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $(CPPFLAGS)
+ PY_LDFLAGS= $(CONFIGURE_LDFLAGS) $(LDFLAGS)
+-PY_LDFLAGS_NODIST=$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)
+ NO_AS_NEEDED= @NO_AS_NEEDED@
+ LDLAST= @LDLAST@
+ SGI_ABI= @SGI_ABI@
+@@ -116,8 +111,6 @@ CFLAGSFORSHARED=@CFLAGSFORSHARED@
+ PY_STDMODULE_CFLAGS= $(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $(CFLAGSFORSHARED)
+ PY_BUILTIN_MODULE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN
+ PY_CORE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE
+-# Linker flags used for building the interpreter object files
+-PY_CORE_LDFLAGS=$(PY_LDFLAGS) $(PY_LDFLAGS_NODIST)
+ # Strict or non-strict aliasing flags used to compile dtoa.c, see above
+ CFLAGS_ALIASING=@CFLAGS_ALIASING@
+
+@@ -157,7 +150,7 @@ CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$
+ SHLIB_SUFFIX= @SHLIB_SUFFIX@
+ EXT_SUFFIX= @EXT_SUFFIX@
+ LDSHARED= @LDSHARED@ $(PY_LDFLAGS)
+-BLDSHARED= @BLDSHARED@ $(PY_CORE_LDFLAGS)
++BLDSHARED= @BLDSHARED@ $(PY_LDFLAGS)
+ LDCXXSHARED= @LDCXXSHARED@
+ DESTSHARED= $(BINLIBDEST)/lib-dynload
+
+@@ -506,7 +499,7 @@ profile-run-stamp:
+ touch $@
+
+ build_all_generate_profile:
+- $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
++ $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_GEN_FLAG)" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"
+
+ run_profile_task:
+ @ # FIXME: can't run for a cross build
+@@ -520,7 +513,7 @@ build_all_merge_profile:
+ profile-opt: profile-run-stamp
+ @echo "Rebuilding with profile guided optimizations:"
+ -rm -f profile-clean-stamp
+- $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_USE_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST)"
++ $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_USE_FLAG)" LDFLAGS="$(LDFLAGS)"
+
+ # Compile and run with gcov
+ .PHONY=coverage coverage-lcov coverage-report
+@@ -577,7 +570,7 @@ clinic: check-clean-src $(srcdir)/Module
+
+ # Build the interpreter
+ $(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+- $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
++ $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+ platform: $(BUILDPYTHON) pybuilddir.txt
+ $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
+@@ -642,7 +635,7 @@ libpython3.so: libpython$(LDVERSION).so
+ $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^
+
+ libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
+- $(CC) -dynamiclib -Wl,-single_module $(PY_CORE_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
++ $(CC) -dynamiclib -Wl,-single_module $(PY_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
+
+
+ libpython$(VERSION).sl: $(LIBRARY_OBJS)
+@@ -667,7 +660,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION
+ $(LIBRARY) \
+ $(RESSRCDIR)/Info.plist
+ $(INSTALL) -d -m $(DIRMODE) $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)
+- $(CC) -o $(LDLIBRARY) $(PY_CORE_LDFLAGS) -dynamiclib \
++ $(CC) -o $(LDLIBRARY) $(PY_LDFLAGS) -dynamiclib \
+ -all_load $(LIBRARY) -Wl,-single_module \
+ -install_name $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK) \
+ -compatibility_version $(VERSION) \
+@@ -718,7 +711,7 @@ Modules/Setup: $(srcdir)/Modules/Setup.d
+ fi
+
+ Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+- $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
++ $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+ ############################################################################
+ # Importlib
+@@ -726,7 +719,7 @@ Programs/_testembed: Programs/_testembed
+ Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile
+
+ Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN)
+- $(LINKCC) $(PY_CORE_LDFLAGS) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
++ $(LINKCC) $(PY_LDFLAGS) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+ .PHONY: regen-importlib
+ regen-importlib: Programs/_freeze_importlib
+@@ -808,7 +801,7 @@ Python/sysmodule.o: $(srcdir)/Python/sys
+ $(IO_OBJS): $(IO_H)
+
+ $(PGEN): $(PGENOBJS)
+- $(CC) $(OPT) $(PY_CORE_LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
++ $(CC) $(OPT) $(PY_LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
+
+ .PHONY: regen-grammar
+ regen-grammar: $(PGEN)
+--- a/configure.ac
++++ b/configure.ac
+@@ -1395,7 +1395,7 @@ if test "$Py_LTO" = 'true' ; then
+ fi
+
+ CFLAGS_NODIST="$CFLAGS_NODIST $LTOFLAGS"
+- LDFLAGS_NODIST="$LDFLAGS_NODIST $LTOFLAGS"
++ LDFLAGS="$LDFLAGS $LTOFLAGS"
+ fi
+
+ # Enable PGO flags.
+@@ -1555,7 +1555,6 @@ fi
+
+ AC_SUBST(BASECFLAGS)
+ AC_SUBST(CFLAGS_NODIST)
+-AC_SUBST(LDFLAGS_NODIST)
+
+ # The -arch flags for universal builds on OSX
+ UNIVERSAL_ARCH_FLAGS=
+--- a/setup.py
++++ b/setup.py
+@@ -18,16 +18,11 @@ from distutils.spawn import find_executa
+
+ cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ
+
+-# Set common compiler and linker flags derived from the Makefile,
+-# reserved for building the interpreter and the stdlib modules.
+-# See bpo-21121 and bpo-35257
+-def set_compiler_flags(compiler_flags, compiler_py_flags_nodist):
+- flags = sysconfig.get_config_var(compiler_flags)
+- py_flags_nodist = sysconfig.get_config_var(compiler_py_flags_nodist)
+- sysconfig.get_config_vars()[compiler_flags] = flags + ' ' + py_flags_nodist
+-
+-set_compiler_flags('CFLAGS', 'PY_CFLAGS_NODIST')
+-set_compiler_flags('LDFLAGS', 'PY_LDFLAGS_NODIST')
++# Add special CFLAGS reserved for building the interpreter and the stdlib
++# modules (Issue #21121).
++cflags = sysconfig.get_config_var('CFLAGS')
++py_cflags_nodist = sysconfig.get_config_var('PY_CFLAGS_NODIST')
++sysconfig.get_config_vars()['CFLAGS'] = cflags + ' ' + py_cflags_nodist
+
+ class Dummy:
+ """Hack for parallel build"""
diff --git a/debian/patches/series b/debian/patches/series
index 9eed915..1da427a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,10 +1,12 @@
# git-updates.diff
+revert-profile-opt-changes.diff
deb-setup.diff
deb-locations.diff
distutils-install-layout.diff
locale-module.diff
distutils-link.diff
distutils-sysconfig.diff
+#sysconfig-debian-schemes.diff
tkinter-import.diff
gdbm-import.diff
link-opt.diff
@@ -30,5 +32,8 @@ ensurepip-disabled.diff
mangle-fstack-protector.diff
reproducible-buildinfo.diff
pydoc-use-pager.diff
-pyhash.diff
-update-tls-protocol.diff
+local-doc-references.diff
+doc-build-texinfo.diff
+build-math-object.diff
+issue35998.diff
+arm-alignment.diff
diff --git a/debian/patches/setup-modules.diff b/debian/patches/setup-modules.diff
index 8c10c06..6f80339 100644
--- a/debian/patches/setup-modules.diff
+++ b/debian/patches/setup-modules.diff
@@ -1,10 +1,8 @@
# DP: Modules/Setup.dist: patches to build some extensions statically
-Index: b/Modules/Setup.dist
-===================================================================
--- a/Modules/Setup.dist
+++ b/Modules/Setup.dist
-@@ -176,7 +176,7 @@ _symtable symtablemodule.c
+@@ -178,7 +178,7 @@ _symtable symtablemodule.c
#_weakref _weakref.c # basic weak reference support
#_testcapi _testcapimodule.c # Python C API test module
#_random _randommodule.c # Random number generator
@@ -13,7 +11,7 @@ Index: b/Modules/Setup.dist
#_pickle _pickle.c # pickle accelerator
#_datetime _datetimemodule.c # datetime accelerator
#_bisect _bisectmodule.c # Bisection algorithms
-@@ -206,10 +206,7 @@ _symtable symtablemodule.c
+@@ -208,10 +208,7 @@ _symtable symtablemodule.c
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
@@ -33,19 +31,19 @@ Index: b/Modules/Setup.dist
# The _sha module implements the SHA checksum algorithms.
# (NIST's Secure Hash Algorithms.)
-@@ -342,6 +340,7 @@ _symtable symtablemodule.c
+@@ -331,6 +329,7 @@ _symtable symtablemodule.c
# Fred Drake's interface to the Python parser
#parser parsermodule.c
+#_ctypes _ctypes/_ctypes.c _ctypes/callbacks.c _ctypes/callproc.c _ctypes/stgdict.c _ctypes/cfield.c _ctypes/malloc_closure.c -lffi
- # Lee Busby's SIGFPE modules.
- # The library to link fpectl with is platform specific.
-@@ -376,7 +375,7 @@ _symtable symtablemodule.c
- #
+ # Andrew Kuchling's zlib module.
+ # This require zlib 1.1.3 (or later).
+@@ -340,7 +339,7 @@ _symtable symtablemodule.c
+ # Interface to the Expat XML parser
# More information on Expat can be found at www.libexpat.org.
#
--#pyexpat expat/xmlparse.c expat/xmlrole.c expat/xmltok.c pyexpat.c -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI
+-#pyexpat expat/xmlparse.c expat/xmlrole.c expat/xmltok.c pyexpat.c -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DXML_POOR_ENTROPY -DUSE_PYEXPAT_CAPI
+#pyexpat pyexpat.c -lexpat
# Hye-Shik Chang's CJKCodecs
diff --git a/debian/patches/sysconfig-debian-schemes.diff b/debian/patches/sysconfig-debian-schemes.diff
index d26ee20..07eb5bf 100644
--- a/debian/patches/sysconfig-debian-schemes.diff
+++ b/debian/patches/sysconfig-debian-schemes.diff
@@ -1,8 +1,10 @@
# DP: Add schemes 'deb_system' and 'posix_local', make the latter the default
+Index: b/Lib/sysconfig.py
+===================================================================
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
-@@ -32,6 +32,30 @@
+@@ -31,6 +31,30 @@ _INSTALL_SCHEMES = {
'scripts': '{base}/bin',
'data': '{base}',
},
@@ -33,7 +35,7 @@
'posix_home': {
'stdlib': '{installed_base}/lib/python',
'platstdlib': '{base}/lib/python',
-@@ -162,7 +186,7 @@
+@@ -136,7 +160,7 @@ def is_python_build(check_home=False):
_PYTHON_BUILD = is_python_build(True)
if _PYTHON_BUILD:
@@ -42,7 +44,7 @@
_INSTALL_SCHEMES[scheme]['include'] = '{srcdir}/Include'
_INSTALL_SCHEMES[scheme]['platinclude'] = '{projectbase}/.'
-@@ -200,7 +224,12 @@
+@@ -174,7 +198,16 @@ def _expand_vars(scheme, vars):
def _get_default_scheme():
if os.name == 'posix':
# the default scheme for posix is posix_prefix
@@ -51,12 +53,16 @@
+ # virtual environments
+ return 'posix_prefix'
+ else:
-+ # Debian default
-+ return 'posix_local'
++ # default to /usr for package builds, /usr/local otherwise
++ deb_build = os.environ.get('DEB_PYTHON_INSTALL_LAYOUT', 'posix_local')
++ if deb_build in ('deb', 'deb_system'):
++ return 'deb_system'
++ else:
++ return 'posix_local'
return os.name
-@@ -485,7 +514,7 @@
+@@ -472,7 +505,7 @@ def get_config_h_filename():
else:
inc_dir = _sys_home or _PROJECT_BASE
else:
@@ -65,3 +71,18 @@
return os.path.join(inc_dir, 'pyconfig.h')
+Index: b/Lib/test/test_sysconfig.py
+===================================================================
+--- a/Lib/test/test_sysconfig.py
++++ b/Lib/test/test_sysconfig.py
+@@ -227,8 +227,8 @@ class TestSysConfig(unittest.TestCase):
+ self.assertTrue(os.path.isfile(config_h), config_h)
+
+ def test_get_scheme_names(self):
+- wanted = ('nt', 'nt_user', 'osx_framework_user',
+- 'posix_home', 'posix_prefix', 'posix_user')
++ wanted = ('deb_system', 'nt', 'nt_user', 'osx_framework_user',
++ 'posix_home', 'posix_local', 'posix_prefix', 'posix_user')
+ self.assertEqual(get_scheme_names(), wanted)
+
+ @skip_unless_symlink
diff --git a/debian/patches/tempfile-minimal.diff b/debian/patches/tempfile-minimal.diff
index 64f83fc..8aeb75d 100644
--- a/debian/patches/tempfile-minimal.diff
+++ b/debian/patches/tempfile-minimal.diff
@@ -152,7 +152,7 @@ Index: b/Lib/tempfile.py
import errno as _errno
from random import Random as _Random
import weakref as _weakref
-@@ -794,7 +933,7 @@ class TemporaryDirectory(object):
+@@ -792,7 +931,7 @@ class TemporaryDirectory(object):
@classmethod
def _cleanup(cls, name, warn_message):
@@ -161,7 +161,7 @@ Index: b/Lib/tempfile.py
_warnings.warn(warn_message, ResourceWarning)
def __repr__(self):
-@@ -808,4 +947,4 @@ class TemporaryDirectory(object):
+@@ -806,4 +945,4 @@ class TemporaryDirectory(object):
def cleanup(self):
if self._finalizer.detach():
diff --git a/debian/patches/test-no-random-order.diff b/debian/patches/test-no-random-order.diff
index 1c98695..b21e76d 100644
--- a/debian/patches/test-no-random-order.diff
+++ b/debian/patches/test-no-random-order.diff
@@ -4,8 +4,8 @@ Index: b/Tools/scripts/run_tests.py
===================================================================
--- a/Tools/scripts/run_tests.py
+++ b/Tools/scripts/run_tests.py
-@@ -37,7 +37,6 @@ def main(regrtest_args):
- args.extend(['-W', 'error::BytesWarning'])
+@@ -31,7 +31,6 @@ def main(regrtest_args):
+ args.extend(test.support.args_from_interpreter_flags())
args.extend(['-m', 'test', # Run the test suite
- '-r', # Randomize test order
diff --git a/debian/patches/update-tls-protocol.diff b/debian/patches/update-tls-protocol.diff
deleted file mode 100644
index 4548a4a..0000000
--- a/debian/patches/update-tls-protocol.diff
+++ /dev/null
@@ -1,79 +0,0 @@
-Index: b/Lib/test/test_ftplib.py
-===================================================================
---- a/Lib/test/test_ftplib.py
-+++ b/Lib/test/test_ftplib.py
-@@ -912,7 +912,7 @@ class TestTLS_FTPClass(TestCase):
-
- def test_context(self):
- self.client.quit()
-- ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- self.assertRaises(ValueError, ftplib.FTP_TLS, keyfile=CERTFILE,
- context=ctx)
- self.assertRaises(ValueError, ftplib.FTP_TLS, certfile=CERTFILE,
-@@ -941,7 +941,7 @@ class TestTLS_FTPClass(TestCase):
-
- def test_check_hostname(self):
- self.client.quit()
-- ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- ctx.verify_mode = ssl.CERT_REQUIRED
- ctx.check_hostname = True
- ctx.load_verify_locations(CAFILE)
-Index: b/Lib/test/test_httplib.py
-===================================================================
---- a/Lib/test/test_httplib.py
-+++ b/Lib/test/test_httplib.py
-@@ -1620,7 +1620,7 @@ class HTTPSTest(TestCase):
- # The (valid) cert validates the HTTP hostname
- import ssl
- server = self.make_server(CERT_localhost)
-- context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-+ context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- context.verify_mode = ssl.CERT_REQUIRED
- context.load_verify_locations(CERT_localhost)
- h = client.HTTPSConnection('localhost', server.port, context=context)
-@@ -1634,7 +1634,7 @@ class HTTPSTest(TestCase):
- # The (valid) cert doesn't validate the HTTP hostname
- import ssl
- server = self.make_server(CERT_fakehostname)
-- context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-+ context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- context.verify_mode = ssl.CERT_REQUIRED
- context.check_hostname = True
- context.load_verify_locations(CERT_fakehostname)
-Index: b/Lib/test/test_poplib.py
-===================================================================
---- a/Lib/test/test_poplib.py
-+++ b/Lib/test/test_poplib.py
-@@ -352,7 +352,7 @@ class TestPOP3Class(TestCase):
- @requires_ssl
- def test_stls_context(self):
- expected = b'+OK Begin TLS negotiation'
-- ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- ctx.load_verify_locations(CAFILE)
- ctx.verify_mode = ssl.CERT_REQUIRED
- ctx.check_hostname = True
-@@ -392,7 +392,7 @@ class TestPOP3_SSLClass(TestPOP3Class):
- self.assertIn('POP3_SSL', poplib.__all__)
-
- def test_context(self):
-- ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- self.assertRaises(ValueError, poplib.POP3_SSL, self.server.host,
- self.server.port, keyfile=CERTFILE, context=ctx)
- self.assertRaises(ValueError, poplib.POP3_SSL, self.server.host,
-Index: b/Lib/test/test_urllib2_localnet.py
-===================================================================
---- a/Lib/test/test_urllib2_localnet.py
-+++ b/Lib/test/test_urllib2_localnet.py
-@@ -598,7 +598,7 @@ class TestUrlopen(unittest.TestCase):
- def cb_sni(ssl_sock, server_name, initial_context):
- nonlocal sni_name
- sni_name = server_name
-- context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-+ context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- context.set_servername_callback(cb_sni)
- handler = self.start_https_server(context=context, certfile=CERT_localhost)
- context = ssl.create_default_context(cafile=CERT_localhost)
diff --git a/debian/patches/update-tls-protocol2.diff b/debian/patches/update-tls-protocol2.diff
deleted file mode 100644
index 7dbe9d8..0000000
--- a/debian/patches/update-tls-protocol2.diff
+++ /dev/null
@@ -1,98 +0,0 @@
-# Don't apply yet, still test failures ..
-
-Index: b/Lib/test/test_ssl.py
-===================================================================
---- a/Lib/test/test_ssl.py
-+++ b/Lib/test/test_ssl.py
-@@ -147,7 +147,7 @@ def skip_if_broken_ubuntu_ssl(func):
- needs_sni = unittest.skipUnless(ssl.HAS_SNI, "SNI support needed for this test")
-
-
--def test_wrap_socket(sock, ssl_version=ssl.PROTOCOL_TLS, *,
-+def test_wrap_socket(sock, ssl_version=ssl.PROTOCOL_TLSv1_2, *,
- cert_reqs=ssl.CERT_NONE, ca_certs=None,
- ciphers=None, certfile=None, keyfile=None,
- **kwargs):
-@@ -883,7 +883,7 @@ class ContextTests(unittest.TestCase):
- self.assertEqual(ctx.protocol, proto)
-
- def test_ciphers(self):
-- ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- ctx.set_ciphers("ALL")
- ctx.set_ciphers("DEFAULT")
- with self.assertRaisesRegex(ssl.SSLError, "No cipher can be selected"):
-@@ -1542,7 +1542,7 @@ class SimpleBackgroundTests(unittest.Tes
-
- def test_connect_with_context(self):
- # Same as test_connect, but with a separately created context
-- ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- with ctx.wrap_socket(socket.socket(socket.AF_INET)) as s:
- s.connect(self.server_addr)
- self.assertEqual({}, s.getpeercert())
-@@ -1562,7 +1562,7 @@ class SimpleBackgroundTests(unittest.Tes
- # This should fail because we have no verification certs. Connection
- # failure crashes ThreadedEchoServer, so run this in an independent
- # test method.
-- ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- ctx.verify_mode = ssl.CERT_REQUIRED
- s = ctx.wrap_socket(socket.socket(socket.AF_INET))
- self.addCleanup(s.close)
-@@ -1595,7 +1595,7 @@ class SimpleBackgroundTests(unittest.Tes
- with open(SIGNING_CA) as f:
- pem = f.read()
- der = ssl.PEM_cert_to_DER_cert(pem)
-- ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- ctx.verify_mode = ssl.CERT_REQUIRED
- ctx.load_verify_locations(cadata=pem)
- with ctx.wrap_socket(socket.socket(socket.AF_INET)) as s:
-@@ -1604,7 +1604,7 @@ class SimpleBackgroundTests(unittest.Tes
- self.assertTrue(cert)
-
- # same with DER
-- ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- ctx.verify_mode = ssl.CERT_REQUIRED
- ctx.load_verify_locations(cadata=der)
- with ctx.wrap_socket(socket.socket(socket.AF_INET)) as s:
-@@ -1676,7 +1676,7 @@ class SimpleBackgroundTests(unittest.Tes
-
- def test_get_ca_certs_capath(self):
- # capath certs are loaded on request
-- ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- ctx.verify_mode = ssl.CERT_REQUIRED
- ctx.load_verify_locations(capath=CAPATH)
- self.assertEqual(ctx.get_ca_certs(), [])
-@@ -1689,8 +1689,8 @@ class SimpleBackgroundTests(unittest.Tes
- @needs_sni
- def test_context_setget(self):
- # Check that the context of a connected socket can be replaced.
-- ctx1 = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-- ctx2 = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ ctx1 = ssl.SSLContext(ssl.PROTOCOL_TLSv1_1)
-+ ctx2 = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- s = socket.socket(socket.AF_INET)
- with ctx1.wrap_socket(s) as ss:
- ss.connect(self.server_addr)
-@@ -1740,7 +1740,7 @@ class SimpleBackgroundTests(unittest.Tes
- sock.connect(self.server_addr)
- incoming = ssl.MemoryBIO()
- outgoing = ssl.MemoryBIO()
-- ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- ctx.verify_mode = ssl.CERT_REQUIRED
- ctx.load_verify_locations(SIGNING_CA)
- ctx.check_hostname = True
-@@ -1773,7 +1773,7 @@ class SimpleBackgroundTests(unittest.Tes
- sock.connect(self.server_addr)
- incoming = ssl.MemoryBIO()
- outgoing = ssl.MemoryBIO()
-- ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
-+ ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
- ctx.verify_mode = ssl.CERT_NONE
- sslobj = ctx.wrap_bio(incoming, outgoing, False)
- self.ssl_io_loop(sock, incoming, outgoing, sslobj.do_handshake)
diff --git a/debian/pdb.1.in b/debian/pdb.1.in
index d839341..1b38538 100644
--- a/debian/pdb.1.in
+++ b/debian/pdb.1.in
@@ -13,4 +13,4 @@ help is available via the help command.
.SH SEE ALSO
python@VER@(1). Chapter "The Python Debugger" of the Python Library
Reference. Available in the python@VER@-doc package at
-/usr/share/doc/python@VER@/html/library/module-pdb.html.
+/usr/share/doc/python@VER@/html/library/pdb.html.
diff --git a/debian/py37-breaks.Debian b/debian/py37-breaks.Debian
new file mode 100644
index 0000000..35ff818
--- /dev/null
+++ b/debian/py37-breaks.Debian
@@ -0,0 +1,73 @@
+python3-twisted (<< 18.4.0-2),
+python3-pexpect (<< 4.6.0-1~),
+python3-cxx-dev (<< 7.0.3-2),
+libboost-python1.62.0 (<< 1.62.0+dfsg-6),
+python3-psycopg2 (<< 2.7.5-2),
+python3-maxminddb (<< 1.4.1-1~),
+python3-blist (<< 1.3.6-5),
+python3-django (<< 1:1.11.13-2),
+diffoscope (<< 98),
+gpodder (<< 3.10.3-2),
+python3-trollius (<< 2.1~b1-5),
+python3-slixmpp (<< 1.3.0+git20180724-1),
+python3-exabgp (<< 4.0.8-1),
+python3-dns (<< 3.2.0-1),
+openscap-daemon (<< 0.1.10-3),
+patroni (<< 1.4.4-2),
+python3-cs (<< 2.3.1-1),
+snakemake (<< 5.2.1-1),
+python3-pycsw (<< 2.2.0+dfsg-4),
+python3-aiomeasures (<< 0.5.14-2),
+python3-dns (<< 3.2.0),
+python3-dkim (<< 0.9.0),
+pyzo (<< 4.4.3-1.1~),
+xapers (<< 0.8.2-1.1),
+python3-motor (<= 1.2.3-1.1),
+python3-http-parser (<= 0.8.3-2+b3),
+python3-celery (<= 4.2.0-1),
+python3-astroid (<= 1.6.5-1),
+python3-ubjson (<= 0.8.5-2),
+python3-protobuf (<= 3.0.0-9.1+b1),
+python3-opengl (<= 3.1.0+dfsg-1),
+python3-ws4py (<= 0.4.2+dfsg1-2),
+python3-dropbox (<= 8.7.1-1),
+python3-pycuda (<= 2017.1.1-2+b1),
+python3-libcloud (<= 2.3.0-1),
+python3-jira (<= 1.0.10-1),
+python3-sleekxmpp (<= 1.3.3-3),
+voltron (<= 0.1.4-2),
+visidata (<= 1.0-1),
+salt-common (<= 2017.7.4+dfsg1-1),
+python3-yowsup (<= 2.5.7-3),
+python3-websockets (<= 4.0.1-1),
+python3-txfixtures (<= 0.2.6-1),
+python3-tweepy (<= 3.5.0-1),
+python3-signaller (<= 1.1.0-1),
+python3-rpyc (<= 3.4.4-1),
+python3-protorpc-standalone (<= 0.9.1-3),
+python3-nova (<= 2:17.0.3-12),
+python3-murano (<= 1:5.0.0-1),
+python3-mastodon (<= 1.2.2-1),
+python3-hug (<= 2.3.0-1.1),
+python3-async (<= 0.6.2-2),
+python3-pylama (<= 7.4.3-1),
+python3-glance (<= 2:16.0.1-6),
+python3-gbulb (<= 0.5.3-2),
+python3-engineio (<= 1.6.1-1),
+python3-doublex (<= 1.8.2-1),
+python3-opcua (<= 0.95.1-1),
+oca-core (<= 11.0.20180420-1),
+python3-panoramisk (<= 1.0-1),
+linux-show-player (<= 0.5-1),
+python3-azure (<= 20170915+git-1),
+python3-applicationinsights (<= 0.11.0-1),
+python3-aiopg (<= 0.14.0-1),
+python3-aiozmq (<= 0.7.1-2),
+python3-pysnmp4 (<= 4.4.3-1),
+python3-astroquery (<= 0.3.8+dfsg-2),
+fail2ban (<= 0.10.2-2),
+python3-morse-simulator (<= 1.4-3),
+python3-tango (<= 9.2.3-1),
+python3-pycuda (<= 2017.1.1-2),
+gnome-builder (<< 3.28.3-1),
+python3-pyatspi (<= 2.26.0+dfsg-1),
diff --git a/debian/pyfpe-breaks.Debian b/debian/pyfpe-breaks.Debian
deleted file mode 100644
index db638a9..0000000
--- a/debian/pyfpe-breaks.Debian
+++ /dev/null
@@ -1,52 +0,0 @@
-cython3 (<< 0.26-2.1),
-python3-lxml (<< 3.8.0-2),
-python3-numpy (<< 1:1.12.1-3.1),
-python3-tk (<< 3.6.2-1~),
-python3-scipy (<< 0.18.1-2.1),
-borgbackup (<= 1.0.11-3),
-python3-acora (<= 2.0-2+b1),
-python3-adios (<= 1.12.0-3),
-python3-astroml-addons (<= 0.2.2-4),
-python3-astropy (<= 2.0.1-2),
-python3-astroscrappy (<= 1.0.5-1+b1),
-python3-asyncpg (<= 0.12.0-1),
-python3-bcolz (<= 1.1.0+ds1-4+b1),
-python3-brainstorm (<= 0.5-3+b1),
-python3-cartopy (<= 0.14.2+dfsg1-2+b1),
-python3-cutadapt (<= 1.13-1+b1),
-python3-djvu (<= 0.8-2),
-python3-fabio (<= 0.4.0+dfsg-2+b1),
-python3-falcon (<= 1.0.0-2+b1),
-python3-fiona (<= 1.7.9-1),
-python3-grib (<= 2.0.2-2),
-python3-gssapi (<= 1.2.0-1+b1),
-python3-h5py (<= 2.7.0-1+b1),
-python3-healpy (<= 1.10.3-2+b1),
-python3-kivy (<= 1.9.1-1+b1),
-python3-libdiscid (<= 1.0-1+b1),
-python3-liblo (<= 0.10.0-3+b1),
-python3-llfuse (<= 1.2+dfsg-1+b1),
-python3-ltfatpy (<= 1.0.9-1),
-python3-netcdf4 (<= 1.2.9-1+b1),
-python3-pandas-lib (<= 0.20.3-1),
-python3-petsc4py (<= 3.7.0-3+b1),
-python3-pybedtools (<= 0.7.8-1),
-python3-pyfai (<= 0.13.0+dfsg-1+b1),
-python3-pygpu (<= 0.6.9-2),
-python3-pymca5 (<= 5.1.3+dfsg-1+b1),
-python3-pymssql (<= 2.1.3+dfsg-1+b1),
-python3-pyresample (<= 1.5.0-3+b1),
-python3-pysam (<= 0.11.2.2+ds-3),
-python3-pywt (<= 0.5.1-1.1+b1),
-python3-rasterio (<= 0.36.0-2+b2),
-python3-sfml (<= 2.2~git20150611.196c88+dfsg-4),
-python3-shapely (<= 1.6.1-1),
-python3-skbio (<= 0.5.1-2+b1),
-python3-skimage-lib (<= 0.12.3-9+b1),
-python3-sklearn-lib (<= 0.19.0-1),
-python3-specutils (<= 0.2.2-1+b1),
-python3-stemmer (<= 1.3.0+dfsg-1+b7),
-python3-tables-lib (<= 3.3.0-5+b1),
-python3-tinycss (<= 0.4-1+b1),
-python3-wheezy.template (<= 0.1.167-1.1+b1),
-python3-yt (<= 3.3.3-2+b1),
diff --git a/debian/pyfpe-breaks.Ubuntu b/debian/pyfpe-breaks.Ubuntu
deleted file mode 100644
index b245107..0000000
--- a/debian/pyfpe-breaks.Ubuntu
+++ /dev/null
@@ -1,2 +0,0 @@
-python3-numpy (<< 1:1.12.1-3.1),
-python3-tk (<< 3.6.2-1~),
diff --git a/debian/pymindeps.py b/debian/pymindeps.py
index 00f6ce0..4fee74b 100644
--- a/debian/pymindeps.py
+++ b/debian/pymindeps.py
@@ -128,6 +128,8 @@ excluded_imports = {
'subprocess': set(('dummy_threading',)),
'sysconfig': set(('pprint','_osx_support')),
'tempfile': set(('_dummy_thread', 'shutil')),
+ 'functools': set(('typing',)),
+ 'platform': set(('distutils','plistlib')),
}
def main(argv):
diff --git a/debian/rules b/debian/rules
index 6669a0b..95c4887 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,12 +4,7 @@ unexport LANG LC_ALL LC_CTYPE LC_COLLATE LC_TIME LC_NUMERIC LC_MESSAGES
unexport CFLAGS CXXFLAGS LDFLAGS CPPFLAGS
export DEB_BUILD_MAINT_OPTIONS=hardening=-pie
-export DEB_BUILD_MAINT_OPTIONS=hardening=-pie
-DEB_BUILD_MAINT_OPTIONS := hardening=-pie
-export DEB_BUILD_MAINT_OPTIONS
-
-#DEB_MAINT_BUILD_OPTIONS := hardening=-pie
-#export DEB_MAINT_BUILD_OPTIONS
+dpkg_buildflags = DEB_BUILD_MAINT_OPTIONS=$(DEB_BUILD_MAINT_OPTIONS) dpkg-buildflags
export SHELL = /bin/bash
@@ -29,7 +24,7 @@ DEB_HOST_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)
ifeq ($(DEB_HOST_ARCH_OS),linux)
PLAT = linux
else ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
- PLAT = gnukfreebsd10
+ PLAT = gnukfreebsd11
else ifeq ($(DEB_HOST_ARCH_OS),hurd)
PLAT = gnu0
else
@@ -67,13 +62,11 @@ ifeq ($(on_buildd),yes)
endif
ifneq (,$(filter $(DEB_HOST_ARCH), armel hppa mips mipsel mips64 mips64el s390 hurd-i386 kfreebsd-amd64 kfreebsd-i386))
WITHOUT_BENCH := yes
- WITHOUT_STONE := yes
endif
endif
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
WITHOUT_BENCH := yes
WITHOUT_CHECK := yes
- WITHOUT_STONE := yes
endif
COMMA = ,
@@ -83,13 +76,14 @@ endif
distribution := $(shell lsb_release -is)
distrelease := $(shell lsb_release -cs)
-derivative := $(shell if dpkg-vendor --derives-from Ubuntu; then echo Ubuntu; \
- elif dpkg-vendor --derives-from Debian; then echo Debian; \
- else echo Unknown; fi)
-
-VER=3.6
-SVER=3.6.0~b2
-NVER=3.7
+derivative := $(shell \
+ if dpkg-vendor --derives-from Ubuntu; then echo Ubuntu; \
+ elif dpkg-vendor --derives-from Debian; then echo Debian; \
+ else echo Unknown; fi)
+
+VER=3.7
+SVER=3.7.0
+NVER=3.8
PVER=python$(VER)
EXT_VER=$(subst .,,$(VER))
PRIORITY=$(shell echo $(VER) | tr -d '.')0
@@ -144,36 +138,31 @@ ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy lucid maverick natty on
else
ma_filter = grep -v '^Multi-Arch:'
endif
-ifneq (,$(filter $(distrelease),sid experimental))
- bd_gcc =
-endif
ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy lucid maverick natty oneiric precise quantal raring saucy trusty))
bd_dpkgdev = dpkg-dev (>= 1.17.11),
endif
CC=$(DEB_HOST_GNU_TYPE)-gcc
CXX=$(DEB_HOST_GNU_TYPE)-g++
+ifneq (,$(filter $(distrelease),bionic))
+ CC=$(DEB_HOST_GNU_TYPE)-gcc-8
+ CXX=$(DEB_HOST_GNU_TYPE)-g++-8
+ bd_gcc = g++-8,
+endif
AR=$(DEB_HOST_GNU_TYPE)-ar
RANLIB=$(DEB_HOST_GNU_TYPE)-ranlib
-DPKG_CPPFLAGS:= $(shell dpkg-buildflags --get CPPFLAGS)
-DPKG_CFLAGS = $(shell DEB_BUILD_MAINT_OPTIONS=hardening=-pie dpkg-buildflags --get CFLAGS)
-DPKG_LDFLAGS := $(shell DEB_BUILD_MAINT_OPTIONS=hardening=-pie dpkg-buildflags --get LDFLAGS)
+DPKG_CPPFLAGS= $(shell $(dpkg_buildflags) --get CPPFLAGS)
+DPKG_CFLAGS := $(shell $(dpkg_buildflags) --get CFLAGS)
+DPKG_CFLAGS := $(subst -fstack-protector-strong,-fstack-protector,$(DPKG_CFLAGS))
+DPKG_LDFLAGS = $(shell $(dpkg_buildflags) --get LDFLAGS)
OPT_CFLAGS := $(filter-out -O%,$(DPKG_CFLAGS)) # default is -O3
DEBUG_CFLAGS := $(patsubst -O%,-Og,$(DPKG_CFLAGS))
-$(warning XXXXX CFLAGS: $(DPKG_CFLAGS))
-$(warning XXXXX LDFLAGS: $(DPKG_LDFLAGS))
-
-# on alpha, use -O2 only, use -mieee
-ifeq ($(DEB_HOST_ARCH),alpha)
- OPT_CFLAGS += -mieee
- DEBUG_CFLAGS += -mieee
- EXTRA_OPT_FLAGS += -O2
-endif
-ifeq ($(DEB_HOST_ARCH),m68k)
- EXTRA_OPT_FLAGS += -O2
+# on ia64, disable -O3 until gcc bug #85412 is fixed
+ifeq ($(DEB_HOST_ARCH),ia64)
+ EXTRA_OPT_CFLAGS += -O2
endif
ifneq (,$(filter $(DEB_HOST_ARCH), ppc64 ppc64el))
OPT_CFLAGS += -fexceptions
@@ -182,13 +171,13 @@ endif
ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
ifeq ($(DEB_HOST_ARCH_OS),linux)
- ifneq (,$(findstring $(DEB_HOST_ARCH), amd64 armel armhf i386 powerpc ppc64 ppc64el s390x))
+ ifneq (,$(findstring $(DEB_HOST_ARCH), amd64 armel armhf arm64 i386 powerpc ppc64 ppc64el s390x))
with_pgo := yes
endif
endif
endif
-ifneq (,$(findstring $(DEB_HOST_ARCH), amd64 armel armhf i386 powerpc ppc64 ppc64el s390x))
+ifneq (,$(findstring $(DEB_HOST_ARCH), amd64 armel armhf arm64 i386 powerpc ppc64 ppc64el s390x))
with_lto := yes
endif
@@ -199,11 +188,9 @@ ifneq (,$(findstring noopt, $(DEB_BUILD_OPTIONS)))
with_lto =
endif
- with_pgo =
- with_lto =
-
+BASE_LTO_CFLAGS = -g -fwrapv -O3
ifeq ($(with_lto),yes)
- LTO_CFLAGS = -g -flto -fuse-linker-plugin
+ LTO_CFLAGS = $(BASE_LTO_CFLAGS) -flto -fuse-linker-plugin
with_fat_lto := $(shell dpkg --compare-versions $$($(CC) --version \
| sed -n '/^$(CC)/s,.* ,,p') ge 4.9 && echo yes)
ifeq ($(with_fat_lto),yes)
@@ -214,6 +201,24 @@ ifeq ($(with_lto),yes)
RANLIB=$(DEB_HOST_GNU_TYPE)-gcc-ranlib
endif
+sysconfig_substflags = \
+ -e 's,gcc-8,gcc,;s,g++-8,g++,' \
+ $(if $(with_lto),$(foreach i,-flto -fuse-linker-plugin -ffat-lto-objects,-e 's/$(i)//g')) \
+ -e '/^OPT/s,-O3,-O2,' \
+ -e 's/-O3/-O2/g' \
+ -e 's/-fprofile-use *-fprofile-correction//g' \
+ -e 's/-fstack-protector /-fstack-protector-strong /g' \
+ -e 's/-specs=[^ ]*//g' \
+ -e 's/-fdebug-prefix-map=[^ ]*//g' \
+ -e 's,^RUNSHARED *=.*,RUNSHARED=,' \
+ -e '/BLDLIBRARY/s/-L\. //'
+
+ifeq ($(derivative),Ubuntu)
+ arch_substvars =
+else ifeq ($(derivative),Debian)
+ arch_substvars = '-Vpython37:Breaks=$(shell tr '\n' ' ' < debian/py37-breaks.$(derivative))'
+endif
+
make_build_target = $(if $(with_pgo),profile-opt)
buildd_static := $(CURDIR)/build-static
@@ -263,14 +268,13 @@ d_ldev := debian/$(p_ldev)
d_ldbg := debian/$(p_ldbg)
d_ltst := debian/$(p_ltst)
-
build-arch: stamps/stamp-build
build-indep: stamps/stamp-build-doc
build: build-arch
stamps/stamp-build: stamps/stamp-build-static stamps/stamp-mincheck \
stamps/stamp-build-shared stamps/stamp-build-debug \
stamps/stamp-build-shared-debug \
- stamps/stamp-check stamps/stamp-pystone stamps/stamp-pybench
+ stamps/stamp-check stamps/stamp-pybench
touch $@
PROFILE_EXCLUDES = test_compiler test_distutils test_subprocess \
@@ -281,6 +285,10 @@ PROFILE_EXCLUDES = test_compiler test_distutils test_subprocess \
test_dbm_dumb test_dbm_ndbm test_pydoc test_sundry \
test_signal test_ioctl test_gdb test_ensurepip test_venv
+# TODO: these hang/fail with new OpenSSL
+PROFILE_EXCLUDES += \
+ test_asyncio test_ftplib test_httplib test_imaplib test_nntplib test_poplib test_ssl
+
# TODO: these fail in the profile build
PROFILE_EXCLUDES += \
test_cmd_line_script test_zipimport_support
@@ -304,6 +312,7 @@ ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
cd $(buildd_static) && ./python -c 'from _multiprocessing import SemLock'
endif
cd $(buildd_static) && ./python -c 'import _decimal'
+ cd $(buildd_static) && ./python -c 'import math, cmath'
endif
touch stamps/stamp-build-static
@@ -326,6 +335,12 @@ stamps/stamp-build-debug: stamps/stamp-configure-debug
dh_testdir
$(MAKE) $(NJOBS) -C $(buildd_debug) \
EXTRA_CFLAGS="$(DEBUG_CFLAGS)"
+
+ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+ cd $(buildd_static) && ./python -c 'import _decimal'
+ cd $(buildd_debug) && ./python -c 'import math, cmath'
+endif
+
touch stamps/stamp-build-debug
stamps/stamp-build-shared-debug: stamps/stamp-configure-shared-debug
@@ -382,10 +397,6 @@ stamps/stamp-configure-shared: stamps/stamp-patch
touch $@
stamps/stamp-configure-static: stamps/stamp-patch
- env | grep DEB_
- @echo XXXXX CFLAGS: $(DPKG_CFLAGS)
- @echo XXXXX LDFLAGS: $(DPKG_LDFLAGS)
-
rm -rf $(buildd_static)
mkdir -p $(buildd_static)
cd $(buildd_static) && \
@@ -437,14 +448,14 @@ define __post_configure
: # unconditionally run makesetup
cd $(1) && \
../Modules/makesetup -c ../Modules/config.c.in -s Modules \
- Modules/Setup.config Modules/Setup.local Modules/Setup
+ Modules/Setup.local Modules/Setup
mv $(1)/config.c $(1)/Modules/
: # and fix the timestamps
$(MAKE) -C $(1) Makefile Modules/config.c
: # this second rule doesn't build with -fPIC, remove it.
- sed '/^Modules\/_math.o: .*PY_CORE_CFLAGS/d' $(1)/Makefile > $(1)/Makefile.fixed
+ sed '/^Modules\/_math.o: .*PY_STDMODULE_CFLAGS/d' $(1)/Makefile > $(1)/Makefile.fixed
touch -r $(1)/Makefile $(1)/Makefile.fixed
mv -f $(1)/Makefile.fixed $(1)/Makefile
endef
@@ -507,6 +518,9 @@ ifneq (,$(filter $(DEB_HOST_ARCH), sparc sparc64))
TEST_EXCLUDES += test_gdb
endif
+# fail/hang with new OpenSSL
+TEST_EXCLUDES += test_asyncio test_ftplib test_httplib test_imaplib test_nntplib test_poplib test_ssl
+
# TODO: re-enable once fixed, see #708652
ifneq (,$(filter $(DEB_HOST_ARCH_OS), hurd))
TEST_EXCLUDES += test_asyncore test_curses test_exceptions \
@@ -598,27 +612,6 @@ endif
cp -p $(buildd_static)/test_results debian/
touch stamps/stamp-check
-stamps/stamp-pystone:
-ifeq ($(WITHOUT_STONE),yes)
- @echo "pystone run disabled for this build"
-else
- @echo "BEGIN pystone static"
- cd $(buildd_static) && ./python ../Lib/test/pystone.py
- cd $(buildd_static) && ./python ../Lib/test/pystone.py
- @echo "END pystone static"
- @echo "BEGIN pystone shared"
- cd $(buildd_shared) \
- && LD_LIBRARY_PATH=. ./python ../Lib/test/pystone.py
- cd $(buildd_shared) \
- && LD_LIBRARY_PATH=. ./python ../Lib/test/pystone.py
- @echo "END pystone shared"
- @echo "BEGIN pystone debug"
- cd $(buildd_debug) && ./python ../Lib/test/pystone.py
- cd $(buildd_debug) && ./python ../Lib/test/pystone.py
- @echo "END pystone debug"
-endif
- touch stamps/stamp-pystone
-
stamps/stamp-pybench:
echo "pybench run disabled for this build" > $(buildd_static)/pybench.log
@@ -683,8 +676,31 @@ stamps/stamp-doc-html:
@mkdir -p stamps
touch stamps/stamp-doc-html
+stamps/stamp-doc-info:
+ dh_testdir
+ rm -rf Doc/build/texinfo
+ $(MAKE) -C Doc texinfo
+# - Change name of info file (@setfilename) to include the version.
+# - Change the directory entry to include the version and point to the
+# correct filename.
+# - Change image links (@image) to point to a subdirectory.
+# - Remove trailing whitespace.
+ sed -e 's/^@setfilename .*/@setfilename $(PVER).info/' \
+ -e '/^@direntry/,/^@/s/^\*[^:]*: ([^)]*)/* Python $(VER): ($(PVER))/' \
+ -e 's,@image{,@image{$(PVER)/,g' \
+ -e 's/ *$$//' \
+ < Doc/build/texinfo/python.texi \
+ > Doc/build/texinfo/$(PVER).texi
+ rm -f Doc/build/texinfo/python.texi
+# - Create a symbolic link so that makeinfo will be able to find the
+# image files.
+ ln -s . Doc/build/texinfo/$(PVER)
+ $(MAKE) -C Doc/build/texinfo
+ @mkdir -p stamps
+ touch stamps/stamp-doc-info
+
build-doc: stamps/stamp-patch stamps/stamp-build-doc
-stamps/stamp-build-doc: stamps/stamp-doc-html
+stamps/stamp-build-doc: stamps/stamp-doc-html stamps/stamp-doc-info
@mkdir -p stamps
touch stamps/stamp-build-doc
@@ -697,7 +713,6 @@ control-file:
-e "s/@bd_qual@/$(bd_qual)/g" \
-e "s/@bd_gcc@/$(bd_gcc)/g" \
-e "s/@bd_dpkgdev@/$(bd_dpkgdev)/g" \
- -e "s/PYFPE_BREAKS/$(if $(filter yes,$(with_fpectl)),,$$(tr '\n' ' ' < debian/pyfpe-breaks.$(derivative)))/g" \
debian/control.in \
$(if $(with_udeb),debian/control.udeb) \
| $(ma_filter) \
@@ -733,9 +748,6 @@ clean: control-file
rm -f configure
rm -rf $(TEST_DIR) debian/testdir
- rm -f Lib/test/185test.db
- rm -f Tools/hg/hgtouch.py
-
for f in debian/*.in; do \
f2=`echo $$f | sed "s,PVER,$(PVER),g;s/@VER@/$(VER)/g;s,\.in$$,,"`; \
if [ $$f2 != debian/control ] && [ $$f2 != debian/source.lintian-overrides ]; then \
@@ -784,10 +796,7 @@ stamps/stamp-install: stamps/stamp-build control-file stamps/stamp-control
ifeq ($(with_interp),static)
$(MAKE) -C $(buildd_static) install DESTDIR=$(CURDIR)/$(d)
ls -l $(d)/$(scriptdir)/_sysconfigdata*
- sed -e '/^OPT/s,-O3,-O2,' \
- -e 's/$(LTO_CFLAGS)//g' \
- -e 's,^RUNSHARED *=.*,RUNSHARED=,' \
- -e '/BLDLIBRARY/s/-L\. //' \
+ sed $(sysconfig_substflags) \
$(buildd_shared)/$(shell cat $(buildd_shared)/pybuilddir.txt)/_sysconfigdata_m_$(PLAT)_$(DEB_HOST_MULTIARCH).py \
> $(d)/$(scriptdir)/_sysconfigdata_m_$(PLAT)_$(DEB_HOST_MULTIARCH).py
else
@@ -798,7 +807,7 @@ endif
$(d)/usr/include/$(DEB_HOST_MULTIARCH)/$(PVER)m/.
rm -f $(d)/$(scriptdir)/lib-dynload/*.py
ls -l $(d)/$(scriptdir)/_sysconfigdata*
- sed -i 's/ -O3 / -O2 /g;s/$(LTO_CFLAGS)//g;s/-fprofile-use *-fprofile-correction//g' \
+ sed -i $(sysconfig_substflags) \
$(d)/$(scriptdir)/_sysconfigdata_m_$(PLAT)_$(DEB_HOST_MULTIARCH).py
-find $(d)/usr/lib/python$(VER) -name '*_failed*.so'
@@ -816,7 +825,7 @@ endif
mkdir -p $(d)/usr/lib/python3
mv $(d)/usr/lib/python$(VER)/site-packages \
$(d)/usr/lib/python3/dist-packages
- rm -f $(d)/usr/lib/python3/dist-packages/README
+ rm -f $(d)/usr/lib/python3/dist-packages/README*
: # remove files, which are not packaged
rm -rf $(d)/usr/lib/python$(VER)/ctypes/macholib
@@ -850,7 +859,6 @@ endif
: # Symlinks to /usr/bin for some tools
ln -sf ../lib/python$(VER)/pdb.py $(d)/usr/bin/pdb$(VER)
cp -p debian/pdb.1 $(d)/usr/share/man/man1/pdb$(VER).1
- cp -p debian/2to3-3.1 $(d)/usr/share/man/man1/2to3-$(VER).1
cp -p debian/pysetup3.1 $(d)/usr/share/man/man1/pysetup$(VER).1
cp -p debian/pyvenv3.1 $(d)/usr/share/man/man1/pyvenv-$(VER).1
@@ -886,10 +894,7 @@ endif
cp -p debian/pygettext.1 $(d)/usr/share/man/man1/pygettext$(VER).1
: # install the Makefile of the shared python build
- sed -e '/^OPT/s,-O3,-O2,' \
- -e 's/$(LTO_CFLAGS)//g' \
- -e 's,^RUNSHARED *=.*,RUNSHARED=,' \
- -e '/BLDLIBRARY/s/-L\. //' \
+ sed $(sysconfig_substflags) \
$(buildd_shared)/Makefile \
> $(d)/$(scriptdir)/config-$(VER)m-$(DEB_HOST_MULTIARCH)/Makefile
@@ -1014,7 +1019,7 @@ endif
ln -sf $(DEB_HOST_MULTIARCH)-$(PVER)-config.1.gz $(d_dev)/usr/share/man/man1/$(PVER)-config.1.gz
ifeq ($(with_tk),yes)
- : # Move the Tkinter files into $(p_tk).
+ : # Move the Tkinter extension files into $(p_tk).
dh_installdirs -p$(p_tk) \
$(scriptdir) \
usr/lib/python$(VER)/lib-dynload
@@ -1025,7 +1030,8 @@ endif
: # The test framework into $(p_lbase)
$(dh_compat2) dh_movefiles -p$(p_lbase) --sourcedir=$(d) \
$(scriptdir)/test/{libregrtest,support} \
- $(scriptdir)/test/{regrtest,test_support,__init__,pystone}.py
+ $(scriptdir)/test/{ann_module,ann_module2,ann_module3}.py \
+ $(scriptdir)/test/{regrtest,test_support,__init__,__main__}.py
: # The complete testsuite into $(p_lbase)
$(dh_compat2) dh_movefiles -p$(p_ltst) --sourcedir=$(d) \
@@ -1045,6 +1051,21 @@ endif
: # fixed upstream ...
chmod -x $(d_ltst)/$(scriptdir)/test/{test_dbm_gnu,test_dbm_ndbm}.py
+ : # Tkinter library files shipped in python3-tk
+ rm -rf $(d)/usr/lib/python$(VER)/tkinter
+
+ : # distutils shipped in python3-distutils
+ rm -rf $(d)/usr/lib/python$(VER)/distutils/*
+ : # ... except for distutils.version
+ cp Lib/distutils/{__init__,version}.py \
+ $(d)/usr/lib/python$(VER)/distutils/.
+
+ : # lib2to3 shipped in python3-lib2to3
+ rm -rf \
+ $(d)/usr/bin/2to3-$(VER) \
+ $(d)/usr/share/man/man1/2to3-$(VER).1 \
+ $(d)/usr/lib/python$(VER)/lib2to3
+
: # Move the demos and tools into $(p_exam)'s doc directory
dh_installdirs -p$(p_exam) \
usr/share/doc/python$(VER)/examples
@@ -1063,17 +1084,21 @@ endif
usr/bin \
usr/share/man/man1
$(dh_compat2) dh_movefiles -p$(p_idle) --sourcedir=$(d) \
- usr/bin/idle-python$(VER)
+ usr/bin/idle-python$(VER) \
+ usr/lib/python$(VER)/idlelib
cp -p debian/idle-$(PVER).1 $(d_idle)/usr/share/man/man1/
: # Replace all '#!' calls to python with $(PY_INTERPRETER)
: # and make them executable
- for i in `find debian -mindepth 3 -type f ! -name '*.dpatch'`; do \
+ for i in `find debian -mindepth 3 -type f`; do \
sed '1s,#!.*python[^ ]*\(.*\),#! $(PY_INTERPRETER)\1,' \
$$i > $$i.temp; \
if cmp --quiet $$i $$i.temp; then \
rm -f $$i.temp; \
else \
+ if [ ! -x $$i ]; then \
+ echo "fixed x file permissions: $$i"; \
+ fi; \
mv -f $$i.temp $$i; \
chmod 755 $$i; \
echo "fixed interpreter: $$i"; \
@@ -1085,7 +1110,9 @@ endif
dh_installdocs -p$(p_base) \
README.rst Misc/NEWS Misc/ACKS
ln -sf NEWS.gz $(d_base)/usr/share/doc/$(p_base)/changelog.gz
- dh_installdocs --all -N$(p_base) -N$(p_dev) -N$(p_dbg) -N$(p_lib) debian/README.Debian
+ dh_installdocs --all \
+ -N$(p_base) -N$(p_dev) -N$(p_dbg) -N$(p_lib) \
+ debian/README.Debian
: # IDLE has its own changelogs, docs...
dh_installchangelogs -p$(p_idle) Lib/idlelib/ChangeLog
@@ -1155,17 +1182,13 @@ endif
rm -rf $(d)-dbg
$(MAKE) -C $(buildd_debug) install DESTDIR=$(CURDIR)/$(d)-dbg
: # install the Makefile of the shared python debug build
- sed -e '/^OPT/s,-O3,-O2,' \
- -e 's/$(LTO_CFLAGS)//g' \
- -e 's,^RUNSHARED *=.*,RUNSHARED=,' \
- -e '/BLDLIBRARY/s/-L\. //' \
+ sed $(sysconfig_substflags) \
$(buildd_shdebug)/Makefile \
> $(d)-dbg/$(scriptdir)/config-$(VER)dm-$(DEB_HOST_MULTIARCH)/Makefile
- sed -e 's,^RUNSHARED *=.*,RUNSHARED=,' \
- -e '/BLDLIBRARY/s/-L\. //' \
+ sed $(sysconfig_substflags) \
$(buildd_shdebug)/$(shell cat $(buildd_shdebug)/pybuilddir.txt)/_sysconfigdata_dm_$(PLAT)_$(DEB_HOST_MULTIARCH).py \
> $(d)-dbg/$(scriptdir)/_sysconfigdata_dm_$(PLAT)_$(DEB_HOST_MULTIARCH).py
- sed -i 's/ -O3 / -O2 /g;s/$(LTO_CFLAGS)//g;s/-fprofile-use *-fprofile-correction//g' \
+ sed -i $(sysconfig_substflags) \
$(d)-dbg/$(scriptdir)/_sysconfigdata_dm_$(PLAT)_$(DEB_HOST_MULTIARCH).py
mv $(d)-dbg/usr/lib/libpython*.a $(d)-dbg/usr/lib/$(DEB_HOST_MULTIARCH)/
@@ -1196,11 +1219,10 @@ endif
/usr/lib/$(DEB_HOST_MULTIARCH)/libpython$(VER)dm.so.1 \
/usr/lib/$(DEB_HOST_MULTIARCH)/libpython$(VER)dm.so.1 \
/usr/lib/$(DEB_HOST_MULTIARCH)/libpython$(VER)dm.so
- sed -e '/^Libs:/s,-lpython$(VER),-lpython$(VER)dm,' \
- -e '/^Cflags:/s,$$, -I$${includedir}/$(DEB_HOST_MULTIARCH)/python$(VER)dm,' \
- -e '/^libdir=/d;s/-L\$${libdir} *//' \
- $(d)-dbg/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/python-$(VER).pc \
- > $(d_ldbg)/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/python-$(VER)-dbg.pc
+ cp $(d)-dbg/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/python-$(VER)dm.pc \
+ $(d_ldbg)/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/.
+ ln -s python-$(VER)dm.pc \
+ $(d_ldbg)/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/python-$(VER)-dbg.pc
dh_installdirs -p$(p_dbg) \
usr/bin \
@@ -1322,6 +1344,11 @@ binary-indep: build-indep install stamps/stamp-control
/usr/share/doc/$(p_base)/html /usr/share/doc/$(p_doc)/html \
/usr/share/javascript/jquery/jquery.js /usr/share/doc/$(p_base)/html/_static/jquery.js \
/usr/share/javascript/underscore/underscore.js /usr/share/doc/$(p_base)/html/_static/underscore.js
+ dh_installinfo -p$(p_doc)
+ for f in $(d_doc)/usr/share/doc/$(p_base)/html/_images/*.png; do \
+ b=$$(basename $$f); \
+ dh_link -p$(p_doc) /usr/share/doc/$(p_base)/html/_images/$$b /usr/share/info/$(PVER)/$$b; \
+ done
: # devhelp docs
cd $(buildd_static) && ./python ../debian/pyhtml2devhelp.py \
@@ -1428,7 +1455,7 @@ endif
dep=`sed -n '/^shlibs:Depends/s/[^=]*=\(.*\)/\1/p' $(d_min).substvars | awk -v RS=', ' -v ORS=', ' '/^libc6/ { print }'`; \
echo "shlibs:Pre-Depends=$$dep" >> $(d_min).substvars
sed -i '/^shlibs:Depends/s/libc6[^,]*[, ]*//g' $(d_min).substvars
- dh_gencontrol -a
+ dh_gencontrol -a -- $(arch_substvars)
dh_md5sums -a
dh_builddeb -a
diff --git a/debian/source.lintian-overrides b/debian/source.lintian-overrides
index 42214fa..ba7e349 100644
--- a/debian/source.lintian-overrides
+++ b/debian/source.lintian-overrides
@@ -1,2 +1,5 @@
# generated during the build
-python3.6 source: quilt-build-dep-but-no-series-file
+python3.7 source: quilt-build-dep-but-no-series-file
+
+# wininst binaries included upstream, buildable with mingw64, not shipped
+python3.7 source: source-contains-prebuilt-windows-binary
diff --git a/debian/source.lintian-overrides.in b/debian/source.lintian-overrides.in
index cb61178..06ab070 100644
--- a/debian/source.lintian-overrides.in
+++ b/debian/source.lintian-overrides.in
@@ -1,2 +1,5 @@
# generated during the build
@PVER@ source: quilt-build-dep-but-no-series-file
+
+# wininst binaries included upstream, buildable with mingw64, not shipped
+@PVER@ source: source-contains-prebuilt-windows-binary
diff --git a/debian/tests/control b/debian/tests/control
index 57aa319..6a9d7b2 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,19 +1,46 @@
Tests: testsuite
-Depends: build-essential, locales, python3.6-dev, libpython3.6-testsuite, python3-gdbm
+Depends: build-essential,
+ locales-all,
+ python3.7-dev,
+ libpython3.7-testsuite,
+ python3-gdbm,
+ python3-distutils,
+ python3-tk,
+ idle-python3.7,
# need to turn off apport
Restrictions: needs-root
Tests: testsuite-dbg
-Depends: build-essential, locales, python3.6-dev, python3.6-dbg, libpython3.6-testsuite, python3-gdbm-dbg, gdb
+Depends: build-essential,
+ locales-all, python3.7-dev,
+ python3.7-dbg,
+ libpython3.7-testsuite,
+ python3-gdbm-dbg,
+ gdb,
+ python3-distutils,
+ python3-tk-dbg,
+ idle-python3.7,
# need to turn off apport
Restrictions: needs-root
Tests: failing-tests
-Depends: build-essential, locales, python3.6-dev, libpython3.6-testsuite, python3-gdbm
+Depends: build-essential,
+ locales-all,
+ python3.7-dev,
+ libpython3.7-testsuite,
+ python3-gdbm,
+ python3-distutils,
# need to turn off apport
Restrictions: needs-root allow-stderr
Tests: failing-tests-dbg
-Depends: build-essential, locales, python3.6-dev, python3.6-dbg, libpython3.6-testsuite, python3-gdbm-dbg, gdb
+Depends: build-essential,
+ locales-all,
+ python3.7-dev,
+ python3.7-dbg,
+ libpython3.7-testsuite,
+ python3-gdbm-dbg,
+ gdb,
+ python3-distutils,
# need to turn off apport
Restrictions: needs-root allow-stderr
diff --git a/debian/tests/failing-tests b/debian/tests/failing-tests
index 0272cc0..1ee6f38 100644..100755
--- a/debian/tests/failing-tests
+++ b/debian/tests/failing-tests
@@ -17,41 +17,21 @@ if [ "$(whoami)" = root ]; then
fi
tmphome=$ADTTMP/home
-mkdir -p $tmphome/.local/lib/python3.6/site-packages
+mkdir -p $tmphome/.local/lib/python3.7/site-packages
if [ -n "$su_user" ]; then
chmod go+rx $ADTTMP
chown $su_user:nogroup $tmphome
fi
ls -la $ADTTMP
-# no root access needed after this point
-
debian_dir=$(dirname $(dirname $0))
-export LOCPATH=$(pwd)/locales
-sh $debian_dir/locale-gen
-
-export LANG=C
-
-TESTPYTHON="python3.6 -W default -bb -E -R -m test"
-TESTOPTS="-j 1 -w -uall,-network,-urlfetch,-gui"
-TESTEXCLUSIONS=
-
-# test_code_module: http://bugs.python.org/issue25109
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_code_module"
-
-# test_dbm: Fails from time to time ...
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_dbm"
-
-# test_ensurepip: not yet installed, http://bugs.debian.org/732703
-# ... and then test_venv fails too
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_ensurepip test_venv "
+# no root access needed after this point
-# test_site: Investigate why this fails ... our package has one sitedir less
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_site"
+TESTPYTHON="python3.7 -W default -bb -E -R -m test"
+TESTEXCLUSIONS=""
-# test_zipfile: Issue 17753, requires write access to test and email.test
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_zipfile"
+. $debian_dir/tests/test-common.sh
if [ "$su_user" = nobody ]; then
log=/dev/null
@@ -64,7 +44,7 @@ echo "Running the failing tests with the standard interpreter:"
progressions=
for tst in $TESTEXCLUSIONS; do
if [ -f "$script" ]; then
- cmd="HOME=$tmphome python3.6 $script \"$log\" \"$TESTPYTHON $TESTOPTS $tst\""
+ cmd="HOME=$tmphome python3.7 $script \"$log\" \"$TESTPYTHON $TESTOPTS $tst\""
else
cmd="HOME=$tmphome $TESTPYTHON $TESTOPTS $tst"
fi
diff --git a/debian/tests/failing-tests-dbg b/debian/tests/failing-tests-dbg
index e2581b1..8b2247f 100644..100755
--- a/debian/tests/failing-tests-dbg
+++ b/debian/tests/failing-tests-dbg
@@ -17,41 +17,21 @@ if [ "$(whoami)" = root ]; then
fi
tmphome=$ADTTMP/home
-mkdir -p $tmphome/.local/lib/python3.6/site-packages
+mkdir -p $tmphome/.local/lib/python3.7/site-packages
if [ -n "$su_user" ]; then
chmod go+rx $ADTTMP
chown $su_user:nogroup $tmphome
fi
ls -la $ADTTMP
-# no root access needed after this point
-
debian_dir=$(dirname $(dirname $0))
-export LOCPATH=$(pwd)/locales
-sh $debian_dir/locale-gen
-
-export LANG=C
-
-TESTPYTHON="python3.6dm -W default -bb -E -R -m test"
-TESTOPTS="-j 1 -w -uall,-network,-urlfetch,-gui"
-TESTEXCLUSIONS=
-
-# test_code_module: http://bugs.python.org/issue25109
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_code_module"
-
-# test_dbm: Fails from time to time ...
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_dbm"
-
-# test_ensurepip: not yet installed, http://bugs.debian.org/732703
-# ... and then test_venv fails too
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_ensurepip test_venv "
+# no root access needed after this point
-# test_site: Investigate why this fails ... our package has one sitedir less
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_site"
+TESTPYTHON="python3.7dm -W default -bb -E -R -m test"
+TESTEXCLUSIONS=""
-# test_zipfile: Issue 17753, requires write access to test and email.test
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_zipfile"
+. $debian_dir/tests/test-common.sh
if [ "$su_user" = nobody ]; then
log=/dev/null
@@ -64,7 +44,7 @@ echo "Running the failing tests with the debug enabled interpreter:"
progressions=
for tst in $TESTEXCLUSIONS; do
if [ -f "$script" ]; then
- cmd="HOME=$tmphome python3.6 $script \"$log\" \"$TESTPYTHON $TESTOPTS $tst\""
+ cmd="HOME=$tmphome python3.7 $script \"$log\" \"$TESTPYTHON $TESTOPTS $tst\""
else
cmd="HOME=$tmphome $TESTPYTHON $TESTOPTS $tst"
fi
diff --git a/debian/tests/test-common.sh b/debian/tests/test-common.sh
new file mode 100644
index 0000000..e85869e
--- /dev/null
+++ b/debian/tests/test-common.sh
@@ -0,0 +1,47 @@
+
+if dpkg-vendor --derives-from Ubuntu; then
+ vendor=Ubuntu
+elif dpkg-vendor --derives-from Debian; then
+ vendor=Debian
+else
+ vendor=Unknown
+fi
+
+export LOCPATH=$(pwd)/locales
+sh $debian_dir/locale-gen
+
+export LANG=C.UTF-8
+
+export DEB_PYTHON_INSTALL_LAYOUT=deb_system
+
+TESTOPTS="-j 1 -w -uall,-network,-urlfetch,-gui"
+
+# test_dbm: Fails from time to time ...
+#TESTEXCLUSIONS="$TESTEXCLUSIONS test_dbm"
+
+# test_ensurepip: not yet installed, http://bugs.debian.org/732703
+# ... and then test_venv fails too
+TESTEXCLUSIONS="$TESTEXCLUSIONS test_ensurepip test_venv "
+
+# test_lib2to3: see https://bugs.python.org/issue34286
+TESTEXCLUSIONS="$TESTEXCLUSIONS test_lib2to3"
+
+# test_tcl: see https://bugs.python.org/issue34178
+TESTEXCLUSIONS="$TESTEXCLUSIONS test_tcl"
+
+# FIXME: Failing with OpenSSL 1.2 ...
+# ssl.SSLError: [SSL: CA_MD_TOO_WEAK] ca md too weak (_ssl.c:3401)
+if [ "$vendor" = Debian ]; then
+ TESTEXCLUSIONS="$TESTEXCLUSIONS test_asyncio test_ftplib test_httplib test_imaplib test_nntplib test_poplib test_ssl"
+fi
+
+# FIXME: testWithTimeoutTriggeredSend: timeout not raised by _sendfile_use_sendfile
+TESTEXCLUSIONS="$TESTEXCLUSIONS test_socket"
+
+# FIXME: issue 34806: some distutils tests fail recently
+TESTEXCLUSIONS="$TESTEXCLUSIONS test_distutils"
+
+# FIXME, failing on the Ubuntu autopkg testers
+if [ "$vendor" = Ubuntu ]; then
+ TESTEXCLUSIONS="$TESTEXCLUSIONS test_code_module test_platform test_site"
+fi
diff --git a/debian/tests/testsuite b/debian/tests/testsuite
index 49e70f3..ad6bfa0 100644..100755
--- a/debian/tests/testsuite
+++ b/debian/tests/testsuite
@@ -1,5 +1,7 @@
#!/bin/sh
+env
+
set -e
if [ "$(whoami)" = root ]; then
@@ -24,45 +26,20 @@ fi
ls -la $ADTTMP
tmphome=$ADTTMP/home
-mkdir -p $tmphome/.local/lib/python3.6/site-packages
+mkdir -p $tmphome/.local/lib/python3.7/site-packages
if [ -n "$su_user" ]; then
chmod -R go+rx $ADTTMP
chown -R $su_user:nogroup $tmphome
fi
-# no root access needed after this point
-
debian_dir=$(dirname $(dirname $0))
-export LOCPATH=$(pwd)/locales
-sh $debian_dir/locale-gen
-
-export LANG=C
+# no root access needed after this point
-TESTPYTHON="python3.6 -W default -bb -E -R -m test"
-TESTOPTS="-j 1 -w -uall,-network,-urlfetch,-gui"
+TESTPYTHON="python3.7 -W default -bb -E -R -m test"
TESTEXCLUSIONS="-x"
-# test_code_module: http://bugs.python.org/issue25109
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_code_module"
-
-# test_dbm: Fails from time to time ...
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_dbm"
-
-# test_ensurepip: not yet installed, http://bugs.debian.org/732703
-# ... and then test_venv fails too
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_ensurepip test_venv "
-
-# test_gdb: not run for the optimized build
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_gdb"
-
-# test_site: Investigate why this fails ... our package has one sitedir less
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_site"
-
-# test_zipfile: Issue 17753, requires write access to test and email.test
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_zipfile"
-
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_socket"
+. $debian_dir/tests/test-common.sh
if [ "$su_user" = nobody ]; then
log=/dev/null
@@ -76,7 +53,7 @@ EXTRAENV="env -u https_proxy -u http_proxy -u no_proxy HOME=$tmphome"
script=$debian_dir/script.py
if [ -f "$script" ]; then
- cmd="$EXTRAENV python3.6 $script \"$log\" \"$TESTPYTHON $TESTOPTS $TESTEXCLUSIONS\""
+ cmd="$EXTRAENV python3.7 $script \"$log\" \"$TESTPYTHON $TESTOPTS $TESTEXCLUSIONS\""
else
cmd="$EXTRAENV $TESTPYTHON $TESTOPTS $TESTEXCLUSIONS"
fi
diff --git a/debian/tests/testsuite-dbg b/debian/tests/testsuite-dbg
index 0cf994d..fce9eb9 100644..100755
--- a/debian/tests/testsuite-dbg
+++ b/debian/tests/testsuite-dbg
@@ -17,43 +17,21 @@ if [ "$(whoami)" = root ]; then
fi
tmphome=$ADTTMP/home
-mkdir -p $tmphome/.local/lib/python3.6/site-packages
+mkdir -p $tmphome/.local/lib/python3.7/site-packages
if [ -n "$su_user" ]; then
chmod -R go+rx $ADTTMP
chown -R $su_user:nogroup $tmphome
fi
ls -la $ADTTMP
-# no root access needed after this point
-
debian_dir=$(dirname $(dirname $0))
-export LOCPATH=$(pwd)/locales
-sh $debian_dir/locale-gen
-
-export LANG=C
+# no root access needed after this point
-TESTPYTHON="python3.6dm -W default -bb -E -R -m test"
-TESTOPTS="-j 1 -w -uall,-network,-urlfetch,-gui"
+TESTPYTHON="python3.7dm -W default -bb -E -R -m test"
TESTEXCLUSIONS="-x"
-# test_code_module: http://bugs.python.org/issue25109
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_code_module"
-
-# test_dbm: Fails from time to time ...
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_dbm"
-
-# test_ensurepip: not yet installed, http://bugs.debian.org/732703
-# ... and then test_venv fails too
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_ensurepip test_venv "
-
-# test_site: Investigate why this fails ... our package has one sitedir less
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_site"
-
-# test_zipfile: Issue 17753, requires write access to test and email.test
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_zipfile"
-
-TESTEXCLUSIONS="$TESTEXCLUSIONS test_socket"
+. $debian_dir/tests/test-common.sh
if [ "$su_user" = nobody ]; then
log=/dev/null
@@ -67,7 +45,7 @@ EXTRAENV="env -u https_proxy -u http_proxy -u no_proxy HOME=$tmphome"
script=$debian_dir/script.py
if [ -f "$script" ]; then
- cmd="$EXTRAENV python3.6 $script \"$log\" \"$TESTPYTHON $TESTOPTS $TESTEXCLUSIONS\""
+ cmd="$EXTRAENV python3.7 $script \"$log\" \"$TESTPYTHON $TESTOPTS $TESTEXCLUSIONS\""
else
cmd="$EXTRAENV $TESTPYTHON $TESTOPTS $TESTEXCLUSIONS"
fi
diff --git a/debian/watch b/debian/watch
index c0ae4f6..b650dfb 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,3 @@
version=3
opts=dversionmangle=s/.*\+//,uversionmangle=s/([abcr]+[1-9])$/~$1/ \
- http://www.python.org/ftp/python/3\.5(\.\d)?/Python-(3\.5[.\dabcr]*)\.tgz
+ http://www.python.org/ftp/python/3\.7(\.\d)?/Python-(3\.7[.\dabcr]*)\.tgz