Kai Kang [Wed, 2 Dec 2020 02:21:45 +0000 (10:21 +0800)]
systemd.bbclass: update command to check systemctl available
When use a core image with systemd as docker image, it fails to
install/remove package which calls systemctl in post scripts.
It fails to run systemctl in a container:
bash-5.0# systemctl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
So replace the criterion command 'type systemctl' with 'systemctl' in
package post scripts to check whether systemctl available.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Wed, 2 Dec 2020 02:21:44 +0000 (10:21 +0800)]
systemd-systemctl-native: capable to call without argument
In systemd.bbclass, it will replace criterion command 'type systemctl'
with 'systemctl' without any argument to judge whether command systemctl
is available. The change is to fix install/remove package error in
container when command systemctl exists but not callable.
Make native systemctl wrapper prints help mesages if called without any
argument to follow the update.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Sueiro [Thu, 3 Dec 2020 11:18:14 +0000 (11:18 +0000)]
initscripts: Change execution order between checkroot and modutils
When '/' is first mounted as read-only, we want to have the checkroot.sh
initscript (which then remounts '/' as rw if allowed) running before the
modutils.sh.
This is because modutils.sh initscript might need to run depmod depending on
the status of the modules.dep file to update it and the '/' needs to be
writable.
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diego Sueiro [Thu, 3 Dec 2020 11:18:13 +0000 (11:18 +0000)]
modutils-initscripts: Fix modules.dep creation when USE_DEPMOD="0"
When having USE_DEPMOD="0" it is expected that in the first boot that
the modules.dep is generated. To achieve this we need to check if
modules.dep exists and has a size greater than zero. This verification
also needs to be done regardless of whether the /etc/modules or
/etc/modules-load.d directories exist.
Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jack Mitchell [Thu, 3 Dec 2020 10:35:00 +0000 (10:35 +0000)]
Revert "connman: set service to conflict with systemd-networkd"
Without further examples of how this is failing revert as using both
together is a valid use case, for example connman handling Wifi/AP
and systemd-networkd handling more complex routing such as for
containers and ethernet switches.
Ross Burton [Tue, 1 Dec 2020 15:23:00 +0000 (15:23 +0000)]
ldconfig-native: don't write auxiliary cache
The auxiliary cache written by ldconfig is only useful for speeding up
future runs of ldconfig, and as it contains inode numbers as the keys
in a dictionary it is entirely pointless to generate on the build host.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake.conf: Add all layers (from BBLAYERS) to PSEUDO_IGNORE_PATHS
Instead of ignoring ${COREBASE}/meta in PSEUDO_IGNORE_PATHS (which may
or may not ignore all layers depending on how they are named and placed
under ${COREBASE}), ignore all layers.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 30 Nov 2020 11:24:50 +0000 (11:24 +0000)]
oeqa/devtool: use Yocto mirror for pv-1.5.3 tarball
Some of the selftests failed over the weekend with "access denied" errors
fetching this tarball. Instead of relying on upstream when fetching the
tarball, use the Yocto source mirrors instead.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changqing Li [Wed, 25 Nov 2020 02:02:48 +0000 (10:02 +0800)]
buildtools-tarball: add wic dependency into extended buildtools
fix below error:
wic ls ./core-image-minimal-intel-x86-64.wic
ERROR: Can't find executable parted
wic depend on some tools like parted/mtools/..., and we have those
tools in native_sysroot. so above problem can be avoided by
run command like wic ls imagename.wic --native-sysroot <path>
but this cannot cover condition that usr don't have build the
image, the image just copy from somewhere.
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Sat, 28 Nov 2020 19:39:37 +0000 (11:39 -0800)]
python3-hypothesis: upgrade 5.41.3 -> 5.41.4
Upstream release notes:
"""
5.41.4 - 2020-11-28
This patch fixes issue #2657, where passing unicode patterns compiled
with re.IGNORECASE to from_regex() could trigger an internal error when
casefolding a character creates a longer string (e.g. "\u0130".lower()
-> "i\u0370").
"""
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Sat, 28 Nov 2020 04:24:31 +0000 (20:24 -0800)]
python3-pytest: RDEPENDS on python3-toml
The generated requires.txt in pytest-*-py3.9.egg-info shows the
requirement.
Caught during ptest of python3-wcwidth:
Signed-off-byROR collecting tests/test_core.py ______________________
tests/test_core.py:4: in <module>
import pkg_resources
../../python3.9/site-packages/pkg_resources/__init__.py:3239: in
<module>
def _initialize_master_working_set():
../../python3.9/site-packages/pkg_resources/__init__.py:3222: in
_call_aside
f(*args, **kwargs)
../../python3.9/site-packages/pkg_resources/__init__.py:3251: in
_initialize_master_working_set
working_set = WorkingSet._build_master()
../../python3.9/site-packages/pkg_resources/__init__.py:567: in
_build_master
ws.require(__requires__)
../../python3.9/site-packages/pkg_resources/__init__.py:884: in require
needed = self.resolve(parse_requirements(requirements))
../../python3.9/site-packages/pkg_resources/__init__.py:770: in resolve
raise DistributionNotFound(req, requirers)
E pkg_resources.DistributionNotFound: The 'toml' distribution was not
found and is required by pytest
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tim Orling [Sat, 28 Nov 2020 04:24:29 +0000 (20:24 -0800)]
python3-more-itertools: upgrade 8.5.0 -> 8.6.0
Upstream release notes:
"
* New itertools
- all_unique (thanks to brianmaissy)
- nth_product and nth_permutation (thanks to N8Brooks)
* Changes to existing itertools
- chunked and sliced now accept a strict parameter (thanks to
shlomif and jtwool)
* Other changes
- Python 3.5 has reached its end of life and is no longer
supported.
- Python 3.9 is officially supported.
- Various documentation fixes (thanks to timgates42)
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Saul Wold [Wed, 25 Nov 2020 18:58:30 +0000 (10:58 -0800)]
classes/buildhistory: record LICENSE
Buildhistory stores various bits of information at both recipe
and package level, while there is an associated license manifest
directory tree it would require additional scripting to extract
that information.
Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mark Jonas [Tue, 24 Nov 2020 19:32:50 +0000 (20:32 +0100)]
libsdl2: Add directfb to PACKAGECONFIG rdepends
PACKAGECONFIG[directfb] already adds directfb to the build
dependencies. But the automatically generated runtime
dependencies do not add the directfb package to the runtime
dependencies. Most likely this happens because libsdl2 does not link
against directfb but uses dlopen() or similar. Thus, the runtime
dependency to directfb needs to be declared explicitly.
Signed-off-by: Mark Jonas <toertel@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a CPE version field is just *:*:*:* it should be handled the same as
-:*:*:*, that is 'all versions'. To ease handling, transform this case
to use -.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 21 Nov 2020 16:16:40 +0000 (16:16 +0000)]
uninative: Don't use single sstate for pseudo-native
pseudo-native is a bit special. It conditionally compiles in support for
xattr, statx and statvfs amongst other options. If a pseudo-native binary is
used on a system where these functions are present but it wasn't compiled in
we see hard to debug permissions problems.
An example is the devtool.DevtoolExtractTests.test_devtool_deploy_target
oe-selftest which shows a cryptic error:
File "/home/pokybuild/yocto-worker/oe-selftest-fedora/build/meta/lib/oeqa/selftest/cases/devtool.py", line 1388, in test_devtool_deploy_target
self.assertEqual(filelist1, filelist2)
File "/usr/lib64/python3.9/unittest/case.py", line 831, in assertEqual
assertion_func(first, second, msg=msg)
File "/usr/lib64/python3.9/unittest/case.py", line 1037, in assertListEqual
self.assertSequenceEqual(list1, list2, msg, seq_type=list)
File "/usr/lib64/python3.9/unittest/case.py", line 1019, in assertSequenceEqual
self.fail(msg)
File "/usr/lib64/python3.9/unittest/case.py", line 670, in fail
raise self.failureException(msg)
First differing element 0:
'-rwxr-xr-x 6000 6000 /etc/init.d/mdmonitor'
'-rwxr-xr-x root root /etc/init.d/mdmonitor'
This is due to a version of pseudo without statx being used on a system where
ls uses statx, hence the files are displayed as 6000.6000 instead of root.root.
Avoid this by always building pseudo-native for the specific distro in question rather
than using a universal sstate feed.
This hopefully fixes one of the mysterious AB-INT issues.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dynamic loading of package managers will allow other layers to simply
add their package manager code in package_manager/ and have bitbake find
it according to the package manager configuration. This is useful for
adding new (faster) package managers to Open Embedded while not increasing the
test scope or require Open Embedded to support more package managers.
How this is tested:
* Build core-image-minimal with all three package managers
* Build the sdk with all three package managers. dpkg fails, but
it fails on master as well.
* Run the complete test suite, all tests passed except 16
* Run those 16 tests on master and verify that they fail there as well
* Fix errors making tests works on master but not with this patch.
Signed-off-by: Fredrik Gustafsson <fredrigu@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Tue, 17 Nov 2020 03:13:40 +0000 (11:13 +0800)]
sudo: fix multilib conflict
It fails to install sudo and lib32-sudo at same time:
| Error: Transaction test error:
| file /usr/libexec/sudo/audit_json.so conflicts between attempted
installs of lib32-sudo-1.9.3p1-r0.core2_32 and sudo-1.9.3p1-r0.core2_64
| file /usr/libexec/sudo/group_file.so conflicts between attempted
installs of lib32-sudo-1.9.3p1-r0.core2_32 and sudo-1.9.3p1-r0.core2_64
Pass ${libdir} to configure option --libexecdir of sudo that it installs
plugin libraries to /usr/lib{,64} rather than /usr/libexec/. Then add a
patch to fix multilib conflict of sudo.conf.
[RP: Add missing Upstream-Status] Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 21 Nov 2020 14:47:54 +0000 (14:47 +0000)]
e2fsprogs: Fix a ptest permissions determinism issue
When comparing builds built with different host umasks, this file jumped out.
The umask from do_compile was influencing ${D} and as cp was used to add the
file it wasn't deterministic. Fix the file mode to ensure determinism.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 21 Nov 2020 14:39:47 +0000 (14:39 +0000)]
fs-perms: Ensure /usr/src/debug/ file modes are correct
If files are copied into /usr/src/debug directly from WORKDIR (e.g. makedevs)
we'd get the permissions from the checkout which would depend on the host umask.
Avoid this and be deterministic by setting the file modes consistently. Core
code copies the files in so we're responsible for the permissions.
Unfortunately to force this change to apply we need to invalidate both
the package tasks and the hash equivalance mappings since file mode
'corruption' already made it into the output hashes (both input options
were mapped to the output hashes).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sun, 22 Nov 2020 05:29:15 +0000 (21:29 -0800)]
binutils: Fix linker errors on chromium/ffmpeg on aarch64
ffmpeg in qtwebengine/chromium fails to build on aarch64
ffmpeg/ffmpeg_internal/videodsp.o: in function `ff_prefetch_aarch64':
(.text+0x10): relocation truncated to fit: R_AARCH64_CONDBR19 against symbol `ff_prefetch_aarch64' defined in .text section in obj/third_party/ffmpeg/ffmpeg_internal/videodsp.o
Backport an upstream fix to handle this error which is a regrression in
binutils 2.35
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stacy Gaikovaia [Fri, 20 Nov 2020 19:51:55 +0000 (11:51 -0800)]
valgrind: helgrind: Intercept libc functions
PTH_FUNC definition needs to be modified in order to
intercept posix thread functions in both libc and libpthread.
In order to handle this in helgrind, weak alias the pthread functions in glibc.
Include a special case for musl.
See https://bugs.kde.org/show_bug.cgi?id=428909 for additional
discussion.
Upstream-Status: Submitted
Signed-off-by: Paul Floyd <paulf@free.fr> Signed-off-by: Stacy Gaikovaia <Stacy.Gaikovaia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fedor Ross [Wed, 18 Nov 2020 17:13:13 +0000 (18:13 +0100)]
eudev: remove bashism to be compatible with dash
Remove 'echo -e' and replace it with 'printf'. In bash the builtin
'echo' has an option for interpreting backslash escapes. In a shell like
dash the builtin 'echo' interprets backslash escapes by default.
Therefor the 'echo' in dash doesn't have the '-e' option. When using
'printf' instead it is safe to use it either with bash or dash.
Signed-off-by: Fedor Ross <fedor.ross@ifm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changqing Li [Mon, 16 Nov 2020 01:43:42 +0000 (09:43 +0800)]
vulkan-samples: fix do_compile failure
fix error:
| framework/lib/ppc/libframework.a(device.cpp.o): in function `std::__atomic_base<unsigned long long>::load(std::memory_order) const':
| /usr/include/c++/10.2.0/bits/atomic_base.h:426: undefined reference to `__atomic_load_8'
some arch don't have built-in atomic, so need to link it
explicitly
Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Steve Sakoman [Wed, 18 Nov 2020 15:25:22 +0000 (05:25 -1000)]
cups: whitelist CVE-2018-6553
This an Ububtu specific issue:
The CUPS AppArmor profile incorrectly confined the dnssd backend
due to use of hard links. A local attacker could possibly use this
issue to escape confinement. This flaw affects versions prior to
2.2.7-1ubuntu2.1 in Ubuntu 18.04 LTS, prior to 2.2.4-7ubuntu3.1
in Ubuntu 17.10, prior to 2.1.3-4ubuntu0.5 in Ubuntu 16.04 LTS,
and prior to 1.7.2-0ubuntu1.10 in Ubuntu 14.04 LTS
Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 19 Nov 2020 10:38:09 +0000 (10:38 +0000)]
cve-check: show real PN/PV
The output currently shows the remapped product and version fields,
which may not be the actual recipe name/version. As this report is about
recipes, use the real values.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Thu, 19 Nov 2020 22:58:53 +0000 (16:58 -0600)]
weston-init: Stop running weston as root
Running the weston compositor as the root user is an insecure default
behavior for OE-core. We can do much better, at least when using
systemd. Change the recipe to create a dedicated "weston" user and start
weston as this user. The systemd service and socket units are no longer
template units, as there were several inconsistencies in the templates.
Instead, there is now a global /run/wayland-0 socket that gets created,
and systemd will start weston on demand when a client connects to that
socket or when attempting to reach graphical.target, whichever comes
first. This also allows downstream users to easily change the behavior
so that weston *only* starts on demand by adding a drop file. Access to
the global socket is controlled by a "wayland" group; any user that is a
member of the group can use the socket to talk to the compositor. This
also satisfies another use case where another systemd service might
start a graphical application that needs to display with weston (e.g. a
single function device in kiosk mode). Finally, the udev rules for
starting weston with the existance of a DRM device have been removed.
Being WantedBy= a graphical target should eliminate the need for this
behavior, and having it present makes it difficult for downstream users
to start weston on demand (having to override the udev rules).
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
zangrc [Fri, 20 Nov 2020 16:29:18 +0000 (00:29 +0800)]
libunwind: upgrade 1.4.0 -> 1.5.0
0001-Fix-compilation-with-fno-common.patch
0002-backtrace-Use-only-with-glibc-and-uclibc.patch
sigset_t.patch
Removed since these are included in 1.5.0
Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>