Do not rely on how python detects the platform triplet
We have been lucky to get it cross-compiling since our build hosts
are also using glibc, so the headers and gcc install locations match
and the values it detects are mostly what we will need for glibc
based targets, but when we use musl e.g. the problems show up where
python3 is not able to automitically discover python modules so any
python package having compiled .so modules fail to load.
Example is ptest failures with TCLIBC = "musl"
and running core-image-ptest-python3-rpds-py
This is revamp of patch [1], currently its working for glibc
based cross-compiling because we build on linux systems which are also
glibc based, but python on musl shows the problem.
When python was upgraded to 3.12 [2], this patch was wrongly dropped
and sadly regression went unnoticed, without this patch
Python's automatic module discovery does not work when it is cross-compiled
this is because it tries host tools and compiler installation during configure
to detect it. .so modules e.g. modulename.cpython-*.so are not seen as a result.
This is seen when running python3-rpds-py ptests where it should load
rpds.cpython-313-x86_64-linux-musl.so rpds.so but it does not and the module test
fail.
root@qemux86-64:/usr/lib/python3-rpds-py/ptest# python3 -c "
import sysconfig
import importlib.machinery
print('Extension suffixes:', importlib.machinery.EXTENSION_SUFFIXES)
print('Soabi:', sysconfig.get_config_var('SOABI'))
print('Ext suffix:', sysconfig.get_config_var('EXT_SUFFIX'))
print('Module suffix:', sysconfig.get_config_var('SO'))
"
Extension suffixes: ['.cpython-313.so', '.abi3.so', '.so']
Soabi: cpython-313
Ext suffix: .cpython-313.so
Module suffix: None
And after fix it is.
root@qemux86-64:~# python3 -c "
import sysconfig
import importlib.machinery
print('Extension suffixes:', importlib.machinery.EXTENSION_SUFFIXES)
print('Soabi:', sysconfig.get_config_var('SOABI'))
print('Ext suffix:', sysconfig.get_config_var('EXT_SUFFIX'))
print('Module suffix:', sysconfig.get_config_var('SO'))
"
Extension suffixes: ['.cpython-313-x86_64-linux-musl.so', '.abi3.so', '.so']
Soabi: cpython-313-x86_64-linux-musl
Ext suffix: .cpython-313-x86_64-linux-musl.so
Module suffix: None
[1] https://git.openembedded.org/openembedded-core/commit/?id=407744b00d702e3133304e1b43064a5634ca02cf
[2] https://git.openembedded.org/openembedded-core/commit/?id=716d82352545d3667a658b69d65d6127678dd150
(From OE-Core rev: 7bb157e48f5e5272db7506c7eb3118209dc3b35f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
musl's thread startup/teardown sequences and frame-pointer handling
differ from glibc. elfutils can fail to terminate unwinds properly
in multithreaded musl apps which leads to truncated or bogus traces
and then the test's "must contain main" assertion fails.
Skip this test on musl systems
(From OE-Core rev: 6f89b8386b70d35cb27bb90348857ddecda5ed3e)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
liblttng-ctl is exposting undefined symbols which are provided by
libcommon-gpl.a and is not linked into liblttng-ctl.so
(From OE-Core rev: a555a7525beebd4a6103755a6e6df6aa2e4ee7de)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adding the 6.16 reference kernels as our latest reference for
the fall 2025 release.
This has been tested against:
- x86, x86-64
- ppc
- mips, mips64
- arm, arm64
- riscv32, riscv64
The -standard, -rt and -tiny variantes have been validated.
For various iamges. All testing done under qemu, hardware
references will follow later.
(From OE-Core rev: 9b15846663bb4997403f3692c4b6b5a80dd90d52)
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The pwritev and pwrite64 are wrappers over pwritev2 syscall in
musl but strace assumes glibc behavior, ignore them for now
(From OE-Core rev: 38f4f3bfbe2f9625737af15422423b00c32ee076)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
fix issue that:
| nothing provides nghttp2-proxy >= 1.66.0 needed by nghttp2-1.66.0-r0.core2_64 from base
nghttp2-proxy is supposed to involve files ${bindir}/nghttpx and ${datadir}/${BPN}/fetch-ocsp-response
But now nghttp2-proxy will not be created because:
1. ENABLE_APP=OFF in EXTRA_OECMAKE makes ${bindir}/nghttpx not be produced
2. 1.66.0 version has removed fetch-ocsp-response-file according to the Changelog
| cat /tmp/work/aarch64-ubinux-linux/nghttp2/1.66.0/sources/nghttp2-1.66.0/ChangeLog
| ....
| nghttpx: Remove OCSP stapling
|
| This commit removes OCSP stapling features and the following options
| are deprecated and have no effect:
|
| - fetch-ocsp-response-file
| - no-ocsp
| - no-verify-ocsp
| - ocsp-update-interval
(From OE-Core rev: 7008e2d00165991bf218ca2f96fb34244e518456)
Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If SYSTEMD_SERVICE contains both template and instance names, the
preset file will contain two lines: one describing the template name
and one describing the instance names.
This is problematic because systemd.preset only use the first matching
one [1], leading to the instances not getting enabled.
For example, openbmc's obmc-console recipe has the following
final SYSTEMD_SERVICE variable:
```
SYSTEMD_SERVICE:obmc-console = " \
obmc-console@.service \
obmc-console-ssh@.service \
obmc-console-ssh@2200.service \
"
```
The resulting preset file will contain lines with the same name:
```
enable obmc-console@.service
enable obmc-console-ssh@.service
enable obmc-console-ssh@.service 2200
```
Fix this by interpreting the template name as a special case of empty
instances.
Tested: preset files are generated correctly:
```
enable obmc-console@.service
enable obmc-console-ssh@.service 2200
```
[1]: https://www.freedesktop.org/software/systemd/man/257/systemd.preset.html#Preset%20File%20Format
Fixes: f33d9b1f434e ("systemd.bbclass: generate preset for templates")
(From OE-Core rev: 7cdf10840c200a327b6336775698342af7212ee4)
Signed-off-by: Khang D Nguyen <khangng@os.amperecomputing.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The default assignments look like this:
TARGET_GO386 = "${@go_map_386(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
TUNE_FEATURES is a target-specific variable, and so should be used
only for target builds. The change is similar to what is already done
for native packages.
(From OE-Core rev: cfff8e968257c44880caa3605e158764ed5c6a2a)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Per discussion with SPDX licensing group, the package license statements
classify as declared licenses, not concluded licenses.
Note that this is the same as a change made to the recipe licenses, just
for packages.
(From OE-Core rev: 61ba0ef1400a2fa3729473e496e8459cbbba73ad)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mount /run as tmpfs during early init and include it in the set of
mounts moved to $ROOTFS_DIR prior to exec switch_root.
Having /run available early lets initramfs modules stamp state that can
later influence systemd service jobs, since systemd will reuse the mount
point instead of creating a new one during boot.
This is particularly useful with ostree, as it uses /run/ostree-booted
as way to describe that the rootfs comes from an ostree deployment.
(From OE-Core rev: 3a4bd7ddefbf5b412a2b4031d491f5a50f1908cd)
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
=================
- audioconvert: Fix regression when using a mix matrix
- audioconvert: mix-matrix causes caps negotiation failure
- decodebin3: Don't error on an incoming ONVIF metadata stream
- gloverlay: Recompute geometry when caps change, and load texture after stopping and starting again
- uridecodebin3: Add missing locking and NULL checks when adding URIs to messages
- uridecodebin3: segfault in update_message_with_uri() if no decoder available
- videorate, imagefreeze: add support for JPEG XS
- gst-device-monitor-1.0: Add shell quoting for launch lines
- gst-device-monitor-1.0: Fix criticals, and also accept utf8 in launch lines
- gst-device-monitor-1.0: Use gst_print instead of g_print
Refer to release note, no changes this time
https://gstreamer.freedesktop.org/releases/1.26/#1.26.5
(From OE-Core rev: e6822a050a3aeaa6a29a6a0210e3fdcd8180dc74)
Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This had specific uses a long time ago but hasn't been maintained and is now out
of date to the point of being questionable value. Drop it.
(From OE-Core rev: f911cf3beb9b7a761b75c676238df69eb92a6c2b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This version is deprecated and replaced by babeltrace2. Drop the older version
so we can focus efforts around the newer one.
(From OE-Core rev: d16a5e05b3f383d21a1970c6613494416a7503c2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta-yocto rev 506379cb241e6a865139307e06216a07f737b602
changed the IMAGE_FSTYPES to wic.zst but did not change
QB_DEFAULT_FSTYPE to match. This is causing the error:
runqemu - ERROR - Failed to find rootfs
Change the QB_DEFAULT_FSTYPE and it works as before (only now runqemu
requires the 'snapshot' parameter).
(From meta-yocto rev: 24857a05b0c2cc70733f245cf9614ef5fb126647)
Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a patch disabling some ptests in lttng-tools since they are slow, give
no output on the console and cause the ptest run to error due to our 450s
inactivity timeout.
(From OE-Core rev: 328d5c9a1dcfa4c636fd6d6e05f2474c15dc9f7a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove 3 backported patch.
0001-Fix-rotation-destroy-flush-fix-session-daemon-abort-.patch
0001-compat-Define-off64_t-as-off_t-on-linux.patch
0001-tests-add-check_skip_kernel_test-to-check-root-user-.patch
* Remove 0001-fix-lttng-tools-fails-to-compile-with-libxml2-2.14.0.patch
as the issue has been fixed in another way as [1].
* Rebase 0001-tests-do-not-strip-a-helper-library.patch and disable-tests.patch
to fuzz issue.
* Add babeltrace2 to DEPENDS to fix below configure error.
| configure: error: libbabeltrace2 is required to build tests
* src/common/config/session.xsd is restructured to src/common/session.xsd [2].
* Add 0001-gen-ust-events-constructor-change-rpath-to-libdir-li.patch to fix
the below buildpath QA issue.
ERROR: lttng-tools-2.14.0-r0 do_package_qa: QA Issue: File /usr/lib/lttng-tools/ptest/tests/utils/testapp/gen-ust-events-constructor/gen-ust-events-c-constructor-so in package lttng-tools-ptest contains reference to TMPDIR [buildpaths]
ERROR: lttng-tools-2.14.0-r0 do_package_qa: QA Issue: lttng-tools-ptest: /usr/lib/lttng-tools/ptest/tests/utils/testapp/gen-ust-events-constructor/gen-ust-events-c-constructor-so contains bad RPATH /buildarea3/myu2/yocto/builds/ptest-2025-07-09/tmp/work/core2-64-poky-linux/lttng-tools/2.14.0/build/tests/utils/testapp/gen-ust-events-constructor [rpaths]
ERROR: lttng-tools-2.14.0-r0 do_package_qa: QA Issue: File /usr/lib/lttng-tools/ptest/tests/utils/testapp/gen-ust-events-constructor/gen-ust-events-constructor-so in package lttng-tools-ptest contains reference to TMPDIR [buildpaths]
ERROR: lttng-tools-2.14.0-r0 do_package_qa: QA Issue: lttng-tools-ptest: /usr/lib/lttng-tools/ptest/tests/utils/testapp/gen-ust-events-constructor/gen-ust-events-constructor-so contains bad RPATH /buildarea3/myu2/yocto/builds/ptest-2025-07-09/tmp/work/core2-64-poky-linux/lttng-tools/2.14.0/build/tests/utils/testapp/gen-ust-events-constructor [rpaths]
* Add the redpends for lttng-tools-ptest to fix the test failure.
ERROR: tools/live/test_early_inactive_app.py
============================================
Traceback (most recent call last):
File "/usr/lib/lttng-tools/ptest/tests/regression/./tools/live/test_early_inactive_app.py", line 21, in <module>
import lttngtest
File "/usr/lib/lttng-tools/ptest/tests/utils/lttngtest/__init__.py", line 9, in <module>
from .environment import *
File "/usr/lib/lttng-tools/ptest/tests/utils/lttngtest/environment.py", line 13, in <module>
import random
ModuleNotFoundError: No module named 'random'
ERROR: tools/live/test_early_inactive_app.py - missing test plan
ModuleNotFoundError: No module named 'random'
ModuleNotFoundError: No module named 'xml'
ModuleNotFoundError: No module named 'tempfile'
ModuleNotFoundError: No module named 'json'
ModuleNotFoundError: No module named 'bt2'
[1] 2d2e77ddc9
[2] 4ae042345b
RP: Added install of missing expect scripts
Add new dependency on lttng-ust-dev due to test requirement (and remove QA check warning)
Add missing dependency on python3-asyncio for concurency module
(From OE-Core rev: a09c0fa79cba48c76ed9b582e42becff91f32435)
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The python bindings ptests weren't functional. This patch:
* Adds a patch to allow the tests to be executed on target standalone
* Sets a variable to allow the right install path to be passed to setup.py
* Sets the right paths in the ptest runner script for the python modules
* Installs the missing data needed to run the tests
Base patch was written by Michael Jeanson, RP then tweaked wording
and formatting and added config to complete the work on all arches.
(From OE-Core rev: 459ca12493a69402c1a0eaa367d8122c3e8c6acc)
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* The lttng-tools test fails as below as it needs bt2 module.
ERROR: ust/high-throughput/test_high_throughput_snapshot.py
===========================================================
Traceback (most recent call last):
File "/usr/lib/lttng-tools/ptest/tests/regression/./ust/high-throughput/test_high_throughput_snapshot.py", line 26, in <module>
import bt2
ModuleNotFoundError: No module named 'bt2'
Enable python plugins for babeltrace2 to provide the above support.
* Add swig-native to DEPENDS to fix the below configure error.
| configure: error: SWIG 2.0.0 or newer is required to build the python bindings
* There are some ptest failed cases after enable python plugins and
track the failed ptest as https://bugs.lttng.org/issues/1430.
(From OE-Core rev: 194470edf300ae5fd800374c15ef74005d8ca307)
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In case a recipe specifies a git SRC_URI along with revision and tag, but only the
revision is present in the local clone without the tag (because it was tagged after
it was cloned), then unpacking fails with the following error:
... rev-list -n 1 1.0 failed with exit code 128, output:\nfatal: ambiguous argument \'1.0\': unknown revision or path not in the working tree
This happens because the during the download step only the revision's presence is
verified to decide if the repository needs to be updated.
To avoid this, check also if the tag is present in the local repository, when the "tag"
tag is specified.
(Bitbake rev: 546b347b4d3d82c01ecc99f45296f66e44638adc)
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Refactoring prints, print() functions were eliminated from all loops and it uses
"\n".join(...) in a single print() call for better performance.
(Bitbake rev: c32c3d9b83818661e12f3e437563ab4e1fa05e15)
Signed-off-by: Benjamin Szőke <egyszeregy@freemail.hu>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Optimize printing in footer update with use a StringIO buffer and it
prints content to terminal in a single call in every cycle.
(Bitbake rev: 32ba622d78f20b231f30f848379b4bbc3d7414da)
Signed-off-by: Benjamin Szőke <egyszeregy@freemail.hu>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>