summaryrefslogtreecommitdiffstats
path: root/meta
Commit message (Collapse)AuthorAgeFilesLines
...
* python3: Reduce util-linux dependency to util-linux-libuuidRichard Purdie2022-03-051-1/+1
| | | | | | | | | Only libuuid is needed by python so reduce the dependency and hence reduce the amount pulled into the syroot for the native case in particular. (From OE-Core rev: 35246dec1c9690371ef0656b21f18567772dab2e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* layer.conf: Add libarchive-native e2fsprogs-native exclusion from sysrootRichard Purdie2022-03-051-0/+2
| | | | | | | | | | Currently, libarchive-native pulls e2fsprogs and all it's dependencies into the sysroot. Since only headers are needed at buildtime and there is no runtime dependency, we can avoid this and shrink the native sysroots. (From OE-Core rev: 66a6b2080e4a65632c5dc02c8ef0cbe01d5b5082) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* layer.conf: Filter docs dependencies for efficiencyRichard Purdie2022-03-051-0/+4
| | | | | | | | | | | | | | | | | | Where a recipe has depends on native docs tools, in most cases we don't need recipes that depend on that recipe to also install these things into the sysroot. We can rely on recipes wanting these tools to have direct dependencies instead. This massively reduced dependency creep in simple recipes (e.g. an allarch one) and reduced the size of builds with the api-documentation feature substancially. gperf-native is also included since that would normally have a direct dependency in a recipe which needs it too. (From OE-Core rev: 9bbb5334e1d1884e042dc3b3ec0eb274664f2c25) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "libical: Pass TOOLCHAIN_OPTIONS via CFLAGS"Richard Purdie2022-03-051-2/+0
| | | | | | | | This reverts commit feb8893e0f52c7ab2d5efd456901a2bb91839d44. This is no longer needed after the compiler fix for libical. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: add setuptools3_legacyRoss Burton2022-03-051-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following a good discussion with PyPA upstream[1] the migration of the setuptools3.bbclass to use bdist_wheel+pip turns out to be more complex than thought. Essentially, we're midway through a lot of changes: the future of Python packaging is wheels and pip, but those by design are not as flexible as traditional distutils and setup.py. Specifically, with traditional distutils the package can implement its own install task and write arbitrary files (such as init scripts). With wheels this is explicity impossible, so packages that do this cannot use the new setuptools class and must continue to use the build/install tasks as before. This class is the old setuptools behaviour, bought back. However, as distutils and the setuptools install task are both deprecated and will soon be removed entirely, any users of this class should be moving to an alternative build tool, be it a modern Python tool which works with wheels, or a non-Pythonic tool such as Meson. [1] https://github.com/pypa/packaging-problems/issues/576 (From OE-Core rev: 341d2b35986e48e4954c591be8bc037a5557452a) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "libsdl2: Add libunwind-native to the libsdl2-native DEPENDS"Richard Purdie2022-03-051-2/+0
| | | | | | | | This reverts commit 1b114fa2d221c9810852526f8b45a3d2c856a502. Unfortunately this breaks on cento7 as libunwind-native doesn't appear to build there. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsdl2: Add libunwind-native to the libsdl2-native DEPENDSCarlos Rafael Giani2022-03-041-0/+2
| | | | | | | | | | | | | | | | | | | This fixes this CMake configuration error: | -- Checking for one of the modules 'libunwind' | CMake Error at [...]/build/tmp/work/x86_64-linux/libsdl2-native/2.0.20-r0/recipe-sysroot-native/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:890 (message): | None of the required 'libunwind' found | Call Stack (most recent call first): | CMakeLists.txt:1367 (pkg_search_module) This error happens even if libunwind is installed complete with its C headers and development .so files (in Ubuntu, this means libunwind-dev is installed). (From OE-Core rev: 1b114fa2d221c9810852526f8b45a3d2c856a502) Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* btrfs-tools: upgrade 5.16 -> 5.16.2wangmy2022-03-042-48/+1
| | | | | | | | | | | | | | | | | | | | 0001-btrfs-progs-kerncompat-add-local-definition-for-alig.patch removed since it's included in 5.16.2 Changelog: ========= mkfs: fix detection of profile type for zoned mode when creating DUP build: - add missing stub for zoned mode helper when zoned mode not enabled - fix 64bit types on MIPS and PowerPC - improved zoned mode support autodetection, for systems with existing blkzone.h header but missing support for zone capacity other: doc updates, test updates (From OE-Core rev: ec04580374ed6cc26471a338f84794f41931eca1) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Accomodate llvm-objdumpKhem Raj2022-03-041-1/+1
| | | | | | | | | | | | | | | | | | llvm-objdump emite MIPS_XHASH where as GNU objdump emits DT_MIPS_XHASH, checking for shorted sequence makes this check work in both cases mips-yoe-linux-objdump -p libx264.so.163 | grep XHASH DT_MIPS_XHASH 0x00000168 mips-yoe-linux-llvm-objdump -p libx264.so.163 | grep XHASH MIPS_XHASH 0x00000168 both are same things (From OE-Core rev: 45390aee03ad0adfcabf6d96109e73136436acad) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-jsonschema: upgrade 3.2.0 -> 4.4.0Tim Orling2022-03-041-4/+4
| | | | | | | | | | | | | | Upstream changed from setup.py to pyproject.toml+setup.cfg inherit setuptools_build_meta For changes see: https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst#v440 (From OE-Core rev: 9af4a46668f0e8dcc7a371ec9e14a185df3a314f) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Drop opt1 and opt2 pyc files from targetRichard Purdie2022-03-041-0/+5
| | | | | | | | | | These are only used with python when the -O or -OO options are passed and I'm not aware of runtime use of that. They otherwise just waste a ton of space. (From OE-Core rev: 5ac7b8c030daf30b2be93abebfedbc36c395e6d7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-native: Remove all pyc filesRichard Purdie2022-03-041-4/+9
| | | | | | | | | | This removes a further 1600 files from sstate handling and lets python create the ones it wants at runtime which is likely much better overall for performance. (From OE-Core rev: 2d6490fa23cce58922a1b54f87c8369925ff8f90) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "cmake.bbclass: Set CXXFLAGS and CFLAGS"Jose Quaresma2022-03-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 47594d59ec4ab82fcf87d3c590caf7c46a6bfdff. This patch was introduced 5 years ago as a temporary workaround to fix an upstream bug. Currently with that patch the following flags are duplicated: OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS}" OECMAKE_C_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS} ${LDFLAGS}" OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LDFLAGS}" The duplicated flags is used in the toolchain.cmake: set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" ) set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" ) set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" ) CC: Khem Raj <raj.khem@gmail.com> (From OE-Core rev: a83623a54a375d3ae9198a135b94379881a2b7a5) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libical: Do not set CC explicitly for gir compilerKhem Raj2022-03-042-1/+36
| | | | | | | | | | | | | | | | | This ensures that right sysroot is used during build, otherwise we see warnings in build about using wrong sysroot and it fails explicitly with clang x86_64-yoe-linux-ld: warning: library search path "/usr/lib/gcc/x86_6 4-pc-linux-gnu/11.2.0/../../../../lib64" is unsafe for cross-compilation x86_64-yoe-linux-ld: cannot find /usr/lib/clang/14.0.0/lib/linux/libc lang_rt.builtins-x86_64.a: No such file or directory (From OE-Core rev: e591b462227ded84f3f8e7273200824ad63313c4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libical: Pass TOOLCHAIN_OPTIONS via CFLAGSKhem Raj2022-03-041-0/+2
| | | | | | | | | | | | | | | | | This ensures that right sysroot is used during build, otherwise we see warnings in build about using wrong sysroot and it fails explicitly with clang x86_64-yoe-linux-ld: warning: library search path "/usr/lib/gcc/x86_6 4-pc-linux-gnu/11.2.0/../../../../lib64" is unsafe for cross-compilation x86_64-yoe-linux-ld: cannot find /usr/lib/clang/14.0.0/lib/linux/libc lang_rt.builtins-x86_64.a: No such file or directory (From OE-Core rev: feb8893e0f52c7ab2d5efd456901a2bb91839d44) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cmake-native: Remove help docs from the native sysrootRichard Purdie2022-03-041-0/+3
| | | | | | | | | | This drops the file count for cmake-native from ~3000 to ~1700 which is a decent chunk of files not to be copying to each native sysroot for no reason. (From OE-Core rev: 6e561619a2a2b688735deae968eb66027fd4b9f0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-native: Drop opt-1 and opt-2 pyc filesRichard Purdie2022-03-041-0/+5
| | | | | | | | | | | | | There are over 3,000 of these in python3-native (of 8,000+ files total) and copying them to sysroots all the time seems pointless, particularly since they're only used if python is run with the -O or -OO parameters. Get rid of them and save the overhead. This is particularly pronounced in builds using the api-documentation distro feature. (From OE-Core rev: fd66de439273b245c1d0bcfb32f2c847e3cddd6b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsndfile: Fix missing external library supportRichard Purdie2022-03-042-0/+56
| | | | | | | | | | The recent upgrade regressed codec support since opus is missing and this caused several codecs to be disabled. Add a patch to work around the issue whilst it is discussed with upstream. (From OE-Core rev: d1aba25b2559041c96735b58424baf8862796095) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glslang/spirv: synchronize with the rest of vulkan itemsAlexander Kanavin2022-03-043-7/+9
| | | | | | | | | | | | | | | These components are now versioned in sync with vulkan releases: https://github.com/KhronosGroup/SPIRV-Headers/issues/252 https://github.com/KhronosGroup/SPIRV-Headers/issues/266 "We'll continue tagging the repos contributing with SDK releases, as that is when all the testing of the various projects is performed together." (From OE-Core rev: 2961d94f1c2ca43c30497ac1853feba58b09d730) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libarchive: correct upstream version checkAlexander Kanavin2022-03-041-0/+1
| | | | | | | (From OE-Core rev: 607773753c89c74bfadbe4251e828c036ce94e63) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libsndfile1: correct upstream version checkAlexander Kanavin2022-03-041-0/+1
| | | | | | | (From OE-Core rev: f7b7f6c8db1227175fc5dd78e87ab5b498649c72) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* binutils: Avoid Race condition in as.infoPgowda2022-03-042-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | The race condition in binutils/gas folder was introduced with the following patch. The patch avoids recursive make into the doc folder. It would speed up the build process slightly. However, the as.info is installed twice which resulted in the race condition sometimes. https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bde299e063de090bf36c1fe51874d1e9f4d94c3c On debugging the code, it was found that the issue was related to install-data-local. On further analysis, there is already a patch in binutils that removes install-data-local. On applying the patch as.info is installed once as expected and there’s no possibility of any race condition. https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=9a84a44d5df4618dd616137fa755bd71b7eacc5f Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=9a84a44d5df4618dd616137fa755bd71b7eacc5f] [YOCTO #14725] (From OE-Core rev: c08a245990eb46906476dc0f6ade0482c7be241d) Signed-off-by: pgowda <pgowda.cve@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: selftest: overlayfs: add test for image with fstab entryStefan Herbrechtsmeier2022-03-041-27/+55
| | | | | | | (From OE-Core rev: 67f1959a46beec5edf133f2f8b02635feea7e599) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: rootfs-postcommands: include /etc/fstab in overlayfs_qa_checkStefan Herbrechtsmeier2022-03-042-11/+31
| | | | | | | | | | | | | | | | | The systemd init manager support mount point configuration via mount units and /etc/fstab. 'Mounts listed in /etc/fstab will be converted into native units dynamically at boot and when the configuration of the system manager is reloaded. In general, configuring mount points through /etc/fstab is the preferred approach.' [1] Read mount points from /etc/fstab to determine dynamic mount units. [1] https://www.freedesktop.org/software/systemd/man/systemd.mount.html (From OE-Core rev: 9db988dae6dbf6da7b066728bc13b59a5c45b75c) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libacpi: Build libacpi also for 'aarch64' machinesKamil Dziezyk2022-03-041-1/+1
| | | | | | | (From OE-Core rev: ccad2769b4031aa1b5952ecc78ae3f4274f96710) Signed-off-by: Kamil Dziezyk <kamil.dziezyk@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ipk: Decode byte data to string in manifest handlingAndrew Jeffery2022-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | ``` File: '/home/andrew/src/openbmc/openbmc/meta/lib/oe/package_manager/ipk/manifest.py', lineno: 69, function: create_full 0065: output = pm.dummy_install(pkgs_to_install) 0066: 0067: with open(self.full_manifest, 'w+') as manifest: 0068: pkg_re = re.compile('^Installing ([^ ]+) [^ ].*') *** 0069: for line in set(output.split('\n')): 0070: m = pkg_re.match(line) 0071: if m: 0072: manifest.write(m.group(1) + '\n') 0073: Exception: TypeError: a bytes-like object is required, not 'str' ``` Change-Id: Ifefb13bfa22c766d20ab9f73f7abe5163b3df86f (From OE-Core rev: cf9df9e8d89fee9cea4785c94a1e3004a5f3469d) Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ipk: Import re in manifest moduleAndrew Jeffery2022-03-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | ``` File: '/home/andrew/src/openbmc/openbmc/meta/lib/oe/package_manager/ipk/manifest.py', lineno: 67, function: create_full 0063: 0064: output = pm.dummy_install(pkgs_to_install) 0065: 0066: with open(self.full_manifest, 'w+') as manifest: *** 0067: pkg_re = re.compile('^Installing ([^ ]+) [^ ].*') 0068: for line in set(output.split('\n')): 0069: m = pkg_re.match(line) 0070: if m: 0071: manifest.write(m.group(1) + '\n') Exception: NameError: name 're' is not defined ``` Change-Id: I769a2ab5e57c7b60598ea0390b576d707356db9d (From OE-Core rev: e240a8ede690e56bcf53a97b3be5592e6e4a5a15) Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* copy_buildsystem: allow more layer pathsDaniel Wagenknecht2022-03-041-8/+4
| | | | | | | | | | | | | | | | | | Layers could be located anywhere. The eSDK should work with them even if they are not located in TOPDIR or in the same parent directory as COREBASE. For layers located in the same parent directory as COREBASE this preserves the intent from the previous copy_buildsystem: include layer tree during build structure creation commit. Related OE-Core rev: 5a59a6997f41e606d088e3e86812de56f72f543b (From OE-Core rev: 16d330d42e03085769eddb1b60ba1df7228baf36) Signed-off-by: Daniel Wagenknecht <dwagenknecht@emlix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib_global.bbclass: fix setting preferred version for canadian recipesChen Qi2022-03-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the TRANSLATED_TARGET_ARCH is not changed when trying to set preferred version for canadian recipes. e.g. ``` bitbake core-image-minimal -c populate_sdk -e > env grep ^PREFERRED_VERSION_gcc-cross-canadian env ``` The result is: """ PREFERRED_VERSION_gcc-cross-canadian-x86-64="11.%" """ We need to explictly change DEFAULTTUNE to ensure TRANSLATED_TARGET_ARCH is changed when trying to set the preferred version for multilib version of the canadian recipes. e.g. ``` bitbake core-image-minimal -c populate_sdk -e > env grep ^PREFERRED_VERSION_gcc-cross-canadian env ``` The result is: """ PREFERRED_VERSION_gcc-cross-canadian-i686="11.%" PREFERRED_VERSION_gcc-cross-canadian-x86-64="11.%" """ (From OE-Core rev: ab8ed74082ffaf3b3adca84f4c41465f89657e76) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Add snapshot checksums for powerpc64leAndrew Jeffery2022-03-021-0/+4
| | | | | | | (From OE-Core rev: ab0c2de443278625c5db54d5c51e193791f5087c) Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Introduce RUST_BUILD_ARCHAndrew Jeffery2022-03-023-7/+11
| | | | | | | | | | | | | RUST_BUILD_ARCH contains the arch_to_rust_arch()-translated value of BUILD_ARCH. This is necessary to acquire the correct snapshot artifacts under Linux where `uname -m` reports "ppc64le" rather than "powerpc64le". Change-Id: I6aec23aced8e1c6f0bfc46fe52531b0c16bcf687 (From OE-Core rev: c13afbade8d480807b9de70c56dcd650496f06b2) Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: Introduce arch_to_rust_arch()Andrew Jeffery2022-03-024-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On modern Power systems `uname -m` yields 'ppc64le' while the toolchain knows the architecture as 'powerpc64le'. Provide a mapping from one to the other to integrate with the existing architecture configuration flags. arch_to_rust_arch() only exists to map the OE *_ARCH variables before any further processing, unlike arch_to_rust_target_arch() which is specific to the internal triple handling of rust. On Linux ppc64le systems the changes give the following config: ``` $ cat ./tmp/work/ppc64le-linux/rust-native/1.58.0-r0/targets/ppc64le-linux.json { "llvm-target": "powerpc64le-unknown-linux-gnu", "data-layout": "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512", "max-atomic-width": 64, "target-pointer-width": "64", "target-c-int-width": "64", "target-endian": "little", "arch": "powerpc64", "os": "linux", "env": "gnu", "vendor": "unknown", "target-family": "unix", "linker": "gcc", "cpu": "generic", "dynamic-linking": true, "executables": true, "linker-is-gnu": true, "linker-flavor": "gcc", "has-rpath": true, "has-elf-tls": true, "position-independent-executables": true, "panic-strategy": "unwind" } ``` Change-Id: Ief0c01189185d7d4da31d307270bec4e1de674ca (From OE-Core rev: 9ab61e3cfef0157393cb870d606c2f362e190889) Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory.bbclass: create the buildhistory directory when neededJose Quaresma2022-03-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the BUILDHISTORY_RESET is enabled we need to move the content from BUILDHISTORY_DIR to BUILDHISTORY_OLD_DIR but when we start a clean build in the first run we don't have the BUILDHISTORY_DIR so the move of files will fail. | ERROR: Command execution failed: Traceback (most recent call last): | File "/xxx/poky/bitbake/lib/bb/command.py", line 110, in runAsyncCommand | commandmethod(self.cmds_async, self, options) | File "/xxx/poky/bitbake/lib/bb/command.py", line 564, in buildTargets | command.cooker.buildTargets(pkgs_to_build, task) | File "/xxx/poky/bitbake/lib/bb/cooker.py", line 1481, in buildTargets | bb.event.fire(bb.event.BuildStarted(buildname, ntargets), self.databuilder.mcdata[mc]) | File "/xxx/home/builder/src/base/poky/bitbake/lib/bb/event.py", line 214, in fire | fire_class_handlers(event, d) | File "/xxx/poky/bitbake/lib/bb/event.py", line 121, in fire_class_handlers | execute_handler(name, handler, event, d) | File "/xxx/poky/bitbake/lib/bb/event.py", line 93, in execute_handler | ret = handler(event) | File "/xxx/poky/meta/classes/buildhistory.bbclass", line 919, in buildhistory_eventhandler | entries = [ x for x in os.listdir(rootdir) if not x.startswith('.') ] | FileNotFoundError: [Errno 2] No such file or directory: '/xxx/buildhistory' (From OE-Core rev: 97bc2168da7dbacdfbf79cd70db674363ab84f6b) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs-postcommands: amend systemd_create_users add user to group checkTean Cunningham2022-03-021-6/+2
| | | | | | | | | | | | | | | | | Currently when adding a user to a group ('m' type), the conditional check to only create a user/group if it does not exist always resolves to true. This causes a build exit failure if the user and/or group defined in the sysusers configuration file were already created prior to the execution of systemd_create_users(). This logic has been updated to instead fail silently (consistent with 'u' and 'g' type). Additionally, if a user doesn't exist it will be created without the default group. (From OE-Core rev: 65649be6b2196ab964c69605d0306bfc2481da33) Signed-off-by: Tean Cunningham <tean.cunningham@digi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license: Rework INCOMPATIBLE_LICENSE wildcard handlingRichard Purdie2022-03-022-57/+70
| | | | | | | | | | | | | | | | | | | | | | | The current wildcard handling is badly documented and inconsistently used and understood. Forcing users to have to use "GPL-3.0-only GPL-3.0-or-later" whilst explict is not very user friendly. Equally, using the current wildcards is ambigious. This supports pre-defined expansions only and at least makes it clear what GPL-3.0* means (it doesn't include the exception licenses). This is hopefully an acceptable compromise between literal meaning and having something usable. Non-SPDX forms of license in this field have been dropped and errors are shown for unsupported expansions and unsupported old style license terms. Users need to carefully consider how to migrate to the new syntax but the meaning should be well defined and clear from here forward. (From OE-Core rev: 724fc8047cae6ed6197d7deca887b1594871c90e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license/insane: Show warning for obsolete license usageRichard Purdie2022-03-023-9/+38
| | | | | | | | | | | | | | | We want to use SPDX identifiers in LICENSE variables. There is now a conversion script to make most of the translations. Add a list of strings which have been replaced so we can show warnings to users if they're still used anywhere. Add checks to the package as insane check. This is currently a warning by default but can be turned off or made an error as per the other standard checks. (From OE-Core rev: 9379f80f484f94686a4d494e9e237fadfb72a938) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base/license: Rework INCOMPATIBLE_LICENSE variable handlingSaul Wold2022-03-026-63/+63
| | | | | | | | | | | | | | | | | | | | This re-writes the INCOMPATIBLE_LICENSE checking code to replace the WHITELIST_<lic> with INCOMPATIBLE_LICENSE_EXCEPTIONS = '<pkg>:<lic> <pkg>:<lic> ...' This initial change leaves most of the code structure in place, but the code in base.bbclass needs to be re-written to make the check more consistent around packages (PKGS) and not recipe names (PN). This also is taking into account the changes for SPDX licenses. The aim is to provide a mode consistent variable where the variable name is known and can easily be queried. (From OE-Core rev: 0d19c45ba6cf43518f380ca5afe9753a2eda0691) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pip_install_wheel: improve wheel handlingKonrad Weihmann2022-03-022-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | - replace python3 prefix when guessing the wheel name as there are still plenty of recipes out there that do use python3 prefixes - remove all previously generated wheels matching the glob to avoid installing any outdated blob via cleandirs in setuptools3 class. Unfortunetaly proposed dist-dir or bdist-dir are not respected by setuptools, likely due because they are overridable by the setup script - don't use PV in glob, as PV doesn't necessarily align with the version used inside of the setuptools configuration. this will avoid having the user set PYPA_WHEEL in a lot of recipes - respect SETUPTOOLS_SETUP_PATH in PIP_INSTALL_DIST_PATH and use B as a fallback only (in case this class is inherited without setuptools3 class being there as well). recipes like python3-smbus run in a subfolder of the workspace and were failing in before this adjustment (From OE-Core rev: 6f2d85a7b7d94101f2ce67115166fa86c185650f) Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-flit-core: upgrade 3.6.0 to 3.7.1Tim Orling2022-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Version 3.7.1 * Fix building packages which need execution to get the version number, and have a relative import in __init__.py (:ghpull:`531`). Version 3.7 * Support for :ref:`external data files <pyproject_toml_external_data>` such as man pages or Jupyter extension support files (:ghpull:`510`). * Project names are now lowercase in wheel filenames and .dist-info folder names, in line with the specifications (:ghpull:`498`). * Improved support for :doc:`bootstrapping <bootstrap>` a Python environment, e.g. for downstream packagers (:ghpull:`511`). flit_core.wheel is usable with python -m to create wheels before the build tool is available, and flit_core sdists also include a script to install itself from a wheel before installer is available. * Use newer importlib APIs, fixing some deprecation warnings (:ghpull:`499`). (From OE-Core rev: 3f6768cf23e4215d99f7279b8ec6ee73ba00a656) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-tomli: inherit flit_coreTim Orling2022-03-021-8/+1
| | | | | | | | | Drop the setup.py workaround as it is no longer needed. (From OE-Core rev: 88fc6ec6859e5aa1b97125fd7b692569665875f6) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool/devtool: Further SPDX identifier cleanupsRichard Purdie2022-03-022-15/+15
| | | | | | | | | | | | Some of these are hard to know what to do with since the original source files for the checksum aren't present. The safe option is to use "-only" as often the main license is ambiguous and the source files themselves determine the "or-later" possibility. The "-only" option therefore is realistically what we need to use in this code. (From OE-Core rev: 2b0cbafc7854de0308a624b17b8aaba704b031d5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cups: Add --with-dbusdir to EXTRA_OECONF for deterministic buildRobert Yang2022-03-021-0/+1
| | | | | | | | | | | | | | | | | | The configure checks /etc/dbus-1 and set DBUSDIR is null: if test -d /etc/dbus-1 -a "x$DBUSDIR" = x; then DBUSDIR="/etc/dbus-1" fi So that the build resutl would be different w/o /etc/dbus-1: /etc/dbus-1/system.d/cups.conf (Only exists when DBUSDIR is set) Add --with-dbusdir to EXTRA_OECONF to fix the issue (From OE-Core rev: 0e4b2464138601c4c20882c001ef11eef5100395) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* quilt: Disable external sendmail for deterministic buildRobert Yang2022-03-021-1/+2
| | | | | | | | | | | | | | Otherwise, the build results would be different w/o host's /usr/sbin/sendmail: 1) The /usr/share/quilt/compat/sendmail will be genrated if no /usr/sbin/sendmail on host 2) No /usr/share/quilt/compat/sendmail if host's has /usr/sbin/sendmail Use --without-sendmail to make it always generate /usr/share/quilt/compat/sendmail. (From OE-Core rev: 3f9320816ac9f9ec8815754d1951cecb58612f70) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* perl: Makefile.PL: Fix _PATH_LOG for deterministicRobert Yang2022-03-022-0/+37
| | | | | | | | | | | | | It checks host's path such as /dev/log and uses it, this doesn't make sense for cross build, and it causes undeterministic, for example, the contianer os usually doesn't have /dev/log which leads to a different build result since other host usually has /dev/log, so make it always use the default value to fix the issue. (From OE-Core rev: 977b493e5040db8e000c6565bb29f3ac260ca0e1) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* flit_core: export do_configure and do_compileTim Orling2022-03-021-2/+3
| | | | | | | | | | The class should export the tasks so they can be extended or overriden elsewhere (like what setuptools3.bbclass has). (From OE-Core rev: 14c2dcbebccf072225a089518ffeb010401f479c) Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* OELAYOUT_ABI: bump, avoid tmp/ breakage by removing old cross manifestsAlexander Kanavin2022-03-022-2/+23
| | | | | | | (From OE-Core rev: c0fca53a9b48cb4e92da89e9e652623296244ff6) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: do not add TARGET_ARCH to pkgarch for cross recipes.Alexander Kanavin2022-03-022-3/+2
| | | | | | | | | | | | This is redundant (target arch is already in PN), and breaks compiling a cross-canadian toolchain, as that needs populating the sysroot with two different native-hosted toolchains built from cross recipes. Inserting TARGET_ARCH allows only one or the other. (From OE-Core rev: 33fc1792cd782feb8dbb4285e3006bb588f7978f) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: Various typo/grammar/punctuation fixesRobert P. J. Day2022-03-021-1/+1
| | | | | | | | | | | | | | | | Among other things, fix misspellings of: - absolute - deprecated - suitable - handle and a bunch of other things. (From OE-Core rev: c3773cd6c44dfe82be9ecd248120e7d6c753f891) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* coreutils: Disable statx for native buildRobert Yang2022-03-021-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | The statx requires glibc >= 2.28 and linux kernel >= 4.11, but coreutils's configure only checks glibc compatibility for statx syscall but fail to check kernel support, e.g.: RedHat Enterprise Linux Server 7.6 (Maipo) Host kernel: 3.10.0-1127.8.2.el7.x86_64 Docker OS: Ubuntu 20.04.1 LTS $ bitbake coreutils-native find the binary ls and run it as "ls -l ." The result is something like: "?????????. ? ? ? ? ? foo" This is because glibc is 2.31 (Ubunut 20.04 in docker) which has statx, but host's kernel is 3.10.0 (CentOS 7) which doesn't support statx. Disable statx for native build to fix the problem. Original from: Davi Poyastro <davi.poyastro@nokia.com> (From OE-Core rev: 6c120d8856fab044e7b8e09d6de91c2b228a2dd9) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* icecc.bbclass: enable networking in all tasksJose Quaresma2022-03-021-0/+4
| | | | | | | | | | | | | | | | | | | | | The icecc.bbclass needs network access to work properly. Currently I build with icecc inside a container with network isolation and my icecc daemon runs outside of the build container in my host. The only thing I need to do for using the icecc inside my build container is mounting the unix socket /var/run/icecc/iceccd.socket inside the container. I think we need something like this mount functionality to have access to some sockets connections inside the tasks that runs on the new namespace created with unshare system call. This patch is not a the real solution for the problem and is more like an hack so we can use the icecc.bbclass again. (From OE-Core rev: 25ea276a13a6ac2342c2b0945c8fafe878d56095) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>