Commit Graph

67708 Commits

Author SHA1 Message Date
Alexander Kanavin
2bdc042d9c 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 :-)

(From OE-Core rev: 64a774de0e154ef81f20853fec903b17d9985a72)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:26 +01:00
Alexander Kanavin
bfa02f71d8 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.

(From OE-Core rev: 9da0dd350a451676e3d4a1f09f90ec0234047ab7)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:26 +01:00
Khem Raj
1d4ac06c85 ccache: Upgrade to 4.6.2
Fix build with musl

(From OE-Core rev: a76700a47c227e76551d2f2c86db5841ad7f6e8f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
5ee00d7e68 llvm: remove 0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
At some point this became unnecessary as llvm builds with with musl without it.

(From OE-Core rev: 0469854032ad8ce3f690e84520619d9819263bdc)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
84146661b5 python3-pip: remove unneeded reproducible.patch
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

(From OE-Core rev: 654f9d5088d00ee27b4d2f7b3bb371195de52247)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
598f3dfd49 python3-pip: submit reproducible.patch upstream
(From OE-Core rev: ed62eccaa49404aac96e4882a9db6c03d17bb4e2)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
114c57e1cf libsdl2: follow upstream version is even rule
As announced here:
https://github.com/libsdl-org/SDL/releases/tag/release-2.24.0

(From OE-Core rev: 4960a018cdf5d49fd9a800a82a8acd6e204a12b7)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
43a5a16bb5 gdk-pixbuf: submit fatal-loader.patch upstream
(From OE-Core rev: 08c931a6d3608899961cda595dfecbbae110f7f3)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
f1573c80d4 valgrind: (re)send ppc instructions patch upstream
(From OE-Core rev: 8d2e0bf9b13496ec5a8da546afa045cf49938a1d)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
241eb26b4c sysvinit: send install.patch upstream
(From OE-Core rev: 01ebe11786b5e01562289a0d51deff1bea89405c)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
8764a2adb9 mc: submit perl warnings patch upstream
(From OE-Core rev: b86a6c4f233c3a7716a8ac10951ffbc92f2fd1c1)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
d3a6ccf58a python: submit CC to cc_basename patch upstream
(From OE-Core rev: db9ad0553bc253bd7faaecf0026b2a945a125815)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
458a20d94d ovmf: drop the force no-stack-protector patch
This should not be necessary, as ovmf is already marked as
COMPATIBLE_HOST:class-target='(i.86|x86_64).*'
and existing upstream code handles both.

If/when ovmf is used on other targets, the situation can be revisited.

(From OE-Core rev: 4a75ca7c5a1c6330748fd1efa0a23af4acd23099)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
8528cae27a ghostscript: remove unneeded patch
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.

(From OE-Core rev: 37e521d8a5d1a89ba46d5058bc9c86cbe2195652)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
0caa3bb889 gstreamer1.0-plugins-bad: remove an unneeded patch
Latest gcc no longer produces the warnings that this patch was
fixing.

(From OE-Core rev: 815fc7dce4a6f666f3cb6aadb6057cdcd9c0c941)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
72c8aa7c44 mtd-utils: remove patch that adds -I option
The patch was added in https://git.yoctoproject.org/poky/commit/?id=f594a1145eb5b952265a3fdf6b158ef41b148b12
with no explanation for the use case or metadata.

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.

(From OE-Core rev: 8915aaf22d72626c3b382d45912bd0640d76f543)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
984bef4298 shadow: correct the pam patch status
(From OE-Core rev: 623872e99068968a94635af6fac24b979d82da32)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
941604945c syslinux: mark all pending patches as Inactive-Upstream
As seen here https://repo.or.cz/syslinux.git/shortlog

(From OE-Core rev: adcfd42cf83ac9d49ebfcc2260c0df7f891e49ce)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Robert Joslyn
0c0cd16447 curl: Update to 7.85.0
Release notes are available at: https://curl.se/changes.html#7_85_0

Remove backported patches as they are included in the new release.

(From OE-Core rev: 5170b1a6088a623af86ffca635a10bd010d709e5)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Richard Purdie
a23e6516ee vim: Upgrade 9.0.0242 -> 9.0.0341
Addresses CVE-2022-2980, CVE-2022-2946 and CVE-2022-2982.

(From OE-Core rev: 01c08d47ecfcc7aefacc8280e0055c75b13795b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Ross Burton
3cca59a9bc cve-check: close cursors as soon as possible
We can have multiple processes reading the database at the same time, and
cursors only release their locks when they're garbage collected.

This might be the cause of random sqlite errors on the autobuilder, so
explicitly close the cursors when we're done with them.

(From OE-Core rev: 5d2e90e4a58217a943ec21140bc2ecdd4357a98a)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Richard Purdie
c9342278d7 bitbake: Revert "fetch: use BPN instead"
PN is correct here, bitbake has no knowledge of BPN.

This reverts commit d613e48c07d4b12219270c1359cbf2f390b848dd.

(Bitbake rev: cffcfacb747d41304c857b17bfea646e220b2389)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 12:18:36 +01:00
Markus Volk
1eaf64fbe1 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.

(From OE-Core rev: c54f3847349173ed3a8e77a5c2732e1bbcddd540)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
William A. Kennington III
924854accc image_types: Set SOURCE_DATE_EPOCH for squashfs
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.

(From OE-Core rev: c991f9d603127d2b72a464974f0c5dfcc25727bf)

Signed-off-by: William A. Kennington III <wak@google.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
24a55abf3d repo: upgrade 2.28 -> 2.29.1
(From OE-Core rev: 291eb0952561670255e14574bb48928c7e50fe71)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
9cd331aa35 python3-urllib3: upgrade 1.26.11 -> 1.26.12
(From OE-Core rev: cb05578af3ace6e3983f93e16d9ad1ac2a65fbe2)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
cf28fdccf1 python3-hatchling: upgrade 1.8.0 -> 1.8.1
(From OE-Core rev: 9b4ad57d4fa0bf7938bdeb4e7eae8927312737b8)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
21bd9f1840 lz4: upgrade 1.9.3 -> 1.9.4
CVE-2021-3520.patch
removed since it's included in 1.9.4

License-Update:
  Copyright year updated to 2020
  description of 3rd party applications changed

(From OE-Core rev: f95c66050bc69af7769d1868b0118cefb24e5b0d)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
28e5e1ebdd 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

(From OE-Core rev: a0f177ef7f52bab06d8fff752ba8390defd71ed5)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
5490add305 lttng-ust: upgrade 2.13.3 -> 2.13.4
(From OE-Core rev: 0be632451f4e9a4a6a08d051e6f493715658c23b)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
194c6a1f22 lttng-tools: upgrade 2.13.7 -> 2.13.8
(From OE-Core rev: 30f45a648b31014f7cf7b899566dbcef86608b72)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
edd67f10fa libwpe: upgrade 1.12.2 -> 1.12.3
Changelog:
  Fix the build when using Clang's libc++ or the Musl libc.

0001-Fix-build-failure-due-to-libc-using-libc-functions.patch
removed since it's included in 1.12.3

(From OE-Core rev: f8d8cc58c9b9c221158414be186bc12aa5d80e91)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
f6b55c02d9 liburcu: upgrade 0.13.1 -> 0.13.2
(From OE-Core rev: b9ce9d9ab53baab7ba84187d17b34e48ff9eb16e)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
c64d3ff826 libtasn1: upgrade 4.18.0 -> 4.19.0
Changelog:
===========
- Clarify libtasn1.map license.  Closes: #38.
- Fix ETYPE_OK out of bounds read.  Closes: #32.
- Update gnulib files and various maintenance fixes.

(From OE-Core rev: b8f2c6ec61ffcc607a35bd5c11f5020c9b676226)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
8f9a32d2a9 librsvg: upgrade 2.54.4 -> 2.54.5
Changelog:
- #880 - Accept patterns with userSpaceOnUse units for the stroke of
  axis-aligned lines.

(From OE-Core rev: 49f69fb9702d6d0e088bc38ad2aa78d644af1240)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
wangmy
1fc7631147 ethtool: upgrade 5.18 -> 5.19
avoid_parallel_tests.patch
refreshed for new version.

(From OE-Core rev: 4acfd197198ab0b94fffefe25e6b4df210477751)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
Khem Raj
8d6b8fb086 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.

(From OE-Core rev: 11522b98697befcf13076a90cec4f8ade1fa0645)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
Khem Raj
c00ae16610 librepo: Fix build on musl
Add missing header file

(From OE-Core rev: 3673c759131d2001937037062bf463698f30895c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
Khem Raj
e9edf8bfea rust-llvm: Update to matching LLVM_VERSION from rust-source
(From OE-Core rev: 7fe15d05811d6cf3172939228f75dbcc55396365)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:14:01 +01:00
Alexander Kanavin
c472d9ba9e meta-poky/conf: move default templates to conf/templates/default/
This follows the changes in oe-core, where templates are expected
to be under conf/templates.

(From meta-yocto rev: 29608bd03e1bffa124353061617b1d71370a4e5f)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00
Andrey Konovalov
b16ecb48f6 mesa: build clover with native LLVM codegen support for freedreno
(From OE-Core rev: fbd9d6643ff0b345fa0e3b369eabc0efefeac5e3)

Signed-off-by: Andrey Konovalov <andrey.konovalov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00
Andrey Konovalov
a1bdef5c4b mesa: add pipe-loader's libraries to libopencl-mesa package
clover needs those.

(From OE-Core rev: 86dd7b1c968ad5d953771b5383e10ec50addc53c)

Signed-off-by: Andrey Konovalov <andrey.konovalov@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00
Alexander Kanavin
7b22dc7091 perl: run builds from a pristine source tree
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]

(From OE-Core rev: 0919f5ec214594380eb5190b4878eadb30e3a471)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00
Khem Raj
f7423a2f9f ncurses: Fix configure tests for exit and mbstate_t
These tests do not include needed headers which results in warnings and
as errors when using -Werror or latest clang e.g.

(From OE-Core rev: 92f191c304b5d53c14be23f7a5d57b0f9f101767)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00
Alexander Kanavin
9facffec78 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.

(From OE-Core rev: 1246aa8e4c9e6fce2f7700cd8e8ad9566a21d6e3)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00
Alexander Kanavin
fe7eb16537 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.

(From OE-Core rev: 84ddd6fc6effbb74499409da7e85c09c8a1ff9ea)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00
Alexander Kanavin
aa09f4d928 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.

Setting up source meta-intel, revision 15.0-hardknott-3.3-310-g0a96edae, branch master
Running 'git init -q /srv/work/alex/my-build/meta-intel'
Running 'git remote remove origin > /dev/null 2>&1; git remote add origin git://git.yoctoproject.org/meta-intel' in /srv/work/alex/my-build/meta-intel
Running 'git fetch -q origin || true' in /srv/work/alex/my-build/meta-intel
Running 'git checkout -q 0a96edae609a3f48befac36af82cf1eed6786b4a' in /srv/work/alex/my-build/meta-intel

Setting up source poky, revision 4.1_M1-372-g55483d28f2, branch akanavin/setup-layers
Running 'git init -q /srv/work/alex/my-build/poky'
Running 'git remote remove origin > /dev/null 2>&1; git remote add origin git://git.yoctoproject.org/poky' in /srv/work/alex/my-build/poky
Running 'git fetch -q origin || true' in /srv/work/alex/my-build/poky
Running 'git remote remove poky-contrib > /dev/null 2>&1; git remote add poky-contrib ssh://git@push.yoctoproject.org/poky-contrib' in /srv/work/alex/my-build/poky
Running 'git fetch -q poky-contrib || true' in /srv/work/alex/my-build/poky
Running 'git checkout -q 11db0390b02acac1324e0f827beb0e2e3d0d1d63' in /srv/work/alex/my-build/poky

2. Command line options:

alex@Zen2:/srv/work/alex/my-build$ meta-alex/setup-layers -h
usage: setup-layers [-h] [--force-bootstraplayer-checkout] [--destdir DESTDIR] [--jsondata JSONDATA]

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).

(From OE-Core rev: 58f94471675aef9ac6d15637ac5d8e69cc304c7a)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00
Alexander Kanavin
e561fc1cbe 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

b) Command line options:

NOTE: Starting bitbake server...
usage: bitbake-layers create-layers-setup [-h] [--output-prefix OUTPUT_PREFIX] [--writer {oe-setup-layers}] [--json-only] destdir

 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.

(From OE-Core rev: 5606d1a123a3816ab45e49ee7707ed84c9c23c5c)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00
Joshua Watt
f5d6792d68 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:

 $ python3 -m pip install jsonschema
 $ jsonschema -i meta/files/layers.example.json meta/files/layers.schema.json

(From OE-Core rev: 72740b5dd635579e373b4bfe6ccacfe6a02aa998)

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>
2022-09-01 10:07:02 +01:00
Alexander Kanavin
3f9e3feb22 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$

(From OE-Core rev: f319534dc8fc68dfe120d129154a509f0cd6a3b0)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-01 10:07:02 +01:00