diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2019-12-01 17:44:24 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2019-12-01 17:44:24 +0300 |
commit | c089c4500b0b78acf03ee5405ad250a84b0dfa66 (patch) | |
tree | 23870848d194569aff6e0e4e41bc7907960b1af1 | |
parent | 377002e7300431b68f3548d9fd2c7f99cf883939 (diff) | |
download | python3.7-debian.tar.gz |
Import python3.7 (3.7.5-2)debian/3.7.5-2debian
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 |