summaryrefslogtreecommitdiffstats
path: root/meta/classes
Commit message (Collapse)AuthorAgeFilesLines
* classes/python_pep517: implement a standard do_compileRoss Burton2022-03-171-1/+12
| | | | | | | | | | | | 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>
* classes/flit_core: use python_pep517_do_compileRoss Burton2022-03-171-8/+3
| | | | | | | | | | 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>
* license: Drop AVAILABLE_LICENSESRichard Purdie2022-03-161-4/+0
| | | | | | | | | | 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>
* sstate: Allow optimisation of do_create_spdx task dependenciesRichard Purdie2022-03-161-1/+1
| | | | | | | | | 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>
* create-spdx: Use function rather than AVAILABLE_LICENSESRichard Purdie2022-03-161-4/+4
| | | | | | | | | | 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>
* kernel-fitimage: allow overriding FIT configuration prefixAhmad Fatoum2022-03-161-3/+6
| | | | | | | | | | | | | | | | | | | | | | | 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>
* devupstream: fix handling of SRC_URIRoss Burton2022-03-161-2/+3
| | | | | | | | | | | | | | | | 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>
* python_pep517: use installer instead of pipRoss Burton2022-03-161-23/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* poetry_core: update for renamed class pip_install_wheel to python_pep517Ross Burton2022-03-161-3/+3
| | | | | | | (From OE-Core rev: 69014d91fd6a3fba2b68703f587a4fc5aa1d8bcc) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* poetry_core: Rename to python_poetry_coreRichard Purdie2022-03-161-2/+2
| | | | | | (From OE-Core rev: 241ebe35afb0ae9cd2713ef19a78746f0ab5ca5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* setuptools3_rust: Rename to python_setuptools3_rustRichard Purdie2022-03-161-2/+2
| | | | | | (From OE-Core rev: 57bef31cdcafeef2d1ca5ff3aee7b2e2181a0514) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* py3o: Rename to python_py3oRichard Purdie2022-03-162-2/+2
| | | | | | (From OE-Core rev: e9b030eab6d4c18482aaa7f0166686e16ba8e779) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* poetry_core.bbclass: move from meta-pythonTim Orling2022-03-161-0/+15
| | | | | | | | | 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>
* setuptools3_rust.bbclass: move from meta-pythonTim Orling2022-03-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* pyo3.bbclass: move from meta-pythonTim Orling2022-03-161-0/+30
| | | | | | | | | | | | | | | | | | | | | 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>
* image.bbclass: Remove two unnecessary paths from do_rootfs[dirs]Peter Kjellerstedt2022-03-151-1/+1
| | | | | | | | | | 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>
* package.bbclass: Remove an unnecessary path from do_package[dirs]Peter Kjellerstedt2022-03-151-1/+1
| | | | | | | | | | 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>
* deploy.bbclass: Remove an unnecessary path from do_deploy[dirs]Peter Kjellerstedt2022-03-151-1/+1
| | | | | | | | | | 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>
* create-spdx.bbclass: Remove an unnecessary path from do_create_spdx[dirs]Peter Kjellerstedt2022-03-151-1/+1
| | | | | | | | | | 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>
* ppc/siteinfo: Fix differences between musl and glibcKhem Raj2022-03-151-12/+12
| | | | | | | | | | | | | 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>
* image.bbclass: make sure do_rootfs run from a clean workspaceMing Liu2022-03-131-2/+2
| | | | | | | | | | | | 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>
* python_pep517: move PEP517_SOURCE_PATH to python_pep517Ross Burton2022-03-133-6/+3
| | | | | | | | | | 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>
* meta: rename pip_install_wheel.bbclass to python_pep517.bbclassRoss Burton2022-03-134-22/+25
| | | | | | | | | | | | 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>
* setuptools3-base: improve RDEPENDS assignmentRoss Burton2022-03-121-1/+1
| | | | | | | | | | | | | 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>
* pip_install_wheel: add a generic do_install for bootstrappingRoss Burton2022-03-111-0/+6
| | | | | | | | | | | | | | | | | 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>
* flit_core: remove redundant python3-pip-native DEPENDSRoss Burton2022-03-111-1/+1
| | | | | | | | | | PIP is not needed by this class directly, but is used by pip_install_wheel which already depends on python3-pip-native. (From OE-Core rev: 2f18b35b8da5dad471c325138be52191412e4100) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* overlayfs-etc: add condition to package-management feature conflictClaudius Heine2022-03-101-1/+1
| | | | | | | | | | | The conflict with the `package-managment` only happens if the `overlayfs-etc` class overwrites `/sbin/init`, which is not the case when `OVERLAYFS_ETC_USE_ORIG_INIT_NAME` is set to `0`. (From OE-Core rev: c577382c6d155b3a784d06e4c916783cde7165c8) Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* overlayfs: add systemd unit path prefix to FILES:${PN} arrayClaudius Heine2022-03-101-1/+2
| | | | | | | | | | | | | | The 'FILES:${PN}' array is missing the systemd unit dir prefix causing them to not be packaged and the build fails with the `installed-vs-shipped` error. This adds the `systemd_system_unitdir` variable in front of every unit file added with this class. (From OE-Core rev: d19166cbc567be0803eaf8d0a2a20f44758aae7b) Signed-off-by: Claudius Heine <ch@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* conf/machine: fix QEMU x86 sound optionsMichael Opdenacker2022-03-101-1/+1
| | | | | | | | | | | | | This updates the QEMU sounds options for x86 emulation, when "runqemu" is called with the "audio" argument, to fix the below error: runqemu - ERROR - Failed to run qemu: qemu-system-x86_64: warning: '-soundhw ac97' is deprecated, please use '-device AC97' instead (From OE-Core rev: b802a5dd1a79c7be3bc790223a733ebc9be4f117) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pip_install_wheel: install wheel with a globRoss Burton2022-03-101-12/+8
| | | | | | | | | | | | | | | | | Now that the build systems that use pip_install_wheel are all building their wheel into a directory that we knew was empty before, we can just install *.whl and not need to know the precise names. By design a pyproject.toml will always build a single wheel, so there shouldn't be any way for this to end up installing more than expected. This obsoletes PIP_INSTALL_PACKAGE and PYPA_WHEEL, neither of which are needed anymore. (From OE-Core rev: e6e4c63bbdd09d91428e55cb5a852170511f05cc) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pip_install_wheel: generate the wheels in directory we control outside of SRoss Burton2022-03-101-1/+6
| | | | | | | | | | Set the wheel distribution location, PIP_INSTALL_DIST_PATH, to a directory under WORKDIR to enhance out-of-tree builds. (From OE-Core rev: 8e7ae4246aa8dedd8a128c34450d4c1f60e2224a) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/scripts: Improve internal variable namingSaul Wold2022-03-106-34/+36
| | | | | | | | | Update internal variable names to improve the terms used. (From OE-Core rev: f408068e5d7998ae165f3002e51bc54b380b8099) Signed-off-by: Saul Wold <saul.wold@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* setuptools3: respect PIP_INSTALL_DIST_PATHRoss Burton2022-03-091-2/+2
| | | | | | | | | | | | pip_install_wheel expects the wheels to be in PIP_INSTALL_DIST_PATH but this class was writing to the same directory through chance not design. Respect PIP_INSTALL_DIST_PATH as the output directory. (From OE-Core rev: 12857a77ad424c3c3cbc37275374a603e528d9f1) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* setuptools_build_meta: add variable to control where pyproject.toml is locatedRoss Burton2022-03-091-0/+4
| | | | | | | | | | | | | | | | The PEP517[1] pyproject.toml doesn't have to be located at the top-level of the source tree (for example, in recipes with multiple components), so add a variable PEP517_SOURCE_PATH to set where the file is. In the future there should be a pep517.bbclass to centralise the common logic, but for now this can be defined in each of the relevant classes. [1] https://www.python.org/dev/peps/pep-0517/ (From OE-Core rev: 891fab83683cf032d4849f2dfbcd03a3eb22f158) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* setuptools_build_meta: respect PIP_INSTALL_DIST_PATHRoss Burton2022-03-091-2/+2
| | | | | | | | | | | | | pip_install_wheel expects the wheels to be in PIP_INSTALL_DIST_PATH but this class was writing to the same directory through chance not design. Respect PIP_INSTALL_DIST_PATH as the output directory, and use [cleandirs] to ensure that it exists and is empty. (From OE-Core rev: 1a3625c576afe823efc50dc0b1071e4952339f8e) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* flit_core: add variable to control where pyproject.toml is locatedRoss Burton2022-03-091-0/+4
| | | | | | | | | | | | | | | | The PEP517[1] pyproject.toml doesn't have to be located at the top-level of the source tree (for example, in recipes with multiple components), so add a variable PEP517_SOURCE_PATH to set where the file is. In the future there should be a pep517.bbclass to centralise the common logic, but for now this can be defined in each of the relevant classes. [1] https://www.python.org/dev/peps/pep-0517/ (From OE-Core rev: f85b512e2ad39ec32f11f9b25b8c92bea20c844d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* flit_core: respect PIP_INSTALL_DIST_PATHRoss Burton2022-03-091-2/+2
| | | | | | | | | | | | | | | | pip_install_wheel expects the wheels to be in PIP_INSTALL_DIST_PATH but this class was writing to the same directory through chance not design. Respect PIP_INSTALL_DIST_PATH as the output directory, and use [cleandirs] to ensure that it exists and is empty. Also call the flit_core.wheel module directly as this is a public entry point to the wheel building logic. (From OE-Core rev: a3d9eb8051bc2effb8130b1743ba251c1fe7c525) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* setuptools_build_meta: clean up configure/compileRoss Burton2022-03-081-7/+4
| | | | | | | | | | | | Make do_configure do nothing by default as the base configure isn't useful, and invoke the build API directly instead of writing a script. In the future, this can simply call python3-build. (From OE-Core rev: ccad9d0218ef69bdb8c708029445fcd661f1c490) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* flit_core: clean up configure/compileRoss Burton2022-03-081-6/+4
| | | | | | | | | | | | Make do_configure do nothing by default as the base configure isn't useful, and invoke the build API directly instead of writing a script. In the future, this can simply call python3-build. (From OE-Core rev: 2d80529a486d25ad96c448499392547e82779de4) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pip_install_wheel: don't lazy assign PIPINSTALLARGSRoss Burton2022-03-081-1/+1
| | | | | | | | | | If we expect users to extend this we should use =, as otherwise a recipe that does += will replace the default value. (From OE-Core rev: fdaf5e0027a52e44f2def0ef240134763660aa00) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pip_install_wheel: clean upRoss Burton2022-03-081-12/+4
| | | | | | | | | | | | | | | | There's been a lot of work in this class lately, so a little spring cleaning is needed. Remove redundant creation of PYTHON_SITEPACKAGES_DIR, pip will do that. Remove redundant export of PYPA_WHEEL. Simplyify recompile code using "realpath --relative-to". (From OE-Core rev: cb56166eef34ba4937dc487664c57815daeadbe8) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* setuptools3.bbclass: clean upRoss Burton2022-03-081-33/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's been a lot of work in this class lately, so a little spring cleaning is needed. Create wheels verbosely to help debug problems. Remove unused SETUPTOOLS_INSTALL_ARGS, these can't be passed to bdist_wheel. Remove duplicate manipulation of files in bindir as pip_install_wheel does the same. Remove obsolete deletion of easy-install.pth, wheels don't generate that. Remove obsolete ${datadir}/share fixup, pip-installed wheels can't generate that path combination. Remove purging of ${D} references from *.py, these won't be written by standard setuptools, and recipes can do it themselves to work around specific issues if needed. Remove obsolete vardepsexclude of MACHINE on do_install, as that variable isn't referenced. (From OE-Core rev: 57c477ca13e352b6f9b21385abbfaad9778c6398) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate: inside the threadedpool don't write to the shared localdataJose Quaresma2022-03-071-1/+1
| | | | | | | | | | | When inside the threadedpool we make a copy of the localdata to avoid some race condition, so we need to use this new localdata2 and stop write the shared localdata. (From OE-Core rev: 1fa763b2022822a76fde541724e83e1977833d03) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license: expand_wildcard_licenses: add AGPL-3.0* wildcardChristian Eggers2022-03-071-0/+1
| | | | | | | | | | | | | The Yocto reference manual suggests also settings AGPL-3.0 in INCOMPATIBLE_LICENSE. https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-INCOMPATIBLE_LICENSE Fixes: 724fc8047cae ("license: Rework INCOMPATIBLE_LICENSE wildcard handling") (From OE-Core rev: 5d5c999ec0a40e3fa14041c35035c8cd4a1da01d) Signed-off-by: Christian Eggers <ceggers@arri.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* setuptools_build_meta: remove python dependencyKonrad Weihmann2022-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | when building additional native python tools that should be used for additional tasks in python3 package (class-target), the dependency on target class python creates a dependency loop: python3-foo-native_1.2.3.bb:do_prepare_recipe_sysroot python3-pep8-native_1.7.1.bb:do_populate_sysroot python3-wheel_0.37.1.bb:do_populate_sysroot python3-bar-native_0.1.2.bb:do_populate_sysroot python3-pip_22.0.3.bb:do_populate_sysroot python3-pyflakes-native_2.4.0.bb:do_populate_sysroot python3_3.10.2.bb:do_populate_sysroot python3-foo-native_1.2.3_1.2.0.bb:do_fetch python3-setuptools_59.5.0.bb:do_populate_sysroot resolve this by removing python3 from DEPENDS. The correct dependencies are already injected by setuptools-base class (From OE-Core rev: bd9f9a369160164beade2c12f344b7f5c2b18427) Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: add setuptools3_legacyRoss Burton2022-03-051-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following a good discussion with PyPA upstream[1] the migration of the setuptools3.bbclass to use bdist_wheel+pip turns out to be more complex than thought. Essentially, we're midway through a lot of changes: the future of Python packaging is wheels and pip, but those by design are not as flexible as traditional distutils and setup.py. Specifically, with traditional distutils the package can implement its own install task and write arbitrary files (such as init scripts). With wheels this is explicity impossible, so packages that do this cannot use the new setuptools class and must continue to use the build/install tasks as before. This class is the old setuptools behaviour, bought back. However, as distutils and the setuptools install task are both deprecated and will soon be removed entirely, any users of this class should be moving to an alternative build tool, be it a modern Python tool which works with wheels, or a non-Pythonic tool such as Meson. [1] https://github.com/pypa/packaging-problems/issues/576 (From OE-Core rev: 341d2b35986e48e4954c591be8bc037a5557452a) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* insane: Accomodate llvm-objdumpKhem Raj2022-03-041-1/+1
| | | | | | | | | | | | | | | | | | llvm-objdump emite MIPS_XHASH where as GNU objdump emits DT_MIPS_XHASH, checking for shorted sequence makes this check work in both cases mips-yoe-linux-objdump -p libx264.so.163 | grep XHASH DT_MIPS_XHASH 0x00000168 mips-yoe-linux-llvm-objdump -p libx264.so.163 | grep XHASH MIPS_XHASH 0x00000168 both are same things (From OE-Core rev: 45390aee03ad0adfcabf6d96109e73136436acad) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "cmake.bbclass: Set CXXFLAGS and CFLAGS"Jose Quaresma2022-03-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 47594d59ec4ab82fcf87d3c590caf7c46a6bfdff. This patch was introduced 5 years ago as a temporary workaround to fix an upstream bug. Currently with that patch the following flags are duplicated: OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CFLAGS}" OECMAKE_C_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS} ${LDFLAGS}" OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LDFLAGS}" The duplicated flags is used in the toolchain.cmake: set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" ) set( CMAKE_CXX_FLAGS "${OECMAKE_CXX_FLAGS}" CACHE STRING "CXXFLAGS" ) set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" ) CC: Khem Raj <raj.khem@gmail.com> (From OE-Core rev: a83623a54a375d3ae9198a135b94379881a2b7a5) Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: rootfs-postcommands: include /etc/fstab in overlayfs_qa_checkStefan Herbrechtsmeier2022-03-041-9/+29
| | | | | | | | | | | | | | | | | The systemd init manager support mount point configuration via mount units and /etc/fstab. 'Mounts listed in /etc/fstab will be converted into native units dynamically at boot and when the configuration of the system manager is reloaded. In general, configuring mount points through /etc/fstab is the preferred approach.' [1] Read mount points from /etc/fstab to determine dynamic mount units. [1] https://www.freedesktop.org/software/systemd/man/systemd.mount.html (From OE-Core rev: 9db988dae6dbf6da7b066728bc13b59a5c45b75c) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib_global.bbclass: fix setting preferred version for canadian recipesChen Qi2022-03-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the TRANSLATED_TARGET_ARCH is not changed when trying to set preferred version for canadian recipes. e.g. ``` bitbake core-image-minimal -c populate_sdk -e > env grep ^PREFERRED_VERSION_gcc-cross-canadian env ``` The result is: """ PREFERRED_VERSION_gcc-cross-canadian-x86-64="11.%" """ We need to explictly change DEFAULTTUNE to ensure TRANSLATED_TARGET_ARCH is changed when trying to set the preferred version for multilib version of the canadian recipes. e.g. ``` bitbake core-image-minimal -c populate_sdk -e > env grep ^PREFERRED_VERSION_gcc-cross-canadian env ``` The result is: """ PREFERRED_VERSION_gcc-cross-canadian-i686="11.%" PREFERRED_VERSION_gcc-cross-canadian-x86-64="11.%" """ (From OE-Core rev: ab8ed74082ffaf3b3adca84f4c41465f89657e76) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>