The idea of the base class dependency is to say "yes, I need a C cross compiler"
and this was never meant to be gcc specific. Looking at the codebase, whilst we
code triplets into this, it does overcomplicate things as there are only ever
limited, "target", "sdk" and the class extended versions like mutlilib.
After much thought, we can simplify this to virtual/cross-cc and virtual/nativesdk-cross-cc.
This lets us remove the "gcc" specific element as well as removing the over
complicated triplet usage.
At the same time, change the much less widely used "g++" variant to "c++" for
similar reasons and remove the triplet from virtual/XXX-binutils too.
Backwards compatibility mappings could be left but are just going to confuse
things in future so we'll just require users to update.
This simplification, whilst disruptive for any toolchain focused layers, will
make improved toolchain selection in the future much easier.
Since we no longer have overlapping variables, some code for that can just
be removed. The class extension code does need to start remapping some variables
but not the crosssdk target recipe names.
This patch is in two pieces, this one handles the renaming with the functional
changes separate in a second for easier review even if this breaks bisection.
(From OE-Core rev: 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
fmt-native is needed to build ccache-native, and the compile fails on
hosts with GCC 9.4 (such as Ubuntu 20.04). Backport a patch to fix this
issue.
(From OE-Core rev: 7dbb984f86d04e79d2311411cd8b775e2674b5f3)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This variable no longer exists, and would have had the effect of not
letting the target libtool see the contents of the native aclocal
directory.
I don't understand why this was needed but autotools has improved
dramatically in the last eight years, so it's most likely obsolete now.
(From OE-Core rev: 8ae468b6726392c681a3a35ff37c4401ec45b9d2)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes [YOCTO #15625]
The first attempt to get around the timeout was to double it from 5000
to 10000, which doesn't seem to be enough. Let's try to fix this by
extending the timeout by a factor of 10.
(From OE-Core rev: fb19e038582a2bfc414465ef396c30197f67128f)
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Modified logic in gcc/incpath.cc to ensure that non-existing host system paths are
not deleted during cross-compilation. If the build system attempts to search a host
path, gcc will now issue a warning instead of silently ignoring it.
Fixes [YOCTO #15672]
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15672
(From OE-Core rev: 32e2f9a73a653a00e555e50f9197b605f2f70f89)
Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
During the Rust build process, multiple copies of libstd-*.so are generated, as Rust copies the
required files from the stage2 build artifacts to the target image directory. When these build
binaries are copied to the image, Yocto's do_package step encounters an error. To resolve this,
the redundant libstd-*.so files are removed during the do_install step.
-----------------------------------------------------------------------------------------------
ERROR: rust-1.81.0-r0 do_package: rust: Multiple shlib providers for libstd-20c3de2d9292cd03.so:..
....
-----------------------------------------------------------------------------------------------
Multiple copies of libstd-*.so are generated during the Rust build process.
The redundant files are removed during the do_install step.
(From OE-Core rev: effd4ba4c23cbf53b01116b5cc81d6a29ca3b1a6)
Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The per-tune qemu options variable is QEMU_EXTRAOPTIONS_${TUNE_PKGARCH},
but this doesn't follow the pattern of all of the other tune-specific
variables in the machine configuration which is VARIABLE:tune-[name].
Rename QEMU_EXTRAOPTIONS_${TUNE_PKGARCH} to
QEMU_EXTRAOPTIONS:tune-${TUNE_PKGARCH} for consistency.
Note that this will mean that BSPs need to update any assignments of
this variable.
(From OE-Core rev: 7f981d074442b901f7e64dbdb9db851ff31c3733)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using the package architecture to select the right qemu options to pass
to qemu-user is incorrect, and fails for recipes that set PACKAGE_ARCH
to MACHINE_ARCH (as the qemuppc workarounds suggest) because there are
not typically any options set for the machine name.
Solve this by using TUNE_PKGARCH instead: for the majority of recipes
this is the same value, but for machine-specific recipes it remains the
same instead of changing to the machine name.
This means we can remove the qemuppc workarounds, as they're obsolete.
Also update the gcc-testsuite recipe which uses the same pattern to use
TUNE_PKGARCH, and generalise the else codepath to avoid needing to
update the list of architectures.
[ YOCTO #15647 ]
(From OE-Core rev: 414b754a6cbb9cc354b1180efd5c3329568a2537)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The upstream Makefiles tell autoconf to write the generated script to
configure.sh instead of the idiomatic configure. We now remove all of
the Makefile rules that refer to configure.sh (makefile-no-rebuild.patch)
but the recipe configure changes remained, so remove them too and delete the
existing configure.sh to avoid confusion for anyone looking at the build treee.
Also add a comment explaining why autotools-brokensep is used.
(From OE-Core rev: 599e0fbf7d3dbbad0606143baa0ecccc510348ce)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The tests package has many dependencies which don't BBCLASSEXTEND to native
well. Remove these as we're not interested in the tests in the native case anyway.
(From OE-Core rev: 2885ab7c5b58a8f8ff183360e239d2a36270c662)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adjust run-ptest to use the absolute ptest library location
(tcl 9.x already does this) to avoid clock.test failures.
(From OE-Core rev: 6161afaa3d4f6600a3598bf559576fb571968cbb)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a svml option, disabled by default
(it's avx-512 only, and uses randomly generated
intermediate .o file names, which makes the installed
library non-reproducible).
(From OE-Core rev: a3ce94f1fa79502d8b41de93f9a27d8af2cdc787)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: renamed file
Convert from setuptools to flit.
(From OE-Core rev: 33dfffac6f65145b6e8671a8988a62f1f0e41f72)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
===========
- Never add a vendored smmap directory to sys.path
- Revise and update the readme
- Set Dependabot submodule update cadence to weekly
- Add missing asserts in test_base.py
- Use contextlib.suppress instead of except: pass
- Add support for Python 3.13
- Potential Race Condition Fix - OS Rename & Chmod - PermissionError
- Bump gitdb/ext/smmap from 256c5a2 to 04dd210
- Bump actions/setup-python from 4 to 5
(From OE-Core rev: d899b50547e319cca8bea41301a4758e7635b6cf)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
===========
- remove unneeded use of Import::Into
- fix tests that invoke Test::Warnings->import directly
- avoid redefinition warnings when $^W is enabled in tests
- allow tests to pass even when Import::Into is not installed
- add backcompat shim for cases where Test::More is loaded in tests
after Test::Warnings
- fix Test2 compability for done_testing()
- Test2::Warnings added as a simple wrapper (for now)
(From OE-Core rev: f203ec55e1fd12e4e6822839a4979b3054617d59)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
===========
- Fix unusual PAX header handling for tarerofs;
- Fix LIBARCHIVE.xattr decoding;
- Speed up handling of incompressible data;
- Add a '-E^fragdedupe' option to explicitly disable fragment deduplication;
- Fixes around '-Eall-fragments' and '-Ededupe';
- Use external xxhash library if possible.
(From OE-Core rev: 441abb84142eae10155fbcc3c5a99091afa5dfd9)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Error: Transaction test error:
file /usr/bin/find-debuginfo conflicts between attempted installs of debugedit-5.1-r0.core2_64 and lib32-debugedit-5.1-r0.core2_32
The differences of find-debuginfo are as follows:
@@ -360,7 +360,7 @@ add_minidebug()
# symbol and NOBITS sections so cannot use --keep-only because that is
# too aggressive. Field $2 is the section name, $3 is the section type
# and $8 are the section flags.
- local remove_sections=`x86_64-poky-linux-readelf -W -S "$debuginfo" \
+ local remove_sections=`i686-pokymllib32-linux-readelf -W -S "$debuginfo" \
| awk '{ if (index($2,".debug_") != 1 \
&& ($3 == "PROGBITS" || $3 == "NOTE" || $3 == "NOBITS") \
&& index($8,"A") == 0) \
(From OE-Core rev: 2bc0fcacf0d33eea59a33d28f7263c90c2bf0823)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The newly added ptest-python-pytest removes duplication for:
1. Copying pytest files to the ptest directory
2. Adding standard pytest dependencies
3. Adding a common run-ptest script using pytest
(From OE-Core rev: 8d84d9e19b9292b1863921611924714d77c41d21)
Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When using dnf/rpm, we'll see error messages like below:
error: /usr/lib64/rpm/macros: line 1183: Macro %__plugindir has empty body
The problem was introduced by the following commit in RPM upstream:
ab28534f9e
We'll need to move RPM_PLUGINDIR definition to top-level CMakefile.txt
to solve this problem.
(From OE-Core rev: 3a54d93052cb7f3d591517a873e516136e965ba8)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog: https://docs.python.org/3/whatsnew/changelog.html#python-3-13-1-final
- Patch 'fix-armv5.patch' is in 3.13.1, so no longer needed:
|tgamblin@megalith ~/workspace/git/pythonsrc/cpython ((HEAD detached from v3.13.1))$ git tag --contains 18b9079ddbc149d6b99c922630c246812e4d8ae7
|v3.13.1
- While patch 'crosspythonpath.patch' is listed as 'Inappropriate
[OE-Core integration specific]' specific in the commit message, it is
now breaking the build, while removing it allows python3 to build OK.
It appears that there is a similar change in upstream 3.13.1:
https://github.com/python/cpython/commit/909d5ac2959e
- gcc-symlinks had to be added to ptest RDEPENDS so that 'gcc' could be
found on the path for the
test_ctypes.test_dlerror.TestNullDlsym.test_null_dlsym test.
- Also reformat the DEPENDS and RDEPENDS lists to be alphabetical
and one-per-line, since that's easier to read and modify.
- buildall-qemu output:
|BUILDALL-QEMU LOG FOR python3
|START TIME: 2024-12-18_20:38:01
|HOSTNAME: megalith
|HOST OS: Debian GNU/Linux 12 (bookworm)
|HOST KERNEL: 6.1.0-28-amd64
|===============
|BUILD RESULTS:
|[glibc]
|FAIL: qemuloongarch64
|PASS: qemuriscv32
|PASS: qemuarmv5
|PASS: qemuppc
|PASS: qemumips64
|PASS: qemuriscv64
|PASS: qemuarm64
|PASS: qemuarm
|PASS: qemux86-64
|PASS: qemuppc64
|PASS: qemux86
|PASS: qemumips
|[musl]
|FAIL: qemuloongarch64
|FAIL: qemuriscv32
|PASS: qemuarmv5
|PASS: qemuppc
|PASS: qemumips64
|PASS: qemuriscv64
|PASS: qemuarm64
|PASS: qemuarm
|PASS: qemux86-64
|PASS: qemuppc64
|PASS: qemux86
|PASS: qemumips
|===============
|PASSED: 21
|FAILED: 3
(From OE-Core rev: 08c44d3b140b220ead6334db26097b28612d445a)
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>
This is needed to allow libdnf to build OK with python 3.13.1. Without
it, a vague "Could not invoke dnf" error is seen during rootfs (e.g.
when building core-image-full-cmdline), with a return code of -11.
(From OE-Core rev: 5104807bdb952e90e831759266bd830d523e3d16)
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>
Before upgrading to Tcl 9.0.0, running `tclsh` worked successfully, and
the recipe configuration was as follows: ln -sf ./tclsh${VER}
${D}${bindir}/tclsh
After upgrading to Tcl 9.0.0, to ensure compatibility with Expect, Tcl
8.6.15 was additionally included. To distinguish between the two
versions, the configuration was set as: ln -sf ./tclsh${VER}
${D}${bindir}/tclsh8
Therefore, the input needs to be `tclsh8` to work properly, which means
the `tclsh` references in the Expect-related scripts need to be changed
to `tclsh8`.
(From OE-Core rev: 77c193690fa965fb350aa9c14fb3d20cee97e30c)
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Modify the TCL_LIBRARY to the correct value to resolve the following errors caused by multilib:
application-specific initialization failed: Cannot find a usable init.tcl in the following directories:
/usr/lib/tcl/ptest/library {} /usr/lib64/tcl9.0 /usr/lib64/tcl/lib/tcl9.0 /usr/lib64/lib/tcl9.0 /usr/lib64/tcl/library /usr/lib64/library /usr/lib64/tcl9.0/library /usr/lib64/tcl9.0.0/library /usr/tcl9.0.0/library
(From OE-Core rev: 9ae194e7270b84876a51e21941cdd718e15f1e59)
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
===========
- gc: Introduce new command to remove old projects
- sync: Delete symlinks relative to client topdir
- Add smoke test for subcmd forall
- Remove gitc support from repo
- branches: Escape percent signs in branch names
- sync: Do not fail to sync a manifest with no projects
- Fix event log command event hierarchy.
- Make repo installation work without .git
(From OE-Core rev: 2a4230c3565d235cba891c5ee060f82f1075fc4e)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: Copyright year updated to 2024.
Changelog:
===========
- Pull request #388: Remove 'URLopener' and 'FancyURLopener' classes from
'urllib.request' when running on Python 3.14 or greater.
- Pull request #365, issue #283: 'six.moves.UserDict' now points to
'UserDict.IterableUserDict' instead of 'UserDict.UserDict' on Python 2.
(From OE-Core rev: dd62b4f7b46bb5551e5397404356c56905dda9ce)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
===========
- Fix self.instance._outcome is None
- Add support for Python 3.13.
- Dropped support for EOL Python 3.8.
- Fixed output when using TestCase.skipTest
- Fixed pytest requirement to >=7.3
(From OE-Core rev: 2e76adbe47584736a6aa639b339392a36af5e872)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
0001-build_context-improve-wheel-reproducibility-by-sorti.patch
removed since it's included in 1.7.8
Changelog:
==========
- Fix aarch64 Windows cross compilation
- [pre-commit.ci] pre-commit autoupdate
- Fix aarch64 Windows cross compilation
- fix abi3 interpreter discovery on Windows
- fix: remove extra indent in generated CI
- Upgrade cargo-xwin to unify rustls versions
- Normalize python source directory path
- Enable fat LTO for maturin release workflow
- Use different binding dirs for different uniffi modules
- Update minimal Python minor version for pyo3 0.23
- Limit minimal PyPy version based on bindings crate version
- Remove hard coded pip show in fix_direct_url
- Do not use xwin to compile on Windows when MSVC compiler can build for the target
- fix abi3 interpreter discovery on Windows
- allow -i 3.13t
- propagate abiflags to wheel name on Windows
- Add free-threaded wheel build to generate-ci by default
- Bump metadata version to 2.4 to fix license bug
- allow -i 3.13t
- propagate abiflags to wheel name on Windows
- Add free-threaded wheel build to generate-ci by default
- Auto detect Python 3.13
- feat: add skip attestation option to maturin ci github
- generate-ci: use macos-13 runner for x86_64 build job
- Improve wheel reproducibility by sorting libs
- Fix inverted workspace inclusions
- Fix broken links to PyO3 building docs
- Update goblin to 0.9
- Don't resolve python interpreter when building sdist only
- include timestamps in the suggested log format
- Add support for GNU/Hurd
- Fix __init__ exports when using multiple UniFFI bindings
- Add free-threaded Python support
(From OE-Core rev: f4accbf8704f690c5a50b05af815d61b75e8a2ce)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>