Alex Kiernan [Wed, 12 Feb 2020 11:33:36 +0000 (11:33 +0000)]
kernel-fitimage: fix devicetree reproducibility
Ensure that the order of dtb/dtbo files in the generated fitimage is
reproducible.
Fixes: 71bfa9838cbf ("kernel-fitimage: Handle overlays in EXTERNAL_KERNEL_DEVICETREE") Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
He Zhe [Wed, 12 Feb 2020 07:35:57 +0000 (15:35 +0800)]
linux-yocto-dev: Add paravirt_kvm support for qemux86-64
This feature includes paravirtualized KVM guest support, including
KVMCLOCK for enhancing clock accuracy of guest OS. With it we can prevent
the following error.
"clocksource: timekeeping watchdog on CPU3: Marking clocksource 'tsc' as
unstable because the skew is too large"
Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yi Zhao [Wed, 12 Feb 2020 06:24:40 +0000 (14:24 +0800)]
python3: install _tkinter.*.so to python3-tkinter package
When enable PACKAGECONFIG[tk], we should install _tkinter.*.so to
python3-tkinter package rather than python3-misc package.
Fixes:
ERROR: python3-3.8.1-r0 do_package_qa: QA Issue:
/usr/lib/python3.8/lib-dynload/_tkinter.cpython-38-x86_64-linux-gnu.so
contained in package python3-misc requires libtk8.6.so()(64bit), but no
providers found in RDEPENDS_python3-misc? [file-rdeps]
Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 12 Feb 2020 03:14:35 +0000 (21:14 -0600)]
oeqa: reproducible: Run diffoscope on saved output
If there are differing packages and they are being saved for review,
automatically run diffoscope on them and include the output in the saved
output. The output is currently done in HTML format since these are
typically published on a webpage by the autobuilder.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 14 Feb 2020 08:25:18 +0000 (08:25 +0000)]
diffoscope: Exclude from musl builds
Various dependencies don't build for musl so exclude this recipe too, at
least for now until the issues are resolved to avoid build failures in
world builds.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is the official release for Wayland 1.18. The main new features in
this release are:
- Add support for the Meson build system (autotools is still supported
but will be removed in a future release)
- Add API to tag proxy objects to allow applications and toolkits to
share the same Wayland connection
- Track wayland-server timers in user-space to prevent creating too
many FDs
- Add wl_global_remove, a new function to mitigate race conditions with
globals
https://lists.freedesktop.org/archives/wayland-devel/2020-February/041207.html
2 upstreamed patches are dropped.
Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 13 Feb 2020 08:21:59 +0000 (00:21 -0800)]
binutils: Bail out if gold is used on 32/64 bit RISC-V
gold is not supporting risc-v yet and, this will cause subltle errors
during build e.g. autoconf not finding certain features like visibility
and it could take a while to unwind the problem. Its better to error out
early
Remove dwp and ld.gold for rv32 as well
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 13 Feb 2020 08:21:58 +0000 (00:21 -0800)]
crosssdk: Set nativesdk specific distro features
Currently, normal distro features e.g. ld-is-gold is impacting
crosssdk recipes, which actually should not be the case, since
that feature is essentially intended for target packages and not
nativesdk packages
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Thu, 13 Feb 2020 08:21:51 +0000 (00:21 -0800)]
oeqa: Use --disable-maintainer-mode configure option
since the versions of autotools might differ on target and build host, plus difference in
timestamps for configure and system can result in reconfigure lets avoid
that by disabling maintainer mode
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>
Since its a 32bit kernel 4010000000 address is truncated to 10000000 and ends up
in conflicts with VIRT_PCIE_MMIO, which ranges from 0x10000000 to 0x3efeffff
This is happening because the linux-yocto kernel is not compiled with
LPAE support, however, virt machine for qemuarm assumes that by default
Should LPAE be enabled by default in kernel config is a separate
question
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Yeoh Ee Peng [Fri, 31 Jan 2020 05:47:42 +0000 (13:47 +0800)]
scripts/lib/resulttool/report: Enable report selected test case result
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.
Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
...
Mark Hatle [Fri, 7 Feb 2020 17:43:37 +0000 (11:43 -0600)]
populate_sdk_base: if the SDKIMAGE_FEATURES changes, refresh the SDK
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.
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Fri, 31 Jan 2020 16:24:42 +0000 (16:24 +0000)]
kernel-fitimage: Handle overlays in EXTERNAL_KERNEL_DEVICETREE
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.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kevin Hao [Sat, 8 Feb 2020 12:36:42 +0000 (20:36 +0800)]
xserver-nodm-init: Fix the start failure for non-root user
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]
Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
testimage: Extend runtime testing infrastructure to allow unconventional 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:
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)
testimage: Allow testing on QEMU machines with a single serial port
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.
Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alex Kiernan [Thu, 6 Feb 2020 16:48:13 +0000 (16:48 +0000)]
systemd: upgrade 243.4 -> 244.1
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
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changqing Li [Fri, 7 Feb 2020 06:07:44 +0000 (14:07 +0800)]
python3: Do not hardcode "lib" for distutils
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'
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>
Changqing Li [Fri, 7 Feb 2020 06:07:43 +0000 (14:07 +0800)]
python3: fix the installation path of libpython3.7m.a for multilib
Fix the installation path of libpython3.7m.a on mulitlib lib64
platform to lib64 instead of lib
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>
Jaewon Lee [Thu, 6 Feb 2020 21:45:11 +0000 (13:45 -0800)]
sstate.bbclass: fix issue while handling long sstate filenames
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
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>
Mark Hatle [Fri, 7 Feb 2020 20:20:08 +0000 (14:20 -0600)]
package.bbclass: Support stripping and debug copy of static libraries
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.
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Fri, 7 Feb 2020 20:20:07 +0000 (14:20 -0600)]
package.bbclass: Allow INHIBIT_PACKAGE_STRIP_FILES to skip .ko and static libs
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.
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Fri, 7 Feb 2020 20:20:06 +0000 (14:20 -0600)]
package.bbclass: Fix debug source processing for static libraries
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.
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Gamblin [Fri, 7 Feb 2020 13:46:52 +0000 (08:46 -0500)]
qemurunner.py: add try/except for pid handling race
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]
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Fri, 7 Feb 2020 14:52:04 +0000 (09:52 -0500)]
kern-tools: fix merge_config when LD contains parameters
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.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Gavin Li [Thu, 6 Feb 2020 17:35:52 +0000 (12:35 -0500)]
kernel-yocto: fix defconfig detection in find_sccs()
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.
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>
Martin Jansa [Thu, 6 Feb 2020 17:35:51 +0000 (12:35 -0500)]
kernel-yocto.bbclass: do_kernel_configme: don't use +errexit, merge_config_build.log and fail when /.config wasn't created
* for whatever reason, instead of silently continuing to build default kernel config
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>
Martin Jansa [Thu, 6 Feb 2020 17:35:50 +0000 (12:35 -0500)]
kernel-yocto.bbclass: set KERNEL_LD also for merge_config.sh
* 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
* 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.
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>
Paul Barker [Thu, 6 Feb 2020 17:35:49 +0000 (12:35 -0500)]
kernel-yocto: Only override CONFIG_LOCALVERSION if LINUX_VERSION_EXTENSION is set
CONFIG_LOCALVERSION may already be set in a defconfig or config fragment
and this should not be unconditionally overridden.
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>
Paul Barker [Thu, 6 Feb 2020 17:35:48 +0000 (12:35 -0500)]
kernel-yocto: Drop setting of unused variables in do_kernel_metadata
The machine_branch and machine_srcrev variables were set but not used in
do_kernel_metadata.
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>
Paul Barker [Thu, 6 Feb 2020 17:35:47 +0000 (12:35 -0500)]
kernel-yocto: Move defaults and tasks from linux-yocto.inc into bbclass
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.
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>
Martin Jansa [Thu, 6 Feb 2020 17:35:46 +0000 (12:35 -0500)]
kern-tools-native: use more common S value and oe_runmake
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>
Bruce Ashfield [Thu, 6 Feb 2020 17:35:45 +0000 (12:35 -0500)]
kern-tools: integrate merge_config fix for gold linker
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> 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>
Richard Purdie [Fri, 7 Feb 2020 15:09:48 +0000 (15:09 +0000)]
ncurses: Fix reproducibility issue
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]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
then the resulting package has two files with group "root/70" rather
than "root/shutdown". The issue is that of do_package is a setscene
task, base-passwd isn't present. This patch fixes that dependency
but there may be other cases of this problem around.
[YOCTO #13776]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 7 Feb 2020 14:29:28 +0000 (14:29 +0000)]
sudo: specify where target tools are
sudo uses AC_PATH_PROG to find target paths, which means at best
potential host-contamination (and reproducible issues) and at worst it
thinks sh is at /your/build/path/hosttools/sh.
Solve this by explicitly passing the correct paths to configure.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 5 Feb 2020 23:54:02 +0000 (23:54 +0000)]
perl: Fix various reproducibile build issues
Add a patch which handles the following issues:
a) Remove the \n from configure_attr.sh since it gets quoted differently depending on
whether the shell is bash or dash which can cause the test result to be incorrect.
Reported upstream: https://github.com/arsv/perl-cross/issues/87
b) Sort the order of the module lists from configure_mods.sh since otherwise
the result isn't the same leading to makefile differences.
Reported upstream: https://github.com/arsv/perl-cross/issues/88
c) Sort the Encode::Byte byte_t.fnm file output (and the makefile depends whilst
there for good measure)
This needs to go to upstream perl (not done)
d) Use bash for perl-cross configure since otherwise trnl gets set to "\n" with bash
and "" with dash
Reported upstream: https://github.com/arsv/perl-cross/issues/87
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Tue, 4 Feb 2020 21:06:29 +0000 (15:06 -0600)]
microblaze tune: cleanup +=
Various += were used, refactor these to be either = or .= depending on
usuage.
CONFLICTS should be '=', as no leading space is required and they are not
amending any other conflict settings.
The TUNE_CCARGS should be .= so that if the feature does not define a CCARG
blank spaces are not added to the CFLAGS. This is consistent to how the arm
tuning is implemented.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Tue, 4 Feb 2020 21:06:28 +0000 (15:06 -0600)]
microblaze tune: Enable 64-bit
64-bit is not yet available in Linux, but some non-Linux uses exist.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Tue, 4 Feb 2020 21:06:27 +0000 (15:06 -0600)]
microblaze tune: Allow no version to be set
We want to allow no version to be configured. This should use the GCC default
which is the latest defined version, currently 11.0.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Hatle [Tue, 4 Feb 2020 21:06:26 +0000 (15:06 -0600)]
microblaze tune: change microblazeeb to microblaze
Using microblazeeb breaks a number of autoconf recipes, including newlib
components. 'microblaze' is defined as the big-endian version, while
microblazeel is defined as the little-endian version.
Signed-off-by: Mark Hatle <mark.hatle@xilinx.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 5 Feb 2020 15:37:19 +0000 (15:37 +0000)]
tar: Fix build determinism, disable rsh
rsh is insecure and obsolete but tar will enable support if the binary is
on the host system. Some systems point it at ssh. Lets explictly disable it
for now unless someone actually needs/uses this at which point it could
become a packageconfig.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 4 Feb 2020 22:20:35 +0000 (22:20 +0000)]
patch: Extend to native/nativesdk and depend upon
There is a bug in patch 2.7.3 and earlier where index lines
in patches can change file modes when they shouldn't:
http://git.savannah.gnu.org/cgit/patch.git/patch/?id=82b800c9552a088a241457948219d25ce0a407a4
This leaks into debug sources in particular (e.g. tcp-wrappers where
source files are read-only). Add the dependency to target recipes
to avoid this problem until we can rely on 2.7.4 or later.
We could try and remove all index lines from patch files but it will be a
losing battle. We could try and identify all the recipes which change
modes on files in patches but again, its a losing battle.
Instead, compromise and have patch-native as a dependency
for target recipes. We use patch-replacement-native since patch-native
is in ASSUME_PROVIDED.
Also add nativesdk-patch to buildtools-tarball.
[YOCTO #13777]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 4 Feb 2020 18:12:15 +0000 (18:12 +0000)]
mc: Fix manpage date indeterminism
The man page date can vary depending upon the host perl, e.g. in Russian
some versions print 'июня', others 'Июнь' or Polish 'czerwca' or 'czerwiec'.
Rather than depend upon perl-native to fix this, just remove the date from
the manpages.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 3 Feb 2020 23:39:29 +0000 (23:39 +0000)]
oeqa/reproducible: Improve test output and ensure deb+ipk compared
Adding newline characters between the packages in the failure output
massively improves readability.
Also ensure to output ipk failures when there are deb failures by
calling self.fail() at the end, else sometimes only partial differences
are returned.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 3 Feb 2020 20:39:14 +0000 (20:39 +0000)]
opkg-utils: Fix reproducibility issues in opkg-build
There is a sorting problem with opkg-build where the ipk generated is depending
upon the order of files on disk. The reason is the --sort option to tar only
influences the orders of files tar reads, not those passed by the -T option.
Add in a sort call to resolve this issue. To ensure consistent sorting we
also need to force to a specific locale (C) else the results are still not
deterministic.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Gamblin [Fri, 24 Jan 2020 01:29:28 +0000 (20:29 -0500)]
logrotate.py: improve oeqa test implementation
See bug https://bugzilla.yoctoproject.org/show_bug.cgi?id=13632
Autobuilder tests occasionally fail, reporting that a new logfile
could not be created. While this failure did occur multiple times, it
could not be manually reproduced. However, there are issues with the
implementation of the logrotate.py script that can be fixed. These
changes will help make the failures clearer, should they continue to
occur.
Previously, the test_2_logrotate test would, after running the
logrotate tool, use "ls -al $HOME/logrotate_dir | wc -l" to count
the number of files in the rotation directory and determine if the
rotation was successful. The test to see if there are at least three
files is problematic, because depending on the version of ls used, it
may report the target value of 3 even when there are only hidden files
in the directory, potentially reporting a pass for the test when it
should actually fail. An example with coreutils:
root@qemux86-64:~# ls -al emptydir/
total 2
drwxr-xr-x 2 root root 1024 Jan 14 19:50 .
drwx------ 3 root root 1024 Jan 14 19:50 ..
root@qemux86-64:~#
Where "total" is the number of blocks used. Compare with busybox ls:
root@qemux86-64:~# ls -al emptydir/
drwxr-xr-x 2 root root 1024 Jan 14 19:54 .
drwx------ 3 root root 1024 Jan 14 19:54 ..
root@qemux86-64:~#
Instead of using ls to verify that a certain number of files exists
in $HOME/logrotate_dir, the tests have been changed to rotate two
specific logs: the log for wtmp and a new logrotate_testfile created
during the second test. Both tests check that the logs are correctly
rotated into $HOME/logrotate_dir by using find and grep on the
expected filename (e.g. "wtmp" when rotated becomes "wtmp.1", so we
check to see that wtmp.1 is present in $HOME/logrotate_dir). In
addition, should the test fail, the output from logrotate -vf is
included in the test log to aid debugging. It has also been seen that
in some cases, the logrotate test fails because the /var/log/wtmp file
is not yet present. Since the objective of the test is to check the
logrotate functionality and not the presence of certain log files,
test_logrotate_wtmp uses the touch command to help ensure that the
file is present before the call to logrotate is issued.
Finally, note that while the autobuilder failures that this patch
addresses were only seen during core-image-full-cmdline tests, these
changes were successfully tested on core-image-minimal and
core-image-sato with the manual addition of logrotate and openssh-sshd
to the images.
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
baremetal-helloworld: Create recipe for baremetal examples on QEMU
Create HelloWorld examples that run on several of the QEMU architectures
supported by the build system.
This recipe can be used by anyone to understand how baremetal applications
can be built using OpenEmbedded and how the wiring to set them up could be.
This should also facilitate creating/extending the OE testing infrastructure
to allow baremetal applications or RTOSs to be tested in the same way that
Linux currently is.
This can easily be extended to work on other MACHINES in the future.
To run this example:
$ source oe-init-buildenv
$ bitbake-layers add-layer ../meta-skeleton
# TCLIBC="baremetal" would work as well
$ echo "TCLIBC = \"newlib\"" >> ./conf/local.conf
Martin Jansa [Mon, 3 Feb 2020 22:44:20 +0000 (23:44 +0100)]
kernel-yocto.bbclass: export LD in the environment used by kconf_check
* resolves following exceptions in log.do_kernel_configcheck:
DEBUG: Executing python function do_kernel_configcheck
Traceback (most recent call last):
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2776, in _expand_macro
res += args[int(new_args[0])]
ValueError: invalid literal for int() with base 10: 'error-if'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/symbol_why.py", line 295, in <module>
conf = kconfiglib.Kconfig( kconf, show_errors, show_errors )
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 947, in __init__
self._init(filename, warn, warn_to_stderr, encoding)
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 1085, in _init
self._parse_block(None, self.top_node, self.top_node).next = None
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2982, in _parse_block
prev = self._parse_block(None, parent, prev)
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2907, in _parse_block
while self._next_line():
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2234, in _next_line
self._tokens = self._tokenize(line)
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2364, in _tokenize
self._parse_assignment(s)
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2604, in _parse_assignment
s, i = self._expand_macro(s, i, ())
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2780, in _expand_macro
res += self._fn_val(new_args)
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2843, in _fn_val
return py_fn(self, *args)
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 6769, in _error_if_fn
kconf.filename, kconf.linenr, msg))
kconfiglib.KconfigError: scripts/Kconfig.include:39: gold linker 'x86_64-oe-linux-ld --sysroot=/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot ' not supported
Traceback (most recent call last):
File "/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/bin/kconfiglib.py", line 2776, in _expand_macro
res += args[int(new_args[0])]
ValueError: invalid literal for int() with base 10: 'error-if'
* there is still 291 mismatched options in default 5.4.15 builds,
but at least the 11804 lines long log doesn't start with 9022 lines of above exceptions
DEBUG: Executing python function do_kernel_configcheck
[mismatch (291)]: /OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/.kernel-meta/cfg/mismatch.txt
There were hardware options requested that do not
have a corresponding value present in the final ".config" file.
This probably means you aren't getting the config you wanted.
WARNING: [kernel config]: specified values did not make it into the kernel's final configuration:
...
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop 0001-unit-file.c-consider-symlink-on-filesystems-like-NFS.patch,
fixed in 5c0224c7bf3c ("Handle d_type == DT_UNKNOWN correctly").
Drop 0001-seccomp-more-comprehensive-protection-against-libsec.patch,
fixed in 70e8c1978a9a ("seccomp: real syscall numbers are >= 0").
Drop 0004-rules-whitelist-hd-devices.patch and
0005-rules-watch-metadata-changes-in-ide-devices.patch which cause
ide-cd to flap with tray open messages (and don't appear to be required
any more)
Commits from v243-stable:
70e8c1978a9a seccomp: real syscall numbers are >= 0 a0a1977d9a5d seccomp: more comprehensive protection against libseccomp's __NR_xyz namespace invasion 7f936c60d597 network: set ipv6 mtu after link-up or device mtu change b59d88cc62a4 man: fix typo in net-naming-scheme man page c5e5ac095821 man: fix typos (#14304) 9a2f26564d5a ipv4ll: do not reset conflict counter on restart bc9e1ebfdd3b Fix typo (duplicate "or") c6cb71b7e741 network: if /sys is rw, then udev should be around 67dcdfd95629 nspawn: do not fail if udev is not running a7938a1bc6d3 Create parent directories when creating systemd-private subdirs 53aa44f8738a network: do not return error but return UINT64_MAX if speed meter is disabled 65abf126744f core: swap priority can be negative b1cf452ff5f6 systemctl: enhance message about kexec missing kernel 07a0e5b42523 man: use mkswap@ instead of makeswap@ 57dc017c6bac journald: don't ask for the machine ID if we don't need it ac392a57c08c journalctl: pager_close() calls fflush(stdout) anyway as first thing ee7dfadc8237 journald: remove unused field 471073f1b52b journalctl: return EOPNOTSUPP if pcre is not enabled 002ededb61a0 man: drop reference to machined, add one for journald instead fd3bd4be3bff pid1: make TimeoutAbortSec settable for transient units eb2ef4d6643e pid1: fix setting of DefaultTimeoutAbortSec 1d75e29b2378 shared/ask-password-api: modify keyctl break value a16b1ee7e565 cryptsetup: reduce the chance that we will be OOM killed 4836fb010ae8 core: write out correct field name when creating transient service units 3e2c547f6d3c udevd: don't use monitor after manager_exit() d42f7d45a8e2 Revert "udevd: fix crash when workers time out after exit is signal caught" c9a287eee8fd man/systemd.link: Add missing verb *be* a67a3ae04b89 man: document all pager variables for systemctl and systemd 3a8fce3f38b6 core.timer: fix "systemd-analyze dump" and docs syntax inconsistencies wrt OnTimezoneChange= fdffd284b682 core/service: downgrade "scheduling restart" message to debug 733e7f19d3cf travis: add missing closing quote sign 0d7b7817fc34 systemd-tmpfiles: don't install timer when service isn't installed either 0e7f83cd2b31 pam_systemd: prolong method call timeout when allocating session e51d9bf9e5ac man: add entry about SpeedMeter= aa1fc791c7a1 udev: silence warning about PROGRAM+= or IMPORT+= rules b9a619bb6738 udevadm: ignore EROFS and return earlier 1ec5b9f80cb5 basic: add vmware hypervisor detection from device-tree 7fa7080248aa umount: be happy if /proc/swaps doesn't exist 71ccd774bb33 shutdown: make logging more useful if NULL swap/mount table files are specified 38453c6d42e4 man: share description of $SYSTEMD_COLORS in other tools b50ca0152681 core: do not propagate polkit error to caller 99b72a66ca55 ask-password: don't hit assert() when we query pw which the user C-d and caching is enabled 288edd686911 man: mention $RUNTIME_DIRECTORY & friends in environment list 37aeadd433d3 cryptsetup-generator: guess whether the keyfile argument is two items or one a87e8fdc72d7 verify: fix segmentation fault 3aea728cd2d2 timedated: it might be that tzinfo files are just not installed cc103c72abc1 timedated: handle UTC specially, when generating /etc/localtime f5a4caa5418b time-util: treat /etc/localtime missing as UTC 2139d58652bb bpf: fix off-by-one in class whitelisting cb7693595db9 bpf: fix device type filter 56e1ba304b00 core: constify bpf program arrays b06b7ace92c1 run: propagate return code/status from the child 5db454b8031c udevd: fix crash when workers time out after exit is signal caught b774282a855e udev: ignore error caused by device disconnection 8d88a2ecd7ce udev: fix error code in the log message c41484a2f3d7 udev: ignore ENOENT when chmod_and_chown() device node f218b65b3246 udev: do not append newline when write attributes ce4d17ddbc16 time-util: uniquify timezone list, in case UTC is listed in timezone1970.tab, too 28f0b34c57bc time-util: always accept UTC as valid timezone 8b888d236007 seccomp: add all *time64 syscalls 53d8feeb2334 libblkid: open device in nonblock mode. b9478046b03d man: describe ordering in case of Conflicts= fa3e5bd2bbb4 man: put description of Wants= above Requires= bdebd2c325fc meson: remove strange dep that causes meson to enter infinite loop 26bc77d8e5af man: fix option typo in pam_systemd man page 9c12127e3d2e man: save pull-raw example file without underscores 4c106cbcf1af man: small grammatical/word choice fixes to crypttab man page 03cc374fca74 shared/format-table: disable ellipsization when piped 0a5497d3fa4b sd-device-enumerator: do not return error when a device is removed 7b0d0331d051 bootctl: create leading dirs when "bootctl random-seed" is called if needed 5aab35aac9db core, job: fix breakage of ordering dependencies by systemctl reload command cd86ae937305 journalctl: allow running vacuum on remote journals, too fc0451bc0a3f allow an empty DefaultInstance= in configuration files 587266c24aae man/systemd.net-naming-scheme: fix typo e0e63f0f9bb9 nspawn: respect quiet on capabilities warning 37e50c05b564 nspawn: mangle slice name 4fefc493541e mkosi: Find hostname command on Arch Linux c430e8affba4 Fix mkosi on Arch Linux 1765b8d803dd Update to Fedora31 0b9a2a9a9868 sd-boot: Silence compiler warning when building with -O2 24e02f8d49b6 sd-boot: Don't loudly complain if RNG protocol isn't available 14e377ef3519 sd-boot: Only disable optimization on debug builds a39008ddecb9 meson: correct man page deps 4c1dcc06fa30 sd-event: don't invalidate source type on disconnect fb89ee34cedc analyze: fix minor memleak a449299bc087 analyze: sort list of unknown syscalls kernel implements 51ea58a04b18 seccomp: add new Linux 5.3 syscalls to syscall filter lists 819695c8b027 resolved: check for IP in certificate when using DoT with GnuTLS 37f817e21097 resolved: require at least version 3.6.0 of GnuTLS for DNS-over-TLS 32056809baa2 coverity: replace python with jq d2b4d7ee17de network-generator: Add missing help for --root f1b18c206208 modules-load: do not fail service if modules are not present 606de6626714 pid1: order .automount units after local-fs-pre.target 1366b81f2bc5 shared/install: failing with -ELOOP can be due to the use of an alias in install_error() 84d5cd699e25 shared/install: fix error codes returned by install_context_apply() 417779c58a86 man: alias names can't be used with enable command 00af6c447f25 resolved: set stream type during DnsStream creation 66dd9d7d25fd sd-device: allow sd_device_get_devtype to be called with NULL arg and do not assert 048f9da1a4b3 Remove unused plymouth_running() function 34fa67bbe732 machine-id-setup: avoid unexpected aborting 24c99fa2ef3d test-socket-util: avoid writing past the defined buffer ce82233f99b3 test: drop duplicated 's' 75a0e7209114 nspawn: fix handling of --console=help f41a282875fc Revert "sysusers: properly mark generated accounts as locked" fc2dceac6172 Remove unprintable non-ASCII char from special glyph ASCII fallback table dedf5b511e6f logind: fix emission of PropertiesChanged for users 6e3cfe2e58f5 logind: fix emission of PropertiesChanged on seats a9152084d7e9 resolved: fix connection failures with TLS 1.3 and GnuTLS 961879ed9ddb udev: tag any display devices as master-of-seat when nomodeset is used 8aa7bafa1295 systemd-fsck: fix systemd-fsck/fsck pipe bad closure 19590e289ace ceph is a network filesystem 339606ad9e99 portabled: allow to detach an image with a unit in linked-runtime state bd9692734ac5 network: ndisc: do not drop all prefixes when a prefix matches a blacklist 5e6d4f8b79e0 systemctl: fix memleak caused by wrong cleanup func 47d0e23d26af udev: fix memleak caused by wrong cleanup function a6fb0542c5ef parse_hwdb: fix compatibility with pyparsing 2.4.* cb1d892f1780 parse_hwdb: process files in order ef677436aa20 test: Pass personality test even when i686 userland runs on x86_64 kernel 3f6398c450b8 docs: fix inadvertent change in uid range 25bb377a73e7 cgroup: fix typo in BPF firewall support warning message 6d97aca0d503 fix build with compilers with default stack-protector enabled fbad077cec34 nspawn: surrender controlling terminal to PID2 when using the PID1 stub 0553c3c66889 pid1: fix DefaultTasksMax initialization f406a691a722 src/core/automount: use DirectoryMode when calling mkdir -p 20438f96c326 udevadm trigger: do not propagate EACCES and ENODEV 6480630bc397 hwdb: Correct WWWW Pattern In Documentation Comment 9d8e889810b5 nspawn: consistenly fail if parsing the environment fails 40e169b30423 nspawn: default to unified hierarchy if --as-pid2 is used b5df1037a0c0 cgroup: Mark memory protections as explicitly set in transient units f14e3e02cca7 cgroup: Respect DefaultMemoryMin when setting memory.min ea248e53bf76 cgroup: Check ancestor memory min for unified memory config de1d25a506db cgroup: docs: memory.high doc fixups 2ab45f38d8c4 cgroup: docs: Mention unbounded protection for memory.{low,min} 19a43dc38a13 Consider smb3 as remote filesystem 5c0224c7bf3c Handle d_type == DT_UNKNOWN correctly 8282bc61df10 util-lib: Don't propagate EACCES from find_binary PATH lookup to caller 9d0ae987a634 network: drop noisy log message f67f0e4ec45a Updated log message when the timesync happens for the first time (#13624) e151bf467494 units: make systemd-binfmt.service easier to work with no autofs 2b8e574d8242 Corect man page reference in systemd-nologin.conf comments a0577353f191 man: Add a missing space in machinectl(1) 693e98398869 log: Add missing "%" in "%m" log format strings ea7151b8c435 pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist b90549290e33 man: fix typo
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Mon, 3 Feb 2020 18:11:50 +0000 (19:11 +0100)]
kernel.bbclass: set LD in KERNEL_CONFIG_COMMAND to fix 5.4+ builds when gold is enabled
* with 5.4 kernel the do_configure fails when gold is enabled (with ld-is-gold in DISTRO_FEATURES)
* bfd is already being set in KERNEL_LD:
kernel-arch.bbclass:KERNEL_LD = "${CCACHE}${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}"
but KERNEL_LD is currently respected only by do_compile and do_compile_kernel modules
and new kernel which contains a check for gold in Kbuild:
https://lore.kernel.org/lkml/alpine.DEB.2.21.1907161434260.1767@nanos.tec.linutronix.de/
more details:
https://lore.kernel.org/r/CAMe9rOqMqkQ0LNpm25yE_Yt0FKp05WmHOrwc0aRDb53miFKM+w@mail.gmail.com
will fail during the configuration even when gold wouldn't be used to
build it in the end, add LD setting to KERNEL_CONFIG_COMMAND to prevent
premature error when configuring
start_new_session was added to python3 subprocess in v3.2 and
is meant to take the place of the common use of preexec_fn to
call os.setsid() in the child - as done here.
Update to use the new equivalent.
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
start_new_session was added to python3 subprocess in v3.2 and
is meant to take the place of the common use of preexec_fn to
call os.setsid() in the child - as done here.
Update to use the new equivalent.
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 3 Feb 2020 12:32:25 +0000 (12:32 +0000)]
piglit: don't stage the test suite
The Piglit test suite is approximately 2GB and because it's installed into
$libdir is added to the sysroot archive. Nothing links against Piglit so
there's no reason for this, so remove $libdir from Piglit's sysroot.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>