scons is using host ar to create it, which may or may not
be built with reproducible option by default. Rather than
patch scons for the benefit of a single recipe, let's
just not install the .a, which is unused anyway.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
populate_sdk_ext: use SDK_CUSTOM_TEPLATECONF variable to enable custom templateconf.cfg
The current implementation will always pick an existing templateconf.cfg if
present else it will use the one from OE. A user might not always want to pick
an existing tempalteconf.cfg even if its present. Introduce
SDK_CUSTOM_TEMPLATECONF variable to provide an option for the user to specify if he
wants to use an existing custom templateconf.cfg or not
If SDK_CUSTOM_TEMPLATECONF=='1' then enable custom templateconf.cfg. By default
SDK_CUSTOM_TEMPLATECONF is set to '0'
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>