mbox series

[0/5,v2] python3: upgrade 3.13.9 -> 3.14.2

Message ID 20251219134734.842422-1-tgamblin@baylibre.com
Headers show
Series python3: upgrade 3.13.9 -> 3.14.2 | expand

Message

Trevor Gamblin Dec. 19, 2025, 1:47 p.m. UTC
Compared to v1
(https://lists.openembedded.org/g/openembedded-core/message/227955):

- Drop python3-bcrypt upgrade, as someone else has submitted that;
- Drop rpm patch to manually override Python3_SITEARCH with a patch, as that was
  masking the real issue (see below);
- Add a new patch to fix python3targetconfig by exporting _PYTHON_PROJECT_BASE,
  which Python's sysconfig looks for (as of 3.14.0) when doing
  cross-compilation. The absence of this was resulting in packages like rpm
  finding paths for the native interpreter when making use of sysconfig, when
  they needed the host values.

Note that I've dropped my own version of the python3-bcrypt upgrade, but I
tested this patch series on top of the other one that was submitted, as
otherwise the ptest images would break during build (version mismatch errors
around PyO3, which is fixed with the bcrypt upgrade).

v1 details below.

This supersedes a previous series sent, which only did the 3.14.0 upgrade.

Compared to the first series
(https://lists.openembedded.org/g/openembedded-core/message/227310), I've
done the following:

- Added a commit for including the '_py_warnings' and 'annotationlib' modules in
  python3-core;
- Adds the python 3.14.2 upgrade;
- Removed commits for adding python3-misc to RDEPENDS for python3-pytest and
  python3-jsonpointer, as these are now solved by a new patch to add new modules
  to python3-core in the manifest. Doing it this way was fragile in the sense
  that there were many other recipes needing this same fix that testing didn't
  easily catch, and it doesn't make sense to add python3-misc to recipe RDEPENDS
  just because (for example) python3-logging (another package split) is trying
  to make use of warnings, but can't find the right module;
- Modified the rpm commit to apply a patch (submitted upstream) to fix
  CMakeLists.txt, rather than a do_configure prepend;
- Fixed the Python 3.14.0 upgrade commit so that one of the patches we carry to
  skip tests doesn't include duplicate calls to the relevant skip functions.

I've kept the upgrades from 3.13.9 to 3.14.0 and 3.14.0 to 3.14.2 separate to
reflect separate testing and let people review those changelogs individually if
desired.

Trevor Gamblin (5):
  python3: upgrade 3.13.9 -> 3.14.0
  python3targetconfig: export _PYTHON_PROJECT_BASE
  python_pep517: add --prefix to nativepython3 call
  python3: upgrade 3.14.0 -> 3.14.2
  python3: add _py_warnings, annotationlib to core

 meta/classes-recipe/python3-dir.bbclass       |    2 +-
 .../python3targetconfig.bbclass               |    1 +
 meta/classes-recipe/python_pep517.bbclass     |    2 +-
 ...r-OpenSSL-3.4-and-add-it-to-multissl.patch | 1452 -----------------
 ...-use-prefix-value-from-build-configu.patch |   35 +-
 ...sts-due-to-load-variability-on-YP-AB.patch |   31 +-
 ...ctive_children-skip-problematic-test.patch |   17 +-
 ...1-test_cmd-skip-bang-completion-test.patch |   31 +
 ...-test_unix_console.test_cursor_back_.patch |   46 +
 ...kip-test_sysconfig.test_sysconfigdat.patch |   32 +
 .../python/python3/python3-manifest.json      |    5 +-
 .../{python3_3.13.9.bb => python3_3.14.2.bb}  |   20 +-
 12 files changed, 187 insertions(+), 1487 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python3/0001-Generate-data-for-OpenSSL-3.4-and-add-it-to-multissl.patch
 create mode 100644 meta/recipes-devtools/python/python3/0001-test_cmd-skip-bang-completion-test.patch
 create mode 100644 meta/recipes-devtools/python/python3/0001-test_pyrepl-skip-test_unix_console.test_cursor_back_.patch
 create mode 100644 meta/recipes-devtools/python/python3/0001-test_sysconfig-skip-test_sysconfig.test_sysconfigdat.patch
 rename meta/recipes-devtools/python/{python3_3.13.9.bb => python3_3.14.2.bb} (95%)