summaryrefslogtreecommitdiff
path: root/poky/meta/classes
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2022-08-05 16:10:29 +0300
committerPatrick Williams <patrick@stwcx.xyz>2022-08-22 13:31:27 +0300
commitdb4c27ee07165dd36a758f4ab5236918f133e65b (patch)
tree7de447487906845675b53a4eb1fc2e4c08093edc /poky/meta/classes
parentdbdec8bbc3f5962afbaa70abdf0011e415000508 (diff)
downloadopenbmc-db4c27ee07165dd36a758f4ab5236918f133e65b.tar.xz
subtree updates
meta-raspberrypi: 62a84833d9..b6a1645a97: Andrei Gherzan (22): ci: Migrate worflow to using latest git-mirror-me-action revision ci: Run the cancel workflow on generic workers and update action ci: Run the compliance workflow on generic workers ci: Run the mirror workflow on generic workers ci: Don't run yocto builds on PRs that don't affect them raspberrypi-tools.inc: Bump to latest revision rpi-gpio: Bump to 0.7.1 python3-adafruit-platformdetect: Bump to 3.27.0 python3-adafruit-circuitpython-register: Bump to 1.9.10 userland: Bump revision to the current HEAD bluez-firmware-rpidistro: Backport patch to fix CYW43455 and various CVEs linux-raspberrypi: Update 5.15 recipe to 5.15.56 linux-raspberrypi: Update 5.10 recipe to latest revision linux-firmware-rpidistro: Update to 1:20210315-3+rpt7 release omxplayer: Bump to latest revision linux-firmware-rpidistro: Revamp, cleanup and restructure recipe linux-firmware-rpidistro: Guard the recipe under a license flag ci: Set LICENSE_FLAGS_ACCEPTED in builder docker container README.md: Mention Yocto Compatible Layer README.md: Refactor top table Add initial version of CODE_OF_CONDUCT.md Use a png with transparency for balena logo Vincent Davis Jr (1): docs: remove backticks poky: 4161dbbbd6..fc59c28724: Aatir Manzur (1): ref-manual: Sphinx note directive for DISTRO_FEATURES definition Alejandro Hernandez Samaniego (1): package.bbclass: Fix kernel source handling when not using externalsrc Alex Kiernan (1): bind: Remove legacy python3 PACKAGECONFIG code Alexander Kanavin (61): conf/local.conf.sample: mention site.conf.sample as well sato-icon-theme: check for new commits rather than tags gcr: exclude x.9y versions from upstream version check efibootmgr: update 17 -> 18 systemd-boot: update 251.2 -> 251.3 libva: upgrade 2.14.0 -> 2.15.0 libva-utils: update 2.14.0 -> 2.15.0 xev: update 1.2.4 -> 1.2.5 xmodmap: update 1.0.10 -> 1.0.11 xf86-input-synaptics: update 1.9.1 -> 1.9.2 xf86-video-cirrus: update 1.5.3 -> 1.6.0 encodings: update 1.0.5 -> 1.0.6 font-util: update 1.3.2 -> 1.3.3 linux-firmware: update 20220610 -> 20220708 rt-tests: update 2.3 -> 2.4 libgit2: update 1.4.3 -> 1.5.0 u-boot: update 2022.04 -> 2022.07 go: update 1.18.3 -> 1.18.4 llvm: update 14.0.4 -> 14.0.6 vulkan-samples: update to latest revision xserver-xorg: update 21.1.3 -> 21.1.4 alsa-lib: upgrade 1.2.7.1 -> 1.2.7.2 alsa-ucm-conf: upgrade 1.2.7.1 -> 1.2.7.2 diffoscope: upgrade 217 -> 218 git: upgrade 2.37.0 -> 2.37.1 hdparm: upgrade 9.63 -> 9.64 libdrm: upgrade 2.4.111 -> 2.4.112 libhandy: upgrade 1.6.2 -> 1.6.3 libidn2: upgrade 2.3.2 -> 2.3.3 libnl: upgrade 3.6.0 -> 3.7.0 libnotify: upgrade 0.7.12 -> 0.8.0 libuv: upgrade 1.44.1 -> 1.44.2 log4cplus: upgrade 2.0.7 -> 2.0.8 meson: upgrade 0.62.2 -> 0.63.0 mmc-utils: upgrade to latest revision mpg123: upgrade 1.30.0 -> 1.30.1 pango: upgrade 1.50.7 -> 1.50.8 piglit: upgrade to latest revision python3-dtschema: upgrade 2022.5 -> 2022.7 python3-hypothesis: upgrade 6.48.2 -> 6.50.1 python3-setuptools-rust: upgrade 1.3.0 -> 1.4.1 python3-setuptools-scm: upgrade 7.0.3 -> 7.0.5 python3-setuptools: upgrade 62.6.0 -> 63.2.0 python3-zipp: upgrade 3.8.0 -> 3.8.1 sqlite3: upgrade 3.39.0 -> 3.39.1 vala: upgrade 0.56.1 -> 0.56.2 wayland-protocols: upgrade 1.25 -> 1.26 webkitgtk: upgrade 2.36.3 -> 2.36.4 xwayland: upgrade 22.1.2 -> 22.1.3 epiphany: upgrade 42.2 -> 42.3 xf86-input-keyboard: remove the recipe toolchain-scripts.bbclass: adjust toolchain_create_tree_env_script to better replicate (e)SDK meta-ide-support: adjust to provide (e)SDK experience directly in a yocto build oeqa/sdk: add a test class for running SDK tests directly in a Yocto build oeqa/sdk: allow epoxy/galculator tests to run in esdk and direct yocto builds meson: provide relocation script and native/cross wrappers also for meson-native selftest/meta_ide: add a test for running SDK tests directly in a yocto build scripts/oe-setup-builddir: make it known where configurations come from devtool/upgrade: correctly clean up when recipe filename isn't yet known devtool/upgrade: catch bb.fetch2.decodeurl errors poky-floating-revisions.inc: remove xf86-input-keyboard entry Aníbal Limón (1): rng-tools: Change systemd service name to work with sysvinit Armin Kuster (1): poky.conf: remove EOL and Centos7 hosts Aryaman Gupta (1): bitbake: runqueue: add cpu/io pressure regulation Changhyeok Bae (1): repo: upgrade 2.27 -> 2.28 Chen Qi (2): glibc: make glibc-dev depend on kernel headers image_types_wic.bbclass: fix cross binutils dependency Daniel Gomez (1): dropbear: Add configuration file to CONFFILES Dmitry Baryshkov (1): linux-firwmare: restore WHENCE_CHKSUM variable He Zhe (1): lttng-modules: Fix build failure for kernel v5.15.58 Hitendra Prajapati (1): qemu: CVE-2022-35414 can perform an uninitialized read on the translate_fail path, leading to an io_readx or io_writex crash Jan Kiszka (2): wic/bootimg-efi: Factor out some common bits wic/bootimg-efi: Add support for loading devicetree files Jan Vermaete (1): python3-jsonschema: 4.7.1 -> 4.7.2 + fixed the rdepends Jose Quaresma (5): bitbake: bitbake: bitbake-user-manual: hashserv can be accessed on a dedicated domain archiver.bbclass: remove unsed do_deploy_archives[dirs] bitbake: bb/utils: remove: check the path again the expand python glob bitbake: bb/utils: movefile: use the logger for printing create-spdx: ignore packing control files from ipk and deb Joshua Watt (3): sstatesig: Include all dependencies in SPDX task signatures bitbake: asyncrpc: Add TCP Keep Alives classes/sanity: Add comment about github & gitlab archives Kai Kang (1): mesa: fix compile error when debug build enabled Khem Raj (11): lua: Backport fix for CVE-2022-33099 gcc-runtime: Pass -nostartfiles when building dummy libstdc++.so gcc-runtime: Use --with-target-subdir for baremetal targets systemd: Drop backported patch applied in 251.3 gcc-runtime: Use static dummy libstdc++ libgcc: Fix standalone target builds with usrmerge distro feature systemd: Fix conflict between glibc mount.h and kernel mount.h libarchive: Avoid mount.h conflict between kernel and glibc btrfs-tools: Use linux/mount.h instead of sys/mount.h gcc-sanitizers: Fix mount.h glibc 2.36 conflict hdparm: Fix build with glibc 2.36 LUIS ENRIQUEZ (1): kernel-fitimage.bbclass: add padding algorithm property in config nodes Lee Chee Yang (1): migration guides: release notes for 4.0.2 Mark Hatle (4): runqemu: Add missing space on default display option default-distrovars: seccomp doesn't support microblaze openssl: Move microblaze to linux-latomic config elfutils: Microblaze does not support symvers Martin Beeger (1): cmake: remove CMAKE_ASM_FLAGS variable in toolchain file Martin Jansa (6): python3-setuptools: move patch from 'files' to 'python3-setuptools' kernel.bbclass: pass LD also in savedefconfig ltp: fix build with ld-is-gold in DISTRO_FEATURES pybootchartgui: render memory pressure as well pybootchartgui: fix 2 SyntaxWarnings pybootchartgui: write the max values in the graph legend Michael Opdenacker (2): docs: BB_HASHSERVE_UPSTREAM: update to new host bitbake: bitbake-user-manual: npm fetcher: improve description of SRC_URI format Mihai Lindner (2): wic/plugins/rootfs: Fix NameError for 'orig_path' create-spdx: Fix supplier field Ming Liu (2): rootfs-postcommands.bbclass: move host-user-contaminated.txt to ${S} udev-extraconf:mount.sh: fix a umount issue Mingli Yu (1): strace: set COMPATIBLE_HOST for riscv32 Otavio Salvador (2): cargo-cross-canadian: Use SDK's flags during target linking oeqa/sdk: Add basic rust cargo test Petr Vorel (1): ltp: Add post release runtime fixes Quentin Schulz (2): docs: ref-manual: variables: remove sphinx directive from literal block docs: auto-generate releases.rst Randy MacLeod (1): vim: update from 9.0.0063 to 9.0.0115 Richard Purdie (16): curl: Fix determinism issues in ptest package build-appliance-image: Update to master head revision base/reproducible: Change Source Date Epoch generation methods vim: Upgrade 9.0.0021 -> 9.0.0063 rust-common: Set llvm-target correctly for cross SDK targets rust-cross-canadian: Fix ordering of target json config generation rust-cross/rust-common: Merge arm target handling code to fix cross-canadian rust-cross: Simplfy the rust_gen_target calls rust-common/rust-cross: Clean up target json generation code rust-target-config: Create new class to contain target json config generation rust-target-config: Allow the targets generated to be configurable native: Clear TUNE_FEATURES/ABIEXTENSION populate_sdk: Add SDK toolchain language selection support populate_sdk_base: Fix mingw override name poky: Enable debug-kernel for SPDX license manifests oeqa/sdk/rust: Fix file deletion for multilib SDKs Roland Hieber (1): devtool: error out when workspace is using old override syntax Ross Burton (13): pulseaudio: add m4-native to DEPENDS python3-picobuild: upgrade to 0.2 oeqa/runtime: add test that the kernel has CONFIG_PREEMPT_RT enabled perf: fix reproduciblity in older releases of Linux zstd: do verbose builds zlib: remove historical movement of libz.so to /lib oeqa/selftest: rename git.py to intercept.py oeqa/gotoolchain: put writable files in the Go module cache oeqa/gotoolchain: set CGO_ENABLED=1 qemu: add io_uring PACKAGECONFIG wic: add target tools to PATH when executing native commands wic/bootimg-efi: use cross objcopy when building unified kernel image wic: depend on cross-binutils Shruthi Ravichandran (2): initscripts: run umountnfs as a KILL script package_manager/ipk: do not pipe stderr to stdout Tom Hochstein (2): gobject-introspection-data: Disable cache for g-ir-scanner uboot-config.bbclass: Raise error for bad key gr embeter (1): efivar: fix import functionality leimaohui (1): systemd: Added base_bindir into pkg_postinst:udev-hwdb. wangmy (10): python3-docutils: upgrade 0.18.1 -> 0.19 python3-attrs: upgrade 21.4.0 -> 22.1.0 python3-cython: upgrade 0.29.30 -> 0.29.32 python3-dbusmock: upgrade 0.28.1 -> 0.28.4 python3-hatchling: upgrade 1.5.0 -> 1.6.0 python3-jsonschema: upgrade 4.7.2 -> 4.9.0 python3-scons: upgrade 4.3.0 -> 4.4.0 python3-setuptools: upgrade 63.2.0 -> 63.3.0 python3-pygobject: upgrade 3.42.1 -> 3.42.2 python3-pip: upgrade 22.1.2 -> 22.2.1 meta-security: 7ad5f6a9da..2a2d650ee0: Alex Kiernan (1): bubblewrap: Add recipe Armin Kuster (28): packagegroup-core-security.bb: add bubblewrap to pkg grp packagegroup-security-tpm: add libhoth to pkg grp python3-privacyidea: update to 3.7.2 suricata: update to 6.0.5 chipsec: update to 1.8.7 fail2ban: add UPSTREAM_CHECK vars ibmtpm2tss: fix SRC_URI tpm2-tss-engine: add UPSTREAM_CHECK_URI tpm2-tss: add UPSTREAM_CHECK_URI tpm2-tools: Add UPSTREAM_CHECK_URI tpm2-openssl: Add UPSTREAM_CHECK_URI tpm2-pkcs11: Add UPSTREAM_CHECK_URI tpm2-abrmd: add UPSTREAM_CHECK_URI tpm2-tcti-uefi: Add UPSTREAM_CHECK_URI aide: add UPSTREAM_CHECK_URI ecryptfs-utils: add UPSTREAM_CHECK_URI krill: update to 0.9.6 packagegroup-core-security: add krill to pkg grps packagegroup-core-security: add chipsec pkg to grp apparmor: update to 3.0.5 clamav: update to 0.104.4 ibmtpm2tss: update version format ibmswtpm2: fix UPSTREAM_CHECK ibmswtpm2: update to 1682 swtpm: update to 0.7.3 lkrg: update to 0.9.4 krill: only builds on x86/x86-64 and arm64 packagegroup-core-security: remove krill for some archs Armpit's Upgrade Helper (1): libtpm: upgrade 0.9.3 -> 0.9.5 John Edward Broadbent (1): meta-security: Add recipe for libhoth Upgrade Helper (1): sssd: upgrade 2.7.1 -> 2.7.3 meta-arm: 80d60e7b1c..20a629180c: Peter Hoyes (1): runfvp: Stop the FVP when telnet shuts down cleanly meta-openembedded: 31c10bd3e6..2eb39477a7: Alexander Thoma (1): Fix tigervnc crash due to missing xkbcomp rdepends Armin Kuster (1): bigbuckbunny-1080p: update SRC_URI Aryaman Gupta (1): rsyslog: update 8.2202->8.2206 Chen Qi (1): catfish: fix buildpaths issue Davide Gardenal (7): freeradius: ignore patched CVEs openflow: ignore unrelated CVEs libplist: ignore patched CVEs meta-oe: ignore patched CVEs mongodb: ignore unrelated CVEs php: ignore patched CVEs postgresql: ignore unrelated CVE Gianfranco (1): vboxguestdrivers: fix build failure on 32 bit architectures Gianfranco Costamagna (1): vboxguestdrivers: upgrade 6.1.34 -> 6.1.36 Jan Vermaete (8): python3-pyzmq: version bump 22.3.0 -> 23.2.0 python3-aspectlib: updated the summary and added a description. python3-jsonrpcclient: Added the jsonrpcclient Python package python3-oslash: added the oslash Python package python3-jsonrpcserver: added the python3-oslash rdepends python-ptyprocess: fixed test_pass_fds python3-pyzmq: added ptest python3-pyzmq: fixed oelint-adv warnings Johannes Schneider (1): python3-pystemd: Upgrade 0.8.0 -> 0.10.0 Khem Raj (11): poco: Link with libatomic on riscv32 python3-antlr4-runtime: Inherit setuptools3 instead of python_setuptools_build_meta catfish: Inherit setuptools3 instead of python_setuptools_build_meta python3-pycups: Inherit setuptools3 instead of python_setuptools_build_meta python3-qface: Inherit setuptools3 instead of python_setuptools_build_meta xscreensaver: Upgrade to 6.04 poco: Link with libatomic on mips Revert "catfish: Inherit setuptools3 instead of python_setuptools_build_meta" Revert "python3-pycups: Inherit setuptools3 instead of python_setuptools_build_meta" Revert "python3-antlr4-runtime: Inherit setuptools3 instead of python_setuptools_build_meta" libmtp: Upgrade to 1.1.20 Martin Großhauser (1): Add runtime dependencies for python3-supervisor Mingli Yu (1): s-nail: fix buildpaths issue Radovan Scasny (1): libwebsockets: update to version 4.3.2 Ross Burton (9): python3-cbor2: add missing build dependency python3-simpleeval: remove 'build' build dependency python3-pyrad: fix build system specification python3-pytest-html: fix DEPENDS, don't depend on pip python3-ansi2html: fix DEPENDS python3-pytest-helpers-namespace: add missing build dependencies python3-pyzmq: add missing build dependency python3-path: add missing build dependencies python3-pytest-forked: loosen dependency checking Sergey Kizunov (2): Add python3-pycares 4.2.1 Add python3-aiodns 3.0.0 Trevor Gamblin (1): README: Remove maintainer info for tvgamblin Wang Mingyu (10): php: upgrade 8.1.7 -> 8.1.8 ndisc6: upgrade 1.0.5 -> 1.0.6 python3-elementpath: upgrade 2.5.3 -> 3.0.1 python3-pymongo: upgrade 4.1.1 -> 4.2.0 python3-pyscaffold: upgrade 4.2.3 -> 4.3 python3-regex: upgrade 2022.7.9 -> 2022.7.24 python3-rsa: upgrade 4.8 -> 4.9 python3-sh: upgrade 1.14.2 -> 1.14.3 python3-werkzeug: upgrade 2.1.2 -> 2.2.0 python3-xmlschema: upgrade 1.11.3 -> 2.0.1 Xu Huan (14): python3-eth-hash: upgrade 0.3.3 -> 0.4.0 python3-socketio: upgrade 5.6.0 -> 5.7.0 python3-ujson: upgrade 5.3.0 -> 5.4.0 python3-web3: upgrade 5.29.2 -> 5.30.0 python3-fastjsonschema: upgrade 2.15.3 -> 2.16.1 python3-flask: upgrade 2.1.2 -> 2.1.3 python3-googleapis-common-protos: upgrade 1.56.3 -> 1.56.4 python3-iso3166: upgrade 2.0.2 -> 2.1.1 python3-kiwisolver: upgrade 1.4.3 -> 1.4.4 python3-portalocker: upgrade 2.4.0 -> 2.5.1 python3-imageio: upgrade 2.19.3 -> 2.19.5 python3-lz4: upgrade 4.0.1 -> 4.0.2 python3-mypy: upgrade 0.961 -> 0.971 python3-protobuf: upgrade 4.21.2 -> 4.21.3 kazuki0824 (1): ttf-fonts: fix URIs, upgrade 1.004 -> 2.004 wangmy (30): gegl: upgrade 0.4.36 -> 0.4.38 libadwaita: upgrade 1.1.2 -> 1.1.3 libgsf: upgrade 1.14.49 -> 1.14.50 nbdkit: upgrade 1.31.10 -> 1.31.12 irssi: upgrade 1.4.1 -> 1.4.2 libp11: upgrade 0.4.11 -> 0.4.12 modemmanager: upgrade 1.18.8 -> 1.18.10 pegtl: upgrade 3.2.6 -> 3.2.7 PATCH] logcheck: upgrade 1.3.23 -> 1.3.24 python3-lru-dict: upgrade 1.1.7 -> 1.1.8 python3-pyfanotify: upgrade 0.1.3 -> 0.2.0 python3-pylint: upgrade 2.14.4 -> 2.14.5 python3-pytest-metadata: upgrade 2.0.1 -> 2.0.2 python3-regex: upgrade 2022.6.2 -> 2022.7.9 python3-socketio: upgrade 5.7.0 -> 5.7.1 python3-stevedore: upgrade 3.5.0 -> 4.0.0 tracker: upgrade 3.3.1 -> 3.3.2 zenity: upgrade 3.42.1 -> 3.43.0 nbdkit: upgrade 1.31.12 -> 1.31.14 stunnel: upgrade 5.64 -> 5.65 unbound: upgrade 1.16.0 -> 1.16.1 wolfssl: upgrade 5.3.0 -> 5.4.0 atkmm-2.36: upgrade 2.36.1 -> 2.36.2 nanopb: upgrade 0.4.5 -> 0.4.6.4 redis-plus-plus: upgrade 1.3.3 -> 1.3.5 redis: upgrade 7.0.2 -> 7.0.4 ser2net: upgrade 4.3.6 -> 4.3.7 unattended-upgrades: upgrade 2.6 -> 2.9.1 valijson: upgrade 0.6 -> 0.7 googlebenchmark: upgrade 1.6.1 -> 1.7.0 zhengruoqin (17): python3-redis: upgrade 4.3.3 -> 4.3.4 python3-ldap: upgrade 3.4.0 -> 3.4.2 python3-pillow: upgrade 9.1.1 -> 9.2.0 python3-pylint: upgrade 2.14.3 -> 2.14.4 python3-alembic: upgrade 1.8.0 -> 1.8.1 python3-astroid: upgrade 2.11.6 -> 2.12.2 python3-attr: upgrade 0.3.1 -> 0.3.2 python3-blinker: upgrade 1.4 -> 1.5 python3-cmd2: upgrade 2.4.1 -> 2.4.2 python3-ecdsa: upgrade 0.17.0 -> 0.18.0 python3-evdev: upgrade 1.5.0 -> 1.6.0 python3-absl: upgrade 1.1.0 -> 1.2.0 python3-bitarray: upgrade 2.5.1 -> 2.6.0 python3-eth-hash: upgrade 0.4.0 -> 0.5.0 python3-google-api-python-client: upgrade 2.51.0 -> 2.54.0 python3-google-auth: upgrade 2.9.0 -> 2.9.1 python3-graphviz: upgrade 0.20 -> 0.20.1 Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I50c531a69ce8abb23e33c380f9228015f2764682
Diffstat (limited to 'poky/meta/classes')
-rw-r--r--poky/meta/classes/archiver.bbclass1
-rw-r--r--poky/meta/classes/base.bbclass1
-rw-r--r--poky/meta/classes/create-spdx.bbclass7
-rw-r--r--poky/meta/classes/gobject-introspection-data.bbclass5
-rw-r--r--poky/meta/classes/image_types_wic.bbclass2
-rw-r--r--poky/meta/classes/insane.bbclass1
-rw-r--r--poky/meta/classes/kernel-fitimage.bbclass2
-rw-r--r--poky/meta/classes/kernel.bbclass2
-rw-r--r--poky/meta/classes/native.bbclass2
-rw-r--r--poky/meta/classes/package.bbclass2
-rw-r--r--poky/meta/classes/populate_sdk_base.bbclass17
-rw-r--r--poky/meta/classes/rootfs-postcommands.bbclass2
-rw-r--r--poky/meta/classes/rust-target-config.bbclass374
-rw-r--r--poky/meta/classes/toolchain-scripts.bbclass40
-rw-r--r--poky/meta/classes/uboot-config.bbclass3
-rw-r--r--poky/meta/classes/uboot-sign.bbclass3
16 files changed, 445 insertions, 19 deletions
diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass
index 33070cd17f..5da369d422 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -69,7 +69,6 @@ SSTATE_ALLOW_OVERLAP_FILES += "${DEPLOY_DIR_SRC}/mirror"
do_dumpdata[dirs] = "${ARCHIVER_OUTDIR}"
do_ar_recipe[dirs] = "${ARCHIVER_OUTDIR}"
do_ar_original[dirs] = "${ARCHIVER_OUTDIR} ${ARCHIVER_WORKDIR}"
-do_deploy_archives[dirs] = "${WORKDIR}"
# This is a convenience for the shell script to use it
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass
index cc02de5f77..571b6754f2 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -209,6 +209,7 @@ addtask do_deploy_source_date_epoch_setscene
addtask do_deploy_source_date_epoch before do_configure after do_patch
python create_source_date_epoch_stamp() {
+ # Version: 1
source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
oe.reproducible.epochfile_write(source_date_epoch, d.getVar('SDE_FILE'), d)
}
diff --git a/poky/meta/classes/create-spdx.bbclass b/poky/meta/classes/create-spdx.bbclass
index 15cccac84b..10deba638f 100644
--- a/poky/meta/classes/create-spdx.bbclass
+++ b/poky/meta/classes/create-spdx.bbclass
@@ -451,7 +451,7 @@ python do_create_spdx() {
recipe.name = d.getVar("PN")
recipe.versionInfo = d.getVar("PV")
recipe.SPDXID = oe.sbom.get_recipe_spdxid(d)
- recipe.packageSupplier = d.getVar("SPDX_SUPPLIER")
+ recipe.supplier = d.getVar("SPDX_SUPPLIER")
if bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d):
recipe.annotations.append(create_annotation(d, "isNative"))
@@ -561,7 +561,7 @@ python do_create_spdx() {
spdx_package.name = pkg_name
spdx_package.versionInfo = d.getVar("PV")
spdx_package.licenseDeclared = convert_license_to_spdx(package_license, package_doc, d, found_licenses)
- spdx_package.packageSupplier = d.getVar("SPDX_SUPPLIER")
+ spdx_package.supplier = d.getVar("SPDX_SUPPLIER")
package_doc.packages.append(spdx_package)
@@ -577,6 +577,7 @@ python do_create_spdx() {
pkgdest / package,
lambda file_counter: oe.sbom.get_packaged_file_spdxid(pkg_name, file_counter),
lambda filepath: ["BINARY"],
+ ignore_top_level_dirs=['CONTROL', 'DEBIAN'],
archive=archive,
)
@@ -901,7 +902,7 @@ def combine_spdx(d, rootfs_name, rootfs_deploydir, rootfs_spdxid, packages):
image.name = d.getVar("PN")
image.versionInfo = d.getVar("PV")
image.SPDXID = rootfs_spdxid
- image.packageSupplier = d.getVar("SPDX_SUPPLIER")
+ image.supplier = d.getVar("SPDX_SUPPLIER")
doc.packages.append(image)
diff --git a/poky/meta/classes/gobject-introspection-data.bbclass b/poky/meta/classes/gobject-introspection-data.bbclass
index 2ef684626a..d90cdb4839 100644
--- a/poky/meta/classes/gobject-introspection-data.bbclass
+++ b/poky/meta/classes/gobject-introspection-data.bbclass
@@ -5,3 +5,8 @@
# so that qemu use can be avoided when necessary.
GI_DATA_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', \
bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"
+
+do_compile:prepend() {
+ # This prevents g-ir-scanner from writing cache data to $HOME
+ export GI_SCANNER_DISABLE_CACHE=1
+}
diff --git a/poky/meta/classes/image_types_wic.bbclass b/poky/meta/classes/image_types_wic.bbclass
index 79f8d93b94..8497916d48 100644
--- a/poky/meta/classes/image_types_wic.bbclass
+++ b/poky/meta/classes/image_types_wic.bbclass
@@ -84,6 +84,8 @@ do_image_wic[deptask] += "do_image_complete"
WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native erofs-utils-native"
+# Unified kernel images need objcopy
+WKS_FILE_DEPENDS_DEFAULT += "virtual/${MLPREFIX}${TARGET_PREFIX}binutils"
WKS_FILE_DEPENDS_BOOTLOADERS = ""
WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot os-release"
WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux grub-efi systemd-boot os-release"
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index 37e10ad850..c8b434bb54 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -1335,6 +1335,7 @@ def unpack_check_src_uri(pn, d):
oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d)
for url in d.getVar("SRC_URI").split():
+ # Search for github and gitlab URLs that pull unstable archives (comment for future greppers)
if re.search(r"git(hu|la)b\.com/.+/.+/archive/.+", url):
oe.qa.handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub/GitLab archives, convert recipe to use git protocol" % pn, d)
diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass
index 2112ae4cfa..753164551c 100644
--- a/poky/meta/classes/kernel-fitimage.bbclass
+++ b/poky/meta/classes/kernel-fitimage.bbclass
@@ -346,6 +346,7 @@ fitimage_emit_section_config() {
conf_csum="${FIT_HASH_ALG}"
conf_sign_algo="${FIT_SIGN_ALG}"
+ conf_padding_algo="${FIT_PAD_ALG}"
if [ "${UBOOT_SIGN_ENABLE}" = "1" ] ; then
conf_sign_keyname="${UBOOT_SIGN_KEYNAME}"
fi
@@ -465,6 +466,7 @@ EOF
signature-1 {
algo = "$conf_csum,$conf_sign_algo";
key-name-hint = "$conf_sign_keyname";
+ padding = "$conf_padding_algo";
$sign_line
};
EOF
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index 5d2f17c3be..61b3e8c956 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -629,7 +629,7 @@ kernel_do_configure() {
do_savedefconfig() {
bbplain "Saving defconfig to:\n${B}/defconfig"
- oe_runmake -C ${B} savedefconfig
+ oe_runmake -C ${B} LD='${KERNEL_LD}' savedefconfig
}
do_savedefconfig[nostamp] = "1"
addtask savedefconfig after do_configure
diff --git a/poky/meta/classes/native.bbclass b/poky/meta/classes/native.bbclass
index fc7422c5d7..5a273cdebb 100644
--- a/poky/meta/classes/native.bbclass
+++ b/poky/meta/classes/native.bbclass
@@ -23,6 +23,8 @@ TARGET_CFLAGS = "${BUILD_CFLAGS}"
TARGET_CXXFLAGS = "${BUILD_CXXFLAGS}"
TARGET_LDFLAGS = "${BUILD_LDFLAGS}"
TARGET_FPU = ""
+TUNE_FEATURES = ""
+ABIEXTENSION = ""
HOST_ARCH = "${BUILD_ARCH}"
HOST_OS = "${BUILD_OS}"
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass
index 63887b34f8..97e97d2703 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -566,7 +566,7 @@ def copydebugsources(debugsrcdir, sources, d):
# If S isnt based on WORKDIR we can infer our sources are located elsewhere,
# e.g. using externalsrc; use S as base for our dirs
- if workdir in sdir:
+ if workdir in sdir or 'work-shared' in sdir:
basedir = workbasedir
parentdir = workparentdir
else:
diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass
index 16f929bf59..f260217b50 100644
--- a/poky/meta/classes/populate_sdk_base.bbclass
+++ b/poky/meta/classes/populate_sdk_base.bbclass
@@ -43,9 +43,22 @@ B:task-populate-sdk = "${SDK_DIR}"
SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
-TOOLCHAIN_HOST_TASK ?= "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}"
+SDK_TOOLCHAIN_LANGS ??= ""
+SDK_TOOLCHAIN_LANGS:remove:sdkmingw32 = "rust"
+
+TOOLCHAIN_HOST_TASK ?= " \
+ nativesdk-packagegroup-sdk-host \
+ packagegroup-cross-canadian-${MACHINE} \
+ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', 'packagegroup-go-cross-canadian-${MACHINE}', '', d)} \
+ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', 'packagegroup-rust-cross-canadian-${MACHINE}', '', d)} \
+"
TOOLCHAIN_HOST_TASK_ATTEMPTONLY ?= ""
-TOOLCHAIN_TARGET_TASK ?= "${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} target-sdk-provides-dummy"
+TOOLCHAIN_TARGET_TASK ?= " \
+ ${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} \
+ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', multilib_pkg_extend(d, 'packagegroup-go-sdk-target'), '', d)} \
+ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', multilib_pkg_extend(d, 'libstd-rs'), '', d)} \
+ target-sdk-provides-dummy \
+"
TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= ""
TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"
diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass
index 452b87f9b3..a8a952f31d 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes/rootfs-postcommands.bbclass
@@ -305,7 +305,7 @@ rootfs_trim_schemas () {
}
rootfs_check_host_user_contaminated () {
- contaminated="${WORKDIR}/host-user-contaminated.txt"
+ contaminated="${S}/host-user-contaminated.txt"
HOST_USER_UID="$(PSEUDO_UNLOAD=1 id -u)"
HOST_USER_GID="$(PSEUDO_UNLOAD=1 id -g)"
diff --git a/poky/meta/classes/rust-target-config.bbclass b/poky/meta/classes/rust-target-config.bbclass
new file mode 100644
index 0000000000..87b7dee3ed
--- /dev/null
+++ b/poky/meta/classes/rust-target-config.bbclass
@@ -0,0 +1,374 @@
+# Right now this is focused on arm-specific tune features.
+# We get away with this for now as one can only use x86-64 as the build host
+# (not arm).
+# Note that TUNE_FEATURES is _always_ refering to the target, so we really
+# don't want to use this for the host/build.
+def llvm_features_from_tune(d):
+ f = []
+ feat = d.getVar('TUNE_FEATURES')
+ if not feat:
+ return []
+ feat = frozenset(feat.split())
+
+ mach_overrides = d.getVar('MACHINEOVERRIDES')
+ mach_overrides = frozenset(mach_overrides.split(':'))
+
+ if 'vfpv4' in feat:
+ f.append("+vfp4")
+ if 'vfpv3' in feat:
+ f.append("+vfp3")
+ if 'vfpv3d16' in feat:
+ f.append("+d16")
+
+ if 'vfpv2' in feat or 'vfp' in feat:
+ f.append("+vfp2")
+
+ if 'neon' in feat:
+ f.append("+neon")
+
+ if 'mips32' in feat:
+ f.append("+mips32")
+
+ if 'mips32r2' in feat:
+ f.append("+mips32r2")
+
+ if target_is_armv7(d):
+ f.append('+v7')
+
+ if ('armv6' in mach_overrides) or ('armv6' in feat):
+ f.append("+v6")
+ if 'armv5te' in feat:
+ f.append("+strict-align")
+ f.append("+v5te")
+ elif 'armv5' in feat:
+ f.append("+strict-align")
+ f.append("+v5")
+
+ if ('armv4' in mach_overrides) or ('armv4' in feat):
+ f.append("+strict-align")
+
+ if 'dsp' in feat:
+ f.append("+dsp")
+
+ if 'thumb' in feat:
+ if d.getVar('ARM_THUMB_OPT') == "thumb":
+ if target_is_armv7(d):
+ f.append('+thumb2')
+ f.append("+thumb-mode")
+
+ if 'cortexa5' in feat:
+ f.append("+a5")
+ if 'cortexa7' in feat:
+ f.append("+a7")
+ if 'cortexa9' in feat:
+ f.append("+a9")
+ if 'cortexa15' in feat:
+ f.append("+a15")
+ if 'cortexa17' in feat:
+ f.append("+a17")
+ if ('riscv64' in feat) or ('riscv32' in feat):
+ f.append("+a,+c,+d,+f,+m")
+ return f
+llvm_features_from_tune[vardepvalue] = "${@llvm_features_from_tune(d)}"
+
+# TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing
+# this should go away when https://github.com/rust-lang/rust/pull/31709 is
+# stable (1.9.0?)
+def llvm_features_from_cc_arch(d):
+ f = []
+ feat = d.getVar('TARGET_CC_ARCH')
+ if not feat:
+ return []
+ feat = frozenset(feat.split())
+
+ if '-mmmx' in feat:
+ f.append("+mmx")
+ if '-msse' in feat:
+ f.append("+sse")
+ if '-msse2' in feat:
+ f.append("+sse2")
+ if '-msse3' in feat:
+ f.append("+sse3")
+ if '-mssse3' in feat:
+ f.append("+ssse3")
+ if '-msse4.1' in feat:
+ f.append("+sse4.1")
+ if '-msse4.2' in feat:
+ f.append("+sse4.2")
+ if '-msse4a' in feat:
+ f.append("+sse4a")
+ if '-mavx' in feat:
+ f.append("+avx")
+ if '-mavx2' in feat:
+ f.append("+avx2")
+
+ return f
+
+def llvm_features_from_target_fpu(d):
+ # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float
+ # ABI. There is no option for hard.
+
+ fpu = d.getVar('TARGET_FPU', True)
+ return ["+soft-float"] if fpu == "soft" else []
+
+def llvm_features(d):
+ return ','.join(llvm_features_from_tune(d) +
+ llvm_features_from_cc_arch(d) +
+ llvm_features_from_target_fpu(d))
+
+llvm_features[vardepvalue] = "${@llvm_features(d)}"
+
+## arm-unknown-linux-gnueabihf
+DATA_LAYOUT[arm-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+TARGET_ENDIAN[arm-eabi] = "little"
+TARGET_POINTER_WIDTH[arm-eabi] = "32"
+TARGET_C_INT_WIDTH[arm-eabi] = "32"
+MAX_ATOMIC_WIDTH[arm-eabi] = "64"
+FEATURES[arm-eabi] = "+v6,+vfp2"
+
+## armv7-unknown-linux-gnueabihf
+DATA_LAYOUT[armv7-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+TARGET_ENDIAN[armv7-eabi] = "little"
+TARGET_POINTER_WIDTH[armv7-eabi] = "32"
+TARGET_C_INT_WIDTH[armv7-eabi] = "32"
+MAX_ATOMIC_WIDTH[armv7-eabi] = "64"
+FEATURES[armv7-eabi] = "+v7,+vfp2,+thumb2"
+
+## aarch64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
+TARGET_ENDIAN[aarch64] = "little"
+TARGET_POINTER_WIDTH[aarch64] = "64"
+TARGET_C_INT_WIDTH[aarch64] = "32"
+MAX_ATOMIC_WIDTH[aarch64] = "128"
+
+## x86_64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+TARGET_ENDIAN[x86_64] = "little"
+TARGET_POINTER_WIDTH[x86_64] = "64"
+TARGET_C_INT_WIDTH[x86_64] = "32"
+MAX_ATOMIC_WIDTH[x86_64] = "64"
+
+## x86_64-unknown-linux-gnux32
+DATA_LAYOUT[x86_64-x32] = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+TARGET_ENDIAN[x86_64-x32] = "little"
+TARGET_POINTER_WIDTH[x86_64-x32] = "32"
+TARGET_C_INT_WIDTH[x86_64-x32] = "32"
+MAX_ATOMIC_WIDTH[x86_64-x32] = "64"
+
+## i686-unknown-linux-{gnu, musl}
+DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+TARGET_ENDIAN[i686] = "little"
+TARGET_POINTER_WIDTH[i686] = "32"
+TARGET_C_INT_WIDTH[i686] = "32"
+MAX_ATOMIC_WIDTH[i686] = "64"
+
+## XXX: a bit of a hack so qemux86 builds, clone of i686-unknown-linux-{gnu, musl} above
+DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+TARGET_ENDIAN[i586] = "little"
+TARGET_POINTER_WIDTH[i586] = "32"
+TARGET_C_INT_WIDTH[i586] = "32"
+MAX_ATOMIC_WIDTH[i586] = "64"
+
+## mips-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips] = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
+TARGET_ENDIAN[mips] = "big"
+TARGET_POINTER_WIDTH[mips] = "32"
+TARGET_C_INT_WIDTH[mips] = "32"
+MAX_ATOMIC_WIDTH[mips] = "32"
+
+## mipsel-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mipsel] = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
+TARGET_ENDIAN[mipsel] = "little"
+TARGET_POINTER_WIDTH[mipsel] = "32"
+TARGET_C_INT_WIDTH[mipsel] = "32"
+MAX_ATOMIC_WIDTH[mipsel] = "32"
+
+## mips64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+TARGET_ENDIAN[mips64] = "big"
+TARGET_POINTER_WIDTH[mips64] = "64"
+TARGET_C_INT_WIDTH[mips64] = "64"
+MAX_ATOMIC_WIDTH[mips64] = "64"
+
+## mips64el-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+TARGET_ENDIAN[mips64el] = "little"
+TARGET_POINTER_WIDTH[mips64el] = "64"
+TARGET_C_INT_WIDTH[mips64el] = "64"
+MAX_ATOMIC_WIDTH[mips64el] = "64"
+
+## powerpc-unknown-linux-{gnu, musl}
+DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
+TARGET_ENDIAN[powerpc] = "big"
+TARGET_POINTER_WIDTH[powerpc] = "32"
+TARGET_C_INT_WIDTH[powerpc] = "32"
+MAX_ATOMIC_WIDTH[powerpc] = "32"
+
+## powerpc64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[powerpc64] = "E-m:e-i64:64-n32:64-S128-v256:256:256-v512:512:512"
+TARGET_ENDIAN[powerpc64] = "big"
+TARGET_POINTER_WIDTH[powerpc64] = "64"
+TARGET_C_INT_WIDTH[powerpc64] = "64"
+MAX_ATOMIC_WIDTH[powerpc64] = "64"
+
+## powerpc64le-unknown-linux-{gnu, musl}
+DATA_LAYOUT[powerpc64le] = "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512"
+TARGET_ENDIAN[powerpc64le] = "little"
+TARGET_POINTER_WIDTH[powerpc64le] = "64"
+TARGET_C_INT_WIDTH[powerpc64le] = "64"
+MAX_ATOMIC_WIDTH[powerpc64le] = "64"
+
+## riscv32-unknown-linux-{gnu, musl}
+DATA_LAYOUT[riscv32] = "e-m:e-p:32:32-i64:64-n32-S128"
+TARGET_ENDIAN[riscv32] = "little"
+TARGET_POINTER_WIDTH[riscv32] = "32"
+TARGET_C_INT_WIDTH[riscv32] = "32"
+MAX_ATOMIC_WIDTH[riscv32] = "32"
+
+## riscv64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[riscv64] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
+TARGET_ENDIAN[riscv64] = "little"
+TARGET_POINTER_WIDTH[riscv64] = "64"
+TARGET_C_INT_WIDTH[riscv64] = "64"
+MAX_ATOMIC_WIDTH[riscv64] = "64"
+
+# Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something
+# rust's internals won't choke on.
+def arch_to_rust_target_arch(arch):
+ if arch == "i586" or arch == "i686":
+ return "x86"
+ elif arch == "mipsel":
+ return "mips"
+ elif arch == "mip64sel":
+ return "mips64"
+ elif arch == "armv7":
+ return "arm"
+ elif arch == "powerpc64le":
+ return "powerpc64"
+ else:
+ return arch
+
+# generates our target CPU value
+def llvm_cpu(d):
+ cpu = d.getVar('PACKAGE_ARCH')
+ target = d.getVar('TRANSLATED_TARGET_ARCH')
+
+ trans = {}
+ trans['corei7-64'] = "corei7"
+ trans['core2-32'] = "core2"
+ trans['x86-64'] = "x86-64"
+ trans['i686'] = "i686"
+ trans['i586'] = "i586"
+ trans['powerpc'] = "powerpc"
+ trans['mips64'] = "mips64"
+ trans['mips64el'] = "mips64"
+ trans['riscv64'] = "generic-rv64"
+ trans['riscv32'] = "generic-rv32"
+
+ if target in ["mips", "mipsel"]:
+ feat = frozenset(d.getVar('TUNE_FEATURES').split())
+ if "mips32r2" in feat:
+ trans['mipsel'] = "mips32r2"
+ trans['mips'] = "mips32r2"
+ elif "mips32" in feat:
+ trans['mipsel'] = "mips32"
+ trans['mips'] = "mips32"
+
+ try:
+ return trans[cpu]
+ except:
+ return trans.get(target, "generic")
+
+llvm_cpu[vardepvalue] = "${@llvm_cpu(d)}"
+
+def rust_gen_target(d, thing, wd, arch):
+ import json
+ sys = d.getVar('{}_SYS'.format(thing))
+ prefix = d.getVar('{}_PREFIX'.format(thing))
+
+ abi = None
+ cpu = "generic"
+ features = ""
+
+ if thing == "TARGET":
+ abi = d.getVar('ABIEXTENSION')
+ cpu = llvm_cpu(d)
+ if bb.data.inherits_class('native', d):
+ features = ','.join(llvm_features_from_cc_arch(d))
+ else:
+ features = llvm_features(d) or ""
+ # arm and armv7 have different targets in llvm
+ if arch == "arm" and target_is_armv7(d):
+ arch = 'armv7'
+
+ rust_arch = oe.rust.arch_to_rust_arch(arch)
+
+ if abi:
+ arch_abi = "{}-{}".format(rust_arch, abi)
+ else:
+ arch_abi = rust_arch
+
+ features = features or d.getVarFlag('FEATURES', arch_abi) or ""
+ features = features.strip()
+
+ llvm_target = d.getVar('RUST_TARGET_SYS')
+ if thing == "BUILD":
+ llvm_target = d.getVar('RUST_HOST_SYS')
+
+ # build tspec
+ tspec = {}
+ tspec['llvm-target'] = llvm_target
+ tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch_abi)
+ tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch_abi))
+ tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch_abi)
+ tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch_abi)
+ tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch_abi)
+ tspec['arch'] = arch_to_rust_target_arch(rust_arch)
+ tspec['os'] = "linux"
+ if "musl" in tspec['llvm-target']:
+ tspec['env'] = "musl"
+ else:
+ tspec['env'] = "gnu"
+ if "riscv64" in tspec['llvm-target']:
+ tspec['llvm-abiname'] = "lp64d"
+ if "riscv32" in tspec['llvm-target']:
+ tspec['llvm-abiname'] = "ilp32d"
+ tspec['vendor'] = "unknown"
+ tspec['target-family'] = "unix"
+ tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix)
+ tspec['cpu'] = cpu
+ if features != "":
+ tspec['features'] = features
+ tspec['dynamic-linking'] = True
+ tspec['executables'] = True
+ tspec['linker-is-gnu'] = True
+ tspec['linker-flavor'] = "gcc"
+ tspec['has-rpath'] = True
+ tspec['has-elf-tls'] = True
+ tspec['position-independent-executables'] = True
+ tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
+
+ # write out the target spec json file
+ with open(wd + sys + '.json', 'w') as f:
+ json.dump(tspec, f, indent=4)
+
+# These are accounted for in tmpdir path names so don't need to be in the task sig
+rust_gen_target[vardepsexclude] += "RUST_HOST_SYS RUST_TARGET_SYS ABIEXTENSION llvm_cpu"
+
+do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES"
+
+RUST_TARGETGENS = "BUILD"
+
+python do_rust_gen_targets () {
+ wd = d.getVar('WORKDIR') + '/targets/'
+ # Order of BUILD, HOST, TARGET is important in case the files overwrite, most specific last
+ rust_gen_target(d, 'BUILD', wd, d.getVar('BUILD_ARCH'))
+ if "HOST" in d.getVar("RUST_TARGETGENS"):
+ rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH'))
+ if "TARGET" in d.getVar("RUST_TARGETGENS"):
+ rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_ARCH'))
+}
+
+addtask rust_gen_targets after do_patch before do_compile
+do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
+
diff --git a/poky/meta/classes/toolchain-scripts.bbclass b/poky/meta/classes/toolchain-scripts.bbclass
index 1d7c703748..16f1e17607 100644
--- a/poky/meta/classes/toolchain-scripts.bbclass
+++ b/poky/meta/classes/toolchain-scripts.bbclass
@@ -63,24 +63,46 @@ toolchain_create_sdk_env_script () {
toolchain_shared_env_script
}
-# This function creates an environment-setup-script in the TMPDIR which enables
+# This function creates an environment-setup-script in B which enables
# a OE-core IDE to integrate with the build tree
# Caller must ensure CONFIG_SITE is setup
toolchain_create_tree_env_script () {
- script=${TMPDIR}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
+ script=${B}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
rm -f $script
touch $script
+ echo 'standalone_sysroot_target="${STAGING_DIR}/${MACHINE}"' >> $script
+ echo 'standalone_sysroot_native="${STAGING_DIR}/${BUILD_ARCH}"' >> $script
echo 'orig=`pwd`; cd ${COREBASE}; . ./oe-init-build-env ${TOPDIR}; cd $orig' >> $script
- echo 'export PATH=${STAGING_DIR_NATIVE}/usr/bin:${STAGING_BINDIR_TOOLCHAIN}:$PATH' >> $script
- echo 'export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}' >> $script
- echo 'export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}' >> $script
+ echo 'export PATH=$standalone_sysroot_native/${bindir_native}:$standalone_sysroot_native/${bindir_native}/${TARGET_SYS}:$PATH' >> $script
+ echo 'export PKG_CONFIG_SYSROOT_DIR=$standalone_sysroot_target' >> $script
+ echo 'export PKG_CONFIG_PATH=$standalone_sysroot_target'"$libdir"'/pkgconfig:$standalone_sysroot_target'"$prefix"'/share/pkgconfig' >> $script
echo 'export CONFIG_SITE="${CONFIG_SITE}"' >> $script
- echo 'export SDKTARGETSYSROOT=${STAGING_DIR_TARGET}' >> $script
- echo 'export OECORE_NATIVE_SYSROOT="${STAGING_DIR_NATIVE}"' >> $script
- echo 'export OECORE_TARGET_SYSROOT="${STAGING_DIR_TARGET}"' >> $script
- echo 'export OECORE_ACLOCAL_OPTS="-I ${STAGING_DIR_NATIVE}/usr/share/aclocal"' >> $script
+ echo 'export SDKTARGETSYSROOT=$standalone_sysroot_target' >> $script
+ echo 'export OECORE_NATIVE_SYSROOT=$standalone_sysroot_native' >> $script
+ echo 'export OECORE_TARGET_SYSROOT=$standalone_sysroot_target' >> $script
+ echo 'export OECORE_ACLOCAL_OPTS="-I $standalone_sysroot_native/usr/share/aclocal"' >> $script
+ echo 'export OECORE_BASELIB="${baselib}"' >> $script
+ echo 'export OECORE_TARGET_ARCH="${TARGET_ARCH}"' >>$script
+ echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script
toolchain_shared_env_script
+
+ cat >> $script <<EOF
+
+if [ -d "\$OECORE_NATIVE_SYSROOT/${datadir}/post-relocate-setup.d/" ]; then
+ for s in \$OECORE_NATIVE_SYSROOT/${datadir}/post-relocate-setup.d/*; do
+ if [ ! -x \$s ]; then
+ continue
+ fi
+ \$s "\$1"
+ status=\$?
+ if [ \$status != 0 ]; then
+ echo "post-relocate command \"\$s \$1\" failed with status \$status" >&2
+ exit \$status
+ fi
+ done
+fi
+EOF
}
toolchain_shared_env_script () {
diff --git a/poky/meta/classes/uboot-config.bbclass b/poky/meta/classes/uboot-config.bbclass
index b9ad35821a..e8da8c7452 100644
--- a/poky/meta/classes/uboot-config.bbclass
+++ b/poky/meta/classes/uboot-config.bbclass
@@ -125,5 +125,6 @@ python () {
else:
bb.debug(1, "Appending '%s' to UBOOT_BINARIES." % ubootbinary)
d.appendVar('UBOOT_BINARIES', ' ' + ubootbinary)
- break
+ return
+ raise bb.parse.SkipRecipe("The selected UBOOT_CONFIG key %s has no match in %s." % (ubootconfig, ubootconfigflags.keys()))
}
diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass
index 31ffe1f472..eecdec9160 100644
--- a/poky/meta/classes/uboot-sign.bbclass
+++ b/poky/meta/classes/uboot-sign.bbclass
@@ -73,6 +73,9 @@ UBOOT_FIT_HASH_ALG ?= "sha256"
FIT_SIGN_ALG ?= "rsa2048"
UBOOT_FIT_SIGN_ALG ?= "rsa2048"
+# Kernel / U-Boot fitImage Padding Algo
+FIT_PAD_ALG ?= "pkcs-1.5"
+
# Generate keys for signing Kernel / U-Boot fitImage
FIT_GENERATE_KEYS ?= "0"
UBOOT_FIT_GENERATE_KEYS ?= "0"