Commit Graph

7439 Commits

Author SHA1 Message Date
Ross Burton
da6930c6f4 testimage: inline updateTestData()
updateTestData() is just a simple loop that is only used here, so just
inline it.

(From OE-Core rev: 2dfe2f68307a441fff2f5018408558bca63f7d03)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-01 23:11:37 +01:00
Ross Burton
c580bc6008 image_types: hddimg and iso only work on x86
These image types use syslinux which is only available on x86, so only
add them to IMAGE_TYPES on x86.

(From OE-Core rev: 2ea047a026dd61a8e0a24c6bbe278849485a2c27)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-01 23:11:37 +01:00
Richard Purdie
e00f9ea165 base: Clean up module import compatibility code
This code was for old versions of bitbake which we're now long past. Drop it
and simplify the code.

(From OE-Core rev: d5301d008a5cc02a08d660691fce2c18ed8028d7)

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-01 23:11:37 +01:00
Richard Purdie
61c7c8f175 base: Don't add duplicates to sys.path
We can re-trigger this code and there is little point in stacking a ton of duplicate
paths which just waste time during searches for modules. This could in theory alter
layer module search order but that seems unlikely in common use.

(From OE-Core rev: dadce8468db1c0fd0e04801cdc6cf287c2808477)

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-01 23:11:37 +01:00
Jagadeesh Krishnanjanappa
ee5f9d9fdd cmake: support to create per-toolchain cmake file in SDK
The patch creates ${MULTIMACH_TARGET_SYS}-toolchain.cmake file
at ${SDK_INSTALL_DIR}/sysroots/${SDK_SYS}/usr/share/cmake/, which is
per-toolchain CMake toolchain file containing arch-specific values
and independent of OE environment variables.
The file gets created after installing SDK toolchain installer
ined by running "bitbake -c populate_sdk <image>".

