On 2025-10-30 08:57, Alexander Kanavin wrote:
On Wed, 29 Oct 2025 at 21:22, Trevor Gamblin via
lists.openembedded.org <[email protected]>
wrote:
This is a fairly significant upgrade, so I'd like to request some feedback from
others in the community, especially on the new test skips and _sysconfig_vars
reproducibility solutions to see if anyone has better ideas. I've included some
justification in each patch based on what I found during my investigation.
Thanks for working on this! It's good to have several people (and not
just me) who can handle major python updates.

I'm also having a couple of issues with testing that maybe someone can identify
the problem with. In particular, the python3 ptests, reproducibility, and
buildall-qemu results seem OK when I test, but when I try to build ptest images
for recipes that depend on the python3-stringold package, such as
core-image-ptest-python3-license-expression, I see errors like:

|ERROR: python3-unittest-automake-output-0.3-r0 do_package: QA Issue: 
python3-unittest-automake-output: Files/directories were installed but not 
shipped in any package:
...
|  
/home/tgamblin/workspace/yocto/openembedded-core/build/tmp/work/x86-64-v3-poky-linux/python3-unittest-automake-output/0.3/recipe-sysroot-native/usr/lib/python3.14/site-packages/putao/__init__.py
I don't think it's to do with stringold. Rather,
python3targetconfig.bbclass no longer does what it's supposed to
(which is trick native python into reporting target configuration).
You can reproduce for example by building target rpm, and then, from
its $WORKDIR:

with python 3.13
alex@Zen2:/srv/storage/alex/yocto/build-64/tmp/work/x86-64-v3-poky-linux/rpm/4.20.1$
PYTHONPATH=./recipe-sysroot/usr/lib/python-sysconfigdata
_PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
./recipe-sysroot-native/usr/bin/python3-native/python3 -c "import
sysconfig;print(sysconfig.get_path('platlib'))"
/usr/lib/python3.13/site-packages

with python 3.14
alex@Zen2:/srv/storage/alex/yocto/build-64/tmp/work/x86-64-v3-poky-linux/rpm/4.20.1$
PYTHONPATH=./recipe-sysroot/usr/lib/python-sysconfigdata
_PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
./recipe-sysroot-native/usr/bin/python3-native/python3 -c "import
sysconfig;print(sysconfig.get_path('platlib'))"
/srv/storage/alex/yocto/build-64/tmp/work/x86-64-v3-poky-linux/rpm/4.20.1/recipe-sysroot-native/usr/lib/python3.14/site-packages

What is supposed to happen is native python should read
./recipe-sysroot/usr/lib/python-sysconfigdata/_sysconfigdata.py with
these tweaks and use that to report the directory values. So either
the file no longer has correct values, or sysconfig has been somehow
refactored to calculate the paths in some other way.

I have to stop for now, but yes, cross building python is horrible.
It looks like we should be using the build-details.json file that is generated with 3.14.0 and on, as per: https://peps.python.org/pep-0739/

I'm going to try and figure out how to stitch that into the recipe soon.

  ...1-test_cmd-skip-bang-completion-test.patch |   31 +
  ...-test_unix_console.test_cursor_back_.patch |   46 +
These two new patches should also include an upstream ticket links
that report the issues probably.

Alex
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#226803): 
https://lists.openembedded.org/g/openembedded-core/message/226803
Mute This Topic: https://lists.openembedded.org/mt/116020037/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to