Commit Graph

698 Commits

Author SHA1 Message Date
Julien Stephan
96f6271d0a bitbake.conf: include bblock.conf
include conf/bblock.conf. This file is generated by the bblock tool. It
locks some package tasks by fixing their signatures. See bblock -h for
more details

(From OE-Core rev: fb85282476f9dee2b0364c305ca75b096a76b1ae)

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-09 15:58:47 +01:00
Denys Dmytriyenko
593edfa2ae bitbake.conf: add MACHINE to SDK_NAME
Do the same here as Poky has done 5 years ago, adding MACHINE to
SDK_NAME:

https://git.yoctoproject.org/meta-yocto/commit/?id=3614dd4aee9d19f1024edb6a36b2862c2d726c04

This avoids file conflicts in deploy/sdk/ when building multiple
machines (either manually or via multiconfig), where sdk/toolchain
installers, manifests and now SPDX archives will overlap otherwise.

(From OE-Core rev: 5bbefd9602dd787866a80e4be6c1cb13d0ccdb0f)

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-26 10:25:42 +01:00
Richard Purdie
374fd90865 lib: Import packagedata oe module by default
Variable dependencies for functions in the oe.packagedata module were
missing as it was not present in BBIMPORTS. Add it as the fact it was
missing is likely just historical oversight from base.bbclass history
and the dependencies are useful.

Add an exclusion to bitbake.conf to ensure BB_NUMBER_THREADS doesn't
change task checksums.

(From OE-Core rev: 7df9178766ee7939d139648e04f5747b0ffe1e13)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-26 10:25:42 +01:00
Richard Purdie
ad5464eb7e bitbake.conf: No longer support PR from filename
Nobody really sets PR from the recipe filename, we might as well drop
the overhead of the python function call and simplify the variable.

