Richard Purdie [Fri, 2 Sep 2022 16:27:12 +0000 (16:27 +0000)]
kernel: Use consistent make flags for menuconfig
We're currently only passing in a subset of the kernel make flags to
menuconfig. Fix this to be consistent with all the other kernel
operations since these are becomming increasingly reliant on host
compilers and flags and target toolchains as well.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 2 Sep 2022 15:12:41 +0000 (15:12 +0000)]
kernel: Always set CC and LD for the kernel build
It as been bothering me a bit that we don't set CC and LD consistently
for the kernel make calls and this can lead to interesting bugs as the
kernel increases in complexity. Add them to EXTRA_OEMAKE so they're
always passed in. This makes everything slightly more consistent and
less likely to break in future.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/oe-setup-builddir: make environment variable the highest priority source for TEMPLATECONF
This sets the following order:
1. TEMPLATECONF set in the unix environment (for example as a
prefix to '. oe-init-build-env').
2. If empty then $BUILDDIR/conf/templateconf.cfg
3. If absent then $OEROOT/.templateconf (oe-init-build-env sets OEROOT
to where it is, which is poky or oe-core).
I believe this is more logical and consistent with common practice;
it also avoids situations where the user is stuck with cryptic
errors because templateconf.cfg contains something invalid and
that something cannot be overridden from command line.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/oe-setup-builddir: write to conf/templateconf.cfg after the build is set up
This was done before any of the sanity checks or actual setup, which
resulted in templateconf.cfg always getting written out, whether it
would be valid or not, and the user becoming stuck with it.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Peter Bergin [Tue, 23 Aug 2022 08:56:36 +0000 (10:56 +0200)]
oeqa/sdk: extend rust test to also use a build script
The test for rust in the SDK is extended with the simplest
possible build script. This will make use of the host toolchain
for building build.rs before building the rust package for target.
Signed-off-by: Peter Bergin <peter@berginkonsult.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building rust crates it is quite common to have a build script [1]
that is compiled for the host machine and then used during build for target.
Currently when adding packagegroup-rust-cross-canadian this does not work
without having the native compiler and linker added to the SDK.
Add those packages to the packagegroup to make it easier to handle.
The reason for having glibc-dev and libgcc-dev is to have version match
with the used tools. Otherwise it will work on hosts that have compatible
gcc and glibc versions but not on all.
This code wasn't changing the linux.h on i686. Make the entry match that
for i586 which was correct.
This fixes problems where the wrong dynamic loader path was used by
nativesdk-gcc on i686 SDK targets by ensuring SYSTEMLIBS_DIR is replaced
by %r in the correct header files.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 17 Aug 2022 16:24:36 +0000 (09:24 -0700)]
xmlto: Update to use upstream tip of trunk
There are several fixes which are done to fix builds with newer
compilers after 0.0.28 was releases in 2015 a long time ago.
Add a patch to fix manpages builds not trying to access network during
build
Add UPSTREAM_CHECK_COMMITS = "1"
Regenerate xmlif from lex files, before configuring the build.
Run lex from sourcedir to avoid emitting absolute source paths via #line
directive into generated c source file which ends up causing
reproducability isssue
meta/files/layers.schema.json: drop the layers property
This is a leftover from one of the RFC iterations, where
the property contained available machines, distros and templates.
As all of those were dropped from the final version, there is no
reason to list the layers either anymore.
Normally this would be a backwards incompatible change, but as
the layer setup itself was just merged, I think we can do a quick
fixup :-)
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
scripts/oe-setup-builddir: migrate build/conf/templateconf.cfg to new template locations
This is done only for default oe-core/poky templates; for anything
else the locations themselves need to be migrated first, and there
is no way to tell where they would be.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Since "python_pep517: use installer instead of pip" pip is no longer
used in builds, and therefore doesn't need to behave reproducibly.
I have submitted the patch upstream; upstream have suggested that the
way it had been used previously is non-reproducible by design, and
if pip is again brought into builds in the future, we should use
specific options for reproducibility:
https://github.com/pypa/pip/issues/11424
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
The patch has been added here
https://git.yoctoproject.org/poky/commit/?id=ca63a0158ae42010477080ad6bb776329f1230b0
and isn't necessary anymore, as cross compilation works fine
without it.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
As there are no uses of the option in poky or meta-oe, it can be removed.
In the (unlikely) event that someone is using the option privately, please cherry-pick
into a product layer, and send upstream.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Markus Volk [Tue, 30 Aug 2022 13:52:05 +0000 (15:52 +0200)]
packagegroup-base.bb: add a configure option to set the wireless-daemon
Possible options would be wpa-supplicant or iwd.
iwd is a wireless daemon written by intel and supported by all major network managers.
It can be run in standalone mode and configured with 'iwctl' from the terminal, and
with 'iwgtk' or 'iwdgui' from the gui. It can also work as a wpa_supplicant drop-in
replacement for network-manager, connman or systemd-networkd.
iwd makes heavy use of the kernel api, so it is not portable but does not need
additional external libraries like openssl.
The PACKAGECONFIG name for wpa-supplicant in the connman recipe is changed accordingly,
so that it also works there when WIRELESS_DAEMON is set globally.
Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
We want to use the reproducible timestamp for all of the files that is
set rootfs-postcommands.bbclass, derived from
REPRODUCIBLE_TIMESTAMP_ROOTFS. Without this, we use a hardcoded time
that is built into the squashfs sources.
Signed-off-by: William A. Kennington III <wak@google.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
wangmy [Tue, 30 Aug 2022 04:11:51 +0000 (12:11 +0800)]
libatomic-ops: upgrade 7.6.12 -> 7.6.14
License-Update: Adjust/reformat content of LICENSING.txt
=========================================================
"libatomic_ops_gpl.a" changed to "libatomic_ops_gpl.a file"
"sysdeps" changed to "atomic_ops/sysdeps"
"This applies only to test code, sample applications," changed to
"This applies only to the test code"
Changelog:
==========
Add note to README that AO malloc code has same license as AO stack
Adjust/reformat content of LICENSING.txt
Avoid AO_stack_t to cross CPU cache line boundary
Do not assume 'ordered except earlier write' for UWP/arm64
Do not name GCC intrinsics as C11 ones in ChangeLog and configure
Eliminate '-pedantic is not option that controls warnings' GCC-6.3 message
Ensure result of AO_test_and_set is always AO_TS_CLEAR or AO_TS_SET
Fix 'AO_malloc redefinition' MS VC warning caused by attributes mismatch
Fix 'use of undeclared SIG_BLOCK' Clang error if -std=c89 on Cygwin
Fix AO_compare_and_swap_full asm code for clang on sparc
Fix a typo in comment of AO_stack_push_explicit_aux_release
Fix code indentation in main() of test_stack.c
Refine AO_UNIPROCESSOR macro description in configure
Remove outdated comment about unsupported Win64 in atomic_ops_stack.h
Repeat black list check on CAS fail in stack_push_explicit_aux_release
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Khem Raj [Tue, 30 Aug 2022 03:32:16 +0000 (20:32 -0700)]
rsync: Turn on -pedantic-errors at the end of 'configure'
This helps in building rsync without autoconf patch, since it will be a
while that the round trip is made, better to apply this patch here until
next release of autoconf.
Running builds from a previously used directory relies on correctness of
'make clean' or incremental 'make', and sadly perl (or perl-cross) does not have either.
The particularly nasty problem, currently occurring, is that sometimes, when reusing
a previous build, we arrive at a combination of timestamps in the tree,
where make becomes very confused, gets lost in its own rules and enters an infinite loop,
never figuring out what needs to be rebuild in what order. Worse, there is no reliable
trigger for this that was found, and any attempts to 'isolate the issue' haven't produced one.
Let's simply add a clean S/B separation for builds, and always run a build from a reproducible
set of files.
[YOCTO #14902]
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
selftest/bblayers: adjust the revision for the layer setup test
Using a tag is not actually robust enough, e.g. poky-contrib
checkouts do not come with any tags. So let's use a revision
matching yocto-4.0, that ought to be present.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
selftest/bblayers: add a test for creating a layer setup and using it to restore the layers
This does a basic run-through of the bitbake-layers plugin, and the resulting json layer config
and the layer setup script that uses it. Only poky is actually fetched by the script.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/oe-setup-layers: add a script that restores the layer configuration from a json file
This script can be used directly from poky or oe-core, or can be copied directly
into alayer or any other repository - it is self-suffucient and requires only python3
and git on the host where it will run. It is also copied by the bitbake-layers
layers-setup plugin together with the json, unless requested otherwise.
1. How to restore the layers from the saved configuration:
a) Clone the bootstrap layer or some other repository to obtain the json config and the setup script that can use it.
(use 'bitbake-layers create-layer-setup' from the previous commit to create them)
b) Running with default options:
(note: this will work to update an existing checkout as well)
alex@Zen2:/srv/work/alex/my-build$ meta-alex/setup-layers
Note: not checking out source meta-alex, use --force-bootstraplayer-checkout to override.
A self contained python script that fetches all the needed layers and sets them to correct revisions
optional arguments:
-h, --help show this help message and exit
--force-bootstraplayer-checkout
Force the checkout of the layer containing this file (by default it is presumed that as this script is in it, the layer is already in place).
--destdir DESTDIR Where to check out the layers (default is /srv/work/alex/my-build).
--jsondata JSONDATA File containing the layer data in json format (default is /srv/work/alex/my-build/meta-alex/setup-layers.json).
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake-layers: add ability to save current layer repository configuration into a file
This addresses a long standing gap in the core offering:
there is no tooling to capture the currently configured layers
with their revisions, or restore the layers from a configuration
file (without using external tools, some of which aren't particularly
suitable for the task). This plugin addresses the 'capture' part.
Note that the actual writing is performed by a sub-plugin; one such
sub-plugin is provided (for the json + python script format), but
more can be added (e.g. kas, repo, etc.).
How to save a layer configuration:
a) Running with default choices:
$ bitbake-layers create-layers-setup /srv/work/alex/meta-alex/
NOTE: Starting bitbake server...
NOTE: Created /srv/work/alex/meta-alex/setup-layers.json
NOTE: Created /srv/work/alex/meta-alex/setup-layers
Writes out a configuration file and/or a script that replicate the directory structure and revisions of the layers in a current build.
positional arguments:
destdir Directory where to write the output
(if it is inside one of the layers, the layer becomes a bootstrap repository and thus will be excluded from fetching).
optional arguments:
-h, --help show this help message and exit
--output-prefix OUTPUT_PREFIX, -o OUTPUT_PREFIX
File name prefix for the output files, if the default (setup-layers) is undesirable.
--writer {oe-setup-layers}, -w {oe-setup-layers}
Choose the output format (defaults to oe-setup-layers).
Currently supported options are:
oe-setup-layers - a self-contained python script and a json config for it.
--json-only When using the oe-setup-layers writer, write only the layer configuruation in json format. Otherwise, also a copy of scripts/oe-setup-layers (from oe-core or poky) is provided, which is a self contained python script that fetches all the needed layers and sets them to correct revisions using the data from the json.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Wed, 31 Aug 2022 11:13:57 +0000 (13:13 +0200)]
meta/files: add layer setup JSON schema and example
Defines a common schema for layer setup that can be consumed by tools to
know how to fetch and assemble layers for end users. Also includes an
example of the layer setup that constructs poky/meta-intel/imaginary product layer
for reference.
The schema can be used to validate a layer setup file with the commands:
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Alex: I made the following modifications to Joshua's original commit:
- moved the files from meta/lib to meta/files
- the example json showcases a multi-repo, multi-layer setup
instead of just poky - closer to a typical product
- added oe-selftest that validates the example json against the schema using python3-jsonschema-native
- the schema is modified so that:
-- all lists (sources, layers, remotes) are replaced by objects keyed by 'name' properties of the list items.
This allows using them as dicts inside Python, and makes the json more compact and readable.
-- added 'contains_this_file' property to source object
-- replaced 'remote' property with a 'oneOf' definition for git with a specific
'git-remote' property. 'oneOf' is problematic when schema validation fails:
the diagnostic is only that none of oneOf variants matched, which is too non-specific.
-- added 'describe' property to 'git-remote' object.
-- removed description property for a layer source: it is not clear how to add that
when auto-generating the json
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake-layers: add a command to save the active build configuration as a template into a layer
This is the reverse of setting up a build by pointing TEMPLATECONF to a directory
with a template and running '. oe-init-build-env': this takes the config files from build/conf,
replaces site-specific paths in bblayers.conf with ##OECORE##-relative paths, and copies
the config files into a specified layer under a specified template name.
In many or perhaps most cases such static prefabricated configurations (that require no
further editing) are just enough, and I believe they should be offered by the
official configuration management. On the other hand, generating build configurations with a
sufficiently versatile tool is a far more complex problem, and one we should try to tackle
once we see where and how static configs fall short.
Tooling to discover and select these templates when setting up a build will be provided later on.
How to use:
alex@Zen2:/srv/work/alex/poky/build-layersetup$ bitbake-layers save-build-conf ../../meta-alex/ test-1
NOTE: Starting bitbake server...
NOTE: Configuration template placed into /srv/work/alex/meta-alex/conf/templates/test-1
Please review the files in there, and particularly provide a configuration description in /srv/work/alex/meta-alex/conf/templates/test-1/conf-notes.txt
You can try out the configuration with
TEMPLATECONF=/srv/work/alex/meta-alex/conf/templates/test-1 . /srv/work/alex/poky/oe-init-build-env build-try-test-1
alex@Zen2:/srv/work/alex/poky/build-layersetup$
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/oe-setup-builddir: add a check that TEMPLATECONF is valid
specifically that ../../layer.conf exists, and that second-from-last
component in the path is 'templates'.
This requires tweaking template.conf creation in eSDK bbclass, as
we need to ensure that the path in it is valid, and exists
(which may not be the case if the SDK is poky-based).
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 25 Aug 2022 10:36:57 +0000 (11:36 +0100)]
rust: Fix crossbeam-utils for arches without atomics
crossbeam-utils tries to use the triplet to look up whether the target
supports various forms of atomics. We use TARGET_VENDOR and not "-unknown"
in the target case which means this fails and breaks platforms like mips
and powerpc 32 bit. Add a patch to handle TARGET_VENDOR in this case.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Tue, 30 Aug 2022 15:59:39 +0000 (10:59 -0500)]
classes: cve-check: Get shared database lock
The CVE check database needs to have a shared lock acquired on it before
it is accessed. This to prevent cve-update-db-native from deleting the
database file out from underneath it.
[YOCTO #14899]
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
baremetal-image.bbclass: Emulate image.bbclass to handle new classes scope
The new classes scope implemented on commit 7bd328f9d
made testimage.bbclass (and perhaps others) stop working
for baremetal-images, the expected way to run testimage
is no longer to use INHERIT but to use IMAGE_CLASSES
instead, however this functionality was not implemented in the
baremetal-image class until now.
Emulate image.bbclass allowing the baremetal-image class to
use IMAGE_CLASSES to fix this issue.
Set defaults for IMAGE_FEATURES to allow bitbake checks to
pass properly.
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Sat, 20 Aug 2022 15:09:22 +0000 (08:09 -0700)]
rust: Fix build failure on riscv32
Latest rust has started using ENOTSUP define, which is not available in
the older libc that current release of compiler is using therefore
backport the needed patch. Eventually when vendored version of libc
bumps to 1.33+ we should not need this patch.
Richard Purdie [Tue, 23 Aug 2022 14:12:14 +0000 (15:12 +0100)]
mesa: Rework llvm handling
meson in mesa no longer uses WANT_LLVM_RELEASE and LLVM_CONFIG so drop
those. Instead, copy the llvm-config binary into the target sysroot which
allows the paths to be relocated to the target in question. This should allow
the llvm patch for YOCTO_ALTERNATE_EXE_PATH to be dropped assuming nothing
else relies upon it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 30 Aug 2022 16:41:35 +0000 (17:41 +0100)]
llvm: Add llvm-config wrapper to improve flags handling
Add a wrapper for llvm-config which provides flags from the current envrionment
instead of the values hardcoded into llvm-native at compile time. Inspiration
taken from the wrapper in meta-clang but I had to totally rewrite it as:
* the TARGET_* prefixes weren't in our environment
* meson uses --libs --ldflags XXX which didn't work
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Fri, 26 Aug 2022 14:23:37 +0000 (15:23 +0100)]
libgcrypt: rewrite ptest
Instead of installing pieces of the build system, we can install the
test driver (which can also be used to list the files needed) and run
the tests directly.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Ross Burton [Fri, 26 Aug 2022 14:23:36 +0000 (15:23 +0100)]
libgcrypt: remove obsolete patch
This patch was added in 2017 to fix an ICE in GCC. GCC no longer ICEs,
so the patch isn't needed anymore. Of note is that the random failures
in ptest are in the test being patched, so maybe this is causing subtle
breakage.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Rasmus Villemoes [Fri, 26 Aug 2022 12:20:44 +0000 (14:20 +0200)]
bitbake.conf: set BB_DEFAULT_UMASK using ??=
Currently, there's no way for the user's site.conf, local.conf or
similar to set BB_DEFAULT_UMASK, because those files are included by
bitbake.conf prior to the unconditional assignment of
BB_DEFAULT_UMASK. To make that possible, use a weak default assignment
instead. This is also consistent with most other variable assignments
in the lower half of bitbake.conf.
I believe the risk of a regression is very small; it would require
something like somebody having a definition of BB_DEFAULT_UMASK in a
local configuration file, and having been relying on that _not_ taking
effect.
Khem Raj [Fri, 26 Aug 2022 07:46:46 +0000 (00:46 -0700)]
apr: Cache configure tests which use AC_TRY_RUN
AC_TRY_RUN macro means the test needs to run to find the result and we
are cross compiling so this will always get wrong results, this results
in miscompiling apache2 on musl because it disables rlimit
(ac_cv_struct_rlimit) wrongly.
All these variables are determined with AC_TRY_RUN checks
Ross Burton [Thu, 25 Aug 2022 12:00:40 +0000 (13:00 +0100)]
oeqa/selftest: add test for debuginfod
Add a new selftest to exercise the debuginfod support, by starting a
debuginfod on DEPLOY_DIR and verifying that an image can fetch the
symbols for a binary.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Khem Raj [Sat, 20 Aug 2022 16:39:03 +0000 (09:39 -0700)]
gcc: Upgrade to 12.2.0
GCC 12.2 is the first bug-fix release from the GCC 12 branch containing
important fixes for regressions and serious bugs in GCC 12.1 with more
than 71 bugs fixed since the previous release comprising of a number
of libstdc++ and C++ and fortran fixes [1]
Remove backported patch to fix libsanitizers with glibc 2.36, its
already present in 12.2
wangmy [Wed, 24 Aug 2022 08:46:17 +0000 (16:46 +0800)]
pkgconf: upgrade 1.9.2 -> 1.9.3
Changes from 1.9.2 to 1.9.3:
----------------------------
* Fix a bunch of minor code issues pointed out using Clang static analyzer.
* New API: pkgconf_solution_free(), which frees a compiled solution graph.
* Fix behavior when overriding global variables with '--define-variable'.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
wangmy [Wed, 24 Aug 2022 08:46:15 +0000 (16:46 +0800)]
libdnf: upgrade 0.67.0 -> 0.68.0
Changelog:
==========
New features:
context: Support (NEVRA forms, provides, file provides) including globs in the dnf_context_remove func
Bug fixes:
dnf-context: Disconnect signal handler before dropping file monitor ref
Filter out advisory pkgs with different arch during advisory upgrade, fixes possible problems in dependency resulution
Gracefully handle failure to open repo primary file
Fix listing a repository without cpeid
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
wangmy [Wed, 24 Aug 2022 08:46:14 +0000 (16:46 +0800)]
btrfs-tools: upgrade 5.18.1 -> 5.19
0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch
removed since it's included in 5.19
Changelog:
==========
* send: support protocol version 2
* fi show: print all missing devices
* device stats: add tabular output
* replace: add alias to device group (device replace)
* check: validate free space tree items
* fixes:
* convert: support large filesystems (block count > 32bit)
* recognize filesystems with verity enabled
* mkfs and DUP could write out of order, fix it for zoned mode
* build:
* optional support for LZO and ZSTD in receive
* compatibility with glibc 2.36 (mount.h)
* add fallbacks for new GCC builtins
* other:
* corrupt-block: target specific items, offsets
* documentation updates, new pages from wiki
* new tests
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 24 Aug 2022 06:34:41 +0000 (23:34 -0700)]
apr: Use correct strerror_r implementation based on libc type
musl does not implement GNU extention of strerror_r but XSI compliant
version, therefore add it via a packageconfig to set right variables
during configure to cache the value.
configure detection logic depends on runtime test which will always be
wrong on cross compiles therefore backport a patch to make it possible
to cache the needed configure variable.
Andrei Gherzan [Wed, 24 Aug 2022 09:42:23 +0000 (11:42 +0200)]
shadow: Avoid nss warning/error with musl
The libnss configuration file is only installed when glibc is used. The
inexistence of it on a musl-based rootfs, will make shadow complain
about it:
Failed opening /etc/nsswitch.conf
This is because shadow will try to use nsswich when dealing with
subordinate IDs and the message is just a warning as the tool will still
generate them correctly in subuid/subgid files.
We drop this log message for class native to avoid an error when rootfs
logs are checked ('Failed' will match the regex bitbake is using to
check for rootfs generation errors).
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrei Gherzan [Tue, 23 Aug 2022 23:56:23 +0000 (01:56 +0200)]
rootfs-postcommands.bbclass: Follow function rename in rootfspostcommands.py
'shadow_sort' was renamed to 'tidy_shadowutils_files' in
rootfspostcommands.py so we reflect this in
SORT_PASSWD_POSTPROCESS_COMMAND. This also creates a deprecation
function for 'shadow_sort'.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrei Gherzan [Tue, 23 Aug 2022 23:56:21 +0000 (01:56 +0200)]
rootfspostcommands.py: Cleanup subid backup files generated by shadow-utils
When creating users, shadow-utils might create backup files for
subordinate ID files (subid, subgid). Make sure we clean them up
similarly to the other backup files shadow-utils creates.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>