summaryrefslogtreecommitdiffstats
path: root/meta/lib
AgeCommit message (Collapse)Author
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>
2021-02-21licenses: Fix canonical license for 'or-later' handlingRichard Purdie
GPLv2 and GPLv2+ are two difference licenses with different meanings and we can't just pretend they're the same thing. Change the code to treat them separately. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-19oe/recipeutils: Fix copying patches when BBLAYERS entries are not normalisedAndrei Gherzan
`devtool` uses `copy_recipe_files` for the upgrade operation when creating the new, workspace recipe. Before handling the copy operations, the function checks the entry in `SRC_URI` against `FILE` while in turn uses absolute paths. When BBLAYERS contains entries that are not normalised, this check will fail resulting in having the recipe in the workspace without the initial patches. Signef-off-by: Robert Drab <robert.drab@huawei.com> Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-19df.py: Add feature check for read-only-rootfsWes Lindauer
If the target is using a read-only rootfs, the available space on '/' will be zero. This will cause the test to incorrectly fail and skipping seems appropriate in this case. Signed-off-by: Wes Lindauer <wesley.lindauer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-19oeqa/runlevel : add test for runlevelsTeoh Jay Shen
This test mimic the boot_from_runlevel_3 and boot_from_runlevel_5 test cases from oeqa/manual/bsp-hw.json. The boot_from_runlevel_3 and boot_from_runlevel_5 manual test cases should be remove from oeqa/manual/bsp-hw.json if this patch get merged. Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-17Revert "oe-selftests: add rpm to reproducible build selftest"Richard Purdie
This reverts commit 84d3a90557444d8cd83d780b1c3f2b278ab07af2. This shouldn't have been merged, its not ready yet.
2021-02-17oe-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. Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-17acpica: Fix reproducibility issuesJoshua Watt
Fixes reproducibility when build acpica yacc sources by instructing bison on how to do the file prefix mapping Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-16selftest/reproducible: Update exclusionsRichard Purdie
Add ruby-ri-docs and meson back as not reproducible, remove watchdog, xorg-minimal-fonts and xmlto as issues fixed. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-16oeqa: reproducible: Add more loggingJoshua Watt
The reproducible build tests can take a long time, so having more logging messages at various points in the build can help debug where the build is taking a long time. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-16oeqa: reproducible: Fix SSTATE_MIRRORS variableJoshua Watt
The SSTATE_MIRRORS variable was misspelled, which allowed the "clean" test build to pull from the mirror. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-16package_manager/deb: Fix image generation with package removalRichard Purdie
When building SDKs with the deb backend you could see errors like: Setting up nativesdk-python3-ndg-httpsclient (0.5.1-r0) ... mkdir: cannot create directory ‘/usr/lib/opkg’: Permission denied dpkg: error processing package nativesdk-python3-ndg-httpsclient (--configure): which is due to environment misconfiguration when removing packages. Fix this by setting the same environment variables as used for installation. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-13selftest/reproducible: Remove no longer needed exclusionsRichard Purdie
It appears these exclusions are no longer needed with master, drop them and improve our reproducibilty metrics. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-13selftest/reproducible: Sort the unused exclusion listRichard Purdie
This makes comparisions between lists easier. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-13selftest/reproducible: track unusued entries in the exclusion listAlexander Kanavin
This helps with trimming down the list, and towards 100% reproducibility :) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10Fix up bitbake logging compatibilityRichard Purdie
Bitbake changed the debug() logging call to make it compatible with standard python logging by no longer including a debug level as the first argument. Fix up the few places this was being used. Tweaked version of a patch from Joshua Watt. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09wic: debug mode to keep tmp directoryLee Chee Yang
files in wic tmp directory can be usefull for debugging, so do not remove tmp directory when wic create run with debugging mode (-D or --debug). also update wic.Wic.test_debug_short and wic.Wic.test_debug_long to check for tmp directory. [YOCTO#14216] Signed-off-by: Lee Chee Yang <Chee.Yang.Lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-08selftest/reproducible: remove spirv-tools-dev from exclusion listJose Quaresma
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05wic/selftest: test_permissions also test bitbake imageLee Chee Yang
existing test case test_permissions use Wic command as standalone tools to create wic image and check that wic image for permissions. add extra steps to the test case to also check against image build using bitbake do_image_wic. Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03oeqa/usb_hid.py : add test to check the usb/human interface device status ↵Teoh Jay Shen
after suspend state This test mimic the Test_if_usb_hid_device_works_well_after_resume_from_suspend_state manual test case from oeqa/manual/bsp-hw.json. Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03sstatesig: Add descriptive error message to getpwuid/getgrgid "uid/gid not ↵Tomasz Dziendzielski
found" KeyError If path is not owned by any user installed on target it gives insufficient error "getpwuid(): uid not found" which may be misleading. This exception occurs if uid/gid of path was not found in PSEUDO_PASSWD files, which simply means the path is owned by host user and there is host user contamination. Add more information to the exception message to make it easier for user to debug. [YOCTO #14031] Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03lib/oe/patch.py: Ignore scissors line on applying patchTomasz Dziendzielski
The "devtool modify" could remove message body before scissors line, so patches re-generated from git tree were incorrectly modified. Adding --no-scissors to "git am" invocation to prevent this behaviour. [YOCTO #12674] Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30lib/oe/patch.py: Don't return command stderr from runcmd functionTomasz Dziendzielski
If a function returns any stderr it will be passed to extractPatches and used as path to patch. For example subprocess command output can be: | sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) | /tmp/oepatchhuqle8fj/0001-foo.patch | /tmp/oepatchhuqle8fj/0002-bar.patch that will result in: | FileNotFoundError: [Errno 2] No such file or directory: 'sh:' To fix this I separated output, made the function return stdout and print stderr only in case of command error. Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30cve_check: add CVE_VERSION_SUFFIX to indicate suffix in versioningLee Chee Yang
add CVE_VERSION_SUFFIX to indicate the version suffix type, currently works in two value, "alphabetical" if the version string uses single alphabetical character suffix as incremental release, blank to not consider the unidentified suffixes. This can be expand when more suffix pattern identified. refactor cve_check.Version class to use functools and add parameter to handle suffix condition. Also update testcases to cover new changes. Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-28oeqa/ethernet_ip_connman : add test for network connectionsTeoh Jay Shen
This test mimic the ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP test case from oeqa/manual/bsp-hw.json. The ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP manual test case should be remove from oeqa/manual/bsp-hw.json if this patch get merged. Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27lib/oe/package_manager: Do not pass stderr to package manager as an argumentTomasz Dziendzielski
The cmd redirected stderr to stdout that was then assigned to variable with pkgs to install. Then this variable was passed to package manager that then tried to install it and generated confusing warnings. For example this variable could contain: | ['(en_US.UTF-8)', 'LC_ALL:', 'bash:', 'cannot', 'change', 'locale', 'setlocale:', 'warning:'] and the warning was: | WARNING: addon-bci-1.0-r0 do_populate_sdk: Unable to install packages. | Command 'PATH/usr/bin/opkg ... install (en_US.UTF-8) LC_ALL: bash: | cannot change locale setlocale: warning:' returned 255: | Collected errors: | * opkg_prepare_url_for_install: Couldn't find anything to satisfy '(en_US.UTF-8)'. In this change I remove stderr redirection to stdout and pass it to bb.note instead. Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27selftest/devtool: Add modify_localfiles_only test checking symlink pathTomasz Dziendzielski
If recipe uses only file:// fetcher devtool unpacks sources under oe-local-files/ and adds symlink in source root directory. We need to verify if the symlink in subdirectory has correct path. See [YOCTO #13738] for details. Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23lib/oe/package_manager: ensure repodata is wipedRoss Burton
When building package indexes for RPM feeds, delete repodata first to be absolutely sure that the indexes are up to date. We've seen some mysterious failures where the repodata doesn't match the repository, so hopefully this will stop that happening. [ YOCTO #14190 ] Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23cve-check: replace Looseversion with custom version classLee Chee Yang
The way distutils.version.LooseVersion compare version are tricky, it treat all these ( "1.0-beta2", "1.0-rc1", "1.0A", "1.0p2" and "1.0pre1") as greater version than "1.0". This might be right for "1.0A" and "1.0p1" but not for the rest, also these version could be confusing, the "p" in "1.0p1" can be "pre" or "patched" version or even other meaning. Replace Looseversion with custom class, it uses regex to capture common version format like "1.1.1" or tag format using date like "2020-12-12" as release section, check for following known string/tags ( beta, rc, pre, dev, alpha, preview) as pre-release section, any other trailing characters are difficult to understand/define so ignore them. Compare release section and pre-release section saperately. included selftest for the version class. [YOCTO#14127] Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23oeqa/selftest/cases/tinfoil.py: increase timeout 10->60s test_wait_eventYi Fan Yu
The test would timeout on autobuilders. This patch increases the timeout to 60s The test will now also exit as soon as we receive the 2 expected events Expected runtime is around 1s if successful Bug 14158 Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-20oeqa/selftest: binutils-cross-x86_64 -> libgcc-initialRobert Yang
The binutils-cross-x86_64 is not avaliable for non x86-64 machines. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-20runtime_test.py: correct output check for bash 5.1Alexander Kanavin
Bash 5.1 inserts escape sequences into its output (specifically disabling bracketed paste mode via \x1b[?2004l). I am not sure if somehow terminal detection isn't working correctly there, but in any case the marker is still in the output, but needs to be checked by 'in' rather than exact equivalence. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-20oeqa/selftest/imagefeatures: adding fitImage initramfs bundle testcaseAbdellatif El Khlifi
This commit provides a testcase for the initramfs bundle support implemented in kernel-fitimage.bbclass The testcase verifies the content of the initramfs bundle node in the FIT Image Tree Source (its). The testcase is self-contained and the configurations are set by the test case itself. To verify the initramfs bundle support, the testcase uses beaglebone-yocto machine. This testcase can be run through the following command: oe-selftest -r fitimage.FitImageTests.test_initramfs_bundle Change-Id: I8ab8abf2c150ea515fd439784eb20c6b092bfbc5 Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-20ccache.bbclass: Use ccache-native and disable ccache for native recipesRobert Yang
Since host's ccache is not reliable, so disable ccache for native recipes and use ccache-native for other types of recipes. We need disable ccache for native recipes is because ccache-native now depends on cmake-native which causes circular dependencies, and it's not easy to break the circular. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-20Revert "ccache.bbclass: use ccache from host distribution"Robert Yang
This reverts commit f5b29367af4d8e5daea5771264774aa49519f9a8. Will use ccache-native which is more reliable. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-17oeqa/ptest: print a warning if ptests failedAlexander Kanavin
This allows spotting ptest regressions without having hard ptest failures (for that full ptest stability should be achieved). Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-16deb: do not insert feed uris if apt not installedHongxu Jia
- The dir /etc/apt was created in package apt, if package apt was not installed, there is no need to insert package feed. Otherwise, it will fail with no such dir - Output the result of apt install - Explicitly trust the deb package repository from build This could avoid apt install warning: ... WARNING: The following packages cannot be authenticated! ... - Also trust the inserted deb package repository from PACKAGE_FEED_URIS Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-16rootfs: add option to allow delayed postinsts on read-only rootfsAnton Kachalov
Example use case in OpenBMC: rootfs is squashfs and the system has either overlayfs for whole rootfs or for some parts (e.g. /etc). This option will allow to create migration one-shot postinsts using "pkg_postinst_ontarget_${PN}" routines defined in recipes to fix files under upper workdir in overlayfs. Signed-off-by: Anton D. Kachalov <rnouse@google.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-16lib/oe/utils: Return empty string in parallel_makeTomasz Dziendzielski
In cmake.bbclass we set CMAKE_BUILD_PARALLEL_LEVEL using parallel_make function and if PARALLEL_MAKE is set to empty string then this variable is exported as "None" causing cmake to fail with: "'CMAKE_BUILD_PARALLEL_LEVEL' environment variable invalid number 'None' given." Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-13rootfs_ipk: allow do_populate_sdk in parallel to do_rootfsMichael Ho
Switch do_populate_sdk for the ipk package manager to use a separate target opkg config file and separate the lockfiles restricting do_rootfs and do_populate_sdk from running in parallel. This way if an image recipe includes a dependency to do_populate_sdk by default then it will run in parallel to do_rootfs saving time compared to the sequential execution. Signed-off-by: Michael Ho <Michael.Ho@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>