Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock python3.11 for bookworm. Changes include: - one code change to fix a regression compared to 3.11.1 #1032019 - making the python3-dbg-config script usable again. - Emit a proper error when users try to use venv without having it installed. - Documentation and lintian cleanups. python3.11 (3.11.2-6) unstable; urgency=high [ Stefano Rivera ] * Explain more ways to pass --break-system-packages to pip. [ Matthias Klose ] * Fix syntax error in python3-dbg-config script. LP: #2009967. -- Matthias Klose <d...@debian.org> Mon, 13 Mar 2023 13:18:29 +0100 python3.11 (3.11.2-5) unstable; urgency=medium [ Matthias Klose ] * Update VCS attributes. * Fix error message for 'python3 -m venv dir`, when python3-venv is not installed. Closes: #1026268. [ Stefano Rivera ] * Mention that deleting EXTERNALLY-MANAGED is an option, in README.venv. * Patch: fix deadlock at shutdown when clearing thread states. Closes: #1032019. * Override expat embedded-library lintian false-positives. (See: #1031859) -- Matthias Klose <d...@debian.org> Sun, 05 Mar 2023 09:28:49 +0100
diff -Nru python3.11-3.11.2/debian/changelog python3.11-3.11.2/debian/changelog --- python3.11-3.11.2/debian/changelog 2023-02-12 01:48:52.000000000 +0100 +++ python3.11-3.11.2/debian/changelog 2023-03-13 13:18:29.000000000 +0100 @@ -1,3 +1,28 @@ +python3.11 (3.11.2-6) unstable; urgency=high + + [ Stefano Rivera ] + * Explain more ways to pass --break-system-packages to pip. + + [ Matthias Klose ] + * Fix syntax error in python3-dbg-config script. LP: #2009967. + + -- Matthias Klose <d...@debian.org> Mon, 13 Mar 2023 13:18:29 +0100 + +python3.11 (3.11.2-5) unstable; urgency=medium + + [ Matthias Klose ] + * Update VCS attributes. + * Fix error message for 'python3 -m venv dir`, when python3-venv + is not installed. Closes: #1026268. + + [ Stefano Rivera ] + * Mention that deleting EXTERNALLY-MANAGED is an option, in README.venv. + * Patch: fix deadlock at shutdown when clearing thread states. + Closes: #1032019. + * Override expat embedded-library lintian false-positives. (See: #1031859) + + -- Matthias Klose <d...@debian.org> Sun, 05 Mar 2023 09:28:49 +0100 + python3.11 (3.11.2-4) unstable; urgency=medium [ Stefano Rivera ] diff -Nru python3.11-3.11.2/debian/control python3.11-3.11.2/debian/control --- python3.11-3.11.2/debian/control 2023-02-12 01:48:02.000000000 +0100 +++ python3.11-3.11.2/debian/control 2023-02-15 06:29:54.000000000 +0100 @@ -20,8 +20,8 @@ valgrind-if-available, Build-Depends-Indep: python3-sphinx, python3-docs-theme, texinfo Standards-Version: 4.6.2 -Vcs-Browser: https://salsa.debian.org/cpython-team/python3 -Vcs-Git: https://salsa.debian.org/cpython-team/python3.git +Vcs-Browser: https://salsa.debian.org/cpython-team/python3/tree/python3.11 +Vcs-Git: https://salsa.debian.org/cpython-team/python3.git -b python3.11 XS-Testsuite: autopkgtest Package: python3.11 diff -Nru python3.11-3.11.2/debian/control.in python3.11-3.11.2/debian/control.in --- python3.11-3.11.2/debian/control.in 2023-02-12 01:47:59.000000000 +0100 +++ python3.11-3.11.2/debian/control.in 2023-02-15 05:16:46.000000000 +0100 @@ -20,8 +20,8 @@ valgrind-if-available, Build-Depends-Indep: python3-sphinx, python3-docs-theme, texinfo Standards-Version: 4.6.2 -Vcs-Browser: https://salsa.debian.org/cpython-team/python3 -Vcs-Git: https://salsa.debian.org/cpython-team/python3.git +Vcs-Browser: https://salsa.debian.org/cpython-team/python3/tree/python3.11 +Vcs-Git: https://salsa.debian.org/cpython-team/python3.git -b python3.11 XS-Testsuite: autopkgtest Package: @PVER@ diff -Nru python3.11-3.11.2/debian/libPVER-dbg.overrides.in python3.11-3.11.2/debian/libPVER-dbg.overrides.in --- python3.11-3.11.2/debian/libPVER-dbg.overrides.in 2019-02-06 13:02:26.000000000 +0100 +++ python3.11-3.11.2/debian/libPVER-dbg.overrides.in 2023-03-05 09:27:09.000000000 +0100 @@ -15,3 +15,6 @@ # yes, some extensions don't have references to any external lib lib@PVER@-dbg binary: shared-lib-without-dependency-information lib@PVER@-dbg binary: library-not-linked-against-libc + +# pyexpat.c contains expat error messages that lintian mis-attributes to embedding +lib@PVER@-dbg binary: embedded-library diff -Nru python3.11-3.11.2/debian/libPVER.overrides.in python3.11-3.11.2/debian/libPVER.overrides.in --- python3.11-3.11.2/debian/libPVER.overrides.in 2013-11-23 13:09:48.000000000 +0100 +++ python3.11-3.11.2/debian/libPVER.overrides.in 2023-03-05 09:27:20.000000000 +0100 @@ -1 +1,4 @@ lib@PVER@ binary: package-name-doesnt-match-sonames + +# pyexpat.c contains expat error messages that lintian mis-attributes to embedding +lib@PVER@ binary: embedded-library diff -Nru python3.11-3.11.2/debian/patches/ensurepip-disabled.diff python3.11-3.11.2/debian/patches/ensurepip-disabled.diff --- python3.11-3.11.2/debian/patches/ensurepip-disabled.diff 2023-02-08 22:58:13.000000000 +0100 +++ python3.11-3.11.2/debian/patches/ensurepip-disabled.diff 2023-02-18 14:01:57.000000000 +0100 @@ -78,7 +78,7 @@ +package, recreate your virtual environment. + +Failing command: {} -+""".format(sysconfig.get_python_version(), err.cmd)) ++""".format(sysconfig.get_python_version(), context.env_exec_cmd)) + sys.exit(1) + raise diff -Nru python3.11-3.11.2/debian/patches/series python3.11-3.11.2/debian/patches/series --- python3.11-3.11.2/debian/patches/series 2023-02-08 22:58:13.000000000 +0100 +++ python3.11-3.11.2/debian/patches/series 2023-03-01 10:58:01.000000000 +0100 @@ -38,3 +38,4 @@ destshared-location.diff fix-py_compile.diff ntpath-import.diff +shutdown-deadlock.diff diff -Nru python3.11-3.11.2/debian/patches/shutdown-deadlock.diff python3.11-3.11.2/debian/patches/shutdown-deadlock.diff --- python3.11-3.11.2/debian/patches/shutdown-deadlock.diff 1970-01-01 01:00:00.000000000 +0100 +++ python3.11-3.11.2/debian/patches/shutdown-deadlock.diff 2023-03-01 10:58:01.000000000 +0100 @@ -0,0 +1,30 @@ +Description: [3.11] GH-102126: fix deadlock at shutdown when clearing thread states (GH-102222) + (cherry picked from commit 5f11478ce7fda826d399530af4c5ca96c592f144) +Author: Kumar Aditya +Origin: upstream, https://github.com/python/cpython/commit/026faf20cc9d1d5913ff7c01a93d8934594d7fec +Bug-Debian: https://bugs.debian.org/1032019 +Bug-Upstream: https://github.com/python/cpython/issues/102126 +--- a/Python/pystate.c ++++ b/Python/pystate.c +@@ -396,11 +396,19 @@ + _PyErr_Clear(tstate); + } + ++ // Clear the current/main thread state last. + HEAD_LOCK(runtime); +- for (PyThreadState *p = interp->threads.head; p != NULL; p = p->next) { ++ PyThreadState *p = interp->threads.head; ++ HEAD_UNLOCK(runtime); ++ while (p != NULL) { ++ // See https://github.com/python/cpython/issues/102126 ++ // Must be called without HEAD_LOCK held as it can deadlock ++ // if any finalizer tries to acquire that lock. + PyThreadState_Clear(p); ++ HEAD_LOCK(runtime); ++ p = p->next; ++ HEAD_UNLOCK(runtime); + } +- HEAD_UNLOCK(runtime); + + Py_CLEAR(interp->audit_hooks); + diff -Nru python3.11-3.11.2/debian/PVER-dbg.overrides.in python3.11-3.11.2/debian/PVER-dbg.overrides.in --- python3.11-3.11.2/debian/PVER-dbg.overrides.in 2018-04-28 14:36:55.000000000 +0200 +++ python3.11-3.11.2/debian/PVER-dbg.overrides.in 2023-03-05 09:27:35.000000000 +0100 @@ -5,3 +5,6 @@ @PVER@-dbg binary: hardening-no-fortify-functions @PVER@-dbg binary: command-with-path-in-maintainer-script + +# pyexpat.c contains expat error messages that lintian mis-attributes to embedding +@PVER@-dbg binary: embedded-library diff -Nru python3.11-3.11.2/debian/PVER-minimal.overrides.in python3.11-3.11.2/debian/PVER-minimal.overrides.in --- python3.11-3.11.2/debian/PVER-minimal.overrides.in 2018-04-28 14:36:08.000000000 +0200 +++ python3.11-3.11.2/debian/PVER-minimal.overrides.in 2023-03-05 09:27:46.000000000 +0100 @@ -1 +1,4 @@ @PVER@-minimal binary: command-with-path-in-maintainer-script + +# pyexpat.c contains expat error messages that lintian mis-attributes to embedding +@PVER@-minimal binary: embedded-library diff -Nru python3.11-3.11.2/debian/PVER-nopie.overrides.in python3.11-3.11.2/debian/PVER-nopie.overrides.in --- python3.11-3.11.2/debian/PVER-nopie.overrides.in 1970-01-01 01:00:00.000000000 +0100 +++ python3.11-3.11.2/debian/PVER-nopie.overrides.in 2023-03-05 09:27:51.000000000 +0100 @@ -0,0 +1,2 @@ +# pyexpat.c contains expat error messages that lintian mis-attributes to embedding +@PVER@-nopie binary: embedded-library diff -Nru python3.11-3.11.2/debian/README.venv python3.11-3.11.2/debian/README.venv --- python3.11-3.11.2/debian/README.venv 2023-02-08 22:58:13.000000000 +0100 +++ python3.11-3.11.2/debian/README.venv 2023-03-13 13:18:29.000000000 +0100 @@ -9,9 +9,9 @@ If you need to install a Python application (or version) that isn't packaged in Debian, we recommend that you install it with pipx (in the "pipx" Debian -package). pipx will create an isolated environment to install the application -and its dependencies in, separate from all other applications and system Python -modules. +package). pipx will set up an environment isolated from other applications and +system Python modules, and install the application and its dependencies into +that. Python library modules ---------------------- @@ -26,6 +26,13 @@ After activating the environment, you can install python applications and library modules into the virtual environment. +e.g. instead of running: +$ pip install --user foo +run: +$ mkdir -p ~/.venvs +$ python3 -m venv ~/.venvs/foo +$ ~/.venvs/foo/bin/python -m pip install foo + If needed, the isolated environment can also have access to system Python modules, with the "--system-site-packages" flag. @@ -46,7 +53,20 @@ This can be overriden by passing the --break-system-packages option to pip. You do this at your own risk: pip may break Python modules that part of your Debian -system depends on. +system depends on. This option can also be specified by exporting +PIP_BREAK_SYSTEM_PACKAGES=1 or configuring the following in +~/.config/pip/pip.conf or /etc/pip.conf: + +[global] +break-system-packages = true + +You can also override this system-wide by removing +/usr/lib/python3.*/EXTERNALLY-MANAGED. Again, you do this at your own risk, +with the understanding that Debian-provided Python modules may be broken by pip +/ other installers. The best way to do this is to move it with dpkg-divert, +which will survive security updates): + +# dpkg-divert --rename --add /usr/lib/$(py3versions -d)/EXTERNALLY-MANAGED -Another option is to install your own Python (from source) in /usr/local, that +A clean option is to install your own Python (from source) in /usr/local, that isn't EXTERNALLY-MANAGED. diff -Nru python3.11-3.11.2/debian/rules python3.11-3.11.2/debian/rules --- python3.11-3.11.2/debian/rules 2023-02-12 01:48:12.000000000 +0100 +++ python3.11-3.11.2/debian/rules 2023-03-13 11:29:53.000000000 +0100 @@ -248,9 +248,9 @@ -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/-ffile-prefix-map=[^ ']*//g" \ + -e "s/-specs=[^ '\"]*//g" \ + -e "s/-fdebug-prefix-map=[^ '\"]*//g" \ + -e "s/-ffile-prefix-map=[^ '\"]*//g" \ -e 's/-Wl,-z,relro//g' \ -e 's,^RUNSHARED *=.*,RUNSHARED=,' \ -e '/BLDLIBRARY/s/-L\. //'