summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* classes/package: Add extended packaged dataJoshua Watt2021-09-031-0/+12
| | | | | | | | | | | | | | | | | | Adds extended package data which is encoded as JSON which allows it to encode more structure than the "flat" package data files. The extended data might be much larger than the standard package data, so it is not read by default and instead requires oe.packagedata.read_subpkgdata_extended() to be called Currently, the file sizes and ELF debug sources are saved off into the extended package data (From OE-Core rev: db9cf430e54ae68da80fbc3fba80ce88d8df164d) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Reviewed-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/buildtools-cases: Allow bitbake time to shutdownRichard Purdie2021-09-011-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | bitbake may still be shutting down when the UI exits. Wait for the lock to disappear before trying to delete the directory to avoid errors. Traceback (most recent call last): File "/home/pokybuild/yocto-worker/buildtools/build/meta/lib/oeqa/sdk/buildtools-cases/build.py", line 23, in test_libc self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir)) File "/usr/lib64/python3.7/tempfile.py", line 807, in __exit__ self.cleanup() File "/usr/lib64/python3.7/tempfile.py", line 811, in cleanup _shutil.rmtree(self.name) File "/usr/lib64/python3.7/shutil.py", line 494, in rmtree _rmtree_safe_fd(fd, path, onerror) File "/usr/lib64/python3.7/shutil.py", line 452, in _rmtree_safe_fd onerror(os.unlink, fullname, sys.exc_info()) File "/usr/lib64/python3.7/shutil.py", line 450, in _rmtree_safe_fd os.unlink(entry.name, dir_fd=topfd) FileNotFoundError: [Errno 2] No such file or directory: 'bitbake.sock' (From OE-Core rev: 94df60cc97058444188ec8372c2d9849e74b76c6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: Label packages providing per-file dependencies in depends.dotAndres Beltran2021-09-011-2/+30
| | | | | | | | | | | | | | | | Currently, depends.dot includes per-file dependencies but not the packages providing those files. This makes it hard to obtain all package dependencies by just looking at depends.dot. Parse the RPROVIDES and FILERPROVIDES fields from pkgdata to map each of their values to the package providing the component. Include runtime packages as dependencies in depends.dot, together with the component provided by the package as a label. (From OE-Core rev: 2ba33093017574bbe29eeba699eb90628614d03a) Signed-off-by: Andres Beltran <abeltran@linux.microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: ignore intermittent CD/DVDROM identification failureBruce Ashfield2021-08-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | We don't use the CD/DVD ROM drive in any of our tests, but it periodically fails discovery and that leads to a QA error: [ 6.403477] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x4) The only way to disable the optical ROM drive in qemu is to use the '-nodefaults' option, which disables the CDROM (among other things). We can't be sure that none of our tests, or extended users are relying on default devices, so using that option is more of a risk than adding the message to our ignore list. To date, no one has sent a patch to just disable the optical drive (either in qemu or the BIOS), but that is something we could consider in the future. [YOCTO #14528] (From OE-Core rev: 143fc5504539c69752ca87717507c197a8920ce5) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner.py: handle getOutput() having nothing to readAlexander Kanavin2021-08-271-1/+4
| | | | | | | (From OE-Core rev: f4abfdeea175cfcadd6f73a69a676632ab4334a6) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner.py: print output from runqemu/qemu-system in stop()Alexander Kanavin2021-08-271-0/+2
| | | | | | | | | | | | | | This is done when starting up qemu has failed, but is not done when qemu started ok, but fails later in QMP communication. Output from runqemu does contain valuable information to find out why, so rather than fix all the QMP fails to include it, let's just print it in stop(). (From OE-Core rev: 6e2bf68e4401db747484c2c8ba0f77500b1d2d49) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/reproducibile: Exclude rust packagesRichard Purdie2021-08-261-1/+5
| | | | | | | | | rust-llvm-liblto and rust-llvm-staticdev sometimes vary in contents. Exclude them from the test for now until we can work on and resolve the issues. (From OE-Core rev: 60c12da5aae2534c972df851f26e4523fed03afc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/distrodata: Fix up rust maintainer testingRichard Purdie2021-08-261-1/+1
| | | | | | | | | | Since the target rust recipe is skipped but the native variant is not, this confuses the test. Add rust to the list of special cases to avoid test failures as the current code can't handle the skip. (From OE-Core rev: 842cba1820416d79e30e3f1940e2486707fc7cff) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rust: initial merge of most of meta-rustRandy MacLeod2021-08-261-0/+149
| | | | | | | | | | | | | | | | | | | | | | | In the meta-rust repo at commit: 448047c Upgrade to 1.54.0 (#359) Make the required directories: mkdir ../oe-core/meta/recipes-devtools/rust mkdir ../oe-core/meta/recipes-devtools/cargo mkdir ../oe-core/meta/recipes-example and then: cp recipes-devtools/rust/* ../oe-core/meta/recipes-devtools/rust cp recipes-devtools/cargo/* ../oe-core/meta/recipes-devtools/cargo cp lib/crate.py ../oe-core/meta/lib cp recipes-example/* ../oe-core/meta/recipes-example cp conf/distro/include/rust_* ../oe-core/meta/conf/distro/include/ cp classes/* ../oe-core/meta/classes/ cp recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb ../oe-core/meta/recipes-core/packagegroups (From OE-Core rev: 3ed57578cca93ff1ba4e0bf3f25566e10659a2f9) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* prservice: remove connection cachingScott Murray2021-08-231-13/+12
| | | | | | | | | | | | | | This patch is a follow on of the the PR server rework in bitbake to add read-only support. The shift to using the bb.asyncrpc code in the PR server and client brings issues with respect to reuse of the same asyncio loop in different processes. This patch removes the PR service connection caching to avoid one source of this problem. It is believed that in practice this should have little impact on overall performance. (From OE-Core rev: 0fc3055027e2a76ac863f1c0e0d52e95748066aa) Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absentAlexander Kanavin2021-08-231-2/+4
| | | | | | | | | | | | | | | | | | | This is particularly useful for llvm-accelerated GL rendering from qemu guest to an offscreen buffer (accessible over vnc or spice) using llvmpipe on the host, rather than using unaccelerated swrast renderer in the guest. This is the best that can be done in the absence of a host GPU with render node support (such as old Matrox cards common in servers, or fully virtualized cloud environments with no GPU at all). Note: even though NVidia blob drivers do support render nodes, they do not support gbm (yet?), and so rendering will fall back to llvmpipe as well even when the system has a 3000 euro NVidia GPU. Cue Linus picture. (From OE-Core rev: 9b1daa173481f7f560e00e0dc22b4010ff1dc0ec) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/elf: Add Android OS to machine_dictHsia-Jun Li2021-08-221-0/+8
| | | | | | | | | Add entries for Android to the mappings. (From OE-Core rev: 2cec34178d6e5864c5d6280532a77cfb9cb255ea) Signed-off-by: Hsia-Jun Li <randy.li@synaptics.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: wic: Add tests for --no-fstab-updateDaniel Gomez2021-08-201-0/+58
| | | | | | | | | Add tests for the --no-fstab-update wic part command. (From OE-Core rev: 90141d41a370ff377d95fb3dd144b63a85e22f8e) Signed-off-by: Daniel Gomez <daniel@qtec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk: add HTTPS test for buildtoolsRoss Burton2021-08-181-0/+20
| | | | | | | | | | Verify that HTTPS connections work in both wget and Python, as this depends on variables correctly pointing to the certificate chain. (From OE-Core rev: 5c2b1fb09e786ec392979d21dc7884ca23cd84f0) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk: add relocation test for buildtoolsRoss Burton2021-08-181-0/+29
| | | | | | | | | | | | The buildtools-extended tarball includes GCC, which relies on being relocated correctly to work. Add a test case that verifies that the loader paths have all been relocated, as otherwise there are hard-to-debug errors at build time. (From OE-Core rev: fe1f675ea156722a3709b13cd751479c9528134d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/buildoptions: test buildhistory PKGSIZE and FILELIST fieldsRoss Burton2021-08-171-0/+24
| | | | | | | | | Add tests to ensure that PKGSIZE and FILELIST fields are set correctly. (From OE-Core rev: 8e957f9dbf794195af093f3fbc00b4c8d269ee37) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/glibc: Handle incorrect encoding issuesin glibc test resultsRichard Purdie2021-08-171-1/+1
| | | | | | | | | | We dont control the test output and sometimes see badly encoded characters. These don't affect the operation of the code we're running. Use errors='replace' to avoid those issues and the resulting test failures. (From OE-Core rev: 3939b1923387d3bc440118ed1663d28a03a1ea5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/cases: make date.DateTest.test_date more reliableAlexandre Belloni2021-08-131-5/+4
| | | | | | | | | | | | The test uses the broken out time and can only handle about 59s of delay, use a UNIX timestamp to allow for up to a 300s delay. [YOCTO #14463] (From OE-Core rev: b705e9373acd4119da75af4eb96ec92cc964aa86) Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/packagedata: Fix for new overridesJoshua Watt2021-08-131-3/+3
| | | | | | | | | | | Fix read_subpkgdata_dict to account for the new override operator being ":" instead of "_" (From OE-Core rev: 0b04ae769d4fad2caaa858803d8fbbbaec689541) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/cve-check: Move get_patches_cves to libraryJoshua Watt2021-08-131-0/+83
| | | | | | | | | | | | | | Moving the function will allow other classes to capture which CVEs have been patched, in particular SBoM generation. Also add a function to capture the CPE ID from the CVE Product and Version (From OE-Core rev: 75d34259a715120be1d023e4fd7b6b4b125f2443) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/fitimage: update tests to use two keysThomas Perrot2021-08-131-7/+14
| | | | | | | | | | | | | Other keys (UBOOT_SIGN_IMG_KEYNAME) are required to sign individually the images nodes, and these keys must be different from the ones used to sign the configurations nodes (UBOOT_SIGN_KEYNAME), then fitimage tests need to be updated. (From OE-Core rev: dbaca2c2522ed0dc3d0a2f80dc4510aaec177afc) Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk: add some buildtools testsRoss Burton2021-08-123-0/+47
| | | | | | | | | | | | | | | | | These two tests are designed to exercise the buildtools-tarball. SanityTests simply verifies that inside the SDK, some commands are used from the SDK. BuildTests creates a new OE build directory and builds virtual/libc to verify that a basic build works correctly. DL_DIR is reused to avoid needless downloading, but sstate is not shared to ensure a build does happen. (From OE-Core rev: 6157d6ffa32d6df383c29d4b6de07feb9d619913) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: overlayfs unit testsVyacheslav Yurkov2021-08-121-0/+171
| | | | | | | | | Unit tests for overlayfs.bbclass (From OE-Core rev: b393e1982090063d9d0610fdcfd3601e78a501c0) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe: add generic functions for overlayfsVyacheslav Yurkov2021-08-121-0/+43
| | | | | | | (From OE-Core rev: 53f0af20f94399335c8a5a6b7001994e332b69a6) Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/cases/ptest: Increase test timeout from 300s to 450sRichard Purdie2021-08-061-1/+1
| | | | | | | | | | Some tests such as lttng-tools are marginal and timing out on the autobuilder with the current 300s default. Increase to avoid this noise in the ptest failures list. (From OE-Core rev: 5fb902a52e35130af6b0735a087c709daa35655f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool.py: Correct override syntaxKhem Raj2021-08-051-1/+1
| | | | | | | (From OE-Core rev: 3a0af9245b11326ced96a05db85e0e45e6422d4a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* toaster-managed-mode.json: Correctly specify term with new override syntaxKhem Raj2021-08-051-2/+2
| | | | | | | (From OE-Core rev: 218117b0947e0dff977cf7ce508ed34382e3cf49) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Convert IMAGE_TYPEDEP to use override syntaxRichard Purdie2021-08-042-3/+3
| | | | | | | | | The IMAGE_TYPEDEP variable would make more sense to match the form of the other image override variables, convert it to use the overrides format. (From OE-Core rev: 8573f6b2a7af9867da0b21936ffd2cd2a417de1d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: add core-image-weston to no-gpl3-no-meta-gpl2 image testAlexander Kanavin2021-08-021-8/+20
| | | | | | | | | | | This demonstrates more of the tricks and techniques that can be used to achieve gpl3-free images withough having to roll back to ancient versions of various core items via meta-gpl2. (From OE-Core rev: cb78db7aa14f147ce79c12539c9435cab06f92bf) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Manual override fixesRichard Purdie2021-08-027-19/+19
| | | | | | | | | | The automated conversion of OE-Core to use the new override sytax isn't perfect. This patches some mis-converted lines and some lines which were missed by the automation. (From OE-Core rev: 4e9a06b64b43131b731fb59a0305f78a98e27fbd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert to new override syntaxRichard Purdie2021-08-0237-137/+137
| | | | | | | | | | | | This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". (From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: qemuarm should be qemuarmv5Jon Mason2021-07-291-1/+2
| | | | | | | | | | | | All of the errors being masked off for qemuarm are legacy from before the migration of qemuarm to qemuarmv5. Rename the machine to that to allow for qemuarmv5 to pass parselog test. Light testing shows no errors in dmesg for qemuarm. (From OE-Core rev: 701a58504de15b244b970908f2de0971a35b5a09) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* rootfs: remove ldconfig auxiliary cache where appropriateDamian Wrobel2021-07-281-0/+10
| | | | | | | | | | | | | | | Removes the /var/cache/ldconfig auxiliary cache directory from the rootfs when: - read-only-rootfs is in IMAGE_FEATURES, - ldconfig is not in DISTRO_FEATURES. In both cases the /var/cache/ldconfig/aux-cache is useless. (From OE-Core rev: e7a18904582b27fd12a437ff4d8d25c625af7696) Signed-off-by: Damian Wrobel <dwrobel@ertelnet.rybnik.pl> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/toaster: fix small typoRalph Siemsen2021-07-221-1/+1
| | | | | | | | | PACKAGE_CLASES should be PACKAGE_CLASSES. (From OE-Core rev: 7a96f3bceb2c857f841b1dbeb4587a8aaace529e) Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: ignore rndr initialization failureMingli Yu2021-07-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After rng-tools upgraded to 6.13, the RNDR instruction added as an entropy source [1]. But for some cpu which doesn't support rndr, there comes below warning message: # systemctl status rngd [snip] Jul 20 06:48:07 qemuarm64 rngd[163]: [rndr ]: No HW SUPPORT Jul 20 06:48:07 qemuarm64 rngd[163]: [rndr ]: Initialization Failed [snip] Actually the failed message doesn't matter as it only indicates one entropy source rndr fails to initialize and won't affect rngd function, so ignore the failure message to fix below error during do_testimage. NOTE: ====================================================================== NOTE: FAIL: test_parselogs (parselogs.ParseLogsTest) NOTE: ---------------------------------------------------------------------- NOTE: Traceback (most recent call last): File "/build/layers/oe-core/meta/lib/oeqa/core/decorator/__init__.py", line 36, in wrapped_f return func(*args, **kwargs) File "/build/layers/oe-core/meta/lib/oeqa/runtime/cases/parselogs.py", line 382, in test_parselogs self.assertEqual(errcount, 0, msg=self.msg) AssertionError: 1 != 0 : Log: /build/tmp/work/qemuarm64-wrs-linux/wrlinux-image-std/1.0-r5/target_logs/daemon.log ----------------------- Central error: 2021-06-23T20:44:18.374494+00:00 qemuarm64 rngd[162]: [rndr ]: Initialization Failed (From OE-Core rev: 1edc840d6921668b69d248f9b32fa1d5c95e3138) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: Handle files no longer existing gracefullyRichard Purdie2021-07-111-6/+9
| | | | | | | | | Files in /proc/xxx/map_files/ may no longer exist, just ignore this rather than raising an exception. (From OE-Core rev: fb1027896a263cd91e2378a4e97dbdf0807b306b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: update socat version to fix failing downloadRoss Burton2021-07-081-1/+1
| | | | | | | | | | | | If the recipetool tests are run with an empty DL_DIR the fetch of socat 1.7.3.0 fails as that URL doesn't exist anymore. Update the version to 1.7.4.1 to fix the test. (From OE-Core rev: 42ebda0c85f14f9f8a508f59115b141d645d4c77) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/multiprocesslauch: Fix test raceRichard Purdie2021-07-071-2/+1
| | | | | | | | | | | | | Having two possible failures in multiprocesslauch creates a race where one failure may occur and stop processes being lanuched meaning the second failure may not be seen. Rather than having periodic races appearing on the autobuilder, only have one failure, making the test much more deterministic. [YOCTO #13054] (From OE-Core rev: 31e9dcda40aae3ce0801580c838928956e1455e3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/dump.py: Add support for QMP command argumentsSaul Wold2021-07-022-5/+20
| | | | | | | | | | | | Need to ensure that the dump_dir is created correctly and available When command arguemnts are passed construct a filename if needed and convert the arguements to a json object to pass to QMP. (From OE-Core rev: 9a2f4e1e95f4a3f7ebbf08f46445c8ea670adce3) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemurunner: add support qmp cmd argsSaul Wold2021-07-021-2/+6
| | | | | | | | | | | This will enable passing arguments to qmp commands for those that require additional information (From OE-Core rev: 4d34676b6226a34df2877adbeea25abb5b2a31be) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/archiver: Allow tests to ignore empty directoriesRichard Purdie2021-07-021-8/+8
| | | | | | | | | | | | | | If we tweak sstate to not remove empty directories under conditions where a race could occur, we see failures from: "oe-selftest -r archiver.Archiver.test_archiver_filters_by_type archiver.Archiver.test_archiver_filters_by_type_and_name" since an empty directory is left behind. Update the tests to ignore empty directories. (From OE-Core rev: 10cda713faea9a348fd278137ac75e4a6d76a71c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager: Don't ignore installation failures in ↵Fabio Berton2021-06-291-5/+3
| | | | | | | | | | | | | | | | | | install_complementary When attempt_only flag is set to True all installation failures are ignored. Disable attempt_only, that is the default in install function, to raise error in install_complementary and to prevent do_populate_sdk task to treat errors as warnings. [RP: Historically some of our addtional packages were in bad shape and wouldn't all install. This is no longer the case so we shouldn't need a hack like this any longer.] (From OE-Core rev: 8042ad9ca91ddaaf741366e1068c63c284ff98f5) Signed-off-by: Fabio Berton <fabio.berton@criticaltechworks.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/runcmd: Tweal test timeoutsRichard Purdie2021-06-291-2/+2
| | | | | | | | | | | | Load on the autobuilder meant we see occasionaly timeout issues with these tests. Slightly increase the test timeouts to better reflect the real world timings we see. [YOCTO #14262] (From OE-Core rev: fccd2ade0e345625ed9a4b74a7431b000ce2214f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Add info log for qemu startupSaul Wold2021-06-271-0/+8
| | | | | | | | | | | | | | | | | Add a couple of logging info to track time between activities, first is from after the Popen(launch_cmd) to after qmp.connect(), second is from qmp.connect() to the release of the qemu via the qmp("cont") command this includes the mmap() activity. Example output: QMP connected to QEMU at 06/24/21 11:11:56 and took 0.9556229114532471 seconds from launch QMP released QEMU at 06/24/21 11:11:56 and took 0.26789021492004395 seconds from connect (From OE-Core rev: 547f49230ba4ebeefe5b696e0460ebaffa8e91e6) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/fetch: Avoid occasional selftest failure from poor temp file name ↵Richard Purdie2021-06-271-13/+14
| | | | | | | | | | | | | | | | | choice The temp file name may contain "_" characters. Switch to a temporary directory and a fixed filename to avoid this to avoid errors like: bb.data_smart.ExpansionError: Failure expanding variable PN, expression was ${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'} which triggered exception ParseError: ParseError in /tmp/tmpd_f2__to.bb: Unable to generate default variables from filename (too many underscores) (From OE-Core rev: 086e2ae7b2b7496b4f3ae01436b4049d7f2ff8c4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: add second qmp portSaul Wold2021-06-221-0/+6
| | | | | | | | | | | | This will allow for direct ssh connection without breaking the first one that is used for monitoring. The "nowait" option will cause qmp server connection to NOT block waiting. (From OE-Core rev: 40f09e184afd42decf2f924896fef03beacddc4b) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: do not hardcode /tmp/sdkAlexander Kanavin2021-06-211-16/+12
| | | | | | | | | | | | | | | This races if there are several copies of the test running at the same time. [YOCTO #14438] (From OE-Core rev: deab11848036941771f2b3dc5cdaee83395280b5) (From OE-Core rev: ea707e8726cd7012d101d02e69503b7c98bdaf3e) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/target/qemu.py: display contents of dumped filesSakib Sajal2021-06-121-1/+26
| | | | | | | | | | | | | | | | During do_testimage, if the target is not started within a certain timeout, TEST_QEMUBOOT_TIMEOUT, host data is dumped to files for each command in ${TMPDIR}/log/runtime-hostdump/<datetime>_qemu/host_<seq>_<command>. Display the first 20 lines of top output and the last 20 lines of bootlog to standard output for more context for the target not being started up. (From OE-Core rev: 441390b707bf681bc308c9ebd45ea2ae20c37d7c) Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Increase startup timeout 120 -> 300Richard Purdie2021-06-111-1/+1
| | | | | | | | | | We now spend time copying the VM image into a tmpfs and with IO load on the system, the time + the boot time of the VM can take longer than 120s. Increase the timeout to match the added overhead of copying the image file. (From OE-Core rev: a40087c966af5ffb9309e1ddfdb3d06973e0bddd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemurunner: Try to ensure mmap'd libs are paged inRichard Purdie2021-06-111-1/+18
| | | | | | | | | | | | | | | | | | | We've seeing issues where IO load appears to cause strange failures due to timeouts within qemu. One theory for these is that it is is hitting hard page faults at in-opportune moments which cause timing problems within the VM. This patch is a bit of a hack which tries to ensure the data is paged in at a point when we know we can take the time delays (waiting for the QMP start signal). Whilst this isn't ideal, it does seem to improve things on the autobuilder and shouldn't harm anything. The code figures out which files to read my looking at the mmap'd files the process has open from /proc. On Centos7 systems these files are not user readable, if that is the case we just skip them. (From OE-Core rev: e77844314d09ceff9c22338d366519928f4f7284) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>