summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
* oeqa/qemurunner: Improve handling of run_serial for shutdown commandsRichard Purdie2021-05-091-1/+6
| | | | | | | | | | | When running a shutdown command, the serial port can close without the command returning. This is seen as the socket being readable but having no data. Change the way this case is handled in the code to avoid tracebacks. (From OE-Core rev: 396a3ba884820d040c91f7592daf20ac28c49b5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Fix binary vs str issueRichard Purdie2021-05-091-2/+2
| | | | | | | | | | | | | | The recent logging changes for qemurunner showed up as errors on the autobuilder where decode couldn't be called on the returned string. Since the code returns binary data, return b'' instead of '' to match to avoid tracebacks. One of these cases was newly added, copied from the other which has been there for a long time, always broken. (From OE-Core rev: b8995b27db265b0a0b2d2ca595915f70f9f96e07) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: change warning to infoSaul Wold2021-05-061-1/+1
| | | | | | | | | | | This information is useful, but should not be a warning level. [YOCTO #14382] (From OE-Core rev: cd17d8bb00be1ecb7c92ab13eb8b162807aefed9) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/package_manager: Use shutil.copy instead of bb.utils.copyfile for interceptsRichard Purdie2021-05-061-1/+1
| | | | | | | | | | If the scripts/postinst-intercepts is owned by root/root then the copyfile() calls will fail due to chown issues. We don't care about ownership of these files so use shutil.copy() instead which won't perform any chown. (From OE-Core rev: 1a03c70c282b3445b93a4c70ea6d40a1778750c5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Handle path length issues for qmp socketRichard Purdie2021-05-061-24/+32
| | | | | | | | | | | | | | | | | | After the addition of the qmp socket, runqemu started failing: ERROR - Failed to run qemu: qemu-system-aarch64: -qmp unix:/home/yocto/actions-runner-meta-openembedded/_work/meta-openembedded/meta-openembedded/yoe/build/tmp/.3eg5fiid,server,wait: UNIX socket path '/home/yocto/actions-runner-meta-openembedded/_work/meta-openembedded/meta-openembedded/yoe/build/tmp/.3eg5fiid' is too long Path must be less than 108 bytes To avoid this, run qemu within tmpdir and use a relative path to the socket. This avoids having to patch the socket code within qemu. Update the client code to chdir and only use a relative path to the socket to match. (From OE-Core rev: 5c56e72fca18dc942f5c1fd377e98d46ae0126f1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Improve logging thread exit handling for qemu shutdown testRichard Purdie2021-05-062-6/+15
| | | | | | | | | | | | | | | Rather than totally disabling the logging, inform it we're about to exit so we can log messages over the exit cleanly too. This aids debugging. It also avoids a race where the logging handler could still error whilst shutting down. Also remove a race window by notificing the handler of the shutdown first, before triggering it. This removes a race window I watched in local testing. (From OE-Core rev: 0e19f31a1005f94105e1cef252abfffcef2aafad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib/scripts: Use bb.utils.rename() instead of os.rename()Devendra Tewari2021-05-064-10/+10
| | | | | | | | | | | | | | | | | | Incremental build in Docker fails with: OSError: [Errno 18] Invalid cross-device link when source and destination are on different overlay filesystems. Rather than adding fallback code to every call site, use a new wrapper in bitbake which detects this case and falls back to shutil.move which is slower but will handtle the overlay docker filesystems correctly. [YOCTO #14301] (From OE-Core rev: 656a65b2b84e7d529b89cf5de7eb838f902d84a2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "oeqa: Set LD_LIBRARY_PATH when executing native commands"Alexander Kanavin2021-05-061-3/+0
| | | | | | | | | | | | | | | | | LD_LIBRARY_PATH leaks into host executables too, and breaks them as they are not uninative-enabled. E.g. on ubuntu 18.04 trying to run host bash with a sysroot that was built on Fedora 33: akanavin@ubuntu1804-ty-3:/home/pokybuild/yocto-worker/oe-selftest-ubuntu/build/build-st-24341/tmp/work/x86_64-linux/gnupg-native/2.3.1-r0/recipe-sysroot-native$ LD_LIBRARY_PATH=./usr/lib /bin/bash /bin/bash: ./usr/lib/libtinfo.so.5: no version information available (required by /bin/bash) /bin/bash: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./usr/lib/libtinfo.so.5) This was seen e.g. here: https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/2090/steps/14/logs/stdio (From OE-Core rev: 0e9850486b74a3de934527ca1077df001d3a8d22) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: find .ko.gz and .ko.xz kernel modules as wellChristophe Chapuis2021-05-021-1/+1
| | | | | | | | | | | | | * with xz PACKAGECONFIG enabled in kmod and xz module compression enabled in kernel the do_rootfs task doesn't run depmod in the image, because it thinks there are no modules: NOTE: No Kernel Modules found, not running depmod (From OE-Core rev: 9c13ce05eae0f126eb150e48709e9bd06e9280fa) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* prservice: Use new connect APIPaul Barker2021-05-011-1/+1
| | | | | | | | | | | The new prserv connect() function decouples the code in oe-core from the exact classes and implementation details used within bitbake. This allows us to more easily switch over to a new asyncrpc based prservice. (From OE-Core rev: 6bf39c5c8cf09e3f2ce6eba13b9d18193bce9655) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: transition to weston imagesAlexander Kanavin2021-04-275-14/+12
| | | | | | | | | | For readonly rootfs tests core-image-weston is appended; everywhere else it replaces core-image-sato. (From OE-Core rev: 75e042db853b9bf9a70ff8a5abe6d45ebb0b77a9) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/tests/test_data.py: use weston image instead of satoAlexander Kanavin2021-04-271-1/+1
| | | | | | | (From OE-Core rev: c2ccd8c8144cdda52b858589f7d5d3a15ab28b90) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Add support for qmp commandsSaul Wold2021-04-275-6/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Qemu Machine Protocol [0] extending the current dump process for Host and Target. The commands are added in the testimage.bbclass. Currently, we setup qemu to stall until qmp gets connected and sends the initialization and continue commands, this works correctly. If the UNIX Socket does not exist, we wait an timeout to ensure to socket file is created. With this version, the monitor_dumper is created in OEQemuTarget but then set in OESSHTarget as that's where we get the SSH failure happens. Python's @property is used to create a setter/getter type of setup in OESSHTarget to get overridden by OEQemuTarget. By default the data is currently dumped to files for each command in TMPDIR/log/runtime-hostdump/<date>_qmp/unknown_<seq>_qemu_monitor as this is the naming convenstion in the dump.py code. We use the qmp.py from qemu, which needs to get installed in the recipe-sysroot-native of the target image. [0] https://github.com/qemu/qemu/blob/master/docs/interop/qmp-spec.txt (From OE-Core rev: 42af4cd2df72fc8ed9deb3fde4312909842fcf91) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oeqa/core/tests/cases/timeout.py: add a testcase for the previous fixAlexander Kanavin2021-04-232-0/+19
| | | | | | | | | | | | | | | | | | This is the sequence that didn't properly operate: - a test case that skips and isn't executed - a second test case that is skipped via a dependency decorator, and sets a timeout - a third test case that takes longer than the timeout from the second test case Without the fix, the timeout is not cleared, and the third test case is erroneously aborted. With the fix, the timeout is cleared and the third test case is able to complete. (From OE-Core rev: 54ef07a9aa1af8f41cfb9a4802929c918efc43c8) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: tear down oeqa decorators if one of them raises an exception in setupAlexander Kanavin2021-04-232-4/+10
| | | | | | | | | | | | | | | | Some of the decorators need proper cleanup, such as OETimeout which sets a signal handler that needs to be cleared via teardown. If this is not done then the signal gets called later with unpredictable effects. This can be seen if there's a test that is skipped via a decorator and sets a timeout at the same time: the timeout isn't cleared, and is invoked later in a completely unrelated context. The test case for this is added in the next commit. (From OE-Core rev: f42a08e1aabf1ca57e0c09d69fb69cc717c7f156) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/bblayers: Add test case for bitbake-layers layerindex-show-dependsDiego Sueiro2021-04-231-0/+5
| | | | | | | (From OE-Core rev: 80090c31164d62a169431ab71c4aaee5475b6f40) Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove ↵Teoh Jay Shen2021-04-231-30/+0
| | | | | | | | | | | Test_if_usb_hid_device_works_well_after_resume_from_suspend_state manual test Remove the Test_if_usb_hid_device_works_well_after_resume_from_suspend_state test as it was replaced by the new automated runtime oeqa/runtime/cases/usb_hid.py. (From OE-Core rev: 61b0eba90ba4676967b96b5561f99ee2294352a0) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json :remove ↵Teoh Jay Shen2021-04-231-34/+0
| | | | | | | | | | | Check_if_RTC_(Real_Time_Clock)_can_work_correctly manual test Remove the Check_if_RTC_(Real_Time_Clock)_can_work_correctly test as it was replaced by the new automated runtime oeqa/runtime/cases/rtc.py. (From OE-Core rev: ea5d87f014b33b88402176ae7e07f8ff216415a0) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove click_terminal_icon_on_X_desktop manual testTeoh Jay Shen2021-04-231-22/+0
| | | | | | | | | Remove the click_terminal_icon_on_X_desktop test as it was replaced by the new automated runtime oeqa/runtime/cases/terminal.py. (From OE-Core rev: ce10543b03349a68dd2639990b8c267110dcab2e) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove standby and ↵Teoh Jay Shen2021-04-231-64/+0
| | | | | | | | | | | Test_if_LAN_device_works_well_after_resume_from_suspend_state manual test Remove standby and Test_if_LAN_device_works_well_after_resume_from_suspend_state test as they was replaced by the new automated runtime oeqa/runtime/cases/suspend.py. (From OE-Core rev: 2b99a35f0131300a121304ac46f2d29b593128c0) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove ethernet_static_ip_set_in_connman and ↵Teoh Jay Shen2021-04-231-64/+0
| | | | | | | | | | | ethernet_get_IP_in_connman_via_DHCP manual test Remove ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP test as they was replaced by the new automated runtime oeqa/runtime/cases/ethernet_ip_connman.py. (From OE-Core rev: bb7d753e636c81d1a9d48210da6910c711e4f2df) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw.json : remove boot_from_runlevel_3 and ↵Teoh Jay Shen2021-04-231-64/+0
| | | | | | | | | | | boot_from_runlevel_5 manual test Remove boot_from_runlevel_3 and boot_from_runlevel_5 test as they was replaced by the new automated runtime oeqa/runtime/cases/runlevel.py. (From OE-Core rev: f4f9dffddf699cef63ab5554e2f92ae026574e89) Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/cases: Only disable/enable for current bootWes Lindauer2021-04-202-4/+4
| | | | | | | | | | | | | | | | | | Previously doing a stop/start worked, but using a disable/enable does not work on a read-only rootfs. Add a --runtime flag to systemctl so that systemd only modifies the current boot and does not attempt to write to the filesystem. This also keeps the test from making a permanent (one could argue policy) change to the running system being tested. i.e. What if the image being tested had intentionally disabled the timesyncd service in preference to using chrony or ntpd? The test shouldn't assume that the user wants the timesyncd service enabled. (From OE-Core rev: 43dd83b6a325589368c980a3f17cab90935aaeb0) Signed-off-by: Wes Lindauer <wesley.lindauer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: ignore floppy error on qemu-system-x86 at boot stageYanfei Xu2021-04-181-0/+2
| | | | | | | | | | | | | | | | | | | | | We can disable floppy drive by BIOS on a hardware, but an empty floppy drive is connected by default on qemu-system-x86. Linux usually detect the device and modprode the matched floppy.ko at the boot stage. Due to we don't specify a floppy deivce in qemu boot arguments, then the errors about floppy reading comes out. It is harmless and normal, so we could ignore this error message on qemux86. Seen if kernel-modules is included in the image which pulls in the relavent kernel module. https://lists.gnu.org/archive/html/qemu-devel/2021-04/msg01402.html (From OE-Core rev: 3359f23ee9351c70997d5e0a17d17d1e47d59623) Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime: space neededJon Mason2021-04-181-2/+2
| | | | | | | | | | | | | Messages are currently being printed as: Test requires dropbear, oropenssh-sshd to be installed but should be Test requires dropbear, or openssh-sshd to be installed Adding the space after the 'or' corrects this. (From OE-Core rev: 51596e0f8cebe1607ab64ffb018d51e815c0ee4b) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* deb: apply postinstall on sdkhongxu2021-04-181-0/+4
| | | | | | | | | | | | | | | | | | | | | If not postinstall applied, some nativesdk command could not be found in sdk due to update-alternatives in postinst not be executed, such as chroot: $ which chroot /sbin/chroot $ which chroot.coreutils path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils After applying the fix $ which chroot path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot $ which chroot.coreutils path-to-sdk/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/chroot.coreutils (From OE-Core rev: 2a9bf19502766baa4087456649d5471483d04f6a) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Ensure packages classes are set correctly for maintainers testRichard Purdie2021-04-181-1/+1
| | | | | | | | | | | | | | The dnf packages aren't parsed if rpm isn't in PACKAGE_CLASSES which means the aintainers test failes for OE-Core (where ipk is the default) but not for poky (where the default is rpm). Ensure PACKAGE_CLASSES is set so it works in all cases. [YOCTO #14277] (From OE-Core rev: 842b11107363357ed933cfcf619f1cf23f0d841e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal: Fix tmux new-session on older tmux versions (<1.9)Peter Budny2021-04-181-3/+13
| | | | | | | | | | | `tmux new -c` fails on tmux older than 1.9, when that flag was added. We can omit the flag for older versions of tmux, and the working directory gets set even without it. (From OE-Core rev: c55c294be6f5119f4c58a4e7a0bc052904126569) Signed-off-by: Peter Budny <pbbudny@amazon.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Hardcode test assumptions about heartbeat event timingsRichard Purdie2021-04-161-3/+3
| | | | | | | | | Setting a value of 10 for heartbeat events causes the test to fail. Hardcode a value to ensure it works correctly even if the default is changed. (From OE-Core rev: 08b2c9a23ce43ed65a16f5f0714b19a571e1b54a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: add test case for SRC_URI dependency sniffingRoss Burton2021-04-061-0/+54
| | | | | | | | | Add tests to verify that SRC_URI dependency sniffing works correctly. (From OE-Core rev: 394b98f7d77c199a4a022447ec5d722ffb7d1741) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* uboot: Fixes SPL verified boot on corner casesKlaus Heinrich Kiwi2021-04-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * The kernel-fitimage class adds a do_assemble_fitimage_initramfs task regardless of INITRAMFS_IMAGE_BUNDLE setting, which in some cases can result in that task running after do_uboot_assemble_fitimage and overwriting the u-boot-spl.dtb file with the pristine version (without public key). Fix this by making do_uboot_assemble_fitimage dependant on both do_assemble_fitimage_* tasks, regardless of the aforementioned setting. * Adjust 'type' and 'os' on the U-boot fitimage its script so that mkimage/dumpimage can recognize them. * Move the deployment of the u-boot-spl-nodtb files outside of concat_spl_dtb_helper(), so that we can better isolate the scenarios of creating an (unsigned) U-Boot fitimage versus also signing it. This prevents some stale files from being deployed in the images directory. * Remove any u-boot-fitImage and u-boot-its files from build tree, in case the build tree is being reused across bitbake calls. (From OE-Core rev: dc26d35e0935f30af55a3d2cb5c501d1b5c35437) Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: Add U-Boot fitImage signing testcasesKlaus Heinrich Kiwi2021-04-061-0/+468
| | | | | | | | | | | | | | | | | | | Derived from the similar kernel fitImage sign testcase, the U-Boot fitImage testcases exercises the following fitimage.FitImageTest scenarios: * test_uboot_fit_image - create unsigned U-Boot fitImage * test_uboot_sign_fit_image - create unsigned U-Boot fitImage in addition to signed Kernel fitImage * test_sign_standalone_uboot_fit_image - Create signed U-Boot fitImage without a Kernel fitImage * test_sign_cascaded_uboot_fit_image - Create and sign U-Boot and Kernel fitImages (From OE-Core rev: e71e4c617568496ae3bd6bb678f97b4f73cb43d8) Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runqemu: Support RUNQEMU_TMPFS_DIR as a location to copy snapshot images toRichard Purdie2021-04-064-4/+14
| | | | | | | | | | | | | | | | | | We have a working theory that IO queues on the autobuilder are impacting runtime testing under qemu, particularly async writes which inice does not influence. We already pass the snapshot option to qemu which copies the image and runs out of the copy. Add in the ability to copy the image to a specificed location which can be a tmpfs. This means that writes to the image would no longer be blocked by other writes to disk in the system. Preliminary tests show that this does improve the qemu errors at the expense of sometimes showing qemu startup timeouts as on a loaded system with a large test image, it can take longer than 120s to copy the image to tmpfs. Having a most consistent failure mode for loaded tests is probably desireable though. (From OE-Core rev: fd1c26ab426c3699ffd8082b83d65a84c8eb8bff) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/concurrencytest: Fix display of test stdout/stderrRichard Purdie2021-04-061-16/+17
| | | | | | | | | | | | | | | | If oe-selftest is run with -j, the output to stdout/stderr is being lost at present. Capture this and display it upon test failure. We have code that previously tried to enable this but it wasn't functioning correctly. This should give more usable error reports on the autobuilder. This code will mix stdout and stderr as the output is streamed from the test server without markup. This is most in keeping with subunit/testools though and the easiest way to handle the various challenges here as far as I can see. (From OE-Core rev: 6a954ce5834c8026adecff8478c3d827640bc647) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/concurrencytest: Rename variables to improve the codeRichard Purdie2021-04-061-13/+13
| | | | | | | | | | Each time I look at this code I get confused about what the different variables represent. Rename a few of them to better indicate what they represent. (From OE-Core rev: e39d97c0b191add9281bac463ca059685288c81a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Avoid copying and producing .pyc filesMark Hatle2021-03-281-3/+3
| | | | | | | | | | | | 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. (From OE-Core rev: ce8eba263647ae63a722122e28f26af46ae083a0) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs.py: uninstall the run-postinsts package if not neededAwais Belal2021-03-281-5/+3
| | | | | | | | | | | | | | | | | | | | 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. (From OE-Core rev: 627fb3181edd71502fbdf96549c41b2dea027250) Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/utils: add directory size functionRoss Burton2021-03-281-0/+31
| | | | | | | | | | | | | | | | | | | 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). (From OE-Core rev: 6ca53ad7b26ee2b4e6d2c121c6f6d6eed7f6b56f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/wic: Fix dependency issue in rawcopy testRichard Purdie2021-03-201-7/+11
| | | | | | | | | | | | | 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. (From OE-Core rev: 590398080e81fb5e2f81e12b8900858837dfe25f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cve-check: CVE_VERSION_SUFFIX to work with patched releaseLee Chee Yang2021-03-202-1/+14
| | | | | | | | | | | | | 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. (From OE-Core rev: 8076815fc2ffc8f632e73527ce2b7d158a29e9ea) Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/reproducible: Drop ovmf exclusionRichard Purdie2021-03-201-1/+0
| | | | | | | | The hardcoded path issue was fixed, drop the exclusion. (From OE-Core rev: 58e02c83dcf4d6c40c206a0371ef5d7f8db2b272) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meson: Work around determinism issueRichard Purdie2021-03-161-1/+0
| | | | | | | | | | 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). (From OE-Core rev: ad00107dc02b3211f5d1a7fe889f538ee2bc064d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distrodata.py: Test to track recipes without HOMEPAGE or DESCRIPTIONDorinda Bassey2021-03-151-0/+36
| | | | | | | | | | | | | | | | | 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] (From OE-Core rev: 5e0cfce7a126c194bfb7855952355c62eae3831a) Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* go-dep: RemoveKhem Raj2021-03-151-1/+0
| | | | | | | | | | | | | 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. (From OE-Core rev: 1e7ed44d87034446f1d07692c9378c3b0a8a9dd3) 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>
* reproducibile: remove perf from exclusionsBruce Ashfield2021-03-141-1/+0
| | | | | | | | | | We have fixes for perf reproducibility, so we can drop it from the exclusion list. (From OE-Core rev: 2989779fa244ec2c2c714c27f67753eefeeaf4af) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: correct forcing of ttyS0Jon Mason2021-03-111-1/+1
| | | | | | | | | | | | | 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. (From OE-Core rev: 9dea4cd2f9f46ab3a75562639a22d8f56b4d26af) Signed-off-by: Jon Mason <jon.mason@arm.com> Change-Id: I746d56de5669c955c5e29d3ded70c0a4d3171f17 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: Allow expected kernel messages for qemuppc64Khem Raj2021-03-111-0/+5
| | | | | | | | | | | | | 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 (From OE-Core rev: f9a5dc7eeb99d211d728f8f7395aa22d4749e6a7) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: add test to verify that poisoned sysroots are detectedRoss Burton2021-03-101-0/+6
| | | | | | | | | | | 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. (From OE-Core rev: b3e3eba796b843021b264f0e98dc30f983775d58) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake-bblayers/create: Add optional layerid argumentCharlie Davies2021-03-062-6/+8
| | | | | | | | | | | | | | 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. (From OE-Core rev: 8f896bd9b34f19535838757c8f3049bae438e4fe) Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake-bblayers/create: Fix incorrect priority help messageCharlie Davies2021-03-061-1/+1
| | | | | | | | | | The help message for the optional argument of setting the priority of the new layer was incorrect. (From OE-Core rev: d10d928c6030951994bc2404cde78137c86917a4) Signed-off-by: Charlie Davies <charles.davies@whitetree.xyz> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>