(From OE-Core rev: 5f2691a51a851e8337704aa00899eb27250f0f3f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-22 07:45:17 +01:00
Adrian Freihofer
40fdebda20 lib/oe/utils: Refactor to make multiprocess_launch callable without d
This is a preparation for making the strip_execs function callable from
devtool without going via tinfoil and a bitbake server process.

(From OE-Core rev: af8ee73cdef90b83556a7ac5e139a08108706486)

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-12 12:44:47 +01:00
Richard Purdie
cf78511f8c bitbake.conf: Add IMAGE_BASENAME to SDK_NAME
When SPDX manifests are enabled for OE-Core, it hightlights that the SDK_NAME
default isn't working well. Add IMAGE_BASENAME to it to help avoid conflicts
between outut files.

I suspect the defaults aren't working well and most distros are already
overriding this.

(From OE-Core rev: fba8fc22898f8455bd39f9a5f21ff056f2c0cd91)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-12 07:45:52 +01:00
Alberto Planas
b6469ed7d6 bitbake.conf: add bunzip2 in HOSTTOOLS
rpm2cpio.sh can make calls to bunzip2 to uncompress the RPM payload that
conform the cpio file.

bzip2 is already part of HOSTTOOLS, as a link to the system installed
bzip2.

This patch add bunzip2 in HOSTOOLS list as a non-optional binary, so is
available to rpm2cpio.sh when it is required.

The currect rpm2cpio.sh has other calls to gunzip (present in HOSTOOLS),
xzcat (missing), unlzma (missing) and unzstd (present in HOSTTOOLS since
bff58d337890e804d33d7decbaa46065a4d3bba4)

Adding the missing ones will not add any new host dependency as xz-utils
is already listed as a requirement.

(From OE-Core rev: fd376a11ed8d1b79633c2572ec0b4341d3ca2f1c)

Signed-off-by: Alberto Planas <aplanas@suse.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-30 08:43:03 +01:00
Richard Purdie
65318019cd recipes/classes/scripts: Drop SRCPV usage in OE-Core
Now that SRCPV isn't needed we can simplify things in a few places...

(From OE-Core rev: 843f82a246a535c353e08072f252d1dc78217872)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-24 16:50:24 +01:00
Richard Purdie
62afa02d01 base/package: Move source revision information from PV to PKGV
Source control information being present in PV used to be a hard requirement
for bitbake to operate correctly. Now that hashes are a required part of task
stamps, this requirement no longer exists.

This means we can defer the hash pieces to PKGV and simplify PV.

Use new bitbake fetcher API to inject the source revisions directly into the hash
allowing removal of some horrible code from base.bbclass and avoiding any hardcoding
about how SRCREV may or may not be used.

Use that API to object the string to append to PKGV and append that directly.

The user visible effect of this change is that PV will no longer have revision
information in it and this will now be appended to PV through PKGV when the
packages are written. Since PV is used in STAMP and WORKDIR, users will see
small directory naming and stamp naming changes.

This will mean that sstate reuse through hash equivalence where the source
revision changes but the output does not will become possible as the sstate
naming will become less specific and no longer contain the revision.

The SRCPV variable will no longer be needed in PV and is effectively now just
a null operation. Usage can be removed over time.

(From OE-Core rev: a8e7b0f932b9ea69b3a218fca18041676c65aba0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-24 16:50:24 +01:00
Richard Purdie
d7ce7d6799 bitbake.conf: Drop PE and PR from WORKDIR and STAMP
Once, we relied upon stamps changing to rebuild. PE and PR are packaging
variables and are reflected in the taskhashes when/where they're used so
they do not need to be in STAMP.

Similarly, once, multiple versions were something which was useful in
WORKDIR but this is really just noise causing long pathnames now.

Drop PR and PE from these variables to clean up the paths a bit.

This may break some tool assumptions about paths but those are probably
things we need to fix.

(From OE-Core rev: cc83e45484656a6b577ff84817131735023daad4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-11 13:22:01 +01:00
Andrej Valek
be9883a92b cve-check: add option to add additional patched CVEs
- Replace CVE_CHECK_IGNORE with CVE_STATUS to be more flexible.
The CVE_STATUS should contain an information about status wich
is decoded in 3 items:
- generic status: "Ignored", "Patched" or "Unpatched"
- more detailed status enum
- description: free text describing reason for status

Examples of usage:
CVE_STATUS[CVE-1234-0001] = "not-applicable-platform: Issue only applies on Windows"
CVE_STATUS[CVE-1234-0002] = "fixed-version: Fixed externally"

CVE_CHECK_STATUSMAP[not-applicable-platform] = "Ignored"
CVE_CHECK_STATUSMAP[fixed-version] = "Patched"

(From OE-Core rev: 34f682a24b7075b12ec308154b937ad118d69fe5)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-19 23:25:01 +01:00
Piotr Łobacz
0c1de5c5c5 bitbake.conf: Add acl distro native features support
Include support for ACLs for native builds by default.

(From OE-Core rev: eeb3f8e893e351520f3b8e642027e0dd6ca7c08b)

Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-19 18:00:32 +01:00
Richard Purdie
42921e63a4 bitbake.conf: Add layer-<layername> override support
Add a new layer specific override based upon the FILE_LAYERNAME support now present
in bitbake. In particular this allows layer specific QA warnings and errors to
be made more easily.

(From OE-Core rev: 144db9241b141c3380a2b292414d04bfc39a2e20)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-20 23:24:26 +01:00
Alberto Planas
e964202dfc bitbake.conf: add unzstd in HOSTTOOLS
rpm2cpio.sh can make calls to unzstd to uncompress the RPM payload that
conform the cpio file.

zstd is already part of HOSTTOOLS, as a link to the system installed
zstd.

This patch add unzstd in HOSTOOLS list as a non-optional binary, so is
available to rpm2cpio.sh when it is required.

(From OE-Core rev: bff58d337890e804d33d7decbaa46065a4d3bba4)

Signed-off-by: Alberto Planas <aplanas@suse.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-19 13:18:56 +01:00
Denys Dmytriyenko
7c67fe1b4d bitbake.conf: Add SRCPV to BB_HASH_CODEPARSER_VALS
Also add SRCPV to the list of BB_HASH_CODEPARSER_VALS for code parser
cache handling. Otherwise an empty SRC_URI in the list triggers this
exception:

bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception
 FetchError: Fetcher failure: SRCREV was used yet no valid SCM was found in SRC_URI
The variable dependency chain for the failure is: SRCPV -> UBOOT_LOCALVERSION -> do_compile

(From OE-Core rev: d17f9da69f430337ee1ef9c09b731c27393eba83)

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-06-01 08:05:11 +01:00
Khem Raj
ac176badb2 bitbake.conf: Add -fcanon-prefix-map to DEBUG_PREFIX_MAP
This should help canonicalize the relative paths and symlinks
during cross compile, -fcanon-prefix-map is newly added in gcc-13+ [1]

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108464#c8
(From OE-Core rev: ba778e43576aaab212751ccc13270fd4c504ba1f)

(From OE-Core rev: abe97fa74b10c2c71d79bc3573d4edb509b111f5)

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>
2023-05-26 07:54:17 +01:00
Richard Purdie
2b02561776 bitbake.conf: Empty SRC_URI for code parser cache handling
(From OE-Core rev: 93a09a05d6dde3542587735df0aa2371e79a3bb7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-25 12:36:00 +01:00
Lorenzo Arena
c0e4aa38b2 conf: add nice level to the hash config ignred variables
This is needed as each user could be setting different nice levels
while building, however this should not make the shared cache unusable.

(From OE-Core rev: 42784f9360345da1c01d988070253e7ffd5ac4ac)

Signed-off-by: Lorenzo Arena <arena.lor@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-05-22 10:53:49 +01:00
Alexander Kanavin
04514378e0 bitbake.conf: set minimum required target kernel to 5.15
In particular this enables a number of useful features in glibc
(which utilize newer kernel APIs), such as actually using 64 bit
time_t versions of kernel syscalls:

https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/kernel-features.h;h=07b440f4eea364b05fa49bf71ceebf78f80efe13;hb=HEAD#l164

In general, OLDEST_KERNEL setting is used in these two places:

- kernel.bbclass compares it with the target kernel version being built.
If a vendor BSP still offers an older kernel, OLDEST_KERNEL should be set to match.

- glibc recipe passes it as a parameter to the build so that additional features
and optimized paths that kernels older than OLDEST_KERNEL are enabled.

Note that there is a related setting, SDK_OLDEST_KERNEL, which remains as
it was (at 3.2.0) to ensure maximum compatibility with kernels on SDK host
machines; that setting is used to build nativesdk-glibc and verify the kernel
version when the SDK is being installed.

Build host kernel versions are not checked directly; compatible distros
are listed instead.

(From OE-Core rev: feb8e3fb71131a414a2a9271832b4e16860301ea)

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>
2023-05-05 11:07:26 +01:00
Trevor Woerner
d5d40479d7 VOLATILE_TMP_DIR: add
Provide a mechanism to allow users to choose whether the /tmp directory
is on persistent storage (non-volatile) or a RAM-based tmpfs (volatile).
The default is volatile.

Works for both sysvinit-based and systemd-based systems.

(From OE-Core rev: 8b76c0637eaeaf5bd5e696680cd74b7a642f4157)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-28 07:53:54 +00:00
Pavel Zhukov
daddc695fc bitbake.conf: Add mercurial to HOSTTOOLS_NONFATAL
(From OE-Core rev: 8cf72a195961081d83ec049021c3a9bdf920fa57)

Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-08 10:29:01 +00:00
Richard Purdie
8c5faadf6c bitbake.conf: Inject a dash into PN for BB_HASH_CODEPARSER_VALS
We've had a couple of reports of recipes expecting to be able to call
split("-") on PN. There isn't any real harm in adding a dash to the dummy
PN value to avoid these errors.

(From OE-Core rev: 10e140d98790ce28b440b8e8697a4311658fe4df)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-29 19:24:22 +00:00
Richard Purdie
fb10e3b83b bitbake.conf: Add METADATA_REVISION to BB_HASH_CODEPARSER_VALS
This stops the codeparser cache changing ever time a new commit is
added to the main repository.

(From OE-Core rev: f77b9f983395c648fddc96f0d6c8ebd6d52056d4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 21:06:57 +00:00
Richard Purdie
3be00ad905 bitbake.conf: Add BB_HASH_CODEPARSER_VALS
Add an initial value for the new bitbake BB_HASH_CODEPARSER_VALS support,
which optimises the codeparser cache's size and stops it growing at every
parse.

(From OE-Core rev: 7c15e03dd30abe43d784f41e3c04c96a7bbb0d62)

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>
2023-01-24 22:06:51 +00:00
Richard Purdie
b3573d38ef package: Move emit_pkgdata to packagedata.py
Move one of the PACKAGEFUNCS from the package bbclass to packagedata
library code for parsing efficiency.

(From OE-Core rev: ceba33bf2897f7dd5b1ffe6b742c47bf616243c8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-05 11:52:50 +00:00
Richard Purdie
d7a10cf6f9 bitbake.conf: Add module function vardepsexclude entries
Now that bitbake can look into python module code variable and function
dependencies, there are a few extra basic variables we need to exclude.
This is done per function since it keeps the main exclusion list cleaner
and is also slightly faster.

(From OE-Core rev: 870c324d47f1d920fcb736e09fc6e857f24945c7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-17 08:52:28 +00:00
Michael Opdenacker
f2c0153603 bitbake.conf: remove SERIAL_CONSOLE variable
This variable has been deprecated since version 2.6
Use SERIAL_CONSOLES instead.

(From OE-Core rev: 9d053af1fb570b4e3483de4ecd6827e1e0be61b7)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-09 13:18:41 +00:00
Richard Purdie
4543d20213 bitbake.conf: Simplify CACHE setting
A long time ago the bitbake cache didn't use hashes in it's filename and
hence values such as MACHINE were needed in the path to the cache file
so that when switching MACHINE, a new cache wasn't always parsed.

Times have moved on, we have a hash which represents the configuration
and the caches are reused if there is an existing hash that matches.

This means the values added to CACHE are obsolete and not needed,
we can drop them.

(From OE-Core rev: 550ed0a4ce8839946781f18fdce18452de34ddaf)

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-11-29 10:29:58 +00:00
Richard Purdie
5a2b075fa9 bitbake.conf: Drop export of SOURCE_DATE_EPOCH_FALLBACK
Whilst SDE definitely needs to be exported, the fallback does not as
it is only used in our python code via the datastore.

It was introduced as an export in 9a1dde74e794362399193dc3f81c9685a83d0776
but even then it doesn't look like it needed to be, likely just a copy and
paste mistake.

Drop the export.

(From OE-Core rev: 74fb6539dd06acb0dd6a9af4809152975e8473e6)

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-11-07 14:32:42 +00:00
Khem Raj
ab920a779e bitbake.conf: Define TC_CXX_RUNTIME
This variable is used to denote the C/C++ compiler runtime to use.
Right now there are few alternatives out of the core which could
use this variable to define this property, the values it can take
are 'gnu' for gcc runtime. 'llvm' for using compiler-rt+libc++ and
'android' to use android runtime. Default settings is to use gnu
which is current silent default also.

(From OE-Core rev: a32f4309aec277cac01c1fd8c78e28d0fd63b064)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-12 08:33:56 +01:00
Rasmus Villemoes
52ef5711dc 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.

(From OE-Core rev: e3dbded499f0bd1e71abb0650ae98fd9ade94250)

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-30 10:33:35 +01:00
Richard Purdie
12bdb5df1e bitbake.conf: Handle S and B separately for debug mapping
We don't really need to keep S and B separate for debug source purposes
and there shouldn't be source references in WORKDIR that isn't S and B
either.

Separating these out simplifies the shared-work directory handling for
gcc and should also help fix external source usage. Therefore handle
S and B in DEBUG_PREFIX_MAP separately and clean up other code.

Indentation is reduced here as it is introduced on every compiler
commandline so minimising it is helpful.

(From OE-Core rev: c39b5020b8705d17e3745c41e38d0f99a1ac94cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-17 19:57:32 +01:00
Richard Purdie
5c45b73c8f rust: Switch to use RUST_XXX_SYS consistently
The code was using a mixture of XXX_SYS and RUST_XXX_SYS. Use
RUST_XXX_SYS consistently and add the variables to the global exclsion
on signatures as they're reflected in the directory triplets and trying
to filter them out the hashes separately is too painful.

(From OE-Core rev: ee0c0fdf9c1eba9eece6ed1293fda25bf18964b3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-08 15:44:20 +01:00
Richard Purdie
ddbd90a37c bitbake.conf: Change -dev RDEPENDS to RRECOMMENDS
Switch the default DEPENDS for ${PN}-dev to be a RRECOMMENDS instead. This
takes advantage of a change to complmentary package globbing to not follow
RRECOMMENDS and means and SDK for an image with both openssh and dropbear
compoments will now build successfully.

(From OE-Core rev: 6f28420ab0e8f2ab5eb06326024777a40aded0a6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-28 23:49:38 +01:00
Richard Purdie
73cf55cdde bitbake.conf/recipes: Introduce add DEV_PKG_DEPENDENCY to change RDEPENDS:${PN}-dev
There is a pattern that several recipes need to break the dependency of ${PN}-dev
on ${PN}, most often as ${PN} may be be empty. Add a new variable to parameterise
this and allow it to be changed more easily.

(From OE-Core rev: a5b381c0f45c590a762647a9956a8f41e2e2315e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-28 23:49:37 +01:00
Pavel Zhukov
bd5abcc908 bitbake.conf: Make TCLIBC and TCMODE lazy assigned
This allows two level of overriding (distro level and local.conf/shell
variable). Previous settings blocked shell variables overring
if it was overriden on distro level.

(From OE-Core rev: de6c3f9cb2c589aecbf8d9d25fa83cd18bf80891)

Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-07 11:56:13 +01:00
Ross Burton
c0adcdafa4 Revert "bitbake.conf: mark all directories as safe for git to read"
Turns out this doesn't actually work, as git doesn't respect the environment
when reading the safe.directory configuration variable.

This reverts commit d4a5862ce8.

(From OE-Core rev: e28dd48ffb84c8bb4356d889b70a4b876c8bbaf3)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-07 22:31:21 +01:00
Ross Burton
5bca57859b bitbake.conf: mark all directories as safe for git to read
Recent git releases containing [1] have an ownership check when opening
repositories, and refuse to open a repository if it is owned by a
different user.

This breaks any use of git in do_install, as that is executed by the
(fake) root user. Whilst not common, this does happen.

Setting the git configuration safe.directories=* disables this check, so
that git is usable in fakeroot tasks.  This can be set globally via the
internal environment variable GIT_CONFIG_PARAMETERS, we can't use
GIT_CONFIG_*_KEY/VALUE as that isn't present in all the releases which
have the ownership check.

We already set GIT_CEILING_DIRECTORIES to ensure that git doesn't
recurse up out of the work directory, so this isn't a security issue.

[1] 8959555cee

(From OE-Core rev: 8bed8e6993e7297bdcd68940aa0d47ef47120117)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-27 11:21:04 +01:00
Richard Purdie
f3424b58e9 bitbake.conf: Correct BB_SIGNATURE_EXCLUDE_FLAGS
Some of the flags listed here do change the output and hence do need to
be included in task checksums.

This means we start including the following flags in function/task/variable
checksums:

type, func, export, unexport, noexec, dirs, cleandirs

(From OE-Core rev: 54e8b744bb7e7aa03277a42b0c5cf707440f8b8a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-15 17:30:34 +01:00
Richard Purdie
4b15ff6efb bitbake.conf: Drop unexports from a different era
A long time ago, we used to pass our parent execution environment into our task
environments during build. We stopped doing that for reproducibility and consistency
of builds. The variables TARGET_ARCH, DISTRO and MACHINE are not exported into
tasks and hence we don't need to unexport them. The resasons these exist is
therefore no longer relavent and they can be removed. This happens to improve
bitbake -e output from a user commandline perspective.

(From OE-Core rev: 8e97ff1560bd563251405cd92b6ccf5c9fcecf4b)

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-04-05 10:49:36 +01:00
Peter Kjellerstedt
67cbfc8494 bitbake.conf: Remove ERROR_QA from BB_HASHEXCLUDE_COMMON
If a QA test is added to ERROR_QA, all package_qa tasks should rerun
to make sure any already existing errors are caught.

(From OE-Core rev: de7b559e4f5845e2b06d20836223f7d237322236)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-03 17:52:24 +01:00
Saul Wold
d6449581c9 base/license: Rework INCOMPATIBLE_LICENSE variable handling
This re-writes the INCOMPATIBLE_LICENSE checking code to replace
the WHITELIST_<lic> with
INCOMPATIBLE_LICENSE_EXCEPTIONS = '<pkg>:<lic> <pkg>:<lic> ...'

This initial change leaves most of the code structure in place,
but the code in base.bbclass needs to be re-written to make
the check more consistent around packages (PKGS) and not recipe
names (PN). This also is taking into account the changes for SPDX
licenses.

The aim is to provide a mode consistent variable where the variable
name is known and can easily be queried.

(From OE-Core rev: 0d19c45ba6cf43518f380ca5afe9753a2eda0691)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-02 18:43:25 +00:00
Saul Wold
0b46552625 meta: Rename LICENSE_FLAGS variable
(From OE-Core rev: 5c5b3bc563059ba728dc9724656cc69669f8e25f)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21 23:37:27 +00:00
Richard Purdie
2b22c16376 bitbake.conf: Add entries to warn on usage of removed variables
Add entries for the removed variables TUNEABI_WHITELIST and INHERIT_BLACKLIST.

(From OE-Core rev: b3bf2862e221af157f545a216b56b9b393dcc66d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21 23:37:27 +00:00
Richard Purdie
3be8a7a6b1 icecc: Improve variables/terminology
The SYSTEM and USER seperation between variables seems odd and not necessary,
drop it. Avoid the use of whitelist/blacklist and also change "packages" to
"recipes" since that misuse causes confusion.

(From OE-Core rev: 0df0eb6401a02139b9110bc95e21d97a67125ec5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21 23:37:27 +00:00
Richard Purdie
1d7e1e4f63 bitbake.conf: Add entries for renamed variables
(From OE-Core rev: ca3da0985476819a8e8e720f384f5b8219e5fa54)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21 23:37:27 +00:00
Saul Wold
297def3be5 blacklist: Replace class with SKIP_RECIPE variable
Remove the old class and rename VarFlag to SKIP_RECIPE, handling this
in base.bbclass for efficiency. This means a separate inherit is no longer
needed.

This change better describes what the VarFlag is doing since it
is implemeted with the SkipRecipe() function.

By moving this into base.bbclass we simplify the distro inherit.

(From OE-Core rev: a5f735746cba6af41a25aa2aa121453a8bc363b4)

Signed-off-by: Saul Wold <saul.wold@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21 23:37:27 +00:00
Richard Purdie
98b3ed1b2e meta/scripts: Handle bitbake variable renaming
After other variables were renamed in bitbake, update OE-Core to match.

(From OE-Core rev: 91812ba5a34598e03ad860745707c7cba1ae5d91)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21 23:37:27 +00:00
Richard Purdie
492214104a meta/scripts: Change BB_ENV_EXTRA_WHITE -> BB_ENV_PASSTHROUGH_ADDITIONS
After the change to bitbake, update the references in OE-Core to match the updates.

(From OE-Core rev: 193affb9f28b0116c3fd619834f145326fee08c5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-21 23:37:26 +00:00
Richard Purdie
64444fae57 bitbake.conf: Pass -D option to ranlib for determisim
Add the -D option to BUILD_RANLIB so that deterministic archives
are built for native/cross output. This improves the changes of hash
equivalence matches and hence build artefact reuse.

We don't need this in the target case since we compile binutils-cross
with an option making this the default.

(From OE-Core rev: f5d136f5a9c14e6629a47bf3e796f1d951ed998b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-24 09:55:54 +00:00