- Tools/Demos - gh-129248: The iOS test runner now strips the log prefix from each line output by the test suite. - gh-104400: Fix several bugs in extraction by switching to an AST parser in pygettext. - Tests - gh-129386: Add test.support.reset_code, which can be used to reset various bytecode-level optimizations and local instrumentation for a function. - gh-128474: Disable test_embed test cases that segfault on BOLT instrument binaries. The tests are only disabled when BOLT is enabled. - gh-128003: Add an option --parallel-threads=N to the regression test runner that runs individual tests in multiple threads in parallel in order to find concurrency bugs. Note that most of the test suite is not yet reviewed for thread-safety or annotated with @thread_unsafe when necessary. - Security - gh-105704: When using urllib.parse.urlsplit() and urllib.parse.urlparse() host parsing would not reject domain names containing square brackets ([ and ]). Square brackets are only valid for IPv6 and IPvFuture hosts according to RFC 3986 Section 3.2.2. - gh-126108: Fix a possible NULL pointer dereference in PySys_AddWarnOptionUnicode(). - gh-80222: Fix bug in the folding of quoted strings when flattening an email message using a modern email policy. Previously when a quoted string was folded so OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=38
27 lines
1.1 KiB
Plaintext
27 lines
1.1 KiB
Plaintext
Notes for packagers of Python3
|
|
==============================
|
|
|
|
0. Faster build turnaround
|
|
--------------------------
|
|
|
|
By default, python builds with profile-guided optimization. This needs
|
|
an additional run of the test suite and it is generally slow.
|
|
PGO build takes around 50 minutes.
|
|
|
|
For development, use "--without profileopt" option to disable PGO. This
|
|
shortens the build time to ~5 minutes including test suite.
|
|
|
|
1. import_failed.map
|
|
----------------------
|
|
|
|
This is a mechanism installed as part of python3-base, that places shim modules
|
|
on python's path (through a generated zzzz-import-failed-hooks.pth file, so that
|
|
it is imported as much at the end as makes sense; and an _import_failed subdir
|
|
of /usr/lib/pythonX.Y). Then when the user tries to import a module that is part
|
|
of a subpackage, the ImportError will contain a helpful message telling them
|
|
which missing subpackage to install.
|
|
|
|
This can sometimes cause problems on non-standard configurations, if the pth
|
|
gets included too early (for instance if you are using a script to include all
|
|
pths by hand in some strange order). Just something to look out for.
|