This (and 2.22) is a first release in many years. Rather than try
to use upstream's absurdly overblown, incompatible build system
(see below), I added a small-ish meson file. This means:
- drop tweaks and dependency on cwautomacros as that is no longer used
- drop patch as configure.ac has been rewritten, and the recipe is using meson anyway
- drop --disable-iberty for the same reason
In this realease, cwautomacros has been replaced by an equally custom, weird set
of macros, written by 'which' maintainer: https://github.com/CarloWood/cwm4
- one effect of that is that autoreconf isn't happy with which's configure.ac and won't run;
one is supposed to use a custom script instead: https://github.com/CarloWood/cwm4/blob/master/scripts/bootstrap.sh
- alas, that script is not shipped in tarballs; the maintainer wants
everyone to trust their 200k configure script (hello xz backdoor)
- building from git (where the script exists) is not impossible,
but that has no version tags
All this 'special handling' for what, exactly? Five .c files to produce one
single-function executable, and one manpage. Wich should all be in coreutils
to begin with. GNU's attachment to autotools defies reason.
(From OE-Core rev: 600545a0ef313e7df5a0f25eba17b73b0f410489)
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>
In OE-core commits:
* b5f8c3e029 (selftest: runqemu: add tests for booting zst compressed image, 2025-07-31)
* e069fe2480 (runqemu: Add support for running compressed .zst rootfs images, 2025-07-31)
runqemu gained the ability to run compressed image (+associated test).
Add this information to the release-notes for 5.3.
(From yocto-docs rev: f268c1b649227d533d02e1a6df797b784fcf80de)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There's no need to differentiate crediting contributors from committing
your changes, so let's simply make it the last step of "Commit your
changes" section.
This simply indents the text so it's now part of "Commit your changes"
list instead of the main list in the "Implement and commit changes"
section. Because of this reorganisation, the instruction to use "git
commit --amend" to add the contributors is moved to a note, and the
first few sentences are reworded to better match the wording of other
items in the "Commit your changes" list of instructions.
(From yocto-docs rev: eff4d14e28d323ebfdaeb0c5c805b5f1e2ad153d)
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
... so that it's clear that you need to read and follow each and every
instruction in this list.
(From yocto-docs rev: c628a489f081925fabaabb5acac6752251150269)
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This should hopefully make it clearer what is expected from the
contributor.
This follows my understanding of git-commit(1)[1] where the following is
a git commit message:
"""
git commit title
git commit description
"""
I'm putting the "Fixes [YOCTO" line in "body of the commit message" so
it's understood as being different from the git commit description so
that the note admonition allowing us to have an empty commit description
doesn't apply to the "Fixes [YOCTO" line.
[1] https://www.man7.org/linux/man-pages/man1/git-commit.1.html#DISCUSSION
(From yocto-docs rev: b84903a760350bd118c56ea9ce4e98039edf6e55)
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The other tag descriptions have the double colon outside of the
highlight, and start the sentence with a lowercase word, so let's align
the CC tag with those.
(From yocto-docs rev: f116e93fb335e9d0f85891c4cb501bcf55b18ccf)
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The example could be understood as the content of the commit message
once the editor (git config core.editor) opens, where the first
line is the actual commit title and not the commit description.
This example would make the Fixes line the commit title, which is not
what we want.
In short, according to my understanding of git-commit(1):
The following is a git commit message:
"""
git commit title
git commit description
"""
Reported-by: Barne Carstensen <barne.carstensen@danfoss.com>
(From yocto-docs rev: a5862406bf3230befe9db9f2539bbbc86c02015d)
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I don't know what was the initial intent but this doesn't seem right, so
let's remove the bold formatting.
Fixes: 4abe87cb20d3 ("contributor-guide: submit-changes: detail commit and patch creation")
Cc: Michael Opdenacker <michael.opdenacker@rootcommit.com>
(From yocto-docs rev: 6c499b3796a578a0fe4c319c9547b4321b0d41df)
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Extend the description of PERSISTENT_DIR to mention that it should not
be shared between builds. Add a note on sharing the hash equivalence
database by setting up a server and not sharing the file in this
directory.
[YOCTO #15727]
(From yocto-docs rev: 0ff0233770b77f9e74f4241dfb555dac2741d8b9)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is the libsoup-2.4 recipe that has been removed, not libsoup.
Also add that it has been moved to meta-oe.
(From yocto-docs rev: ac2896c89df7e5dfa91b18a5e1681019f17182d3)
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This has changed since commit ed4238487c81 ("testexport: Fix to work as
an image class") in OE-Core.
[Antonin Godard: mention oecore commit in commit body]
(From yocto-docs rev: 2caa8e581feaf3640bea68108f9a02583b17b21b)
Signed-off-by: Barne Carstensen <barne.carstensen@danfoss.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For a recipe that uses more than one git repo there isn't a single
SRCREV variable. For example for linux-yocto there is SRCREV_machine and
SRCREV_meta and rd.getVar("SRCREV") yields "INVALID".
Luckily bb.fetch2 already handles all the details and exposes the
currently used revision in ud. So just use that.
(From OE-Core rev: ddf00d6aee955878c070327ee8d751fdb6099444)
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In oe-selftest of reproducibility, recipe apt has reproducibility issue:
...
2025-09-20 17:09:18,986 - oe-selftest - INFO - ======================================================================
2025-09-20 17:09:18,986 - oe-selftest - INFO - FAIL: test_reproducible_builds (reproducible.ReproducibleTests)
2025-09-20 17:09:18,986 - oe-selftest - INFO - ----------------------------------------------------------------------
2025-09-20 17:09:18,986 - oe-selftest - INFO - Traceback (most recent call last):
File "/buildarea5/hjia/contrib/openembedded-core-contrib/meta/lib/oeqa/selftest/cases/reproducible.py", line 406, in test_reproducible_builds
self.fail('\n'.join(fails))
AssertionError: The following deb packages are different and not in exclusion list:
build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/apt-dbg_3.0.3-r0_amd64.deb
build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/apt_3.0.3-r0_amd64.deb
The following ipk packages are different and not in exclusion list:
build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/apt-dbg_3.0.3-r0_x86-64-v3.ipk
build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/apt_3.0.3-r0_x86-64-v3.ipk
The following rpm packages are different and not in exclusion list:
build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/apt-3.0.3-r0.x86_64_v3.rpm
build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/apt-dbg-3.0.3-r0.x86_64_v3.rpm
...
Due to upstream apt commit [1], it calls `id -gn root' in cmake
to set ROOT_GROUP if not define. The output of `id -gn root' may
differ in the compared builds which caused reproducibility issue
...
|build-st/reproducibleB-extended/tmp/work/x86-64-v3-oe-linux/apt/
3.0.3/temp/log.do_configure:124:-- Found root group: wheel
...
|build-st/reproducibleA/tmp/work/x86-64-v3-oe-linux/apt/3.0.3/
temp/log.do_configure:124:-- Found root group: root
...
Explicitly set ROOT_GROUP = "root" for cmake other than call `id -gn root'
to support reproducibility
[1] 6f1f3c9afd
(From OE-Core rev: 5b3d5ae626b0d28535973be2a8a1cf48d314ba12)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using the [ test ] && foo construct in the prerm scriptlet causes
the prerm scriptlet to fail if the final test condition fails, which
with rpm prevents the removal of the package. Switch to using
if;then;fi instead, since it doesn't cause the scriptlet to fail.
(From OE-Core rev: a5327fc16b76db28dd1da37463a046e69713dbac)
Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream notably removed the setup.cfg/setup.py files in this period and
updated pyproject.toml. It still uses setuptools as the build backend,
and should be compatible with recent versions.
Changelog (https://github.com/martinpitt/python-dbusmock/releases):
0.37.0:
- templates: Drop iio-sensors-proxy (See #241)
- DBusTestCase: Drop obsolete {start,stop}_dbus() methods
- Fix dbus-daemon startup race condition (Debian#1109272)
0.36.0:
- mockobject: Fix _wrap_in_dbus_variant for Struct and Dict types (thanks Sebastian Wick)
- Drop setup.{cfg,py} and RHEL 9 support, move to pybuild (rhbz#2377609)
- Drop iio-sensor-proxy tests, the template is broken (see #241)
0.35.0:
- modemmanager: Add operator code (thanks Guido Günther)
- modemmanager: Allow to set CellBroadcast channel list (thanks Guido Günther)
0.34.3:
- tests: Relax libnotify expected format for libnotify 0.8.4
0.34.2:
- spec: Adjust %autosetup to PEP-625 tarball top-level directory
0.34.1:
- spec: Adjust Source URL to PEP-625 tarball name
0.34.0:
- modemmanager: Add cell broadcast messages (thanks Guido Günther)
- Move release builds to pybuild for PEP-625 compatibility
(From OE-Core rev: 523001d3131eb5839162d44d296b65cbf0f6fd56)
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Release notes (https://github.com/pyparsing/pyparsing/releases):
- Barring any catastrophic bugs in this release, this will be the last
release in the 3.2.x line. The next release, 3.3.0, will begin
emitting DeprecationWarnings when the pre-PEP8 methods are used (see
header notes above for more information, including available
automation for converting any existing code using pyparsing with the
old names).
- Fixed bug when using a copy of a Word expression (either by using the
explicit copy() method, or attaching a results name), and setting a
new expression name, a raised ParseException still used the original
expression name. Also affected Regex expressions with as_match or
as_group_list = True. Reported by Waqas Ilyas, in Issue #612 - good
catch!
- Fixed type annotation for replace_with, to accept Any type. Fixes
Issue #602, reported by esquonk.
- Added locking around potential race condition in
ParserElement.reset_cache, as well as other cache-related methods.
Fixes Issue #604, reported by CarlosDescalziIM.
- Substantial update to docstrings and doc generation in preparation for
3.3.0, great effort by FeRD, thanks!
- Notable addition by FeRD to convert docstring examples to work with
doctest! This was long overdue, thanks so much!
(From OE-Core rev: f8e8ddcddf108f66203af28d5db08171b60499d3)
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Release notes (https://github.com/numpy/numpy/releases/tag/v2.3.3):
The NumPy 2.3.3 release is a patch release split between a number of maintenance
updates and bug fixes. This release supports Python versions 3.11-3.14. Note
that the 3.14.0 final is currently expected in Oct, 2025. This release is based
on 3.14.0rc2.
Reproducibility seems OK.
ptests look OK:
|============================================================================
|Testsuite summary
|# TOTAL: 48954
|# PASS: 46490
|# SKIP: 2426
|# XFAIL: 33
|# FAIL: 0
|# XPASS: 5
|# ERROR: 0
|DURATION: 169
|END: /usr/lib/python3-numpy/ptest
|2025-09-19T15:20
|STOP: ptest-runner
|TOTAL: 1 FAIL: 0
(From OE-Core rev: d92db41f718a79ffd3ed173a46c5567fa002e7a7)
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add myself as maintainer for some newly-unassigned Python recipes.
That'll allow them to be picked up on my upgrade checker.
(From OE-Core rev: ae51541d86230414cbbb080d73fb611f7793c4cc)
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We needed to remove the build path from the source tree because it was
embedded into libdnf/dnf-repo.cpp. However, this was replaced with an
environment variable in 0.67.0 onwards[1].
[1] libdnf 04d7fba0 ("Use environment variable in unittest instead of ugly hack in libdnf")
(From OE-Core rev: 948e92562e3a565f97c5eed2992c1d7ecfcc6305)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The gtk-doc integration doesn't actually work, as it isn't built by
default and the targets need to be triggered manually.
As clearly nobody was using it, and upstream appears to prefer doxygen
for API documentation, remove the gtk-doc support.
This also means adding gettext to the dependencies, as this was being
pulled in via gtk-doc before but is actually needed for the translations.
(From OE-Core rev: cd8987a4d044955950dc000a5757175982dcd2f3)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The intention to remove G-I support was stated in [1] and the last few
pieces removed in [2], which were part of 0.15.0.
[1] libdnf a4abd42a ("Move libcheck dependency to tests/")
[2] libdnf e2f2862b ("[swdb]: C++ implementation with SWIG bindings.")
(From OE-Core rev: 6f37e3293c27d06b7aab845370dd3ea63c564fe9)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Apply a patch to make libcheck optional, so we don't need to depend on
it as we don't install the tests.
(From OE-Core rev: 31b95e3c242654f8a7949e8d06df20101668b5a7)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These are only needed if cross-compiling clang, and if someone is
cross-compiling clang in a SDK they should build their own binaries as
these ones might not match the version of clang they're building.
(From OE-Core rev: c79837a11ccf0f3e5a8ccab4ffb379cdefe482e8)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we pass CROSS_TOOLCHAIN_FLAGS_NATIVE to all the builds, instead of
just nativesdk, then clang can correctly build its own native tools as
needed.
This means we can stop manually installing clang-tidy-confusable-chars-gen
as clang-tidy will build it. We (currently) still build the tblgen
binaries once as they're used in several recipes so there's likely value
in building those once.
Also consolidate the LLVM_TABLEGEN variables as they're not specific to
a particular class.
(From OE-Core rev: 36b42975b975b4a5e3904e555e5ee00aba9c2f2b)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Backport a patch from upstream to install lldb-tblgen, and change the
llvm-tblgen-native recipe to use `cmake --install` instead of copying
the binaries.
This ensures that CMake does any post-install steps that are needed, and
we don't install binaries that have eg RPATHs pointing at the build tree.
(From OE-Core rev: 93051e8730263cfc23e1230015a4789dac4914de)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
clang-pseudo and clang-rename have both been removed from upstream, so
don't try to install them anymore:
llvm 40c45b6b4318 ("Remove clang-rename (#108988)")
llvm ed8f78827895 ("Remove clang-pseudo (#109154)")
(From OE-Core rev: ac2a625c9a28a692b87a073aca95197e9d08842b)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Quoting from the README:
llvm-exegesis is a benchmarking tool that accepts or generates
snippets and can measure characteristics of those snippets by
executing it while keeping track of performance counters.
Potentially useful but not essential. This reduces the size of llvm-bin
by ~30MB and llvm-dbg by ~1100MB.
(From OE-Core rev: ed688027468237f4dd258089d4c3ee5f8a9159bb)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't install the tests, or run them in the build tree, so tell cmake
not to generate the targets at all. This removes internal dependencies
which means we can turn off more components that we don't want.
(From OE-Core rev: ba358a03c97cb904248b743c483a7b3f4b9159a9)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of patching the python module detection, we can use the hidden
option LLVM_TOOL_OPT_VIEWER_BUILD.
(From OE-Core rev: ddbbd49c15bad1b2a550188581ffebd752b9b20e)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some Python packages, such as python3-frozenlist, generate .cpp files
with cython so we should also process those.
Frustratingly this doesn't actually solve the reproducible problem with
frozenlist as the path is a temporary directory...
(From OE-Core rev: 07f156731a9dd7cade56e1d64444dafa18f57e6f)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Let's be explicit and ensure that CMAKE_CROSSCOMPILING is explicitly set
to true when we're cross-compiling.
(From OE-Core rev: 82ae2d5497e8ddd825c0350250ed555588a37727)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
CMAKE_RANLIB is the path to the binary without any arguments. However,
gcc-native.bbclass sets BUILD_RANLIB to "ranlib -D" which means that
CMake looks for a binary called "ranlib;-D".
This is expected behaviour upstream[1] and as there's no variable for
"ranlib flags", we should just set CMAKE_RANLIB to the first element of
the list.
[1] https://gitlab.kitware.com/cmake/cmake/-/issues/23554
(From OE-Core rev: 598fa6761488bffb09ba0cbe115b562fb95df959)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For some as yet unknown reason, vte on arm (specifically, the qemuarm
and beaglebone-yocto machines at least) will fail during G-I code
generation (which runs the target binaries inside qemu-user):
Bail out! VTE:ERROR:../sources/vte-0.80.3/src/vtegtk.cc:158:void
style_provider_parsing_error_cb(GtkCssProvider *, void *, GError *):
assertion failed (error == NULL): Expected an identifier (gtk-css-parser-error-quark, 1)
qemu: uncaught target signal 6 (Aborted) - core dumped
Until this can be root-caused, we can disable G-I for this edge case.
(From OE-Core rev: 7874ea42bff4950bd0f0abf0ac729bce5ceb702c)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because of a logic error, lame's configure always passes -march=native
when building with clang.
This is a terrible idea in general as it's not often your build machine
and target hardware aligns, and leads to some amusing errors:
unknown target CPU 'neoverse-n1'
note: valid target CPU values are: i386, i486, ...
Move the HAVE_CLANG block up into the FULL_OPTIMIZATION case, alongside
HAVE_GCC. This option is never enabled (as it's basically "use native")
so resolves the build failure.
(From OE-Core rev: d6f0e26ccf19872e1f4eebb346d76c7bff87ba2a)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The tests require json-c library which is not explicit in build
dependencies:
../sources/fontconfig-2.17.1/test/test-conf.c:27:10: fatal error:
json.h: No such file or directory
27 | #include <json.h>
The tests are not used so just disable them.
(From OE-Core rev: 0d039d959c51f3402631014139c4d6208416b1b7)
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
While python3 module use cython to build library, the generated source file
is not stable at each build and made the generated library not be reproducible
This commit replaces un-predictable string with hardcode string in generated
source file to assure the generated library should be reproducible
(From OE-Core rev: 61d98d12eca1c7bdf3b7387a820c83d3b8fad965)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Due to commit [1] applied in kernel v6.16 (such as qemux86-64),
perl has reproducibility issue occasionally.
Perf's build process generates two copies of its internal headers,
one at tools/lib/perf/include/internal and one at libperf/include/internal
with files like core.h. Although the files are identical, the binaries including
them would see them at different paths and have different debuginfo data. [2]
The reason is the order of include dir `tools/lib/perf/include' and
`libperf/include' is not stable, such as
$ x86_64-poky-linux-gcc ... \
-Ipath-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/tools/lib/perf/include \
-Ipath-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/libperf/include \
-c -o path-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/libperf/core.o core.c
$ recipe-sysroot-native/usr/bin/dwarfsrcfiles sources/perf-1.0/libperf/core.o
/usr/src/debug/perf/1.0/tools/lib/perf/core.c
...
/usr/src/debug/perf/1.0/tools/lib/perf/include/perf/core.h
/usr/src/debug/perf/1.0/tools/lib/perf/include/internal/lib.h
...
$ x86_64-poky-linux-gcc ... \
-Ipath-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/libperf/include \
-Ipath-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/tools/lib/perf/include \
-c -o path-to/tmp/work/qemux86_64-poky-linux/perf/1.0/sources/perf-1.0/libperf/core.o core.c
$ recipe-sysroot-native/usr/bin/dwarfsrcfiles sources/perf-1.0/libperf/core.o
/usr/src/debug/perf/1.0/tools/lib/perf/core.c
...
/usr/src/debug/perf/1.0/libperf/include/perf/core.h
/usr/src/debug/perf/1.0/libperf/include/internal/lib.h
...
This commit explicitly sets the order of these two include dirs
in EXTRA_CFLAGS.
This commit has no regression for kernel v6.6 (such as genericx86-64)
Also enable verbose for compile to trace the detail of build
[1] f5b07010c1
[2] https://git.openembedded.org/openembedded-core/commit/?id=0a886fcacaab0fbce1306c0f99d482f940a8f705
(From OE-Core rev: e18d697e92b55e57124e80234369d46575226386)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Integrating the following commit(s) to linux-yocto/.:
1/1 [
Author: Bruce Ashfield
Email: bruce.ashfield@gmail.com
Subject: drm: add x86 (32bit) to valid architectures
Date: Tue, 23 Sep 2025 15:55:27 -0400
vboxguest drivers / DRM aren't valid for all architectures and
throw warnings if they are enabled for those invalid architectures.
ARM/x86-64 were previously enabled, and we add x86 32bit to the
list to allow vboxguestdrivers (and similar) to have the kernel
configuration options they need to build (and run).
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]
(From OE-Core rev: a76154f8351d869fee802124d23f6f573b1c372b)
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>