2023-04-13 17:34:51 +02:00
|
|
|
From 5754521af1d51aa8e445cba07a093bbc0c88596d Mon Sep 17 00:00:00 2001
|
|
|
|
From: Zackery Spytz <zspytz@gmail.com>
|
|
|
|
Date: Mon, 16 Dec 2019 18:24:08 -0700
|
|
|
|
Subject: [PATCH] bpo-31046: ensurepip does not honour the value of $(prefix)
|
|
|
|
|
|
|
|
Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
|
|
|
|
---
|
|
|
|
Doc/library/ensurepip.rst | 9 +++--
|
|
|
|
Lib/ensurepip/__init__.py | 18 +++++++---
|
|
|
|
Lib/test/test_ensurepip.py | 11 ++++++
|
|
|
|
Makefile.pre.in | 4 +-
|
|
|
|
Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst | 1
|
|
|
|
5 files changed, 34 insertions(+), 9 deletions(-)
|
|
|
|
create mode 100644 Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
|
|
|
|
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
Index: Python-3.12.0/Doc/library/ensurepip.rst
|
2023-06-02 21:32:04 +02:00
|
|
|
===================================================================
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
--- Python-3.12.0.orig/Doc/library/ensurepip.rst
|
|
|
|
+++ Python-3.12.0/Doc/library/ensurepip.rst
|
2023-04-13 17:34:51 +02:00
|
|
|
@@ -59,8 +59,9 @@ is at least as recent as the one availab
|
|
|
|
By default, ``pip`` is installed into the current virtual environment
|
|
|
|
(if one is active) or into the system site packages (if there is no
|
|
|
|
active virtual environment). The installation location can be controlled
|
|
|
|
-through two additional command line options:
|
|
|
|
+through some additional command line options:
|
|
|
|
|
|
|
|
+* ``--prefix <dir>``: Installs ``pip`` using the given directory prefix.
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
* :samp:`--root {dir}`: Installs ``pip`` relative to the given root directory
|
2023-04-13 17:34:51 +02:00
|
|
|
rather than the root of the currently active virtual environment (if any)
|
|
|
|
or the default root for the current Python installation.
|
|
|
|
@@ -92,7 +93,7 @@ Module API
|
|
|
|
Returns a string specifying the available version of pip that will be
|
|
|
|
installed when bootstrapping an environment.
|
|
|
|
|
|
|
|
-.. function:: bootstrap(root=None, upgrade=False, user=False, \
|
|
|
|
+.. function:: bootstrap(root=None, prefix=None, upgrade=False, user=False, \
|
|
|
|
altinstall=False, default_pip=False, \
|
|
|
|
verbosity=0)
|
|
|
|
|
|
|
|
@@ -102,6 +103,8 @@ Module API
|
|
|
|
If *root* is ``None``, then installation uses the default install location
|
|
|
|
for the current environment.
|
|
|
|
|
|
|
|
+ *prefix* specifies the directory prefix to use when installing.
|
|
|
|
+
|
|
|
|
*upgrade* indicates whether or not to upgrade an existing installation
|
|
|
|
of an earlier version of ``pip`` to the available version.
|
|
|
|
|
|
|
|
@@ -122,6 +125,8 @@ Module API
|
|
|
|
*verbosity* controls the level of output to :data:`sys.stdout` from the
|
|
|
|
bootstrapping operation.
|
|
|
|
|
|
|
|
+ .. versionchanged:: 3.9 the *prefix* parameter was added.
|
|
|
|
+
|
|
|
|
.. audit-event:: ensurepip.bootstrap root ensurepip.bootstrap
|
|
|
|
|
|
|
|
.. note::
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
Index: Python-3.12.0/Lib/ensurepip/__init__.py
|
2023-06-02 21:32:04 +02:00
|
|
|
===================================================================
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
--- Python-3.12.0.orig/Lib/ensurepip/__init__.py
|
|
|
|
+++ Python-3.12.0/Lib/ensurepip/__init__.py
|
2023-06-02 21:32:04 +02:00
|
|
|
@@ -120,27 +120,27 @@ def _disable_pip_configuration_settings(
|
2023-04-13 17:34:51 +02:00
|
|
|
os.environ['PIP_CONFIG_FILE'] = os.devnull
|
|
|
|
|
|
|
|
|
|
|
|
-def bootstrap(*, root=None, upgrade=False, user=False,
|
|
|
|
+def bootstrap(*, root=None, prefix=None, upgrade=False, user=False,
|
|
|
|
altinstall=False, default_pip=False,
|
|
|
|
verbosity=0):
|
|
|
|
"""
|
|
|
|
Bootstrap pip into the current Python installation (or the given root
|
|
|
|
- directory).
|
|
|
|
+ and directory prefix).
|
|
|
|
|
|
|
|
Note that calling this function will alter both sys.path and os.environ.
|
|
|
|
"""
|
|
|
|
# Discard the return value
|
|
|
|
- _bootstrap(root=root, upgrade=upgrade, user=user,
|
|
|
|
+ _bootstrap(root=root, prefix=prefix, upgrade=upgrade, user=user,
|
|
|
|
altinstall=altinstall, default_pip=default_pip,
|
|
|
|
verbosity=verbosity)
|
|
|
|
|
|
|
|
|
|
|
|
-def _bootstrap(*, root=None, upgrade=False, user=False,
|
|
|
|
+def _bootstrap(*, root=None, prefix=None, upgrade=False, user=False,
|
|
|
|
altinstall=False, default_pip=False,
|
|
|
|
verbosity=0):
|
|
|
|
"""
|
|
|
|
Bootstrap pip into the current Python installation (or the given root
|
|
|
|
- directory). Returns pip command status code.
|
|
|
|
+ and directory prefix). Returns pip command status code.
|
|
|
|
|
|
|
|
Note that calling this function will alter both sys.path and os.environ.
|
|
|
|
"""
|
2023-06-02 21:32:04 +02:00
|
|
|
@@ -190,6 +190,8 @@ def _bootstrap(*, root=None, upgrade=Fal
|
2023-04-13 17:34:51 +02:00
|
|
|
args = ["install", "--no-cache-dir", "--no-index", "--find-links", tmpdir]
|
|
|
|
if root:
|
|
|
|
args += ["--root", root]
|
|
|
|
+ if prefix:
|
|
|
|
+ args += ["--prefix", prefix]
|
|
|
|
if upgrade:
|
|
|
|
args += ["--upgrade"]
|
|
|
|
if user:
|
2023-06-02 21:32:04 +02:00
|
|
|
@@ -265,6 +267,11 @@ def _main(argv=None):
|
2023-04-13 17:34:51 +02:00
|
|
|
help="Install everything relative to this alternate root directory.",
|
|
|
|
)
|
|
|
|
parser.add_argument(
|
|
|
|
+ "--prefix",
|
|
|
|
+ default=None,
|
|
|
|
+ help="Install everything using this prefix.",
|
|
|
|
+ )
|
|
|
|
+ parser.add_argument(
|
|
|
|
"--altinstall",
|
|
|
|
action="store_true",
|
|
|
|
default=False,
|
2023-06-02 21:32:04 +02:00
|
|
|
@@ -283,6 +290,7 @@ def _main(argv=None):
|
2023-04-13 17:34:51 +02:00
|
|
|
|
|
|
|
return _bootstrap(
|
|
|
|
root=args.root,
|
|
|
|
+ prefix=args.prefix,
|
|
|
|
upgrade=args.upgrade,
|
|
|
|
user=args.user,
|
|
|
|
verbosity=args.verbosity,
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
Index: Python-3.12.0/Lib/test/test_ensurepip.py
|
2023-06-02 21:32:04 +02:00
|
|
|
===================================================================
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
--- Python-3.12.0.orig/Lib/test/test_ensurepip.py
|
|
|
|
+++ Python-3.12.0/Lib/test/test_ensurepip.py
|
2023-06-02 21:32:04 +02:00
|
|
|
@@ -105,6 +105,17 @@ class TestBootstrap(EnsurepipMixin, unit
|
2023-04-13 17:34:51 +02:00
|
|
|
unittest.mock.ANY,
|
|
|
|
)
|
|
|
|
|
|
|
|
+ def test_bootstrapping_with_prefix(self):
|
|
|
|
+ ensurepip.bootstrap(prefix="/foo/bar/")
|
|
|
|
+ self.run_pip.assert_called_once_with(
|
|
|
|
+ [
|
|
|
|
+ "install", "--no-cache-dir", "--no-index", "--find-links",
|
|
|
|
+ unittest.mock.ANY, "--prefix", "/foo/bar/",
|
2023-06-02 21:32:04 +02:00
|
|
|
+ "pip",
|
2023-04-13 17:34:51 +02:00
|
|
|
+ ],
|
|
|
|
+ unittest.mock.ANY,
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
def test_bootstrapping_with_user(self):
|
|
|
|
ensurepip.bootstrap(user=True)
|
|
|
|
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
Index: Python-3.12.0/Makefile.pre.in
|
2023-06-02 21:32:04 +02:00
|
|
|
===================================================================
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
--- Python-3.12.0.orig/Makefile.pre.in
|
|
|
|
+++ Python-3.12.0/Makefile.pre.in
|
Accepting request 1102652 from home:dgarcia:branches:devel:languages:python:Factory
- Refresh all patches
- Drop Revert-gh105127-left-tests.patch, in upstream now
- Update to 3.12.0rc1:
- Reverted the :mod:`email.utils` security improvement change
released in 3.12beta4 that unintentionally caused
:mod:`email.utils.getaddresses` to fail to parse email addresses
with a comma in the quoted name field. See :gh:`106669`.
- Start initializing ob_digit during creation of
:c:type:`PyLongObject` objects. Patch by Illia Volochii.
- Increase C recursion limit for functions other than the main
interpreter from 800 to 1500. This should allow functions like
list.__repr__ and json.dumps to handle all the inputs that they
could prior to 3.12
- Fix potential unaligned memory access on C APIs involving returned
sequences of char * pointers within the :mod:`grp` and
:mod:`socket` modules. These were revealed using a
-fsaniziter=alignment build on ARM macOS. Patch by Christopher
Chavez.
- Add the exception as the third argument to PY_UNIND callbacks in
sys.monitoring. This makes the PY_UNWIND callback consistent with
the other exception hanlding callbacks.
- Raise a ValueError when a monitoring callback funtion returns
DISABLE for events that cannot be disabled locally.
- Add a RERAISE event to sys.monitoring, which occurs when an
exception is reraised, either explicitly by a plain raise
statement, or implicitly in an except or finally block.
- Unsupported modules now always fail to be imported.
- Fix classmethod-style :func:`super` method calls (i.e., where the
second argument to :func:`super`, or the implied second argument
drawn from self/cls in the case of zero-arg super, is a type) when
the target of the call is not a classmethod.
- Python no longer crashes due an infrequent race when initialzing
per-interpreter interned strings. The crash would manifest when
the interpreter was finalized.
- Python no longer crashes due to an infrequent race in setting
Py_FileSystemDefaultEncoding and Py_FileSystemDefaultEncodeErrors
(both deprecated), when simultaneously initializing two isolated
subinterpreters. Now they are only set during runtime
initialization.
- Fix a segmentation fault caused by a use-after-free bug in
frame_dealloc when the trashcan delays the deallocation of a
PyFrameObject.
- No longer suppress arbitrary errors in the __annotations__ getter
and setter in the type and module types.
- Propagate frozen_modules to multiprocessing spawned process
interpreters.
- Prevent out-of-bounds memory access during mmap.find() calls.
- Seems that in some conditions, OpenSSL will return
SSL_ERROR_SYSCALL instead of SSL_ERROR_SSL when a certification
verification has failed, but the error parameters will still
contain ERR_LIB_SSL and SSL_R_CERTIFICATE_VERIFY_FAILED. We are
now detecting this situation and raising the appropiate
ssl.SSLCertVerificationError. Patch by Pablo Galindo
- Fix :func:`types.get_original_bases` to only return
:attr:`!__orig_bases__` if it is present on cls directly. Patch by
James Hilton-Balfe.
- Prevent memory leak and use-after-free when using pointers to
pointers with ctypes
- Make :func:`gettext.pgettext` search plural definitions when
translation is not found.
- Document behavior of :func:`shutil.disk_usage` for non-mounted
filesystems on Unix.
- Do not report MultipartInvariantViolationDefect defect when the
:class:`email.parser.Parser` class is used to parse emails with
headersonly=True.
- Fix invalid result from :meth:`PurePath.relative_to` method when
attempting to walk a ".." segment in other with walk_up enabled. A
:exc:`ValueError` exception is now raised in this case.
- Fix potential missing NULL check of d2i_SSL_SESSION result in
_ssl.c.
- Update the bundled copy of pip to version 23.2.1.
- Fixed several bugs in zipfile.Path, including: in Path.match`,
Windows separators are no longer honored (and never were meant to
be); Fixed ``name/suffix/suffixes/stem operations when no filename
is present and the Path is not at the root of the zipfile;
Reworked glob for performance and more correct matching behavior.
- Add __copy__ and __deepcopy__ in :mod:`enum`
- Revert a change to :func:`colorsys.rgb_to_hls` that caused
division by zero for certain almost-white inputs. Patch by Terry
Jan Reedy.
- Instances of :class:`typing.TypeVar`, :class:`typing.ParamSpec`,
:class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs`,
and :class:`typing.TypeVarTuple` once again support weak
references, fixing a regression introduced in Python 3.12.0 beta
1. Patch by Jelle Zijlstra.
- Detect possible memory allocation failure in the libtommath
function :c:func:`mp_init` used by the _tkinter module.
- Fix crash when calling repr with a manually constructed SignalDict
object. Patch by Charlie Zhao.
- Change the default return value of
:meth:`http.client.HTTPConnection.get_proxy_response_headers` to
be None and not {}.
- Ensure gettext(msg) retrieve translations even if a plural form
exists. In other words: gettext(msg) == ngettext(msg, '', 1).
- Add documentation for :c:type:`PyInterpreterConfig` and
:c:func:`Py_NewInterpreterFromConfig`. Also clarify some of the
nearby docs relative to per-interpreter GIL.
- Document the :mod:`curses` module variables :const:`~curses.LINES`
and :const:`~curses.COLS`.
- Add a number of standard external names to nitpick_ignore.
- Add documentation on how to localize the :mod:`argparse` module.
- test_logging: Fix test_udp_reconnection() by increasing the
timeout from 100 ms to 5 minutes (LONG_TIMEOUT). Patch by Victor
Stinner.
- test_capi: Fix test_no_FatalError_infinite_loop() to no longer
write a coredump, by using test.support.SuppressCrashReport. Patch
by Victor Stinner.
- Avoid creating a reference to the test object in
:meth:`~unittest.TestResult.collectedDurations`.
- Moved tests for zipfile.Path into Lib/test/test_zipfile/_path.
Made zipfile._path a package.
- Check for linux/limits.h before including it in
Modules/posixmodule.c.
- Detect MPI compilers in :file:`configure`.
- Add experimental wasi-threads support. Patch by Takashi Yamamoto.
- Update Windows build to use OpenSSL 3.0.9
- Update macOS installer to use OpenSSL 3.0.9.
- Fix bugs in the Argument Clinic destination <name> clear command;
the destination buffers would never be cleared, and the
destination directive parser would simply continue to the fault
handler after processing the command. Patch by Erlend E. Aasland.
- freeze now fetches CONFIG_ARGS from the original CPython instance
the Makefile uses to call utility scripts. Patch by Ijtaba
Hussain.
- :c:func:`PyModule_AddObjectRef` is now only available in the
limited API version 3.10 or later.
OBS-URL: https://build.opensuse.org/request/show/1102652
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=19
2023-08-07 17:58:04 +02:00
|
|
|
@@ -1909,7 +1909,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoni
|
2023-04-13 17:34:51 +02:00
|
|
|
install|*) ensurepip="" ;; \
|
|
|
|
esac; \
|
|
|
|
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
|
|
|
|
- $$ensurepip --root=$(DESTDIR)/ ; \
|
|
|
|
+ $$ensurepip --root=$(DESTDIR)/ --prefix=$(prefix) ; \
|
|
|
|
fi
|
|
|
|
|
2023-06-02 21:32:04 +02:00
|
|
|
.PHONY: altinstall
|
Accepting request 1102652 from home:dgarcia:branches:devel:languages:python:Factory
- Refresh all patches
- Drop Revert-gh105127-left-tests.patch, in upstream now
- Update to 3.12.0rc1:
- Reverted the :mod:`email.utils` security improvement change
released in 3.12beta4 that unintentionally caused
:mod:`email.utils.getaddresses` to fail to parse email addresses
with a comma in the quoted name field. See :gh:`106669`.
- Start initializing ob_digit during creation of
:c:type:`PyLongObject` objects. Patch by Illia Volochii.
- Increase C recursion limit for functions other than the main
interpreter from 800 to 1500. This should allow functions like
list.__repr__ and json.dumps to handle all the inputs that they
could prior to 3.12
- Fix potential unaligned memory access on C APIs involving returned
sequences of char * pointers within the :mod:`grp` and
:mod:`socket` modules. These were revealed using a
-fsaniziter=alignment build on ARM macOS. Patch by Christopher
Chavez.
- Add the exception as the third argument to PY_UNIND callbacks in
sys.monitoring. This makes the PY_UNWIND callback consistent with
the other exception hanlding callbacks.
- Raise a ValueError when a monitoring callback funtion returns
DISABLE for events that cannot be disabled locally.
- Add a RERAISE event to sys.monitoring, which occurs when an
exception is reraised, either explicitly by a plain raise
statement, or implicitly in an except or finally block.
- Unsupported modules now always fail to be imported.
- Fix classmethod-style :func:`super` method calls (i.e., where the
second argument to :func:`super`, or the implied second argument
drawn from self/cls in the case of zero-arg super, is a type) when
the target of the call is not a classmethod.
- Python no longer crashes due an infrequent race when initialzing
per-interpreter interned strings. The crash would manifest when
the interpreter was finalized.
- Python no longer crashes due to an infrequent race in setting
Py_FileSystemDefaultEncoding and Py_FileSystemDefaultEncodeErrors
(both deprecated), when simultaneously initializing two isolated
subinterpreters. Now they are only set during runtime
initialization.
- Fix a segmentation fault caused by a use-after-free bug in
frame_dealloc when the trashcan delays the deallocation of a
PyFrameObject.
- No longer suppress arbitrary errors in the __annotations__ getter
and setter in the type and module types.
- Propagate frozen_modules to multiprocessing spawned process
interpreters.
- Prevent out-of-bounds memory access during mmap.find() calls.
- Seems that in some conditions, OpenSSL will return
SSL_ERROR_SYSCALL instead of SSL_ERROR_SSL when a certification
verification has failed, but the error parameters will still
contain ERR_LIB_SSL and SSL_R_CERTIFICATE_VERIFY_FAILED. We are
now detecting this situation and raising the appropiate
ssl.SSLCertVerificationError. Patch by Pablo Galindo
- Fix :func:`types.get_original_bases` to only return
:attr:`!__orig_bases__` if it is present on cls directly. Patch by
James Hilton-Balfe.
- Prevent memory leak and use-after-free when using pointers to
pointers with ctypes
- Make :func:`gettext.pgettext` search plural definitions when
translation is not found.
- Document behavior of :func:`shutil.disk_usage` for non-mounted
filesystems on Unix.
- Do not report MultipartInvariantViolationDefect defect when the
:class:`email.parser.Parser` class is used to parse emails with
headersonly=True.
- Fix invalid result from :meth:`PurePath.relative_to` method when
attempting to walk a ".." segment in other with walk_up enabled. A
:exc:`ValueError` exception is now raised in this case.
- Fix potential missing NULL check of d2i_SSL_SESSION result in
_ssl.c.
- Update the bundled copy of pip to version 23.2.1.
- Fixed several bugs in zipfile.Path, including: in Path.match`,
Windows separators are no longer honored (and never were meant to
be); Fixed ``name/suffix/suffixes/stem operations when no filename
is present and the Path is not at the root of the zipfile;
Reworked glob for performance and more correct matching behavior.
- Add __copy__ and __deepcopy__ in :mod:`enum`
- Revert a change to :func:`colorsys.rgb_to_hls` that caused
division by zero for certain almost-white inputs. Patch by Terry
Jan Reedy.
- Instances of :class:`typing.TypeVar`, :class:`typing.ParamSpec`,
:class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs`,
and :class:`typing.TypeVarTuple` once again support weak
references, fixing a regression introduced in Python 3.12.0 beta
1. Patch by Jelle Zijlstra.
- Detect possible memory allocation failure in the libtommath
function :c:func:`mp_init` used by the _tkinter module.
- Fix crash when calling repr with a manually constructed SignalDict
object. Patch by Charlie Zhao.
- Change the default return value of
:meth:`http.client.HTTPConnection.get_proxy_response_headers` to
be None and not {}.
- Ensure gettext(msg) retrieve translations even if a plural form
exists. In other words: gettext(msg) == ngettext(msg, '', 1).
- Add documentation for :c:type:`PyInterpreterConfig` and
:c:func:`Py_NewInterpreterFromConfig`. Also clarify some of the
nearby docs relative to per-interpreter GIL.
- Document the :mod:`curses` module variables :const:`~curses.LINES`
and :const:`~curses.COLS`.
- Add a number of standard external names to nitpick_ignore.
- Add documentation on how to localize the :mod:`argparse` module.
- test_logging: Fix test_udp_reconnection() by increasing the
timeout from 100 ms to 5 minutes (LONG_TIMEOUT). Patch by Victor
Stinner.
- test_capi: Fix test_no_FatalError_infinite_loop() to no longer
write a coredump, by using test.support.SuppressCrashReport. Patch
by Victor Stinner.
- Avoid creating a reference to the test object in
:meth:`~unittest.TestResult.collectedDurations`.
- Moved tests for zipfile.Path into Lib/test/test_zipfile/_path.
Made zipfile._path a package.
- Check for linux/limits.h before including it in
Modules/posixmodule.c.
- Detect MPI compilers in :file:`configure`.
- Add experimental wasi-threads support. Patch by Takashi Yamamoto.
- Update Windows build to use OpenSSL 3.0.9
- Update macOS installer to use OpenSSL 3.0.9.
- Fix bugs in the Argument Clinic destination <name> clear command;
the destination buffers would never be cleared, and the
destination directive parser would simply continue to the fault
handler after processing the command. Patch by Erlend E. Aasland.
- freeze now fetches CONFIG_ARGS from the original CPython instance
the Makefile uses to call utility scripts. Patch by Ijtaba
Hussain.
- :c:func:`PyModule_AddObjectRef` is now only available in the
limited API version 3.10 or later.
OBS-URL: https://build.opensuse.org/request/show/1102652
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=19
2023-08-07 17:58:04 +02:00
|
|
|
@@ -1920,7 +1920,7 @@ altinstall: commoninstall
|
2023-04-13 17:34:51 +02:00
|
|
|
install|*) ensurepip="--altinstall" ;; \
|
|
|
|
esac; \
|
|
|
|
$(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
|
|
|
|
- $$ensurepip --root=$(DESTDIR)/ ; \
|
|
|
|
+ $$ensurepip --root=$(DESTDIR)/ --prefix=$(prefix) ; \
|
|
|
|
fi
|
|
|
|
|
2023-06-02 21:32:04 +02:00
|
|
|
.PHONY: commoninstall
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
Index: Python-3.12.0/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
|
2023-06-02 21:32:04 +02:00
|
|
|
===================================================================
|
2023-04-13 17:34:51 +02:00
|
|
|
--- /dev/null
|
- Update to the final release of 3.12.0:
Python 3.12 is the latest stable release of the Python
programming language, with a mix of changes to the language and
the standard library. The library changes focus on cleaning up
deprecated APIs, usability, and correctness. Of note, the
distutils package has been removed from the standard library.
Filesystem support in os and pathlib has seen a number of
improvements, and several modules have better performance.
The language changes focus on usability, as f-strings have had
many limitations removed and ‘Did you mean …’ suggestions
continue to improve. The new type parameter syntax and type
statement improve ergonomics for using generic types and type
aliases with static type checkers.
This article doesn’t attempt to provide a complete
specification of all new features, but instead gives
a convenient overview. For full details, you should refer to
the documentation, such as the Library Reference and Language
Reference. If you want to understand the complete
implementation and design rationale for a change, refer to the
PEP for a particular new feature; but note that PEPs usually
are not kept up-to-date once a feature has been fully
implemented.
- New syntax features:
- PEP 695, type parameter syntax and the type statement
- New grammar features:
- PEP 701, f-strings in the grammar
- Interpreter improvements:
- PEP 684, a unique per-interpreter GIL
- PEP 669, low impact monitoring
- Improved ‘Did you mean …’ suggestions for NameError,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=25
2023-10-02 19:22:36 +02:00
|
|
|
+++ Python-3.12.0/Misc/NEWS.d/next/Build/2019-12-16-17-50-42.bpo-31046.XA-Qfr.rst
|
2023-04-13 17:34:51 +02:00
|
|
|
@@ -0,0 +1 @@
|
|
|
|
+A directory prefix can now be specified when using :mod:`ensurepip`.
|