meson.bbclass: Make the default buildtype "debug" if DEBUG_BUILD is 1
Setting the Meson buildtype to "debug" will by default only enable the
-g option to the compiler, which should not matter for OE-Core as it is
already enabled by setting DEBUG_BUILD to 1 in the first place. However,
if the package uses get_option('debug') in its meson.build files to
enable package specific debug code, this will now trigger as intended.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrey Zhizhikin [Thu, 26 Aug 2021 12:56:26 +0000 (12:56 +0000)]
lttng-modules: do not search in non-existing folder during install
When CONFIG_TRACEPOINTS is not enabled in kernel config - module
compilation is skipped, which causes the ${D}/${nonarch_base_libdir} not
to be created.
This fails later in do_install:append() due to the fact that find
command in executed for non-existing folder.
Check for folder existence before find command in executed.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel.bbclass: Use full versions for inter-package dependencies
If the kernel configuration enables module signing but no key
is provided, then the kernel generates one during the kernel build.
The current runtime-dependency references (with only package names
without full versions) allow mixed package installations from different
rebuilds of the same kernel version.
This creates an issue because then the modules either don't work
or taint the kernel.
Tighten RDEPENDS with the full package version, i.e. use (= ${EXTENDPKGV})
markers for inter-package dependencies.
The kernel will pull in the kernel-modules subpackage of the same
exact version automatically if KERNEL_SPLIT_MODULES="0" is set.
Otherwise the situation is the same as with the old default with
one subpackage per kernel module where they have to be upgraded
manually.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For some use cases, a monolithic kernel-modules package containing
all modules built from the kernel sources may be preferred.
For one, download time is shorter and installation time is faster.
Set KERNEL_SPLIT_MODULES="0" for this in. The default is one subpackage
per module.
Also, adapt kernel.bbclass to KERNEL_SPLIT_MODULES != "1" case
Extra RDEPENDS and other inter-package references are needed in
this case.
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Thu, 26 Aug 2021 01:50:31 +0000 (09:50 +0800)]
libcgroup: fix installed-vs-shipped qa issue
When pam is enabled, it complains installed-vs-shipped QA issue:
| ERROR: libcgroup-2.0-r0 do_package: QA Issue: libcgroup:
Files/directories were installed but not shipped in any package:
| /lib/security/pam_cgroup.a
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Wed, 25 Aug 2021 20:28:05 +0000 (20:28 +0000)]
python3-pluggy: upgrade 0.13.1 -> 1.0.0
* All ptests pass on qemux86-64
pluggy 1.0.0 (2021-08-25)
Deprecations and Removals
#116: Remove deprecated implprefix support. Decorate hook
implementations using an instance of HookimplMarker instead.
The deprecation was announced in release 0.7.0.
#120: Remove the deprecated proc argument to call_historic. Use
result_callback instead, which has the same behavior. The
deprecation was announced in release 0.7.0.
#265: Remove the _Result.result property. Use _Result.get_result()
instead. Note that unlike result, get_result() raises the
exception if the hook raised. The deprecation was announced in release
0.6.0.
#267: Remove official support for Python 3.4.
#272: Dropped support for Python 2. Continue to use pluggy 0.13.x
for Python 2 support.
#308: Remove official support for Python 3.5.
#313: The internal pluggy.callers, pluggy.manager and pluggy.hooks
are now explicitly marked private by a _ prefix (e.g.
pluggy._callers). Only API exported by the top-level pluggy module is
considered public.
#59: Remove legacy __multicall__ recursive hook calling system. The
deprecation was announced in release 0.5.0.
Features
#282: When registering a hookimpl which is declared as
hookwrapper=True but whose function is not a generator
function, a PluggyValidationError exception is now raised.
Previously this problem would cause an error only later, when
calling the hook.
In the unlikely case that you have a hookwrapper that returns a
generator instead of yielding directly, for example:
Richard Purdie [Wed, 25 Aug 2021 13:40:51 +0000 (14:40 +0100)]
rust: Avoid buildtools+uninative issues with glibc symbols mismatches
If we use an external buildtools tarball, that combined with uninative results
in build failures with symbol mismatches. This was tracked down to the prebuilt
rust binaries that are downloaded. The libc/loader used to load them is used to
execute target binaries/libraries and therefore anything with built with a newer
libc would fail.
Add code to use patchelf to change the interpreter to our own uninative one if
present which ensures the newer libc and loader are used, hence avoiding the issue.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 23 Aug 2021 15:19:46 +0000 (16:19 +0100)]
oeqa/selftest/distrodata: Fix up rust maintainer testing
Since the target rust recipe is skipped but the native variant is not,
this confuses the test. Add rust to the list of special cases to avoid
test failures as the current code can't handle the skip.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 23 Aug 2021 12:30:48 +0000 (13:30 +0100)]
rust: Skip target recipe since it doesn't work
The target rust recipe is known not to work. Add a SkipRecipe entry for
that so world builds don't include something known to be broken and
hence give users a sensible message if they do try and build it rather
than a build failure.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 23 Aug 2021 12:59:23 +0000 (13:59 +0100)]
rust-native: Avoid stripped warning
Instead of giving the following warning, hide it since we don't plan to change it.
WARNING: rust-native-1.54.0-r0 do_populate_sysroot: File '/media/build1/poky/build/tmp/work/x86_64-linux/rust-native/1.54.0-r0/recipe-sysroot-native/usr/lib/rustlib/x86_64-linux/bin/rust-llvm-dwp' from rust-native was already stripped, this will prevent future debugging!
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 21 Aug 2021 21:36:29 +0000 (22:36 +0100)]
rust-cross*: Fix OVERRRIDE references in task signature computation
The oeqa selftest test:
sstatetests.SStateTests.test_sstate_sametune_samesigs
which checks if the sstate checksums of two identical machines
(using the same tune) are the same, apart from changes within
the machine specific stamps directory, fails on the assertion:
self.assertCountEqual(files1, files2)
due to the signature of various 32 bit package builds such as:
x86_64-linux/lib32-rust-cross-i686
x86_64-linux/rust-cross-i686
x86-pokymllib32-linux/lib32-libstd-rs
x86-pokymllib32-linux/lib32-rust
differing. Jumping down the rabbit hole past all the bitbake-diffsig
outputs that differ due to dependent hashes, you come to a diff of:
-Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemuall:${MACHINE}
+Variable MACHINEOVERRIDES value is ${@bb.utils.contains('TUNE_FEATURES', 'mx32', 'x86-x32:', '', d)}${@bb.utils.contains('TUNE_FEATURES', 'm32', 'x86:', '', d)}qemuall:${MACHINE}:qemux86
in
stamps/x86_64-linux/rust-cross-i686/1.54.0-r0.do_rust_gen_target.<sig>
This is because there are two rust functions referencing OVERRIDES
related variables (target_is_armv7 and llvm_features_from_tune). These
indirectly influnce the build and should be excluded from the signatures
directly as is done in other toolchain recipes, e.g.:
Randy MacLeod [Thu, 19 Aug 2021 22:49:25 +0000 (18:49 -0400)]
cargo_common: remove http_proxy
Fix the test_sstate_noop_samesigs oe-selftest that
produces an error like:
core2-64-poky-linux/libstd-rs/1.54.0-r0.do_configure.sigdata differs:
basehash changed from <hash-a> to <hash-b>
Variable http_proxy value changed from '' to 'http://example.com/'
by simply removing the proxy config option. This may be added back
after merge to oe-core if needed and if the diffsigs check passes.
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: formatting Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I have also checked that nothing in binutils needs anything from target
sysroots of flex/bison:
https://lists.openembedded.org/g/openembedded-core/message/155131
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lttng-modules: Make it build when CONFIG_TRACEPOINTS is not enabled again
Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch was updated
with the 2.13.0 update (commit 5dad15af), but unfortunately it no
longer did what it was intended to do. There is also
0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch, which
was based on the former patch, but it too does not solve the problem.
Unify the two patches, and actually disable building of the kernel
module if CONFIG_TRACEPOINTS is not enabled, the way it was intended.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Gortmaker [Tue, 24 Aug 2021 20:18:15 +0000 (16:18 -0400)]
ltp: backport ioctl_ns05 fix from upstream
This false positive keeps showing up in our testing but the fix isn't
yet a part of a tagged release, and it is probably too late for doing
an uprev for the fall release anyway.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Gamblin [Tue, 24 Aug 2021 18:10:39 +0000 (14:10 -0400)]
bluez: upgrade 5.60 -> 5.61
5.61 includes a fix for CVE-2021-3658 (bluez: adapter incorrectly
restores Discoverable state after powered down), as well as other
fixes.
>From the changelog:
ver 5.61:
Fix issue with A2DP while waiting for command response.
Fix issue with A2DP when SetConfiguration fails.
Fix issue with device removal handling.
Fix issue with storing discoverable setting.
Add support for Central Address Resolution characteristic.
Add support for admin policy plugin.
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is probing into what options the /usr/bin/file executable does
and does not support and bakes that into target binaries, so we
need to use a deterministic one we build ourselves.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Scott Murray [Thu, 19 Aug 2021 16:51:55 +0000 (12:51 -0400)]
prservice: remove connection caching
This patch is a follow on of the the PR server rework in bitbake to add
read-only support. The shift to using the bb.asyncrpc code in the PR
server and client brings issues with respect to reuse of the same
asyncio loop in different processes. This patch removes the PR service
connection caching to avoid one source of this problem. It is believed
that in practice this should have little impact on overall performance.
Signed-off-by: Scott Murray <scott.murray@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absent
This is particularly useful for llvm-accelerated GL rendering from qemu guest to
an offscreen buffer (accessible over vnc or spice) using llvmpipe on the
host, rather than using unaccelerated swrast renderer in the guest.
This is the best that can be done in the absence of a host GPU with render node
support (such as old Matrox cards common in servers, or fully virtualized cloud
environments with no GPU at all).
Note: even though NVidia blob drivers do support render nodes, they do not
support gbm (yet?), and so rendering will fall back to llvmpipe as well even when
the system has a 3000 euro NVidia GPU. Cue Linus picture.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: new firmware files, copyright years, file names Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop big-inodes-for-small-fs.patch: upstream made the same fix.
Drop 0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch
0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch
(upstream has fixed the issue).
Add 0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch
to correct a ptest failure due to incorrectly expected inode size
(recent change that wasn't run against the tests upstream?).
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: SPDX ids corrected, license are same. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: formatting Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>