The changes are similar to meson-setup.py which is used to
create arch-specific
${SDK_INSTALL_DIR}/sysroots/${SDK_SYS}/usr/share/meson/*-meson.cross

[YOCTO #14644]

Tested-by: Jan Dorniak <jaskij@gmail.com>
(From OE-Core rev: 42e68397ec74b3cd8ae5df45355c8f6254b48cd8)

Signed-off-by: Jagadeesh Krishnanjanappa <workjagadeesh@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-31 17:52:59 +01:00
Richard Purdie
65c43b6894 mirrors: Add missing gitsm entries for yocto/oe mirrors
The missing gitsm:// mappings looks like an oversight, add them.

(From OE-Core rev: 6600b9fca7888fb41647cd000b9efb7f0762dfde)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-31 17:52:58 +01:00
Marta Rybczynska
b3f96e6fea cve-check: add coverage statistics on recipes with/without CVEs
Until now the CVE checker was giving information about CVEs found for
a product (or more products) contained in a recipe. However, there was
no easy way to find out which products or recipes have no CVEs. Having
no reported CVEs might mean there are simply none, but can also mean
a product name (CPE) mismatch.

This patch adds CVE_CHECK_COVERAGE option enabling a new type of
statistics. Then we use the new JSON format to report the information.
The legacy text mode report does not contain it.

This option is expected to help with an identification of recipes with
mismatched CPEs, issues in the database and more.

This work is based on [1], but adding the JSON format makes it easier
to implement, without additional result files.

[1] https://lists.openembedded.org/g/openembedded-core/message/159873

(From OE-Core rev: d1849a1facd64fa0bcf8336a0ed5fbf71b2e3cb5)

Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-30 13:07:41 +01:00
Marta Rybczynska
777f1d42b6 cve-check: add json format
Add an option to output the CVE check in a JSON-based format.
This format is easier to parse in software than the original
text-based one and allows post-processing by other tools.

Output formats are now handed by CVE_CHECK_FORMAT_TEXT and
CVE_CHECK_FORMAT_JSON. Both of them are enabled by default.

The JSON output format gets generated in a similar way to the
text format with the exception of the manifest: appending to
JSON arrays requires parsing the file. Because of that we
first write JSON fragments and then assemble them in one pass
at the end.

(From OE-Core rev: df567de36ae5964bee433ebb97e8bf702034994a)

Signed-off-by: Marta Rybczynska <marta.rybczynska@huawei.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-30 13:07:41 +01:00
Ming Liu
240e5ab3c4 kernel-fitimage.bbclass: introduce FIT_SUPPORTED_INITRAMFS_FSTYPES
It was found when a end user wants to build a squashfs type initramfs
into fitimage, it just fails without printing out any error or warning
messages, which is not right.

Introduce a FIT_SUPPORTED_INITRAMFS_FSTYPES variable to avoid
hard-coding the supported initramfs types, and it could be overridden
in config files. Also break the build when none of a supported
initramfs type is found.

(From OE-Core rev: b0f8d8a4c063936b50d3ec7c066b29157b3c3544)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-29 15:59:29 +01:00
Ming Liu
dbedfdeed2 kernel-fitimage.bbclass: change 'echo' to 'bbnote'
Change 'echo' usages to 'bbnote' for better logging.

(From OE-Core rev: 3d05ba04824c7f08e42b1972bc0de538164b61ea)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-29 15:59:29 +01:00
Richard Purdie
c80a6a6e66 create-spdx: Avoid regex warning by quoting correctly
create-spdx.bbclass:43: DeprecationWarning: invalid escape sequence \W
  lic_regex = re.compile(b'^\W*SPDX-License-Identifier:\s*([ \w\d.()+-]+?)(?:\s+\W*)?$', re.MULTILINE)

(From OE-Core rev: 5dfb26d45f69c4d5dc4b6fcef084b830ef9dbf4c)

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-03-29 15:59:29 +01:00
Christian Eggers
ccef909c56 rust-common: override RUST_LIBC for crosssdk
For nativesdk/crosssdk, always glibc is used. Fixes build of
rust-crosssdk if TCLIBC is set to musl.

(From OE-Core rev: 67b4e0fdb13c81ab7e79109b6366fd7705b253ba)

Signed-off-by: Christian Eggers <ceggers@arri.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-26 09:33:32 +00:00
Michael Olbrich
aceec5ee12 kernel.bbclass: avoid config changes based on the availability of pahole
CONFIG_PAHOLE_HAS_SPLIT_BTF shows up in the config only when pahole is
installed on the host system. As a result, the config changes depending on
whether pahole is installed or not.

Set PAHOLE=false to ensure that it is never found.

If this is actually needed in the future, then we can add an option for
it and create a host package for pahole.

(From OE-Core rev: 43b0eca2f3fc41a0d2ba7c7679687a3e0eb54b45)

Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
[afa: ported from PTXdist 0c0cec2288 to OE-core]
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-26 09:33:32 +00:00
Peter Kjellerstedt
cd369a732e license.bbclass: Remove the available_licenses() function
It is no longer used in OE-Core.

(From OE-Core rev: aa662aae352c65cb5d13172bf98ed4ae3cb46c26)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-24 17:45:29 +00:00
Peter Kjellerstedt
fb0a43cd2f create-spdx.bbclass: Simplify extraction of license text
There is no reason to first search for all available licenses using
avail_licenses() and then search through the same paths looking for
the actual license texts. Just look for the license texts directly
instead.

(From OE-Core rev: 59eb405a80f0a0acf9b754b2b78399bacb0094ae)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-24 17:45:29 +00:00
Richard Purdie
7bea963eed sanity: Add warning for local hasheqiv server with remote sstate mirrors
We're seeing a lot of users configuring an sstate mirror but not realising that
the default hash equivalenve setting will make this ineffective. Add a warning
to highlight this to the user for the common case.

(From OE-Core rev: ae4eb33b5a6a037348e8f66e3d4f19b58dba8fa2)

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-03-24 17:45:29 +00:00
Ming Liu
16d7103df1 kernel-fitimage.bbclass: introduce get_fit_replacement_type function
Avoid to set KERNEL_IMAGETYPE_REPLACEMENT in anonymous python function,
otherwise it chould not be overridden in config files, for instance,
it's being set now in meta/lib/oeqa/selftest/cases/fitimage.py.

Introduce a get_fit_replacement_type function to get the default value
of KERNEL_IMAGETYPE_REPLACEMENT, and it could be overridden in config
files.

(From OE-Core rev: 5238facb2f067b65959ac51695d100c0e849d3ee)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-23 12:13:50 +00:00
Richard Purdie
154e69f118 toaster: Fix broken overrides usage
This fixes data corruption issues with toaster where image data wasn't
being processed correct.

(From OE-Core rev: 95cc2d041ad651cfb81b2e55251acf1b86f9ddfc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-21 10:07:40 +00:00
Ross Burton
e5ab3817aa classes/setuptools_build_meta: rename to python_setuptools_build_meta
Rename this class to be python-prefixed to match the other new Python
build system classes.

(From OE-Core rev: 25d6bf8079797906bde7c0cf63a0466c981ba5bb)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-20 00:02:22 +00:00
Richard Purdie
b688d68c6e cargo: Add missing nativesdk support
Copy the target definition for nativesdk to allow nativesdk builds
to work.

(From OE-Core rev: 40b02f496d6bb9162f9fa36335b047c06937f2f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00
Ross Burton
7fee41dcef classes/python_pep517: consolidate stub do_configure
As PEP517 doesn't have an explicit configure step, we can stub out the
do_configure task once instead of the calling classes doing it.

(From OE-Core rev: fd17edbd00f1583eb9e1912ab269dd4dc2631a6f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00
Ross Burton
6f5ee7fffb classes/flit_core: rename to python_flit_core
To be more uniform with the other new Python classes, rename this to
python_flit_core and update the recipes that use it.

(From OE-Core rev: c0e4ca3c7841028a658f21c11619228022d425b4)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00
Ross Burton
fc364f1c55 classes/setuptools_build_meta: use python_pep517_do_compile
Instead of implementing our own do_compile, set PEP517_BUILD_API and
use the generic do_compile.

(From OE-Core rev: 39a05e44f232775560ad79e49ffe4fb17ed6533c)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00
Ross Burton
0f31b46827 classes/python_pep517: add more comments
Remove mention of prebuilt wheels, this is for the full PEP517 build
process and recipes that want to install prebuilt wheels can use
pypa/installer directly.

(From OE-Core rev: d42664a5b5fb460185be996428dbaba6bb81ec3f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00
Ross Burton
49fe9edcde classes/python_poetry_core: use python_pep517_do_compile
Instead of implementing our own do_compile, set PEP517_BUILD_API and
use the generic do_compile.

(From OE-Core rev: e38afe528f25038f5adb7a7a94a1e007011696ee)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00
Ross Burton
4f22a746d8 classes/python_pep517: implement a standard do_compile
As all PEP517-compliant build systems have a universal API, we can ask
that users of this class set PEP517_BUILD_API to the class that implements
this API and call it ourselves, instead of users needing to implement
near-identical do_compile tasks themselves.

(From OE-Core rev: 862f68f3a05ce48834f4903d9f9a213684061779)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00
Ross Burton
11c36d4f1a classes/flit_core: use python_pep517_do_compile
Instead of implementing our own do_compile, set PEP517_BUILD_API and
use the generic do_compile.

(From OE-Core rev: 0d3e07177e99d925f2807b85d16596455944d0a5)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-17 16:44:33 +00:00
Richard Purdie
10c24d7b66 license: Drop AVAILABLE_LICENSES
This variable is a performance liability and is highly dependent on which
layers are added to the configuration which can cause signature issues
for users. We have no users left in OE-Coreso remove it.

(From OE-Core rev: bf08d9ccb9cbc749a571af3d33140bcae0e252a6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 10:31:41 +00:00
Richard Purdie
e03460b0bc sstate: Allow optimisation of do_create_spdx task dependencies
do_create_spdx tasks don't need their dependencies so we can optimistion
this as we do for some other tasks.

(From OE-Core rev: 6723a045c3a46537bb76111f8306b5960e532522)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 10:31:41 +00:00
Richard Purdie
0ca67e4d97 create-spdx: Use function rather than AVAILABLE_LICENSES
We can directly call the function rather than using the variable indirection.
As this is the last user of the variable, it then allows removal of it in a
followup patch.

(From OE-Core rev: 3ed84651b2f4eff9409bfecba2a080e244124880)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 10:31:41 +00:00
Ahmad Fatoum
1716625123 kernel-fitimage: allow overriding FIT configuration prefix
The prefix was recently changed to play ball with the CVE-2021-27138
workaround in U-Boot. Already deployed bootloaders though may still
expect a configuration name containing @ or they may not be affected
by this issue.

Also, uses may want to customize it beyond the [@-] issue: When
device trees are built from a recipe using kernel-devicetree.bbclass
the configuration nodes will contain the parent directories, e.g.

KERNEL_DEVICETREE = "freescale/imx8mm-myboard.dtb"

will become "conf-freescale_imx8mm-myboard.dtb". When moving to
devicetree.bbclass, this prefix go away. With this change here,
users can restore it easily by setting FIT_CONF_PREFIX =
"conf-freescale_", ensuring backwards compatibility.

(From OE-Core rev: 7892ee3dc37d302c8eb9c13cd8bb4b7b6e103949)

Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 10:31:41 +00:00
Ross Burton
f24d765a8c devupstream: fix handling of SRC_URI
As the class handler runs before overrides are actually applied we need
to check both SRC_URI:class-devupstream and SRC_URI, otherwise the
automatic assignment of S="${WORKDIR}/git" for git repositories does
not work if the base recipe uses http: but :class-devupstream has a git://
entry instead.

Also, there's no need to set S:class-devupstream, we can just assign to
S here.

(From OE-Core rev: d0edb03088d0d1c20c899daed1bb3a7110b19670)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 10:31:41 +00:00
Ross Burton
00bc2e68f9 python_pep517: use installer instead of pip
Instead of battling pip to install a wheel, use installer. Installer
does one thing, so it's faster and easier to work with.

This means setuptools, pip, and wheel are no longer part of the
bootstrap phase, so they can be built normally.  To avoid sysroot file
conflicts these three recipes can't install .pyc files to the native
sysroot.

We currently patch pypa/installer to allow us to override the interpreter
used, which means we can drop the interpreter seding.

We don't need to recompile any Python which is found in $bindir as
Python doesn't actually load those files.

Across a build of oe-core, the only differences between using pip and
installer are:

- the .dist-info/RECORD files are ordered differently
- the .dist-info/REQUESTED and INSTALLER files are not created
- the hashbang in native scripts is "/usr/bin/env nativepython" instead
  of pointing directly at the native sysroot python3.

(From OE-Core rev: f780f6d920d8bbfb674d6066a8b899417decf8d2)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 08:48:09 +00:00
Ross Burton
be592ff81c poetry_core: update for renamed class pip_install_wheel to python_pep517
(From OE-Core rev: 69014d91fd6a3fba2b68703f587a4fc5aa1d8bcc)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 08:48:08 +00:00
Richard Purdie
267e5f4cc2 poetry_core: Rename to python_poetry_core
(From OE-Core rev: 241ebe35afb0ae9cd2713ef19a78746f0ab5ca5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 08:48:08 +00:00
Richard Purdie
89f9740f98 setuptools3_rust: Rename to python_setuptools3_rust
(From OE-Core rev: 57bef31cdcafeef2d1ca5ff3aee7b2e2181a0514)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 08:48:08 +00:00
Richard Purdie
f920fa55e5 py3o: Rename to python_py3o
(From OE-Core rev: e9b030eab6d4c18482aaa7f0166686e16ba8e779)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 08:48:08 +00:00
Tim Orling
56a7caff92 poetry_core.bbclass: move from meta-python
poetry.core.masonry.api is one of the common PEP-517 build backends.

(From OE-Core rev: b1d2626a501f33c289ecfc557b998982665f84ae)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 08:48:08 +00:00
Tim Orling
8af946e718 setuptools3_rust.bbclass: move from meta-python
setuptools-rust is a plugin for setuptools to build Rust Python extensions
implemented with PyO3 or rust-cpython.

Compile and distribute Python extensions written in Rust as easily as if
they were written in C.

This class inherits pyo3.bbclass (and therefore cargo.bbclass) and
setuptools3.bbclass to make it easier to build Python modules with Rust
extensions.

Need to call pyo3_do_configure to properly setup the PyO3 environment
for cross-compiling.

Need to call cargo_common_do_configure to setup cargo_home/config so
that the linker properly finds e.g. crti.o and crtbeginS.o

It is strongly recommended to provide crates needed for your recipe
using the crate:// fetcher. This can be helped with the cargo-bitbake
command [1].

If you choose not to use the crate fetcher, bitbake vendoring will not
work with setuptools-rust, as it errors out immediately because it cannot
find pyo3 or some other crate. The (strongly discouraged) workaround for
this is to set:

CARGO_DISABLE_BITBAKE_VENDORING = "1"

[1] https://crates.io/crates/cargo-bitbake

(From OE-Core rev: de3e166cf6f0de4fe0681ddb4b209fb9b8b06811)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 08:48:08 +00:00
Tim Orling
09ba720ec9 pyo3.bbclass: move from meta-python
PyO3 provides Rust bindings for Python, including tools for creating native
Python extension modules. Running and interacting with Python code from a
Rust binary is also supported.

This class sets up the cross-compilation environment.

Export PYO3_CROSS, PYO3_CROSS_LIB_DIR, PYO3_CROSS_INCLUDE_DIR and CARGO_BUILD_TARGET
to inform tools like setuptools-rust we are cross-compiling.

Export RUSTFLAGS so cargo can find 'std' and 'core' for target

Dynamically generate PyO3 config file and export PYO3_CONFIG_FILE
absolute path. This is the trick that finally made pyo3 work.

(From OE-Core rev: f3130197ed93fd60b4cad326940b02a5554ed089)

Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-16 08:48:08 +00:00
Peter Kjellerstedt
d081a76063 image.bbclass: Remove two unnecessary paths from do_rootfs[dirs]
There is no reason to include a path in foo[dirs] if it is also in
foo[cleandirs] (except if it is the last path in foo[dirs]).

(From OE-Core rev: d76a31a37c3b2253a6a8fdffd8581fc88987857d)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 08:40:09 +00:00
Peter Kjellerstedt
4cced6ceb0 package.bbclass: Remove an unnecessary path from do_package[dirs]
There is no reason to include a path in foo[dirs] if it is also in
foo[cleandirs] (except if it is the last path in foo[dirs]).

(From OE-Core rev: 9d2dac56deda5afa4d77c5ddd7e1e8003f6d4725)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 08:40:09 +00:00
Peter Kjellerstedt
a0f76ba08e deploy.bbclass: Remove an unnecessary path from do_deploy[dirs]
There is no reason to include a path in foo[dirs] if it is also in
foo[cleandirs] (except if it is the last path in foo[dirs]).

(From OE-Core rev: a0566610034ca8abdb71eee999460eb90f805f9f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 08:40:09 +00:00
Peter Kjellerstedt
688599a039 create-spdx.bbclass: Remove an unnecessary path from do_create_spdx[dirs]
There is no reason to include a path in foo[dirs] if it is also in
foo[cleandirs] (except if it is the last path in foo[dirs]).

(From OE-Core rev: cb30a6cfa58072bbf5f5def36103fbcac920e168)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 08:40:09 +00:00
Khem Raj
55e7265f47 ppc/siteinfo: Fix differences between musl and glibc
There is a key difference between glibc and musl when it comes to
ppc/ppc64 and that is that musl does not support 128-bit long IBM doubles format
it only supports 128-bit long double IEEE format on ppc64 alone.
this change ensures that we account for this change, so far we have been
doing it a bit wrong for ppc/musl case.

(From OE-Core rev: 28cb148c1375ba242addba80b0f68e06d2a4d874)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 08:40:09 +00:00
Ming Liu
bbc60671ad image.bbclass: make sure do_rootfs run from a clean workspace
Add ${IMAGE_ROOTFS} and ${IMGDEPLOYDIR} to do_rootfs[dirs] and
do_rootfs[cleandirs], this ensures do_rootfs run from a clean
workspace, with this change, we can now remove two bb.utils.mkdirhier
lines from meta/lib/oe/rootfs.py.

(From OE-Core rev: cb8b6f7eee4e059bb311330c57068e11bc477366)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-13 12:23:48 +00:00
Ross Burton
f2a0c52f65 python_pep517: move PEP517_SOURCE_PATH to python_pep517
Now we have the start of a PEP-517 base class, the PEP517_SOURCE_PATH
variable can be defined in there instead of the classes that use it.

(From OE-Core rev: 69944121f49f613568bf0c62ae6b3b47af195dbe)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-13 12:23:48 +00:00
Ross Burton
a50bf48f90 meta: rename pip_install_wheel.bbclass to python_pep517.bbclass
pip_install_wheel shouldn't restricted to just using Pip to install
wheels (the installer module is simplier and likely a better option),
and in the future may be extended to also provide do_compile() using
the build module.

(From OE-Core rev: 3bdf64b97facce9706cc579bdbc9a80e0d48428f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-13 12:23:48 +00:00
Ross Burton
b538705ed5 setuptools3-base: improve RDEPENDS assignment
Use :append instead of += so that recipes can assign to RDEPENDS:${PN}.
This fixes missing RDEPENDS for sixteen recipes in oe-core alone.

Also instead of using obscure inline Python we can just use the
class-target override.

(From OE-Core rev: c4ecd63593df2ffd5c1b7ae1c50652ca57ebe219)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-12 09:20:03 +00:00
Ross Burton
5331d29a89 pip_install_wheel: add a generic do_install for bootstrapping
Several recipes are duplicating the same bootstrap logic for installing
a wheel without using any tools.  Add an implementation to
pip_install_wheel to centralise the code, and remove the duplicated code
from the following recipes:

- python3-flit-core
- python3-pip
- python3-setuptools
- python3-wheel

(From OE-Core rev: d5d702a2cd06f863340f8e4cdce0904c9d86384d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-11 06:56:01 +00:00