summaryrefslogtreecommitdiffstats
path: root/meta/lib
AgeCommit message (Collapse)Author
2021-03-28populate_sdk_ext: Avoid copying and producing .pyc filesMark Hatle
Since pyc cache files are really system specific, no real reason to copy or generate them during the eSDK build process. Also generating them has the possibility of re-using inodes that pseudo may have been tracking, leading a build failure. Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-28rootfs.py: uninstall the run-postinsts package if not neededAwais Belal
The run-postinsts package runs post installation scripts on target if packages request delayed post installations. When no delayed post installations are found the sysV style scripts are disabled for the package and hence it did not run on sysV based systems. However, the package provides systemd service as well which still ran on systems based on systemd even when no post installations were found. Rather than disabling/masking scripts for different initialization managers we now simply remove/uninstall the run-postinsts package when no post installations are found to be delayed till runtime. This is also more aligned with the function (_uninstall_unneeded) this functionality is triggered through. Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-28lib/oe/utils: add directory size functionRoss Burton
For the purpose of image construction using du on a rootfs directory isn't entirely satisfactory. Bare "du" will report the actual disk usage so file systems which can compress the data will report less than the actual space required. Using "du --apparent-size" will report the actual space used, but as this simply sums the bytes used for content across an entire file system can result in significant under-reporting due to block size overhead. Attempt to solve these problems by implementing our own function to calculate how large a rootfs will be. This function handles hardlinks correctly but rounds up all sizes to multiples of the block size (currently, 4KB is the hard-coded block size). Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-20selftest/wic: Fix dependency issue in rawcopy testRichard Purdie
The current test code contains a subtle race. It is building an ext4, then trying to reuse that image in a wic build for the same recipe. Whilst this happened to work, the code is within its rights to clean up the output before the wic code runs. Avoid this by using separate image targets instead. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-20cve-check: CVE_VERSION_SUFFIX to work with patched releaseLee Chee Yang
CVE_VERSION_SUFFIX in "patch" to treat version string with suffix "pX" or "patchX" as patched release. also update testcases to cover this changes and set CVE_VERSION_SUFFIX for sudo. Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-20selftest/reproducible: Drop ovmf exclusionRichard Purdie
The hardcoded path issue was fixed, drop the exclusion. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-15meson: Work around determinism issueRichard Purdie
The meson determinism issue is the same frozenset issue we encountered with python itself. Remove the problematic pyc file until upstream work out the best way to address the issue (as with core python). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-15distrodata.py: Test to track recipes without HOMEPAGE or DESCRIPTIONDorinda Bassey
This test is to keep track of recipes that do not have a HOMEPAGE or DESCRIPTION, with exceptions to recipes whose SRC_URI are not linked to external sources. Results of this test: it take about 2 to 3 minutes for this test to complete execution depending on the laptop used, Recipes that didn't have a homepage or description were found, and using list data structure instead of set() returned an ordered list of recipes that didn't have a homepage. Hence it's easier to view recipes with missing homepage and description. [YOCTO #13471] Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-15go-dep: RemoveKhem Raj
go-dep was an effort for dependency management before go modules, which since 2020 has been deprecated in favor of go modules. Since its not developed any longer and go mdules is officially supported, this should be retired from OE-core as well. Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Otavio Salvador <otavio.salvador@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-12reproducibile: remove perf from exclusionsBruce Ashfield
We have fixes for perf reproducibility, so we can drop it from the exclusion list. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-11runqemu: correct forcing of ttyS0Jon Mason
Some platforms do not use ttyS* for their serial consoles (e.g., qemuarm and qemuarm64). The hardcoding of this can cause issues. Modify runqemu to use the serial consoles defined in SERIAL_CONSOLES instead of hardcoding. Signed-off-by: Jon Mason <jon.mason@arm.com> Change-Id: I746d56de5669c955c5e29d3ded70c0a4d3171f17 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-11parselogs: Allow expected kernel messages for qemuppc64Khem Raj
pseries machine emulation ends up with these three messages in kernel logs which are harmless, so ignore them for now https://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg5600561.html https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1827162 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-10oeqa/selftest: add test to verify that poisoned sysroots are detectedRoss Burton
Add a recipe that explicitly searches /usr/include, and use that in oe-selftest to verify that host include paths are correctly causing build failures. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-06bitbake-bblayers/create: Add optional layerid argumentCharlie Davies
This commit adds an optional layerid argument which can be passed to the bitbake-layers create-layer command. This allows for creation of a layer with a layer id different to that of the layer's name. The default behaviour of the command where the layer's id is set to the layer's name is still retained. Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-06bitbake-bblayers/create: Fix incorrect priority help messageCharlie Davies
The help message for the optional argument of setting the priority of the new layer was incorrect. Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-06oeqa/weston: correctly run wayland-info when systemd is in useAlexander Kanavin
Under systemd weston's socket is in /run, not in /run/user/0. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02python3-cython: Remove build paths from debug sourcesRichard Purdie
There are build paths which are in generated sources injected into ${PN}-src. These are in generated files and don't influence the binary output. As such we can correct them at do_package time by tweaking in an appropriately injected function. This fixes the reproducbility of the recipe. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02ltp: Fixing determinism issuesRichard Purdie
Add a patch adding sorting to a couple of points in the Makefiles which removes most of the determinism issues in ltp. Build swapon before the main build to ensure libswapon.o is built deterministically as it races with swapoff. All issues reported on the upstream mailing list. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02Add core-image-weston to reproducible build testsJan-Simon Moeller
This change adds core-image-weston to the reproducible build test. For this we also need to update the static-group and static-passwd. Besides the world package build which includes the wayland package, this adds a wayland/weston-based image to the reproducible build test. Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02lttng: Fix reproducibility issuesRichard Purdie
Add a hack to hardcode in specific rpaths which we then remove, allowing the build to be reproducible. Strip build patches out of one of the test scripts too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02qemu: Determinism fixesRichard Purdie
Add a patch to address two determinism issues and allow reproducible builds. Also strip full paths we don't need out of some ptest files, we can use the installed binaries. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02pinentry: update 1.1.0 -> 1.1.1Alexander Kanavin
Refresh xxx-config->pkg-config patches. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-02selftest/reproducible: Add ability to pull some objects from sstateRichard Purdie
When debugging why a single recipe doesn't reproduce, its a pain to wait for the world to rebuild from scratch. Update the selftest to allow this to be configured, for example you could set targets as ['perf'] and sstate_targets as ['virtual/kernel'] and then it should only be rebuilding perf in the test rather than things like the toolchain (parts of the kernel may be unavoiable as they're not in sstate). Can be run as: OEQA_DEBUGGING_SAVED_OUTPUT=/tmp/perf-diffoscope oe-selftest -r reproducible.ReproducibleTests.test_reproducible_builds to save diffoscope output. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-01systemd-bootchart: Disable LTO to fix reproducibilityRichard Purdie
LTO likely doesn't buy us much here, disable it to allow the binaries to be reproducible. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-01efivar: Fix reproducibility issueRichard Purdie
Add sorting to the globbing within the Makefile to make the output reproducible. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-01swig: Fix reproducibility issueRichard Purdie
Remove hardcoding the build configuration into the help/version output from swig to make the binaries reproducible. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-01syslinux: Fix reproducibility issuesRichard Purdie
Add sorting to wildcard expansion in the makefile to make builds reproducible. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-01gstreamer1.0-python: Set internal python library path correctyRichard Purdie
The library hardcodes paths to the python library internally and currently these are build paths. Fix this to use the correct target path and fix reproducibility in the process. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-01apr-util: Fix CFLAGS used in buildRichard Purdie
We need to use CFLAGS with the correct WORKDIR in them, replace those in the sysroot file with the ones appropriate to the current recipe. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-27libid3tag: Fix reproducibility issueRichard Purdie
Configure was swallowing our cflags meaning the resulting binaries were not reproducible. Tweak configure not to do that and fix reproducibility. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-27igt-gpu-tools: Fix reproducibility issueRichard Purdie
Add a configuration option to pass in srcdir, removing hard coded build paths from the binaries. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-27bootchart2: Fix manpage reproducibility issueRichard Purdie
The compressed docs contained a timestamp of the original file which meant the SDE clamping during package creation didn't work. The benefits of compression are minor, decompress the files to avoid the reproducibility issues. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-27oeqa/pam: Need shadow installed for the testsKhem Raj
Distros may not use shadow for login manager secondly login --help returns 1 only with shadow provided login utility, with busybox it returns normal 0, the testcase clearly assumes shadow being part of image, therefore add needed checks to ensure the pre-requisites are met Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26selftest/reproducible: Don't call sync between each file compareRichard Purdie
Calling sync between each file compare is horrible performance wise as we compare thousands of files. We don't care about IO latency here so disable. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26libhandy: Fix reproducibility issueRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26libsecret: Improve determimismRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26parted: Fix reproducibility issueRichard Purdie
We don't use tbe BUILDINFO line of host information in the Makefile so remove it for reproducibility. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26gst-devtools: Fix reproducibility issueRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26epiphany: Fix reproducibility issueRichard Purdie
We don't want to encide BUILD_ROOT into target packages. This is used for build time tests but in our case those would be on target anyway do use the target paths. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26gtk-doc: Fix reproducibility issueRichard Purdie
config_data was including a build system path to pkg-config, fix this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26gcr: Fix reproducibility issueRichard Purdie
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26cups: Fix reproducibility issuesRichard Purdie
configure inspects the host's /etc/group for these configuration options, fix this to the correct values by using configure options. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26sstatesig.py: show an error instead of warning when sstate manifest isn't foundMartin Jansa
* not sure if there are some valid use-cases for missing manifest, but recently I'm seeing increasing number of build failures where something from native recipe is missing (seen it with pseudo, autoconf, nodejs recently) and the only indication that something is wrong (before showing sometimes misleading error like: recipe-sysroot-native/usr/bin/node: No such file or directory is this warning: NOTE: Running task 7844 of 12431 (/meta-oe/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb:do_prepare_recipe_sysroot) NOTE: recipe nodejs-12.20.2-r0: task do_prepare_recipe_sysroot: Started WARNING: nodejs-12.20.2-r0 do_prepare_recipe_sysroot: Manifest /BUILD/sstate-control/manifest-x86_64_ubuntu-18.04-nodejs-native.populate_sysroot not found in x86_64 x86_64_ubuntu-18.04 (variant '')? NOTE: Running task 7845 of 12431 (/meta-oe/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb:do_unpack) NOTE: recipe nodejs-12.20.2-r0: task do_unpack: Started WARNING: nodejs-12.20.2-r0 do_prepare_recipe_sysroot: Manifest /BUILD/sstate-control/manifest-x86_64_ubuntu-18.04-nodejs-native.populate_sysroot not found in x86_64 x86_64_ubuntu-18.04 (variant '')? NOTE: recipe nodejs-12.20.2-r0: task do_prepare_recipe_sysroot: Succeeded if I rebuild that native dependency, then it gets fixed and I don't see these failures in clean builds (as without sstate and with empty TMPDIR), only in incremental builds * but if there isn't valid reason for missing manifest file, then I think it would be better to error early (or even bb.fatal()) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26oe-selftests: add rpm to reproducible build selftestJan-Simon Möller
rpm packaging has shown good numbers wrt reproducible builds as well when testing core-image-minimal locally: Reproducibility summary for rpm: same=4671 different=0 missing=0 total=4671 Thus enable it in the autobuilder to be more widely tested. (From OE-Core rev: 84d3a90557444d8cd83d780b1c3f2b278ab07af2) Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26reproduce: Fix exclusion list for rpmRichard Purdie
rpm uses "XXX-VERSION" compared to deb/ipk which use "XXX_VERSION" which breaks the go package exclusion. Work around with both go_ and go- for now. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-26selftest: Replace building dep tool with direnvKhem Raj
dep tool is now deprecated and its replaced with go modules so using this as sample for testing is also getting arcane. Replace it with another project direnv[1] which is quite active and uptodate [1] https://github.com/direnv/direnv Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-24selftest/reproducible: Remove exclusions for recipes which now reproduceRichard Purdie
git, libproxy, libcap-ng(-python), babeltrace2, rsync and groff have their reproducibility issues fixed, remove from the exclusion list. Also fix whitespace. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-24reproducible: Improve SOURCE_DATE_EPOCH_FALLBACK handlingRichard Purdie
Ensure the fallback value if used is written to the SDE file and hence stored in sstate, reducing any confusion within the code over '0' values. Bump the HASHEQUIV_VERSION since we've had a ton of trouble with ensuring this rolls out correctly on the autobuilder so others may too, take a clean slate for it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-23kernel-fitimage: Don't use unit addresses on FITKlaus Heinrich Kiwi
Das U-Boot 2021.4-rc1 has the following commit: commit 3f04db891a353f4b127ed57279279f851c6b4917 Author: Simon Glass <sjg@chromium.org> Date: Mon Feb 15 17:08:12 2021 -0700 image: Check for unit addresses in FITs Using unit addresses in a FIT is a security risk. Add a check for this and disallow it. CVE-2021-27138 Adjust the kernel-fitimage.bbclass accordingly to not use unit addresses. This changte is required before we can bump U-Boot to 2021.4. Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-21selftest/incompatible_lic: Update the tests after the 'or-later' license ↵Richard Purdie
handling changes With the separate of the "-only" and "-or-later" licenses, we need to update the tests to match the messages now given in the output. Also use a mix of canonicalised and non-canonlised names in the reference recipes to help test those cases and ensure coverage. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>