Commit Graph

63388 Commits

Author SHA1 Message Date
Jon Mason
7bbd93f8dc machine/qemuarm*: use virtio graphics
Switch to using virtio graphics for the Arm QEMU machines.  You will
noticed the difference in the dmesg by seeing:
[    2.693337] [drm] pci: virtio-gpu-pci detected at 0000:00:10.0

(From OE-Core rev: 961158653170f53de58672e474c41f1533f469fc)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-19 11:33:14 +01:00
Richard Purdie
025896f5f5 bitbake: cookerdata: Show a readable error for invalid multiconfig name
If a multiconfig starts with a digit, users would see pages of
errors as we use the multiconfig as a python function name prefix
and python functions cannot start with a digit. We could avoid doing
that but it is easier just to ask users to name multiconfigs not
starting with digits.

This tweak ensures the user sees an easier to understand error.

(Bitbake rev: f9cddaeef35b2ea0dadf717101ed896f6b857abd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-19 11:33:14 +01:00
Alexander Kanavin
2b399a01b5 bitbake: bitbake: enable python warnings at the first opportunity
We really do want to see those, as they tend to turn into
hard errors eventually, as what happened with collections
vs collections.abc in python 3.10.

(Bitbake rev: bc43fbb86361a21dc2d5deb910810c5a77fdabe8)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-19 11:33:14 +01:00
Michael Halstead
ab55ae5d39 releases: update to include 3.3.3
Adding 3.3.3 to documentation switcher and release list.

(From yocto-docs rev: cc88f73ea0e38f536cb3e05b504df80048856a84)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:35:32 +01:00
Robert P. J. Day
f14b77b8ff dev-manual: update output of "wic list images"
Output order from "wic list images" is in different order, and was
missing a couple entries.

(From yocto-docs rev: 7df7356b8a306d7e77f0aab1f443fd1306c25620)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Robert P. J. Day
b7030dd10e dev-manual: emphasize that new layers live outside of poky
Tweak the bblayers.conf example to encourage the reader to appreciate
that any new layers should not share space with the official Poky
checkout.

(From yocto-docs rev: 46931f8497c3c4b874613acbe7c9612944174559)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Michael Opdenacker
badb6c6fb4 ref-manual: update "devtool check-upgrade-status" output
This command now uses "INFO" insted of "NOTES" and output
information in columns. Also good to show more recent
versions of recipes.

(From yocto-docs rev: d875083150ac30b884d823e9f0f568d3a92ddcc1)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Michael Opdenacker
6a9e7fb010 ref-manual: improve documentation for RECIPE_NO_UPDATE_REASON
This add a description of this variable to the variable index,
and clarifies the explanations given in the devtool reference
section.

(From yocto-docs rev: 034b976addd0db6da31c4bacdbea21f2d47c00dc)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Michael Opdenacker
6c5986ebfe ref-manual: improve "devtool check-upgrade-status" details
- Mention "devtool latest-version recipe" to process a single version
- Explain that the mechanism is controlled by the UPSTREAM_CHECK*
  variables, which are not referred to anywhere else in the manuals,
  except in the variable index.

(From yocto-docs rev: eded237f1a1ec7df3f9910242bfa4b3818ff3e58)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Michael Opdenacker
b931182b5b ref-manual: remove checkpkg task
It doesn't exist any more and its functionality is now taken care
of by "devtool check-upgrade-status"

(From yocto-docs rev: 9c155e91dc57cb49b97805805e802330188a2c04)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Michael Opdenacker
d6966a39f2 ref-manual: document UPSTREAM_CHECK_COMMITS and UPSTREAM_VERSION_UNKNOWN
(From yocto-docs rev: 99b5fee6295a5c424fdb2cc0b34a4a486d7bf721)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Michael Opdenacker
95866fd533 manuals: delete unmaintained history sections
This deletes the history sections in each sub-manual,
which didn't add any value, given that they didn't list
the changes from one Yocto Project version to the next.

(From yocto-docs rev: 29ce5b89c438079793cc6457401b6a9275db877a)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Michael Opdenacker
138219ce3b manuals: replace Freenode by Libera Chat as IRC host
Fixes [YOCTO #14546]
This also replaces the "#poky" channel (inactive)
by "#oe", which is more actively used.

(From yocto-docs rev: 46f98fe4f502aac8b16ba785490e9cf46364e4ec)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Tom Rini
3537849112 common-tasks: Add an example of using bbappends to add a file
Use the xserver-xf86-config_%.bbappend from meta-raspberrypi to provide
an example of having a bbappend file add files to an existing recipe.

(From yocto-docs rev: f510e748ff3bcbea6e34a7f225e05628303fdd12)

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Vyacheslav Yurkov
62b13474bf ref-manual: add overlayfs class
(From yocto-docs rev: 5bd2f3c0bbf4178e381aec2b7de57ef8289c2271)

Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Robert P. J. Day
70059b37c7 ref-manual: couple minor tweaks to Chapter 1
(From yocto-docs rev: d00282396ddc558bf025a81edc1dad53a814e13a)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <foss@0leil.net>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Robert P. J. Day
2e09b9d8a3 ref-manual: add potential of parallelism to defn of "Task"
(From yocto-docs rev: 2e80de272b987c70374a1758e71c5c1371054d1f)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Quentin Schulz <foss@0leil.ṅet>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Robert P. J. Day
a98e336d7d ref-manual: correct typo in "classes" section, "${BPN}/{PV}"
(From yocto-docs rev: 28a72c5a1cc873b455d7854065e1f999e6c5b7a5)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:45 +01:00
Robert P. J. Day
b16279603f ref-manual: remove mention of obsolete devtool "--any-recipe" option
Running "devtool edit-recipe -h" produces, in part, the output:

  --any-recipe, -a  Does nothing (exists for backwards-compatibility)

so it seems of little value to continue referring to it.

(From yocto-docs rev: fdac1da045e60d37025f754c9b6be5bb36f31c86)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:44 +01:00
Robert P. J. Day
edaaa63664 ref-manual: render options in monospace to show quotes properly
It's important (at least for now) to mark up options with monospaced
font to highlight the difference between single and double quotes.

(From yocto-docs rev: 8d71ffdd3f354747dcade6de512355e8fa567728)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-18 13:03:44 +01:00
Jon Mason
be665a7983 core-image-sato: Fix runqemu error for qemuarmv5
When attempting to execute runqemu on qemuarmv5, the following error is
encountered:

runqemu - ERROR - Failed to run qemu: qemu-system-arm: versatilepb: memory size must not exceed 256MB

To work around this, limit the QB_MEM size for qemuarmv5, similar to
what is being done for qemumips.

(From OE-Core rev: 6450138afebffcc55ab32afadd5fb979274fff2b)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:30:39 +01:00
Jon Mason
c1db4933ce dev-manual: update mailing list address
(From yocto-docs rev: 68e6782c19e9f88c3cd89b4948d22d216e0165b1)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:30:10 +01:00
Richard Purdie
f678c87751 README: Update email address for Bruce
(From meta-yocto rev: 6ed7cd279fdf51dd22edbd923e7456e0afff0918)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:28:39 +01:00
Jon Mason
44ebd57ed1 README: update mailing list address
(From meta-yocto rev: bef9f0bded38964be20c5b9f0d02e4e0fbe22b93)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:28:39 +01:00
Jon Mason
112f5afe8e Update mailing list address
(From OE-Core rev: 83169c33f7585da25560784f79eaad2c6f029f3c)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:27:20 +01:00
Mark Hatle
35d18a3c98 tcf-agent: Move to the latest master version
There has not been a release since 2018, the 1.7.0 release.  A number of
recent improvements around thumb and clang debugging prompted this move
to a newer version.

The patch is no longer necessary as it was a backport patch.

(From OE-Core rev: b98c739aa1204ecd842278a6e36a56243bfbc2a5)

Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:27:20 +01:00
Konrad Weihmann
2a1743ace5 expat: pull from github releases
sometimes we can find release tarballs from sourceforge are not fully
distributed along all download mirrors leading to fetching faiilures,
depending on what download mirror will be chosen by sourceforge
servers.
As the project moved to github anyway, it's better to pull the tarballs
directly from github releases - serving the very same static artifacts.

Add an override UPSTREAM_CHECK_URI to enable devtool upgrade checks

(From OE-Core rev: 9b5b797b0e9e6f2cb3e29be92c4f9b763c4a41e9)

Signed-off-by: Konrad Weihmann <kweihmann@outlook.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:27:20 +01:00
Ross Burton
c4bc29f593 ffmpeg: fix LICENSE
Expat isn't a license name we have, use MIT instead.

(From OE-Core rev: b1821691c2d7eafb29cf182fc1f2ec7b0cc8340f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:27:20 +01:00
Valentin Danaila
a4c8d8e21a bitbake: fetch2/s3: allow to switch profile from environment variable
Make usage of Bitbake's s3 fetcher more flexible with different AWS profiles
  and switch between profiles as export of the AWS_PROFILE environment variable

(Bitbake rev: 0f35dc4dfc829fe9c51c239d15567f86c5c14e58)

Signed-off-by: Valentin Danaila <drlv85@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:26:24 +01:00
Alexander Kanavin
fbbc0f7461 bitbake: bitbake: correct deprecation warning in process.py
(Bitbake rev: aff52fe21a0b27f6302555c1e52a864550eb46ce)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:26:24 +01:00
Alexander Kanavin
97dc3ef386 bitbake: bitbake: adjust parser error check for python 3.10 compatibility
The change was introduced in
a698d52c39

(Bitbake rev: 8d3c6cbbe6ee734495713ae3b99c609527842506)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:26:24 +01:00
Alexander Kanavin
f7909da79f bitbake: bitbake: do not import imp in layerindexlib
The module is deprecated and unused.

(Bitbake rev: 76c9030d6c91cd776a1aa732fb92b7cd4539b503)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:26:24 +01:00
Alexander Kanavin
cee517568b bitbake: bitbake: fix regexp deprecation warnings
See here for details:
https://docs.python.org/3/library/re.html

(Bitbake rev: 660e6ad4abb77c6f3c1d48bd64777dd76c05d7e2)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:26:23 +01:00
Alexander Kanavin
5c24982cc9 bitbake: bitbake: correct the collections vs collections.abc deprecation
This becomes a hard error in python 3.10.

(Bitbake rev: ae219e1f7460077f4492b31ac91cef4cf9b17277)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:26:23 +01:00
Alexander Kanavin
3891a56a78 bitbake: bitbake: drop old rules for python warnings
These no longer even work, and it's much better to just see all warnings
and fix them as they happen.

(Bitbake rev: 62d96ea2afbb0cfdb0d1f932dc96643e7bcd7f26)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:26:23 +01:00
Richard Purdie
626e949292 bitbake: fetch2/git: Avoid races over mirror tarball creation
There is a potential race over the mirror tarballs where a partial git repo
could be extracted causing fetcher failures if the tarball is being rewritten
whilst another build accesses it.

Create the mirror tarball atomically to avoid this.

[YOCTO #14441]

(Bitbake rev: 3250bc950c56bd7dd2114df26e5a8e13b04ceac8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:26:23 +01:00
Richard Purdie
6b52061123 bitbake: runqueue/knotty: Improve UI handling of setscene task counting
The recent fixes to merge setscene and normal task accounting in runqueue
fixed some display issues but broke the task numbering of setscene tasks.

Add new accounting methods to the stats structure specifically designed
for setscene. This accounts for the fact that setscene tasks can rerun
multiple times in the build.

Then use the new data in the UI to correctly display the numbers the
user wants to see to understand progress.

(Bitbake rev: ed7e2da88bf4b7bfc7ebfc12b9bd6c0fb7d8c1aa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-17 07:26:23 +01:00
Richard Purdie
4437754142 bitbake: bitbake-worker: Improve error handling
If bitbake-worker fails, return an error code showing that. Also
make the thread cleanup code explict in a finally clause as it would
otherwise hang.

[YOCTO #14393]

(Bitbake rev: 7e0af70fb53fb13f824ca954b8cc1dffee730233)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:51:14 +01:00
Daniel Ammann
4fb4a6e229 bitbake: fetch2/wget: Enable ftps
The fetcher would fail with:
Could not find a fetcher which supports the URL: ftps://...

(Bitbake rev: 9e56710c7203b1ec6cbefa758c81b69b697fe1a4)

Signed-off-by: Daniel Ammann <daniel.ammann@bytesatwork.ch>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:51:14 +01:00
Kristian Klausen
7b98f81d2f systemd: Add tpm2 PACKAGECONFIG
The TPM2 support is used, among other things, for unlocking encrypted
volumes.

(From OE-Core rev: 7b7dfbfaedde775add3be7a3cb44b115d8ec5036)

Signed-off-by: Kristian Klausen <kristian@klausen.dk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Trevor Woerner
6b86c70081 hello-mod/hello.c: convert to module_init/module_exit
Switch away from the old init_module/cleanup_module function names for the
main entry points. Change them to the documented method with module_init()
and module_exit() markers next to static functions.

(From OE-Core rev: dd0cf45cdde7a197293322436957566e9a11a506)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Peter Kjellerstedt
ba7f322a3e create-spdx.bbclass: Search all license directories for licenses
Before, even if the code was seemingly written to search through all
licenses in ${COMMON_LICENSE_DIR} and ${LICENSE_PATH}, it would
actually bail out after only searching ${COMMON_LICENSE_DIR} due to
the exception handling.

Also refrain from using f-strings.

(From OE-Core rev: f58d54b31a1ddb4e60eb07365bfb7dfe78ed56af)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Mingli Yu
42b2fb8651 python3: fix multilib qa issue
Enable tk in PACKAGECONFIG as below in conf/local.conf.
PACKAGECONFIG_append_pn-python3 = " tk"
 $ bitbake lib32-python3
   ERROR: lib32-python3-3.9.6-r0 do_package_qa: QA Issue: /usr/lib/python3.9/lib-dynload/_tkinter.cpython-39-i386-linux-gnu.so contained in package lib32-python3-tkinter requires libtk8.6.so, but no providers found in RDEPENDS_lib32-python3-tkinter? [file-rdeps]
   ERROR: lib32-python3-3.9.6-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.

So add MLPREFIX prefix to fix the above issue.

(From OE-Core rev: 4a839d7c66e4589050ce3f145a8c7cf820e6b35d)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Mingli Yu
46757ac1e8 insane.bbclass: add FILERDEPENDS related check back
Instead of FILERDEPENDS_*, the FILERDEPENDS should be FILERDEPENDS:*
such as FILERDEPENDS:/usr/bin/python3.9:lib32-python3-core as an example,
so switch to new override syntax to make sure the related check in effect.

(From OE-Core rev: 6e5650be0ce5575da1ce5b6ea8b24a82ec7b1210)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Mingli Yu
b24b417ebf multilib.bbclass: add RDEPENDS related check back
When multilib enabled, instead of checking RDEPENDS_lib32-python3-core,
we should check RDEPENDS:lib32-python3-core as new override syntax applied.

So switch to new override syntax to make sure the related RDEPENDS check
logic is in effect.

(From OE-Core rev: 63d53e515d8f3d92a4143dc25c2e639c7fb8c3fb)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Richard Purdie
5ed27d8d9a sstatesig: Allow exclusion of the root directory for do_package
The package task references WORKDIR at it's top level and we can't
easily make the timestamp for that determnistic due to writes to files
there and in other subdirs. We could try and force it to a specific value
but it is easier to just remove it from the package task, we don't need
it there or care about it in this case.

(From OE-Core rev: 9cceeb906527f90d8dd3aad75aa3a8805e2a1df5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Richard Purdie
0256b7dac4 bash: Ensure deterministic build
Bash keeps a count of the number of times make was invoked on a directory
and changes the output versioning accordingly. We want deterministic output
so disable this behaviour.

(From OE-Core rev: 13a039e03195a47c750d5901e96fe81cf523481f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Richard Purdie
6c5a29035b sstate: Ensure SDE is accounted for in package task timestamps
When creating packages we build them with --clamp-mtime and use
SOURCE_DATE_EPOCH as the maximum mtime. This makes the end packages
reproducible. The data stored in sstate for do_package and the package
task doesn't benefit from this though and have varying timestamps.
This means their outhash varies and means hash equivalance isn't
effective at all and doesn't work as intended/desired.

We could create the sstate archives with the same clamping however
that would lead to different results depending on whether a task was
installed from sstate or not. Making that differ is a path to madness.
It also wouldn't fix the outhash of the task to be determninistic
without clamping of the date in the hash calculation code.

Instead, iterate over the files in sstate output and clamp them at
the code level. This isn't ideal but does make the file timestamps
determnistic everywhere and means we don't have to change the hash
calculation code.

This issue can be clearly seen looking at the do_package outhash for
a recipe which you then re-run the package task for after adding
something like whitespace to the install task. The outhash shouldn't
change but currently does.

(From OE-Core rev: c3b3cc4745811b48b9193f83889946b2e1788932)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Richard Purdie
95fa69f3d3 package: Fix pkgdata determinism issues
pkgdata output isn't entirely deterministic since the sorting of some of the
variables can change. This likely doesn't have any real world effect but fix
this with some additional sorting as it allows better hash equivalency of
task output.

(From OE-Core rev: a30c4de8a0b309c398c42fe710c45a4df7fcc64d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00
Richard Purdie
516bbba02f useradd: Ensure preinst data is expanded correctly in pkgdata
The preinst data in pkgdata will not expand out the ${XXX_PARAM} variables
since they don't use a package suffix. It happens that the final expansion
used for the packages is corrected by a second trip through the datastore.

The first version is used for calculation of the task output hash and
recent improvements in hash reuse showed this data wasn't using included
in the hashes, meaning for example builds with dynamic IDs were mixing
sstate with builds using static IDs. The result was a mess.

Fix this by expanding the data in the preinst correctly to use the
package specific _PARAM values.

(From OE-Core rev: 375430f249e7e0b6622e566e2478b40ba7e606ab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-16 09:50:34 +01:00