summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2020-02-13busybox: Backport patches to support removal of __NR_clock_gettimekraj/puKhem Raj
This helps compiling with musl on 32bit arches now that musl has switched to 64bit time_t Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-02-13gdb: Upgrade to 9.1 releaseKhem Raj
Drop security patches which are now in 9.1 already Forward port rest of patches to 9.1 Detailed changes [1] [1] https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00008.html Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13musl: Update to latest tipKhem Raj
Detailed changelog is here [1] [1] https://git.musl-libc.org/cgit/musl/log/?qt=range&q=e6093b5a870a38ebfb3e54382acd48c698bde15d..a662220df547e5c2446518e74440a7d834f9ebe6 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13oeqa: Use --disable-maintainer-mode configure optionKhem Raj
since the versions of autotools might differ, and difference in timestamps for configure and system can result in reconfigure lets avoid that by telling configure to ignore such differences. Avoids error: newly created file is older than distributed files! [YOCTO #13779] Suggested-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13dnf,libdnf: Ignore if PACKAGE_CLASSES does not have rpmKhem Raj
dnf does not work with opkg or dpkg/apt anyway Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-02-13libsolv: Enable rpm packageconfig by default only if rpm O_P_M is enabledKhem Raj
opkg also depends on libsolv and can needlessly pull in rpm even if the O_P_M does not desire to use rpm Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-02-13package_ipk: Minor import tweak + ensure packages regeneratedsiva/masterRichard Purdie
The recent opkg-utils change didn't update all the packages since its marked as ABISAFE (and has to be due to update-alternatives). Fix a minor import issue to avoid multiple imports of glob which also causes packages to re-generate. (From OE-Core rev: ef24a545d11febb96d1c0f02c60d9701295ef592) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13pkgconf: Remove pointless DEFAULT_PREFERENCERichard Purdie
There is no other version of pkgconfig to have a preference against, remove the unneeded variable. (From OE-Core rev: 837cd3c0ee318ff22065b77c6cc72b4d50abbf27) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13scripts/lib/resulttool/report: Enable report selected test case resultYeoh Ee Peng
Enable reporting selected test case result given the user provided the selected test case id. If both test result id and test case id were provided, report the selected test case result from the selected test result id. (From OE-Core rev: 7161310ce32d6e0c397d0132808d556bdc80d183) Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13meta/recipes-graphics/waffle: Add python3 dependencyAníbal Limón
The python3native.bbclass set PYTHON_{LIBRARY, INCLUDE_DIR} pointing to python target build, a patch was add to use target _sysconfigdata too [1] but is not available without python3 dependency. Fixes waffle build when trying to find _sysconfigdata module, ... | Program python3 found: YES (/home/anibal.limon/linaro/oe-rpb-master/build-410c/tmp-rpb-glibc/work/aarch64-linaro-linux/waffle/1.6.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3) | | meson.build:36:0: ERROR: <ExternalProgram 'python3' -> ['/home/anibal.limon/linaro/oe-rpb-master/build-410c/tmp-rpb-glibc/work/aarch64-linaro-linux/waffle/1.6.0-r0/recipe-sysroot-native/usr/bin/python3-native/python3']> is not a valid python or it is missing setuptools | | A full log can be found at /home/anibal.limon/linaro/oe-rpb-master/build-410c/tmp-rpb-glibc/work/aarch64-linaro-linux/waffle/1.6.0-r0/build/meson-logs/meson-log.txt | WARNING: exit code 1 from a shell command. ... [1] http://git.openembedded.org/openembedded-core/commit/?id=02714c105426b0d687620913c1a7401b386428b6 (From OE-Core rev: d3032809136707b584e7938c01e77da36abc1b00) Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13libubootenv: Split binaries to a libubootenv-bin packageOtavio Salvador
The fw_setenv and fw_printenv binaries should be on a specific package as some systems may require just the library. The upgrade path was kept using the RPROVIDES for the -bin package. (From OE-Core rev: a60bf84b15be85ae0f16b5f85fec98b3365f15de) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13populate_sdk_base: if the SDKIMAGE_FEATURES changes, refresh the SDKMark Hatle
Since the features are processed by a python fragment, we need to explicitly list the variables that should affect the resulting hash, and thus sstate re-use. (From OE-Core rev: c7c12efba87c803d94a7c9c2f8c98b66aeba6d43) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13kernel-fitimage: Handle overlays in EXTERNAL_KERNEL_DEVICETREEAlex Kiernan
When using EXTERNAL_KERNEL_DEVICETREE, collect DTB overlays too (*.dtbo) as well as iterating down into sub-directories so using the behaviour for naming which matches KERNEL_DEVICETREE. (From OE-Core rev: 169ebd59f11845a3a5a7157719217ccf0844e448) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13xserver-nodm-init: Fix the start failure for non-root userKevin Hao
In order to start the xserver, a non-root user should have the cap_sys_admin capability to set the drm master. We try to get the cap_sys_admin capability by setting it in both the thread and file inheritable set. The side effect of this is that we would have to add the "pam" to the distro features if we want use the xserver-nodm-init for a non-root user. [Yocto #11526] (From OE-Core rev: cfd71a68a4931c8bda15357ebb1e9ebcf0e302dc) Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13testimage: Extend runtime testing infrastructure to allow unconventional ↵Alejandro Hernandez Samaniego
booting processes to be tested The current runtime infrastructure contains hardcoded values which Ill refer to as patterns, these patterns are either searched through or sent via the serial terminal to communicate between HOST and TARGET. These patterns are required since they allow us to check when a device has finished booting, to log in, and to check whether a command sent from our tests has returned, this way we are able to check both the status of the commands that were sent along with its output. The testing process goes somewhat as follows: 1. Launch QEMU and start booting. 2. Check when the device has booted by looking for the pattern login:. 3. Log in as the root user (default for our images). 4. Check that we were able to log in succesfully. 5. Start running the runtime test cases defined by TEST_SUITES. 6. One of such test cases could send a command to the QEMU target. 7. Check whether that command returned. 8. Check its output and status, return whether the test case passed or failed. This patch allows this set of patterns to be defined instead of being hardcoded, but it also automatically sets the defaults that we have been using in the past if they have not been manually defined, for this reason, the patch is less invasive and should not affect in any way how tests are currently being run. Cases that can be enabled with this patch: - A customized image that does not use the root user (or maybe we want to check what happens if we dont use the root user). - An image where the PS1 env variable has been modified, and the prompt pattern wouldnt match the default. - Baremetal applications, which do not follow the conventional way of booting Linux and would probably not show a prompt for a user to log in, same applies for testing bootloaders. - poky-tiny: Using DISTRO=poky-tiny and an image such as the core-image-tiny from meta-intel, which boots directly to RAM, and does not show a log in prompt since it does not contain a conventional init process. The code itself contains comments that should be self explanatory but here is an example on how these patterns can be defined in a hypothetical case where we want to run test cases as the webserver user instead: TESTIMAGE_BOOT_PATTERNS = "send_login_user search_login_succeeded" TESTIMAGE_BOOT_PATTERNS[send_login_user] = "webserver\n" TESTIMAGE_BOOT_PATTERNS[search_login_succeeded] = "webserver@[a-zA-Z0-9\-]+:~#" The variable TESTIMAGE_BOOT_PATTERNS defines which patterns to override when used to communicate with the target when booting, anyone familiar with the PACKAGECONFIG syntax should have no trouble setting these. Other patterns would still be set up as default, e.g. search_reached_prompt would still be login: The accepted flags for TESTIMAGE_BOOT_PATTERNS are the following: search_reached_prompt, send_login_user, search_login_succeeded, search_cmd_finished. They are prefixed with either search/send, to differentiate if the pattern is meant to be sent or searched to/from the target terminal. A working example of this code that falls under the baremetal case mentioned above along with a test case is present on the meta-freertos layer, which tests an RTOS image built with OpenEmbedded and automatically runs a test case on it after booting such image: As usual, INHERIT += "testimage" needs to be present on local.conf $ bitbake freertos-demo -c testimage RESULTS: RESULTS - freertos_echo.FreeRTOSTest.test_freertos_echo: PASSED (2.00s) SUMMARY: freertos-demo () - Ran 1 test in 2.006s freertos-demo - OK - All required tests passed (successes=1, skipped=0, failures=0, errors=0) (From OE-Core rev: 3ab2cbfeff371e8791b031a2852eeef80101a831) Signed-off-by: Alejandro Hernandez Samaniego <aehs29@gmail.com> Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13testimage: Allow testing on QEMU machines with a single serial portAlejandro Hernandez Samaniego
commmit 6cde67d0a84 enables the use of qemurunner on machines that only have a single serial port, but still sets the default value as serial_ports=2 if not provided. The testimage class does not call qemurunner with a serial_ports argument, hence always defaulting to two. Pass the serial_ports argument from the testimage class to allow tests to run on QEMU machines with a single serial port. (From OE-Core rev: a50d0163770f0b405a8de8a8a9cccd48c1de4112) Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-13pciutils: upgrade 3.6.2 -> 3.6.4Wang Mingyu
refresh the following patch: configure.patch (From OE-Core rev: 498e0f83040fe2e83805d8b13d69c17c74a520ba) Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08bitbake: doc: minor tweaks to ch 1 of BB user manualRobert P. J. Day
Tweaks include: - hyphenation - rewording for brevity or clarification - adding <firstterm> markup where appropriate (Bitbake rev: bc84ce7e6542dac1a150b9733411190cff591948) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08bitbake: doc: Standardize spelling on 'BitBake' throughout docsRobert P. J. Day
Since the proper spelling is, in fact, 'BitBake', might as well make it consistent throughout the user manual. (Bitbake rev: 79ada807de0b202c3d568fc4365a1d3f17ba1bce) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08bitbake: siggen: Avoid cache mismatch issues with locked sigsRichard Purdie
If locked sigs are in use this function makes little sense, need to avoid generating mismatch warnings. (Bitbake rev: 27ad9c1d468fba858a4adeb56b605227b415ae0f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08bitbake: siggen: Cache unihash values to avoid cache lookupRichard Purdie
Add unihash cache of values to speed up cache lookup. This avoids the overhead of the disk based check functions. (Bitbake rev: 5c9cc45b60904a1c355db9bf9c4495f1b25aca37) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08bitbake: siggen: Optimise get_unihash disk based cache handlingRichard Purdie
Currently the cache can grow huge since any previously used hash is retained in the cache. This change moves to use one hash per task which improves the speed of the functions considerably. Currently performance is an issue, as are very large cache files and cache load time. By moving to a single hash per task, the shorted filename as a key is no longer usable as the same recipe has multiple variants for the same filename so this has to change. (Bitbake rev: ed764e7fcf04b6d0ba6b4cac7415b1ee8f492865) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08systemd: upgrade 243.4 -> 244.1Alex Kiernan
Drop 0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch a variant on which was introduced in 2c1047310970 ("Upgrade to systemd 211+") in 2014. The oldest supported build machine is now CentOS 7 which has --relative support in ln, so there no longer appears to be any need for this change. Rebase/refresh musl patches: - replace missing.h with specific missing_... header - fix additional WRITE_STRING_FILE_DISABLE_BUFFER - fix more places that need netinet/if_ether.h (From OE-Core rev: 44a4ac2294da0f53cbbfabc7ece836fe97f4d3f7) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08dhcp: upgrade 4.4.1 -> 4.4.2Wang Mingyu
0001-Fix-a-NSUPDATE-compiling-issue.patch 0001-master-Added-includes-of-new-BIND9-compatibility-hea.patch Removed since they are included in 4.4.2. refresh the following patch: 0004-Fix-out-of-tree-builds.patch (From OE-Core rev: d3c6f7e689a743fd060755eceb60353093013e84) Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08lighttpd: upgrade 1.4.54 -> 1.4.55Wang Mingyu
(From OE-Core rev: e669dd946956fed178c377fb9559a52c5885e71c) Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08procps: upgrade 3.3.15 -> 3.3.16Yi Zhao
Drop 0001-Fix-out-of-tree-builds.patch since it has been merged upstream. (From OE-Core rev: c3df7eec1ba99a34b4037da786863de87073576d) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08python3: Do not hardcode "lib" for distutilsChangqing Li
Get the sys.lib from python3 itself and do not use hardcoded value of 'lib' for distutils. Solve the error below that occurs when run "python3 setup.py install" on lib64 multilib platform: [Errno 2] No such file or directory: '/usr/lib/python3.7/site-packages/test-easy-install-1828.write-test' (From OE-Core rev: fb33127de5d80f5bcb84edf6cf4007bca73fa863) Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08python3: fix the installation path of libpython3.7m.a for multilibChangqing Li
Fix the installation path of libpython3.7m.a on mulitlib lib64 platform to lib64 instead of lib (From OE-Core rev: 3081d3993095d2e4817bbef33c9c90dd814a45d7) Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08mesa: upgrade 19.3.1 -> 19.3.3Wang Mingyu
(From OE-Core rev: a3f8270d023cd19c64d491c970f7ff87bb4355c7) Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08xserver-xorg: upgrade 1.20.6 -> 1.20.7Alexander Kanavin
(From OE-Core rev: cad375e113b52069eaa24d7b07a97cc63ae9da46) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08bison: Upgrade to 3.5.1Khem Raj
Minor upgrade on 3.5 release series (From OE-Core rev: da9b363acea2545721702fc7c39c4589b666c61b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08cryptodev: update to Jan.23, 2020Scott Branden via Openembedded-core
* Remove backported patches: 0001-Fix-module-loading-with-Linux-v5.0-rc5.patch Update to latest cryptodev dated Jan.23, 2020. Fixes build on kernel v5.5+ (From OE-Core rev: 877d3ff61fbd55baa5e5fd00bd8a58b31e214cc9) Signed-off-by: Scott Branden <scott.branden@broadcom.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08sstate.bbclass: fix issue while handling long sstate filenamesJaewon Lee
When moving to python3, divison using '/' now returns float instead of an integer. In upstream commit b8025e972081b70960ffcbcbe43a7118041556a1 sstate filenames longer than the limit are changed to just include necessary info + 3 fields just for information. The space left over after the necessary info is divided into 3 for each of the fields. Using '//' instead to do the division to solve the following error message: avail = (254 - len(hash + "_" + taskname + extension) - len(components[0]) - len(components[1]) - len(components[5]) - len(components[6]) - 7) / 3 > components[2] = components[2][:avail] components[3] = components[3][:avail] TypeError: slice indices must be integers or None or have an __index__ method (From OE-Core rev: 2acfee61a062c6520a413b2a797544d968bb0c76) Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08package.bbclass: Support stripping and debug copy of static librariesMark Hatle
By default, we won't copy and strip static libraries. However, this functionality can be useful in some cases where people are doing development on the target, and don't generally want the larger debug capable static libraries. To enable the new functionality set: PACKAGE_DEBUG_STATIC_SPLIT = '1' Add a new function splitstaticdebuginfo. Thus function will copy the unmodified static library into the specific debug directory location. By keeping an unmodified version, it is possible for a user trying to debug something to use -L /usr/lib/.debug-static and their existing build commands to switch from stripped to full debug versions. The PACKAGE_DEBUG_SPLIT_STYLE will select between two different approaches, /usr/lib/debug-static or <path>/.debug-static. Additionally you can now choose to strip static libraries to conserve space. If either 'PACKAGE_DEBUG_STATIC_SPLIT' or 'PACKAGE_STRIP_STATIC' is set to 1, the static library will be stripped. (This is not on by default, as it could make diagnosing static library usage difficult in some cases.) Add to insane.bbclass a skip to the staticdev warning for the specific -dbg package versions. (From OE-Core rev: 17fa66c8199d73f0b59b2b3e609075933bf1e74b) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08package.bbclass: Allow INHIBIT_PACKAGE_STRIP_FILES to skip .ko and static libsMark Hatle
Change the order of the skip processing to happen before any .ko and static library processing. This will allow these types of files to be individually skipped if necessary. (From OE-Core rev: c50fcd54ffe60b63d042d05e6cf538a593dc410f) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08package.bbclass: Fix debug source processing for static librariesMark Hatle
Format of the sources list is the [ (file, [source, ...]), ... ] before this change, the static libraries were processed but the items were included incorrectly causing no sources for static libraries to be included. (From OE-Core rev: fa356b23c2f4599681693bba50d36659b07a8125) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08chkconfig: remove the recipeAlexander Kanavin
chkconfig is one of the options for virtual/update-alternatives, however opkg-utils have been used as the default for a very long time, while chkconfig isn't anymore tested in any way, and is stuck at a very old version due to newer versions requiring selinux. [YOCTO #11264] (From OE-Core rev: 61efc1e287326f52810a439ccde996f45ef89733) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08qemurunner.py: add try/except for pid handling raceTrevor Gamblin
In some instances, attempts to remove the qemu pidfile within the stop() method fail despite the os.path.exists() call immediately before implying that the file is present. Add a try/except block to log a warning if this occurs, rather than failing outright, since the process simply appears to be exiting at an inconvenient time. [YOCTO #13675] (From OE-Core rev: eadb899e23b18eb9eaff145c3bf5b20fb417c3e8) Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08oeqa: Use cpio 2.13 as testcaseKhem Raj
cpio 2.12 was released in 2015 and might have used older autotools which could result in errors like https://bugzilla.yoctoproject.org/show_bug.cgi?id=13779 Bumping to 2.13 will help in matching the tool versions A good change on top would be to run aclocal -I .; autoheader; autoconf; automake --add-missing -c before running configure step perhaps [YOCTO #13779] (From OE-Core rev: 84eb1dc4fe8a11cd2d05b703070a6fb6de05b873) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kern-tools: fix merge_config when LD contains parametersBruce Ashfield
To ensure that the kernel linker is used when allno/mod/yes config merge_config steps were executed, the call to make was tweaked to explicitly pass LD. But since the variable wasn't quoted, any parameters to LD (like the sysroot) were mistakenly passed to make, and hence could trigger an error on some architectures. We also tweak the logging to hightlight errors like this in the future and avoid losing it in the noise of merge configs sometimes overly verbose output. (From OE-Core rev: a60c4c116efecd7a6ee5a11b1d366bb00b9d23ce) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kernel-yocto: fix defconfig detection in find_sccs()Gavin Li
The current code would cause a file like "config.bin" to added to the config sources list. I am sure the intention was to add any files with defconfig in its name and not the other way around. (From OE-Core rev: 06577d49c50b7e9f1f40fe5b52ec88d1bdc1430c) Signed-off-by: Gavin Li <gavinli@thegavinli.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kernel-yocto.bbclass: do_kernel_configme: don't use +errexit, ↵Martin Jansa
merge_config_build.log and fail when /.config wasn't created * for whatever reason, instead of silently continuing to build default kernel config (From OE-Core rev: ec281a948a23365bd4536139dac077fb1a5eae6d) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kernel-yocto.bbclass: set KERNEL_LD also for merge_config.shMartin Jansa
* when ld-is-gold is used, merge_config.sh silently fails and doesn't generate anything useful in .config (and also include directory isn't created): tmp-glibc-bfd-qemux86-do_kernel_configme/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build: total 164K drwxr-xr-x 4 martin martin 4.0K Feb 5 02:27 . drwxrwxr-x 7 martin martin 4.0K Feb 5 02:27 .. -rw-rw-r-- 1 martin martin 133K Feb 5 02:28 .config -rw-rw-r-- 1 martin martin 39 Feb 5 02:27 .gitignore drwxr-xr-x 4 martin martin 4.0K Feb 5 02:27 include -rw-rw-r-- 1 martin martin 201 Feb 5 02:27 Makefile drwxrwxr-x 4 martin martin 4.0K Feb 5 02:27 scripts lrwxrwxrwx 1 martin martin 61 Feb 5 02:27 source -> /OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source tmp-glibc-gold-qemux86-do_kernel_configme/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build: total 28K drwxr-xr-x 3 martin martin 4.0K Feb 5 02:26 . drwxrwxr-x 7 martin martin 4.0K Feb 5 02:26 .. -rw-rw-r-- 1 martin martin 74 Feb 5 02:26 .config -rw-rw-r-- 1 martin martin 39 Feb 5 02:26 .gitignore -rw-rw-r-- 1 martin martin 201 Feb 5 02:26 Makefile drwxrwxr-x 4 martin martin 4.0K Feb 5 02:26 scripts lrwxrwxrwx 1 martin martin 61 Feb 5 02:26 source -> /OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source $ cat tmp-glibc-gold-qemux86-do_kernel_configme/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/.config CONFIG_LOCALVERSION="-yocto-standard" * and because the failure is silent, it will happily start building kernel with default defconfig, which even builds OK for qemux86-64 but on qemux86 I've noticed this issue, because incorrectly configured kernel build fails with: $ tail -n 20 tmp-glibc-gold-qemux86/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/temp/log.do_compile LD /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/tools/objtool/libsubcmd-in.o AR /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/tools/objtool/libsubcmd.a HOSTCC scripts/mod/mk_elfconfig CC scripts/mod/devicetable-offsets.s CC scripts/mod/empty.o cc1: error: code model 'kernel' not supported in the 32 bit mode cc1: sorry, unimplemented: 64-bit mode not compiled in make[2]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/scripts/Makefile.build:99: scripts/mod/devicetable-offsets.s] Error 1 make[2]: *** Waiting for unfinished jobs.... cc1: error: code model 'kernel' not supported in the 32 bit mode cc1: sorry, unimplemented: 64-bit mode not compiled in make[2]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/scripts/Makefile.build:266: scripts/mod/empty.o] Error 1 make[1]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/Makefile:1111: prepare0] Error 2 make[1]: *** Waiting for unfinished jobs.... LD /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/tools/objtool/objtool-in.o /OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/tools/objtool LINK /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/tools/objtool/objtool make: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/Makefile:179: sub-make] Error 2 WARNING: exit code 1 from a shell command. * the issue happens in log.do_kernel_configme, but the log is completely useless: cat tmp-glibc-gold-qemux86-do_kernel_configme/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/temp/log.do_kernel_configme DEBUG: Executing python function extend_recipe_sysroot NOTE: Direct dependencies are ['virtual:native:/OE/build/oe-core/openembedded-core/meta/recipes-devtools/bison/bison_3.5.bb:do_populate_sysroot', '/OE/build/oe-core/openembedded-core/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb:do_populate_sysroot', 'virtual:native:/OE/build/oe-core/openembedded-core/meta/recipes-extended/bc/bc_1.07.1.bb:do_populate_sysroot', '/OE/build/oe-core/openembedded-core/meta/recipes-devtools/binutils/binutils-cross_2.33.bb:do_populate_sysroot', '/OE/build/oe-core/openembedded-core/meta/recipes-devtools/quilt/quilt-native_0.66.bb:do_populate_sysroot', '/OE/build/oe-core/openembedded-core/meta/recipes-devtools/gcc/gcc-cross_9.2.bb:do_populate_sysroot'] NOTE: Installed into sysroot: ['bison-native', 'bc-native', 'binutils-cross-i686', 'gcc-cross-i686', 'autoconf-native', 'xz-native', 'flex-native', 'gnu-config-native', 'automake-native', 'libtool-native', 'texinfo-dummy-native', 'gettext-minimal-native', 'readline-native', 'zlib-native', 'gmp-native', 'libmpc-native', 'mpfr-native', 'linux-libc-headers', 'm4-native', 'ncurses-native', 'pkgconfig-native'] NOTE: Skipping as already exists in sysroot: ['kern-tools-native', 'quilt-native'] DEBUG: sed -e 's:^[^/]*/:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/:g' /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/bison-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/gcc-cross-i686/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/autoconf-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/gnu-config-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/automake-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/libtool-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/gmp-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/ncurses-native/fixmepath /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/pkgconfig-native/fixmepath | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot:g; s:FIXMESTAGINGDIRHOST:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native:g' -e 's:FIXME_PSEUDO_SYSROOT:/OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/pseudo-native:g' -e 's:FIXME_HOSTTOOLS_DIR:/OE/build/oe-core/tmp-glibc/hosttools:g' -e 's:FIXME_PKGDATA_DIR:/OE/build/oe-core/tmp-glibc/pkgdata/qemux86:g' -e 's:FIXME_PSEUDO_LOCALSTATEDIR:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/pseudo/:g' -e 's:FIXME_LOGFIFO:/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/temp/fifo.10476:g' DEBUG: Python function extend_recipe_sysroot finished DEBUG: Executing shell function do_kernel_configme DEBUG: Shell function do_kernel_configme finished ]because merge_config.sh is redirected to work-shared/qemux86/kernel-source/.kernel-meta/cfg/merge_config_build.log and bbfatal_log called in do_kernel_configme only when merge_config.sh fails which it should in this case but doesn't. The merge_config_build.log shows 5.4 specific error: scripts/Kconfig.include:39: gold linker 'i686-oe-linux-ld' not supported but then it happily continues reporting what isn't applied in not created .config file --- tmp-glibc-bfd-qemux86-do_kernel_configme/work-shared/qemux86/kernel-source/.kernel-meta/cfg/merge_config_build.log 2020-02-05 02:28:01.455520207 +0100 +++ tmp-glibc-gold-qemux86-do_kernel_configme/work-shared/qemux86/kernel-source/.kernel-meta/cfg/merge_config_build.log 2020-02-05 02:26:30.656470909 +0100 @@ -171,586 +171,5113 @@ HOSTCC scripts/kconfig/symbol.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --alldefconfig Kconfig -./.tmp.config.jDjIEYi9Yq:2208:warning: unexpected data: # -./.tmp.config.jDjIEYi9Yq:2209:warning: unexpected data: # Generic Driver Options -./.tmp.config.jDjIEYi9Yq:2210:warning: unexpected data: # -./.tmp.config.jDjIEYi9Yq:3102:warning: symbol value 'm' invalid for SAMPLE_SECCOMP -./.tmp.config.jDjIEYi9Yq:3119:warning: symbol value 'm' invalid for NF_CT_PROTO_GRE -./.tmp.config.jDjIEYi9Yq:3120:warning: symbol value 'm' invalid for NF_CT_PROTO_SCTP -./.tmp.config.jDjIEYi9Yq:3121:warning: symbol value 'm' invalid for NF_CT_PROTO_UDPLITE -# -# configuration written to .config -# +scripts/Kconfig.include:39: gold linker 'i686-oe-linux-ld' not supported +make[2]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/scripts/kconfig/Makefile:73: alldefconfig] Error 1 +make[1]: *** [/OE/build/oe-core/tmp-glibc/work-shared/qemux86/kernel-source/Makefile:567: alldefconfig] Error 2 make[1]: Leaving directory '/OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build' +make: *** [Makefile:179: sub-make] Error 2 +grep: /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/.config: No such file or directory +Value requested for CONFIG_LOCALVERSION not in final .config +Requested value: CONFIG_LOCALVERSION="" +Actual value: + +grep: /OE/build/oe-core/tmp-glibc/work/qemux86-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86-standard-build/.config: No such file or directory +Value requested for CONFIG_LOCALVERSION_AUTO not in final .config +Requested value: # CONFIG_LOCALVERSION_AUTO is not set +Actual value: * I don't know why merge_config.sh uses separate more difficult to find merge_config_build.log instead of leaving the output to end in log.do_kernel_configme, I'll send it as separate commit so that it can be discussed there. (From OE-Core rev: 36fe2efc91fec5a52374a2dc4814a69076a2d28e) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kernel-yocto: Only override CONFIG_LOCALVERSION if LINUX_VERSION_EXTENSION ↵Paul Barker
is set CONFIG_LOCALVERSION may already be set in a defconfig or config fragment and this should not be unconditionally overridden. (From OE-Core rev: 613c43f910cbdf5e03ef3d5bbf92de69082a30c9) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kernel-yocto: Drop setting of unused variables in do_kernel_metadataPaul Barker
The machine_branch and machine_srcrev variables were set but not used in do_kernel_metadata. (From OE-Core rev: ee358e03b1ad6eb0624cee0306fef807de0116a6) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kernel-yocto: Move defaults and tasks from linux-yocto.inc into bbclassPaul Barker
This allows the kernel-yocto bbclass to be inherited in a recipe without needing to include linux-yocto.inc. The bbclass should stand on its own and linux-yocto.inc does a few things which may not be desired in other kernel recipes (such as modifying KERNEL_FEATURES). The LINUX_VERSION_EXTENSION default is not moved as other kernel recipes may not want this setting in place. (From OE-Core rev: 48d8f97975c0b167c0f4f32145813f00b8c8a7a8) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kern-tools-native: use more common S value and oe_runmakeMartin Jansa
(From OE-Core rev: 83a552d0aea7f789b3a5a7ff96f3d3a5e346cc2c) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kern-tools: integrate merge_config fix for gold linkerBruce Ashfield
Bumping the SRCREV to pickup the following fix: Author: Martin Jansa <Martin.Jansa@gmail.com> Date: Wed Feb 5 03:26:57 2020 +0100 merge_config.sh: pass LD variable from shell environment to make * since 5.4 kernel Kconfig will fail immediately when it detects that LD points to gold linker: scripts/Kconfig.include:39: gold linker 'i686-oe-linux-ld' not supported * in OE we already pass bfd linker in KERNEL_LD variable to merge_config.sh but we need to pass it also into the make call here Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> (From OE-Core rev: fa964575f9e00d8530563e61075992c5b69df137) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08kern-tools: tweak symbol_why to be python safeBruce Ashfield
Updating the SRCREV to pickup tweaks to symbol_why.py to be python3 safe: - we explicitly call /usr/bin/env python3 - we full specifiy our symbols - do not assume that 'None' can be converted to a string (From OE-Core rev: eaa83453fe206567253257fcefdbf6feb6d53d72) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08ncurses: Fix reproducibility issueRichard Purdie
The build was deciding whether to rename manpages based upon the presence of /etc/debian_version. Be explicit about the configuration instead and ensure determinism. [YOCTO #13781] (From OE-Core rev: 09c8a28893e7ca94a44232d802e1cb02a8f34b87) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>