summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2021-09-03 05:05:58 +0300
committerAndrew Geissler <geissonator@yahoo.com>2021-09-04 17:46:34 +0300
commitd159c7fb39550d7348052766f46e51b26d3fd4cc (patch)
treef719f75759697649453e6bed883c54bae951eb74
parent5b587cab386c4691eefa4885b9fd30794934c106 (diff)
downloadopenbmc-d159c7fb39550d7348052766f46e51b26d3fd4cc.tar.xz
subtree updates
poky: 94dfcaff64..359e1cb62f: Alexander Kanavin (76): tcf-agent: fetching over git:// no longer works lighttpd: convert from autotools to meson libxcrypt: upgrade 4.4.23 -> 4.4.25 python3-cython: upgrade 0.29.23 -> 0.29.24 python3-numpy: upgrade 1.21.0 -> 1.21.2 systemd: upgrade 249.1 -> 249.3 xeyes: upgrade 1.1.2 -> 1.2.0 btrfs-tools: update 5.13 -> 5.13.1 diffutils: update 3.7 -> 3.8 mc: update 4.8.26 - > 4.8.27 libsdl2: update 2.0.14 -> 2.0.16 vulkan-samples: update to latest revision pulseaudio: update 14.2 -> 15.0 libjitterentropy: update 3.0.2 -> 3.1.0 usbutils: upgrade 013 -> 014 inetutils: upgrade 2.0 -> 2.1 mobile-broadband-provider-info: upgrade 20201225 -> 20210805 glib-networking: upgrade 2.68.1 -> 2.68.2 e2fsprogs: upgrade 1.46.2 -> 1.46.4 help2man: upgrade 1.48.3 -> 1.48.4 libedit: upgrade 20210522-3.1 -> 20210714-3.1 log4cplus: upgrade 2.0.6 -> 2.0.7 mtools: upgrade 4.0.34 -> 4.0.35 patchelf: upgrade 0.12 -> 0.13 pkgconf: upgrade 1.7.4 -> 1.8.0 python3-git: upgrade 3.1.18 -> 3.1.20 python3-pip: upgrade 21.2.1 -> 21.2.4 python3-pygments: upgrade 2.9.0 -> 2.10.0 python3-setuptools: upgrade 57.1.0 -> 57.4.0 squashfs-tools: upgrade 4.4 -> 4.5 acpica: upgrade 20210331 -> 20210730 libidn2: upgrade 2.3.1 -> 2.3.2 stress-ng: upgrade 0.12.12 -> 0.13.00 sudo: upgrade 1.9.7p1 -> 1.9.7p2 epiphany: upgrade 40.2 -> 40.3 libgudev: upgrade 236 -> 237 libjpeg-turbo: upgrade 2.1.0 -> 2.1.1 libepoxy: upgrade 1.5.8 -> 1.5.9 pango: upgrade 1.48.7 -> 1.48.9 mesa: upgrade 21.1.5 -> 21.2.1 libinput: upgrade 1.18.0 -> 1.18.1 libxfont2: upgrade 2.0.4 -> 2.0.5 libxft: upgrade 2.3.3 -> 2.3.4 xserver-xorg: upgrade 1.20.12 -> 1.20.13 linux-firmware: upgrade 20210511 -> 20210818 wireless-regdb: upgrade 2021.04.21 -> 2021.07.14 libwebp: upgrade 1.2.0 -> 1.2.1 webkitgtk: upgrade 2.32.2 -> 2.32.3 boost: upgrade 1.76.0 -> 1.77.0 diffoscope: upgrade 179 -> 181 enchant2: upgrade 2.3.0 -> 2.3.1 re2c: upgrade 2.1.1 -> 2.2 rng-tools: upgrade 6.13 -> 6.14 kea: backport a patch to fix build errors exposed by latest update batch qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absent mc: fix reproducibility libjitterentropy: remove contaminated hashequiv entry binutils: drop target flex/bison from build dependencies gnu-efi: update 3.0.13 -> 3.0.14 glib-2.0: upgrade 2.68.3 -> 2.68.4 util-linux: upgrade 2.37.1 -> 2.37.2 ccache: upgrade 4.3 -> 4.4 git: upgrade 2.32.0 -> 2.33.0 openssh: upgrade 8.6p1 -> 8.7p1 ell: upgrade 0.42 -> 0.43 python3-mako: upgrade 1.1.4 -> 1.1.5 vala: upgrade 0.52.4 -> 0.52.5 libnsl2: upgrade 1.3.0 -> 2.0.0 gi-docgen: upgrade 2021.6 -> 2021.7 json-glib: upgrade 1.6.2 -> 1.6.4 bind: upgrade 9.16.19 -> 9.16.20 harfbuzz: upgrade 2.8.2 -> 2.9.0 qemurunner.py: print output from runqemu/qemu-system in stop() qemurunner.py: handle getOutput() having nothing to read rust: fix upstream version checks mesa: enable crocus driver for older intel graphics Andreas Müller (2): mesa: upgrade 21.1.5 -> 21.1.7 binutils: Apply upstream patch to fix 'too many open files' on qtwebengine Andrej Valek (2): busybox: 1.33.1 -> 1.34.0 vim: add option to disable NLS support Andres Beltran (2): buildhistory: Add output file listing package information buildhistory: Label packages providing per-file dependencies in depends.dot Andrey Zhizhikin (2): lttng-modules: do not search in non-existing folder during install nativesdk-packagegroup-sdk-host: add perl integer module Armin Kuster (2): lz4: Security Fix for CVE-2021-3520 lz4: remove rest of ptest artifacts Bruce Ashfield (21): linux-yocto/5.13: update to v5.13.7 linux-yocto/5.4: update to v5.4.137 linux-yocto/5.10: update to v5.10.55 linux-yocto/5.4: update to v5.4.139 linux-yocto/5.10: update to v5.10.57 linux-yocto/5.13: update to v5.13.9 linux-yocto/5.4: remove recipes conf/machine: bump qemu preferred versions to 5.13 linux-yocto-dev: bump to v5.14+ lttng-modules: update to 2.13.0 kernel-devsrc: 5.14+ updates kernel-devsrc: fix 5.14+ objtool compilation poky/poky-tiny: set default kernel to 5.13 poky: set default kernel to 5.13 yocto-bsp: drop 5.4 bbappend poky-alt: switch default kernel to 5.10 linux-yocto/5.13: update to v5.13.11 linux-yocto/5.10: update to v5.10.59 linux-yocto/5.13: update to v5.13.12 linux-yocto/5.10: update to v5.10.60 parselogs.py: ignore intermittent CD/DVDROM identification failure Chen Qi (1): package_rpm/update-alternatives: fix package's provides Daniel Gomez (2): wic: Add --no-fstab-update part option oeqa: wic: Add tests for --no-fstab-update Denys Dmytriyenko (1): grep: upgrade 3.6 -> 3.7 Enrico Scholz (1): bitbake: fetch2/wget: fix 'no_proxy' handling Hongxu Jia (2): nativesdk-pseudo: Fix to work with glibc 2.34 systems glibc: fix create thread failed in unprivileged process Hsia-Jun Li (1): lib/oe/elf: Add Android OS to machine_dict Jon Mason (8): arch-armv8m-main: missing space conf/machine: move tune files to architecture directories yocto-bsp: update machine confs with new tune locations docs: update docs with new tune locations arch-arm*: add better support for gcc march extensions tune-cortexr*: add support for all Arm Cortex-R processors arch-arm*: Fix bugs with dsp and simd feature include files tune-*: Use more specific DEFAULTTUNE Jose Quaresma (1): sstate.bbclass: get the number of threads from BB_NUMBER_THREADS Joshua Watt (17): bitbake: contrib: vim: Add "remove" override highlighting bitbake.conf: Add lz4c, pzstd and zstd bitbake: bitbake: asyncrpc: Defer all asyncio to child process conf/licenses: Add FreeType SPDX mapping tzdata: Remove BSD License specifier glib-2.0: Use specific BSD license variant e2fsprogs: Use specific BSD license variant shadow: Use specific BSD license variant libcap: Use specific BSD license variant sudo: Use specific BSD license variant libpam: Use specific BSD license variant libxfont2: Use specific BSD license variant libjitterentropy: Use specific BSD license variant libx11: Use specific BSD license variant font-util: Use specific BSD license variant flac: Use specific BSD license variant swig: Use specific BSD license variant Kai Kang (2): libcgroup: fix installed-vs-shipped qa issue rustfmt: fix SRC_URI Kevin Hao (2): meta-yocto-bsp: Set the default kernel to v5.13 meta-yocto-bsp: Bump the kernel to v5.13.11 Khem Raj (2): weston: Re-order gbm destruction at DRM-backend tear down musl: Update to latest tip of trunk Kristian Klausen (1): systemd: Add repart PACKAGECONFIG Marco Felsch (1): bitbake: bitbake: bitbake-layers: add skip reason to output Marek Vasut (1): weston: Add rdp PACKAGECONFIG Marta Rybczynska (1): lzo: add CVE_PRODUCT Martin Jansa (3): bitbake: prserv: handle PRSERV_HOST = "127.0.0.1:0" the same as "localhost:0" bitbake: cooker/process: Fix typos in exiting message rust: remove unused patches Michael Halstead (2): uninative: Upgrade to 3.3, support glibc 2.34 uninative: Upgrade to 3.4 Michael Opdenacker (2): maintainers.inc: maintainer for alsa-*, flac, lame and speex meta: stop using "virtual/" in RPROVIDES and RDEPENDS Mingli Yu (2): shadow: fix default value in SHA_get_salt_rounds() bitbake: prserv: make localhost work Oleksandr Popovych (1): utils: Reduce the number of calls to the "dirname" command Oliver Kranz (1): Allow global override of golang GO_DYNLINK Paul Barker (2): bitbake: prserv: Replace XML RPC with modern asyncrpc implementation bitbake: prserv: Add read-only mode Paul Gortmaker (1): ltp: backport ioctl_ns05 fix from upstream Peter Kjellerstedt (7): lttng-modules: Make it build when CONFIG_TRACEPOINTS is not enabled again poky-floating-revisions.inc: Use new override syntax for commented vars local.conf.sample: Use the new override syntax for a commented variable bitbake.conf: Use the new variable override syntax in a comment buildhistory-collect-srcrevs: Adapt to the new variable override syntax meson.bbclass: Make the default buildtype "debug" if DEBUG_BUILD is 1 bitbake: providers: Use new override syntax when handling pn- "override" Purushottam Choudhary (1): assimp: added patch to fix hardcoded non-existing paths in CMake modules Randy MacLeod (8): openssl: upgrade from 1.1.1k to 1.1.1l rust: initial merge of most of meta-rust rust: mv README.md to recipes-devtools/rust/README-rust.md rust: update the README to conform to being in oe-core cargo/rust/rustfmt: exclude from world maintainers: Add myself as maintainer for rust pkgs cargo_common: remove http_proxy rust: remove Rust version 1.51.0 toolchain Richard Purdie (27): elfutils: Add zstd PACKAGECONFIG for determinism man-db: Add compression PACKAGECONFIG entries oeqa/selftest/glibc: Handle incorrect encoding issuesin glibc test results package/scripts: Fix FILES_INFO handling package: Fix overrides converion issue with PKGSIZE bitbake: bitbake: Make 3.6.0 the minimum python version elfutils: Fix ptest dependencies bsp-guide: Fix reference to bbappend section of dev-manual ref-manual: Fix reference to bbappend section of dev-manual gcc: Fix nativesdk builds and multilib fixes with gcc 11 bitbake: README: Add note about test suite and new tests pseudo: Fix to work with glibc 2.34 systems bitbake: README: Fix typo rust-cross*: Fix OVERRRIDE references in task signature computation rust-cross-canadian-common: Use rust.inc directly, not rust-target cargo: Ensure cargo-cross-canadian doesn't have native/nativesdk versions rust-native: Avoid stripped warning rust-llvm: Add missing HOMEPAGE rust: Skip target recipe since it doesn't work oeqa/selftest/distrodata: Fix up rust maintainer testing rust: Avoid buildtools+uninative issues with glibc symbols mismatches rust-common: Add LDFLAGS to cc wrapper oeqa/selftest/reproducibile: Exclude rust packages kernel: Use unexpanded EXTENDPKGV oeqa/buildtools-cases: Allow bitbake time to shutdown cargo: Apply uninative fix to snapshot as with rust rust-common: Hack around LD_LIBRARY_PATH issues on centos7 Robert P. J. Day (1): scripts/lib/wic/help/py: "Redhat" -> "Red Hat" Ross Burton (11): oeqa/selftest/buildoptions: test buildhistory PKGSIZE and FILELIST fields uninative: Improve glob to handle glibc 2.34 oeqa/sdk: add relocation test for buildtools glibc: package the stub .a libaries into glibc-dev oeqa/sdk: add HTTPS test for buildtools libcgroup: upgrade to 2.0 gcc: also relocate the musl loader local.conf.sample.extended: fix commented-out override syntax cpio: backport fix for CVE-2021-38185 mesa: fix build on Arm V5 with soft float ptest: allow the ptest-packagelists.inc warning to be disabled Sakib Sajal (1): qemu: fix CVE-2021-3682 Scott Murray (2): bitbake: bitbake: asyncrpc: always create new asyncio loops prservice: remove connection caching Stefan Herbrechtsmeier (4): u-boot: Remove redundancy from installed and deployed SPL artifact names u-boot: Remove misplaced configuration type variable u-boot: Make SPL suffix configurable u-boot: Make UBOOT_BINARYNAME configurable Tim Orling (7): python3-importlib-metadata: upgrade 4.6.3 -> 4.6.4 python3-hypothesis: upgrade 6.14.5 -> 6.14.8 python3-hypothesis: upgrade 6.14.8 -> 6.15.0 python3-hypothesis: enable ptest python3-pluggy: upgrade 0.13.1 -> 1.0.0 python3-pytest: allow python3-pluggy >=1.0.0 rust-common.bbclass: export RUST_TARGET_PATH Trevor Gamblin (1): bluez: upgrade 5.60 -> 5.61 Trevor Woerner (1): distro_features_check: expand with IMAGE_FEATURES Vinay Kumar (2): glibc: Fix CVE-2021-38604 rust-common.inc: Fix build failure with qemuppc64. Yi Zhao (2): prelink: add PACKAGECONFIG for selinux shadow: add /etc/default/useradd Zoltán Böszörményi (4): kernel-module-split.bbclass: Support zstd-compressed modules Allow opt-out of split kernel modules kernel.bbclass: Use full versions for inter-package dependencies base/kernel: Support zstd-compressed squashfs and cpio initramfs leimaohui (2): Fix conflict error when enable multilib. wordsize.h: Fix a miss, this file in arm and aarch64 should be the same. meta-raspberrypi: 32921fc9bd..a6fa6b3aec: Khem Raj (4): machines: Use tune files from new location in oe-core linux-raspberrypi: Update to 5.10.59 raspberrypi-firmware: Update to latest raspberrypi4: Use full kms (vc4-kms-v3d) DT overlay Marcus Comstedt (1): pi-bluetooth: Add compatibility with non-systemd builds Tom Rini (1): xserver-xf86-config: Correctly append to FILES:${PN} meta-security: c885d399cd..1f18c623e9: Armin Kuster (10): cryfs: add new package kas-security-bas: bump conf value kas: fix DISTRO appends dm-verity-img.bbclass: more overided fixups krill: Rust is in core now suricata: rust is in core layer.conf: drop dynamic-layer layer.conf: drop meta-rust harden-image-minimal: fix useradd inherit kas: remove rust layers Daiane Angolini (1): meta-integrity: kernel-modsign: Change weak default value George Liu (1): meta: Fix typos Marta Rybczynska (2): README: fix mailing lists README: fix mailing lists and a typo meta-openembedded: a13db91f19..9fdc7960ba: Andreas Müller (6): catch2: upgrade 2.13.6 -> 2.13.7 fltk/CMake: Do not export executable 'fluid' fltk: upgrade 1.3.6 -> 1.3.7 network-manager-applet: upgrade 1.22.0 -> 1.24.0 networkmanager: upgrade 1.32.4 -> 1.32.8 udisks2: upgrade 2.9.2 -> 2.9.3 Anton Blanchard (2): boost-url: Use GNUInstallDirs instead of hard wiring install directories cereal: Use GNUInstallDirs instead of hard wiring install directories Changqing Li (1): linuxptp: upgrade 3.1 -> 3.1.1 Devendra Tewari (1): android-tools: Add flag to enable adbd service (#147) Dmitry Baryshkov (1): image_types_sparse: stop using ext2simg Easwar Hariharan (1): chrony: Fix privdrop packageconfig Joe Slater (1): nginx: fix CVE-2021-3618 Justin Bronder (1): hidapi: add rdep on glibc-gconv-utf-16 Khem Raj (7): layer.conf: Add ttf-ipa to SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS on fontconfig mpich: link explictly with libgcc packagegroup-meta-networking: Add bmon libnss-nisplus: Remove pipewire: Upgrade to 0.3.34 bluealsa: Add recipe apitrace: Enable on glibc >= 2.34 Leon Anavi (21): python3-astroid: Upgrade 2.6.6 -> 2.7.0 python3-ujson: Upgrade 4.0.2 -> 4.1.0 python3-pycurl: Upgrade 7.44.0 -> 7.44.1 python3-websocket-client: Upgrade 1.1.0 -> 1.2.1 python3-bitarray: Upgrade 2.2.5 -> 2.3.0 python3-langtable: Upgrade 0.0.54 -> 0.0.56 python3-pandas: Upgrade 1.3.1 -> 1.3.2 python3-tzlocal: Upgrade 2.1 -> 3.0 python3-zeroconf: Upgrade 0.34.3 -> 0.36.0 python3-dbus-next: Upgrade 0.2.2 -> 0.2.3 python3-astroid: Upgrade 2.7.0 -> 2.7.1 python3-ruamel-yaml: Upgrade 0.17.10 -> 0.17.11 python3-unidiff: Upgrade 0.6.0 -> 0.7.0 python3-qrcode: Upgrade 7.2 -> 7.3 python3-simplejson: Upgrade 3.17.3 -> 3.17.4 python3-regex: Upgrade 2021.7.6 -> 2021.8.3 python3-colorlog: Upgrade 5.0.1 -> 6.4.1 python3-ruamel-yaml: Upgrade 0.17.11 -> 0.17.13 python3-simplejson: Upgrade 3.17.4 -> 3.17.5 python3-bitarray: Upgrade 2.3.0 -> 2.3.2 python3-watchdog: Upgrade 2.1.3 -> 2.1.5 Martin Jansa (1): layer.conf: Add ttf-takao to SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS on fontconfig Matija Tudan (1): gpsd: upgrade 3.20 -> 3.23 Matteo Croce (1): libbpf: bump to 0.4.0 Michael Opdenacker (2): meta-multimedia: stop using "virtual/" in RPROVIDES and RDEPENDS meta-oe: stop using "virtual/" in RPROVIDES and RDEPENDS Mingli Yu (4): polkit: fix CVE-2021-3560 vsftpd: Upgrade to 3.0.5 mariadb: Upgrade to 10.6.4 jemalloc: improve reproducibility Nathan Rossi (1): nginx: Fix off_t size passed in configure Oleksandr Kravchuk (6): font-adobe-100dpi: fix UPSTREAM_CHECK_REGEX font-adobe-utopia-100dpi: fix UPSTREAM_CHECK_REGEX font-bh-100dpi: fix UPSTREAM_CHECK_REGEX font-bh-lucidatypewriter-100dpi: fix UPSTREAM_CHECK_REGEX font-bitstream-100dpi: fix UPSTREAM_CHECK_REGEX xf86-input-tslib: update to 1.1.1 Patrick Areny (2): libConfuse: Add recipe bmon: Add recipe Peter Kjellerstedt (6): gpsd: Let scons install the udev and systemd files gpsd: Move /usr/share/gpsd/doc to the gpsd-doc package poppler: Explicitly enable/disable boost together with splash chrony: Use new override syntax for USERADD_PARAM gpsd: Correct the installation of gpsd.hotplug if systemd is not enabled gpsd: Do not install gpsd.hotplug unconditionally Peter Morrow (1): libbpf: remove stale comment Sakib Sajal (2): lmdb: use libprefix in Makefile to install libraries gd: fix CVE-2021-38115 Sinan Kaya (4): c-ares: remove custom patches grpc: make SHARED library build optional libkcapi: add a hash only packageconfig libkcapi: allow an option to build natively Tim Orling (2): bootchart: drop; unfetchable python3-django_2.2.x: only check upstream 2.2.x Trevor Gamblin (5): python3-click: Add missing ptest artifacts python3-eventlet: add 0.30.2 to meta-python python3-gunicorn: tweak run-ptest, add RDEPENDS python3-license-expression: add ptest artifacts nftables: upgrade 0.9.9 -> 1.0.0 Vesa Jääskeläinen (2): python3-cached-property: Add recipe for version 1.5.2 python3-pkcs11: Add recipe for version 0.7.0 Yi Zhao (2): audit: upgrade 3.0.4 -> 3.0.5 krb5: filtering out -f*-prefix-map from krb5-config Zoltán Böszörményi (1): metacity: Add a patch to create build/src/core before moving generated sources to it leimaohui (3): packagegroup-meta-oe: Update ttf-ipa package name. uim: Dleted takao fonts from DEPENDS. takao-fonts: It should be in ttf-fonts directory as the other ttf fonts. wangmy (14): fetchmail: upgrade 6.4.20 -> 6.4.21 c-ares: upgrade 1.17.1 -> 1.17.2 icewm: upgrade 2.6.0 -> 2.7.0 netplan: upgrade 0.102 -> 0.103 ctags: upgrade 5.9.20210801.0 -> 5.9.20210815.0 live555: upgrade 20210720 -> 20210809 opensc: upgrade 0.21.0 -> 0.22.0 xfsprogs: upgrade 5.12.0 -> 5.13.0 networkmanager: upgrade 1.32.8 -> 1.32.10 can-utils: upgrade 2021.06.0 -> 2021.08.0 doxygen: upgrade 1.9.1 -> 1.9.2 gensio: upgrade 2.2.8 -> 2.2.9 live555: upgrade 20210809 -> 20210824 sedutil: upgrade 1.15.1.01 -> 1.20.0 zangrc (14): python3-flask-migrate: upgrade 3.0.1 -> 3.1.0 python3-flask-socketio: upgrade 5.1.0 -> 5.1.1 python3-google-api-python-client: upgrade 2.15.0 -> 2.17.0 python3-grpcio-tools: upgrade 1.38.1 -> 1.39.0 python3-grpcio: upgrade 1.38.1 -> 1.39.0 python3-wheel: upgrade 0.36.2 -> 0.37.0 libio-socket-ssl-perl: upgrade 2.071 -> 2.072 python3-aiohttp-jinja2: upgrade 1.4.2 -> 1.5 python3-gevent: upgrade 21.1.2 -> 21.8.0 python3-google-api-python-client: upgrade 2.17.0 -> 2.18.0 python3-h5py: upgrade 3.3.0 -> 3.4.0 python3-haversine: upgrade 2.3.1 -> 2.4.0 python3-pyephem: upgrade 3.7.7.1 -> 4.0.0.2 rdma-core: upgrade 35.0 -> 36.0 zhengruoqin (12): libqmi: upgrade 1.28.8 -> 1.30.0 sedutil: upgrade 1.15.1 -> 1.15.1.01 libencode-perl: upgrade 3.11 -> 3.12 python3-pymisp: upgrade 2.4.144 -> 2.4.148 python3-pyzmq: upgrade 22.1.0 -> 22.2.1 python3-tqdm: upgrade 4.62.0 -> 4.62.2 iwd: upgrade 1.16 -> 1.17 xmlsec1: upgrade 1.2.31 -> 1.2.32 xrdb: upgrade 1.2.0 -> 1.2.1 python3-regex: upgrade 2021.8.3 -> 2021.8.27 python3-sqlalchemy: upgrade 1.4.22 -> 1.4.23 python3-stevedore: upgrade 3.3.0 -> 3.4.0 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I2960f1ce53a1e2cde8b03b929829db9a2f105541
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb (renamed from meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb (renamed from meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb)2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch65
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb5
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service11
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb39
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb1
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb (renamed from meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb)12
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch34
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-parse-nm-fix-32bit-format-string.patch25
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.103.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb)11
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.10.bb (renamed from meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch51
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch46
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch (renamed from meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-destdir.patch (renamed from meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-libs.patch (renamed from meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-strip.patch (renamed from meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam-with-tcp_wrappers.patch (renamed from meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam.patch (renamed from meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-2.1.0-filter.patch (renamed from meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-tcp_wrappers-support.patch (renamed from meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch)0
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb (renamed from meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb)5
-rw-r--r--meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.0.bb (renamed from meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/bmon/bmon_2.1.0.bb12
-rw-r--r--meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb11
-rw-r--r--meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb (renamed from meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.20.bb)2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libconfuse/libconfuse_3.3.bb14
-rw-r--r--meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb (renamed from meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/classes/image_types_sparse.bbclass12
-rw-r--r--meta-openembedded/meta-oe/conf/layer.conf4
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.9.bb (renamed from meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.8.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.17.bb (renamed from meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.0.bb (renamed from meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.8.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb (renamed from meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb)5
-rw-r--r--meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb9
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.6.4.bb (renamed from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.11.bb)0
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc6
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch14
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch19
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.6.4.bb (renamed from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.11.bb)0
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-Workaround-glibc-2.34-build-failure-by-disabling-dls.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-libbacktrace-include-config.h.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_10.0.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch57
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch49
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart_git.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210815.0.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210801.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.9.2.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.9.1.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.38.1.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.7.0.bb (renamed from meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.6.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb31
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2021-3560.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sedutil/sedutil_git.bb9
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb (renamed from meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb)16
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.1.bb (renamed from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb)3
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_367.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb (renamed from meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb)8
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.4.bb (renamed from meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb)11
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210824.bb (renamed from meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210720.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch108
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch79
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.bb (renamed from meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb)53
-rw-r--r--meta-openembedded/meta-oe/recipes-security/audit/audit/0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch132
-rw-r--r--meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.5.bb (renamed from meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.4.bb)3
-rw-r--r--meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch77
-rw-r--r--meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.17.2.bb (renamed from meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.17.1.bb)10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libcereal/libcereal/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch37
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.22.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.21.0.bb)2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.08.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.3.bb (renamed from meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb)4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.32.bb (renamed from meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.31.bb)3
-rw-r--r--meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb (renamed from meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.6.bb)2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.12.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.11.bb)2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.072.bb (renamed from meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.071.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.4.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.7.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.6.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.5.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cached-property_1.5.2.bb12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.0.1.bb6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_5.0.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.2.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.2.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.24.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.30.2.bb12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.1.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.0.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.8.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.1.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.18.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.15.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.39.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.38.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.39.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn/run-ptest4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.4.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.3.0.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.4.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.56.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.54.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_21.6.14.bb6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.1.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pkcs11_0.7.0.bb25
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.148.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.144.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.2.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.1.0.bb)7
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-qrcode_7.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-qrcode_7.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.8.27.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.7.6.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.13.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.10.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.5.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.3.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.23.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.22.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.4.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.3.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.0.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_3.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_2.1.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.1.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.0.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.6.0.bb)3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.5.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.3.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.2.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.1.0.bb)7
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.37.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.36.2.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.36.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.34.3.bb)2
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.0.0.2.bb (renamed from meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_3.7.7.1.bb)6
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/files/CVE-2021-3618.patch107
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc2
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.20.1.bb2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi-cm3.conf2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi2.conf2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi3-64.conf2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi3.conf2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi4-64.conf4
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi4.conf4
-rw-r--r--meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc6
-rw-r--r--meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb12
-rw-r--r--meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend2
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb6
-rw-r--r--meta-security/classes/dm-verity-img.bbclass4
-rw-r--r--meta-security/classes/sanity-meta-security.bbclass2
-rw-r--r--meta-security/conf/layer.conf4
-rw-r--r--meta-security/kas/kas-security-base.yml13
-rw-r--r--meta-security/kas/kas-security-dm.yml1
-rw-r--r--meta-security/kas/kas-security-parsec.yml4
-rw-r--r--meta-security/meta-hardening/README6
-rw-r--r--meta-security/meta-hardening/recipes-core/images/harden-image-minimal.bb11
-rw-r--r--meta-security/meta-integrity/classes/kernel-modsign.bbclass2
-rw-r--r--meta-security/meta-parsec/conf/layer.conf2
-rw-r--r--meta-security/meta-tpm/README8
-rw-r--r--meta-security/recipes-ids/suricata/files/fixup.patch (renamed from meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/fixup.patch)0
-rw-r--r--meta-security/recipes-ids/suricata/files/run-ptest (renamed from meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/run-ptest)0
-rw-r--r--meta-security/recipes-ids/suricata/files/suricata.service (renamed from meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.service)0
-rw-r--r--meta-security/recipes-ids/suricata/files/suricata.yaml (renamed from meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.yaml)0
-rw-r--r--meta-security/recipes-ids/suricata/files/tmpfiles.suricata (renamed from meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/tmpfiles.suricata)0
-rw-r--r--meta-security/recipes-ids/suricata/files/volatiles.03_suricata (renamed from meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/volatiles.03_suricata)0
-rw-r--r--meta-security/recipes-ids/suricata/libhtp_0.5.38.bb (renamed from meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/libhtp_0.5.38.bb)0
-rw-r--r--meta-security/recipes-ids/suricata/suricata.inc (renamed from meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata.inc)0
-rw-r--r--meta-security/recipes-ids/suricata/suricata_6.0.3.bb (renamed from meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata_6.0.3.bb)0
-rw-r--r--meta-security/recipes-security/cryfs/cryfs_0.10.3.bb10
-rw-r--r--meta-security/recipes-security/krill/files/panic_workaround.patch (renamed from meta-security/dynamic-layers/meta-rust/recipes-security/krill/files/panic_workaround.patch)0
-rw-r--r--meta-security/recipes-security/krill/krill.inc (renamed from meta-security/dynamic-layers/meta-rust/recipes-security/krill/krill.inc)0
-rw-r--r--meta-security/recipes-security/krill/krill_0.9.1.bb (renamed from meta-security/dynamic-layers/meta-rust/recipes-security/krill/krill_0.9.1.bb)0
-rw-r--r--poky/bitbake/README8
-rwxr-xr-xpoky/bitbake/bin/bitbake-prserv4
-rwxr-xr-xpoky/bitbake/bin/bitbake-worker2
-rw-r--r--poky/bitbake/contrib/vim/syntax/bitbake.vim2
-rw-r--r--poky/bitbake/lib/bb/__init__.py4
-rw-r--r--poky/bitbake/lib/bb/asyncrpc/client.py10
-rw-r--r--poky/bitbake/lib/bb/asyncrpc/serv.py134
-rw-r--r--poky/bitbake/lib/bb/cooker.py2
-rw-r--r--poky/bitbake/lib/bb/fetch2/wget.py87
-rw-r--r--poky/bitbake/lib/bb/providers.py2
-rw-r--r--poky/bitbake/lib/bb/server/process.py2
-rw-r--r--poky/bitbake/lib/bblayers/query.py2
-rw-r--r--poky/bitbake/lib/hashserv/server.py4
-rw-r--r--poky/bitbake/lib/prserv/client.py48
-rw-r--r--poky/bitbake/lib/prserv/db.py65
-rw-r--r--poky/bitbake/lib/prserv/serv.py257
-rw-r--r--poky/documentation/bsp-guide/bsp.rst10
-rw-r--r--poky/documentation/dev-manual/common-tasks.rst2
-rw-r--r--poky/documentation/ref-manual/terms.rst4
-rw-r--r--poky/documentation/ref-manual/variables.rst2
-rw-r--r--poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc2
-rw-r--r--poky/meta-poky/conf/distro/include/poky-floating-revisions.inc10
-rw-r--r--poky/meta-poky/conf/distro/poky-tiny.conf2
-rw-r--r--poky/meta-poky/conf/distro/poky.conf4
-rw-r--r--poky/meta-poky/conf/local.conf.sample2
-rw-r--r--poky/meta-poky/conf/local.conf.sample.extended4
-rw-r--r--poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf4
-rw-r--r--poky/meta-yocto-bsp/conf/machine/edgerouter.conf4
-rw-r--r--poky/meta-yocto-bsp/conf/machine/genericx86-64.conf2
-rw-r--r--poky/meta-yocto-bsp/conf/machine/genericx86.conf2
-rw-r--r--poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc6
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.13.bbappend16
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend23
-rw-r--r--poky/meta/classes/base.bbclass4
-rw-r--r--poky/meta/classes/buildhistory.bbclass9
-rw-r--r--poky/meta/classes/cargo.bbclass89
-rw-r--r--poky/meta/classes/cargo_common.bbclass125
-rw-r--r--poky/meta/classes/crate-fetch.bbclass13
-rw-r--r--poky/meta/classes/features_check.bbclass4
-rw-r--r--poky/meta/classes/goarch.bbclass14
-rw-r--r--poky/meta/classes/image_types.bbclass6
-rw-r--r--poky/meta/classes/insane.bbclass6
-rw-r--r--poky/meta/classes/kernel-fitimage.bbclass2
-rw-r--r--poky/meta/classes/kernel-module-split.bbclass28
-rw-r--r--poky/meta/classes/kernel.bbclass25
-rw-r--r--poky/meta/classes/license_image.bbclass2
-rw-r--r--poky/meta/classes/meson.bbclass3
-rw-r--r--poky/meta/classes/package.bbclass9
-rw-r--r--poky/meta/classes/package_rpm.bbclass8
-rw-r--r--poky/meta/classes/ptest.bbclass10
-rw-r--r--poky/meta/classes/rust-bin.bbclass149
-rw-r--r--poky/meta/classes/rust-common.bbclass180
-rw-r--r--poky/meta/classes/rust.bbclass45
-rw-r--r--poky/meta/classes/sstate.bbclass5
-rw-r--r--poky/meta/classes/toaster.bbclass2
-rw-r--r--poky/meta/classes/uboot-config.bbclass18
-rw-r--r--poky/meta/classes/uninative.bbclass2
-rw-r--r--poky/meta/classes/update-alternatives.bbclass6
-rw-r--r--poky/meta/classes/utils.bbclass2
-rw-r--r--poky/meta/conf/bitbake.conf16
-rw-r--r--poky/meta/conf/distro/include/maintainers.inc32
-rw-r--r--poky/meta/conf/distro/include/ptest-packagelists.inc1
-rw-r--r--poky/meta/conf/distro/include/rust_security_flags.inc7
-rw-r--r--poky/meta/conf/distro/include/rust_versions.inc13
-rw-r--r--poky/meta/conf/distro/include/yocto-uninative.inc10
-rw-r--r--poky/meta/conf/licenses.conf1
-rw-r--r--poky/meta/conf/machine/include/arm/arch-arm.inc4
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv4.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc1
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv5.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv6.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv6m.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7a.inc3
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7em.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7m.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7r.inc22
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv7ve.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8-2a.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8a.inc8
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8m-base.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8m-main.inc16
-rw-r--r--poky/meta/conf/machine/include/arm/arch-armv8r.inc37
-rw-r--r--poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc (renamed from poky/meta/conf/machine/include/tune-arm920t.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc (renamed from poky/meta/conf/machine/include/tune-arm9tdmi.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc (renamed from poky/meta/conf/machine/include/tune-ep9312.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc (renamed from poky/meta/conf/machine/include/tune-strongarm1100.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc (renamed from poky/meta/conf/machine/include/tune-arm926ejs.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc (renamed from poky/meta/conf/machine/include/tune-iwmmxt.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc (renamed from poky/meta/conf/machine/include/tune-xscale.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc (renamed from poky/meta/conf/machine/include/tune-arm1136jf-s.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc (renamed from poky/meta/conf/machine/include/tune-arm1176jz-s.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc (renamed from poky/meta/conf/machine/include/tune-cortex-m0.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc (renamed from poky/meta/conf/machine/include/tune-cortex-m0plus.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc (renamed from poky/meta/conf/machine/include/tune-cortexm1.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc (renamed from poky/meta/conf/machine/include/tune-cortexa15.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc (renamed from poky/meta/conf/machine/include/tune-cortexa17.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc (renamed from poky/meta/conf/machine/include/tune-cortexa5.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc (renamed from poky/meta/conf/machine/include/tune-cortexa7.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc (renamed from poky/meta/conf/machine/include/tune-cortexa8.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc (renamed from poky/meta/conf/machine/include/tune-cortexa9.inc)2
-rw-r--r--poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc (renamed from poky/meta/conf/machine/include/tune-cortexm3.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc (renamed from poky/meta/conf/machine/include/tune-cortexm4.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc (renamed from poky/meta/conf/machine/include/tune-cortexm7.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc (renamed from poky/meta/conf/machine/include/tune-cortexa55.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc (renamed from poky/meta/conf/machine/include/tune-cortexa32.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc (renamed from poky/meta/conf/machine/include/tune-cortexa35.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc (renamed from poky/meta/conf/machine/include/tune-cortexa53.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc (renamed from poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc (renamed from poky/meta/conf/machine/include/tune-cortexa57.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc (renamed from poky/meta/conf/machine/include/tune-cortexa72-cortexa53.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc (renamed from poky/meta/conf/machine/include/tune-cortexa72.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc (renamed from poky/meta/conf/machine/include/tune-cortexa73-cortexa53.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc (renamed from poky/meta/conf/machine/include/tune-thunderx.inc)0
-rw-r--r--poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc14
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-crc.inc4
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-crypto.inc5
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-dsp.inc3
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-idiv.inc2
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-neon.inc5
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-simd.inc5
-rw-r--r--poky/meta/conf/machine/include/m68k/tune-mcf5441x.inc (renamed from poky/meta/conf/machine/include/tune-mcf5441x.inc)0
-rw-r--r--poky/meta/conf/machine/include/microblaze/tune-microblaze.inc (renamed from poky/meta/conf/machine/include/tune-microblaze.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/qemuboot-mips.inc (renamed from poky/meta/conf/machine/include/qemuboot-mips.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips-24k.inc2
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips-74k.inc2
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips32.inc (renamed from poky/meta/conf/machine/include/tune-mips32.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips32r2.inc (renamed from poky/meta/conf/machine/include/tune-mips32r2.inc)2
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips32r6.inc (renamed from poky/meta/conf/machine/include/tune-mips32r6.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips64.inc3
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips64r2.inc (renamed from poky/meta/conf/machine/include/tune-mips64r2.inc)2
-rw-r--r--poky/meta/conf/machine/include/mips/tune-mips64r6.inc (renamed from poky/meta/conf/machine/include/tune-mips64r6.inc)0
-rw-r--r--poky/meta/conf/machine/include/mips/tune-octeon.inc (renamed from poky/meta/conf/machine/include/tune-octeon.inc)2
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-power5.inc (renamed from poky/meta/conf/machine/include/tune-power5.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-power6.inc (renamed from poky/meta/conf/machine/include/tune-power6.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-power7.inc (renamed from poky/meta/conf/machine/include/tune-power7.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-power9.inc (renamed from poky/meta/conf/machine/include/tune-power9.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppc476.inc (renamed from poky/meta/conf/machine/include/tune-ppc476.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppc603e.inc (renamed from poky/meta/conf/machine/include/tune-ppc603e.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc (renamed from poky/meta/conf/machine/include/tune-ppc7400.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce300c2.inc (renamed from poky/meta/conf/machine/include/tune-ppce300c2.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce300c3.inc (renamed from poky/meta/conf/machine/include/tune-ppce300c3.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce500.inc (renamed from poky/meta/conf/machine/include/tune-ppce500.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc (renamed from poky/meta/conf/machine/include/tune-ppce500mc.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc (renamed from poky/meta/conf/machine/include/tune-ppce500v2.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc (renamed from poky/meta/conf/machine/include/tune-ppce5500.inc)0
-rw-r--r--poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc (renamed from poky/meta/conf/machine/include/tune-ppce6500.inc)0
-rw-r--r--poky/meta/conf/machine/include/sh/tune-sh3.inc (renamed from poky/meta/conf/machine/include/tune-sh3.inc)0
-rw-r--r--poky/meta/conf/machine/include/sh/tune-sh4.inc (renamed from poky/meta/conf/machine/include/tune-sh4.inc)2
-rw-r--r--poky/meta/conf/machine/include/tune-mips64.inc3
-rw-r--r--poky/meta/conf/machine/include/x86/qemuboot-x86.inc (renamed from poky/meta/conf/machine/include/qemuboot-x86.inc)0
-rw-r--r--poky/meta/conf/machine/include/x86/tune-atom.inc (renamed from poky/meta/conf/machine/include/tune-atom.inc)2
-rw-r--r--poky/meta/conf/machine/include/x86/tune-c3.inc (renamed from poky/meta/conf/machine/include/tune-c3.inc)0
-rw-r--r--poky/meta/conf/machine/include/x86/tune-core2.inc (renamed from poky/meta/conf/machine/include/tune-core2.inc)2
-rw-r--r--poky/meta/conf/machine/include/x86/tune-corei7.inc (renamed from poky/meta/conf/machine/include/tune-corei7.inc)2
-rw-r--r--poky/meta/conf/machine/include/x86/tune-i586-nlp.inc (renamed from poky/meta/conf/machine/include/tune-i586-nlp.inc)0
-rw-r--r--poky/meta/conf/machine/include/x86/tune-i586.inc (renamed from poky/meta/conf/machine/include/tune-i586.inc)0
-rw-r--r--poky/meta/conf/machine/include/x86/tune-i686.inc (renamed from poky/meta/conf/machine/include/tune-i686.inc)2
-rw-r--r--poky/meta/conf/machine/include/x86/x86-base.inc (renamed from poky/meta/conf/machine/include/x86-base.inc)2
-rw-r--r--poky/meta/conf/machine/qemuarm.conf2
-rw-r--r--poky/meta/conf/machine/qemuarm64.conf2
-rw-r--r--poky/meta/conf/machine/qemuarmv5.conf4
-rw-r--r--poky/meta/conf/machine/qemumips.conf4
-rw-r--r--poky/meta/conf/machine/qemumips64.conf4
-rw-r--r--poky/meta/conf/machine/qemuppc.conf2
-rw-r--r--poky/meta/conf/machine/qemuppc64.conf2
-rw-r--r--poky/meta/conf/machine/qemux86-64.conf4
-rw-r--r--poky/meta/conf/machine/qemux86.conf4
-rw-r--r--poky/meta/files/rust-ccld-wrapper.c29
-rw-r--r--poky/meta/lib/crate.py149
-rw-r--r--poky/meta/lib/oe/elf.py8
-rw-r--r--poky/meta/lib/oe/prservice.py25
-rw-r--r--poky/meta/lib/oe/utils.py32
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/parselogs.py1
-rw-r--r--poky/meta/lib/oeqa/sdk/buildtools-cases/build.py9
-rw-r--r--poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py29
-rw-r--r--poky/meta/lib/oeqa/sdk/buildtools-cases/https.py20
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/buildoptions.py24
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/distrodata.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/glibc.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/reproducible.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runtime_test.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/wic.py58
-rw-r--r--poky/meta/lib/oeqa/utils/qemurunner.py7
-rw-r--r--poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb (renamed from poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb)3
-rw-r--r--poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb2
-rw-r--r--poky/meta/recipes-bsp/grub/grub-efi_2.06.bb2
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot.inc38
-rw-r--r--poky/meta/recipes-bsp/usbutils/usbutils_014.bb (renamed from poky/meta/recipes-bsp/usbutils/usbutils_013.bb)7
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.16.20/0001-avoid-start-failure-with-bind-user.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.16.19/0001-avoid-start-failure-with-bind-user.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.16.20/0001-named-lwresd-V-and-start-log-hide-build-options.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.16.19/0001-named-lwresd-V-and-start-log-hide-build-options.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.16.20/bind-ensure-searching-for-json-headers-searches-sysr.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.16.19/bind-ensure-searching-for-json-headers-searches-sysr.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.16.20/bind9 (renamed from poky/meta/recipes-connectivity/bind/bind-9.16.19/bind9)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.16.20/conf.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.16.19/conf.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.16.20/generate-rndc-key.sh (renamed from poky/meta/recipes-connectivity/bind/bind-9.16.19/generate-rndc-key.sh)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.16.20/init.d-add-support-for-read-only-rootfs.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.16.19/init.d-add-support-for-read-only-rootfs.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.16.20/make-etc-initd-bind-stop-work.patch (renamed from poky/meta/recipes-connectivity/bind/bind-9.16.19/make-etc-initd-bind-stop-work.patch)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind-9.16.20/named.service (renamed from poky/meta/recipes-connectivity/bind/bind-9.16.19/named.service)0
-rw-r--r--poky/meta/recipes-connectivity/bind/bind_9.16.20.bb (renamed from poky/meta/recipes-connectivity/bind/bind_9.16.19.bb)2
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5_5.61.bb (renamed from poky/meta/recipes-connectivity/bluez5/bluez5_5.60.bb)2
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb (renamed from poky/meta/recipes-connectivity/inetutils/inetutils_2.0.bb)3
-rw-r--r--poky/meta/recipes-connectivity/kea/files/0001-add-missing-headers-in-timer_mgr.cc.patch29
-rw-r--r--poky/meta/recipes-connectivity/kea/kea_1.8.2.bb1
-rw-r--r--poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb4
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh_8.7p1.bb (renamed from poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb)2
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb (renamed from poky/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb)2
-rw-r--r--poky/meta/recipes-core/busybox/busybox-inittab_1.34.0.bb (renamed from poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb)0
-rw-r--r--poky/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch28
-rw-r--r--poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch6
-rw-r--r--poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch102
-rw-r--r--poky/meta/recipes-core/busybox/busybox/defconfig12
-rw-r--r--poky/meta/recipes-core/busybox/busybox_1.34.0.bb (renamed from poky/meta/recipes-core/busybox/busybox_1.33.1.bb)3
-rw-r--r--poky/meta/recipes-core/ell/ell_0.43.bb (renamed from poky/meta/recipes-core/ell/ell_0.42.bb)2
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-correctly-use-3-parameters-for-close_range.patch29
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch2
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.4.bb (renamed from poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb)3
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib.inc2
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.68.2.bb (renamed from poky/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb)2
-rw-r--r--poky/meta/recipes-core/glibc/glibc-package.inc5
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch43
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0001-fix-create-thread-failed-in-unprivileged-process-BZ-.patch79
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch150
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch8
-rw-r--r--poky/meta/recipes-core/glibc/glibc_2.34.bb3
-rw-r--r--poky/meta/recipes-core/libcgroup/libcgroup/CVE-2018-14348.patch37
-rw-r--r--poky/meta/recipes-core/libcgroup/libcgroup/module.patch36
-rw-r--r--poky/meta/recipes-core/libcgroup/libcgroup/musl-decls-compat.patch187
-rw-r--r--poky/meta/recipes-core/libcgroup/libcgroup_0.41.bb46
-rw-r--r--poky/meta/recipes-core/libcgroup/libcgroup_2.0.bb35
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.25.bb (renamed from poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb)0
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt.inc2
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.25.bb (renamed from poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.23.bb)0
-rw-r--r--poky/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch32
-rw-r--r--poky/meta/recipes-core/musl/musl_git.bb3
-rw-r--r--poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb3
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb18
-rw-r--r--poky/meta/recipes-core/systemd/systemd-boot_249.3.bb (renamed from poky/meta/recipes-core/systemd/systemd-boot_249.1.bb)3
-rw-r--r--poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb2
-rw-r--r--poky/meta/recipes-core/systemd/systemd.inc2
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch104
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch4
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch16
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch247
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch246
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch12
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch2
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch6
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch12
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch2
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch14
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch4
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch6
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch6
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch4
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch2
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch2
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch2
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch6
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch2
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch136
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch2
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch20
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch4
-rw-r--r--poky/meta/recipes-core/systemd/systemd_249.3.bb (renamed from poky/meta/recipes-core/systemd/systemd_249.1.bb)4
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.2.bb (renamed from poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.1.bb)0
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux.inc3
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux/CVE-2021-37600.patch33
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb (renamed from poky/meta/recipes-core/util-linux/util-linux_2.37.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-2.37.inc1
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch234
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils_2.37.bb2
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-fix-error-for-undeclared-macro-on-musl.patch28
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.1.bb (renamed from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb)3
-rw-r--r--poky/meta/recipes-devtools/cargo/cargo-cross-canadian.inc74
-rw-r--r--poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb6
-rw-r--r--poky/meta/recipes-devtools/cargo/cargo.inc54
-rw-r--r--poky/meta/recipes-devtools/cargo/cargo_1.54.0.bb4
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache_4.4.bb (renamed from poky/meta/recipes-devtools/ccache/ccache_4.3.bb)5
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc2
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch24
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch48
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-tests-u_direct_io-expect-correct-expected-output.patch69
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/big-inodes-for-small-fs.patch22
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch4
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch2
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.4.bb (renamed from poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb)7
-rw-r--r--poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb10
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc32
-rw-r--r--poky/meta/recipes-devtools/git/git_2.33.0.bb (renamed from poky/meta/recipes-devtools/git/git_2.32.0.bb)4
-rw-r--r--poky/meta/recipes-devtools/help2man/help2man_1.48.4.bb (renamed from poky/meta/recipes-devtools/help2man/help2man_1.48.3.bb)2
-rw-r--r--poky/meta/recipes-devtools/libedit/libedit_20210714-3.1.bb (renamed from poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/log4cplus/log4cplus_2.0.7.bb (renamed from poky/meta/recipes-devtools/log4cplus/log4cplus_2.0.6.bb)3
-rw-r--r--poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch2
-rw-r--r--poky/meta/recipes-devtools/mtools/mtools_4.0.35.bb (renamed from poky/meta/recipes-devtools/mtools/mtools_4.0.34.bb)2
-rw-r--r--poky/meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch44
-rw-r--r--poky/meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch44
-rw-r--r--poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch16
-rw-r--r--poky/meta/recipes-devtools/patchelf/patchelf_0.13.bb (renamed from poky/meta/recipes-devtools/patchelf/patchelf_0.12.bb)4
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb (renamed from poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb)2
-rw-r--r--poky/meta/recipes-devtools/prelink/prelink_git.bb4
-rwxr-xr-xpoky/meta/recipes-devtools/pseudo/files/build-oldlibc20
-rw-r--r--poky/meta/recipes-devtools/pseudo/files/older-glibc-symbols.patch57
-rw-r--r--poky/meta/recipes-devtools/pseudo/pseudo_git.bb7
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.2.bb (renamed from poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch2
-rw-r--r--poky/meta/recipes-devtools/python/python-cython.inc2
-rw-r--r--poky/meta/recipes-devtools/python/python3-cython_0.29.24.bb (renamed from poky/meta/recipes-devtools/python/python3-cython_0.29.23.bb)1
-rw-r--r--poky/meta/recipes-devtools/python/python3-git_3.1.20.bb (renamed from poky/meta/recipes-devtools/python/python3-git_3.1.18.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-hypothesis/run-ptest10
-rw-r--r--poky/meta/recipes-devtools/python/python3-hypothesis/test_binary_search.py135
-rw-r--r--poky/meta/recipes-devtools/python/python3-hypothesis/test_rle.py101
-rw-r--r--poky/meta/recipes-devtools/python/python3-hypothesis_6.14.5.bb22
-rw-r--r--poky/meta/recipes-devtools/python/python3-hypothesis_6.15.0.bb38
-rw-r--r--poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.4.bb (renamed from poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.3.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-mako_1.1.5.bb (renamed from poky/meta/recipes-devtools/python/python3-mako_1.1.4.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip_21.2.4.bb (renamed from poky/meta/recipes-devtools/python/python3-pip_21.2.1.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb (renamed from poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb)3
-rw-r--r--poky/meta/recipes-devtools/python/python3-pygments_2.10.0.bb (renamed from poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-pytest/0001-Allow-pluggy-1.0.patch65
-rw-r--r--poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb1
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools_57.4.0.bb (renamed from poky/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb)2
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu.inc1
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3682.patch41
-rw-r--r--poky/meta/recipes-devtools/rust/README-rust.md58
-rw-r--r--poky/meta/recipes-devtools/rust/files/riscv-march.patch73
-rw-r--r--poky/meta/recipes-devtools/rust/files/rv64gc.patch37
-rw-r--r--poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch905
-rw-r--r--poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch31
-rw-r--r--poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch741
-rw-r--r--poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch23
-rw-r--r--poky/meta/recipes-devtools/rust/libstd-rs.inc40
-rw-r--r--poky/meta/recipes-devtools/rust/libstd-rs_1.54.0.bb11
-rw-r--r--poky/meta/recipes-devtools/rust/rust-common.inc349
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc55
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross-canadian.inc78
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb6
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross.inc71
-rw-r--r--poky/meta/recipes-devtools/rust/rust-cross_1.54.0.bb2
-rw-r--r--poky/meta/recipes-devtools/rust/rust-llvm.inc64
-rw-r--r--poky/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch32
-rw-r--r--poky/meta/recipes-devtools/rust/rust-llvm_1.54.0.bb5
-rw-r--r--poky/meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc18
-rw-r--r--poky/meta/recipes-devtools/rust/rust-snapshot.inc9
-rw-r--r--poky/meta/recipes-devtools/rust/rust-source-1.54.0.inc3
-rw-r--r--poky/meta/recipes-devtools/rust/rust-source.inc6
-rw-r--r--poky/meta/recipes-devtools/rust/rust-target.inc10
-rw-r--r--poky/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc38
-rw-r--r--poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb6
-rw-r--r--poky/meta/recipes-devtools/rust/rust.inc201
-rw-r--r--poky/meta/recipes-devtools/rust/rust_1.54.0.bb20
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch45
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch34
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb10
-rw-r--r--poky/meta/recipes-devtools/swig/swig.inc2
-rw-r--r--poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb2
-rw-r--r--poky/meta/recipes-devtools/vala/vala_0.52.5.bb (renamed from poky/meta/recipes-devtools/vala/vala_0.52.4.bb)2
-rw-r--r--poky/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch23
-rw-r--r--poky/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb19
-rw-r--r--poky/meta/recipes-example/rustfmt/rustfmt_1.4.2.bb171
-rw-r--r--poky/meta/recipes-extended/acpica/acpica_20210730.bb (renamed from poky/meta/recipes-extended/acpica/acpica_20210331.bb)2
-rw-r--r--poky/meta/recipes-extended/cpio/cpio-2.13/CVE-2021-38185.patch581
-rw-r--r--poky/meta/recipes-extended/cpio/cpio_2.13.bb1
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch84
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils_3.8.bb (renamed from poky/meta/recipes-extended/diffutils/diffutils_3.7.bb)9
-rw-r--r--poky/meta/recipes-extended/grep/grep_3.7.bb (renamed from poky/meta/recipes-extended/grep/grep_3.6.bb)2
-rw-r--r--poky/meta/recipes-extended/libidn/libidn2_2.3.2.bb (renamed from poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb)3
-rw-r--r--poky/meta/recipes-extended/libnsl/libnsl2_git.bb4
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd/0001-meson-add-with_zstd-to-meson_options.txt.patch27
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb58
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-syscalls-ioctl_ns05.c-ioctl_ns06.c-Fix-too-small-buf.patch59
-rw-r--r--poky/meta/recipes-extended/ltp/ltp_20210524.bb1
-rw-r--r--poky/meta/recipes-extended/man-db/man-db_2.9.4.bb11
-rw-r--r--poky/meta/recipes-extended/mc/files/nomandate.patch24
-rw-r--r--poky/meta/recipes-extended/mc/mc_4.8.27.bb (renamed from poky/meta/recipes-extended/mc/mc_4.8.26.bb)9
-rw-r--r--poky/meta/recipes-extended/pam/libpam_1.3.1.bb2
-rw-r--r--poky/meta/recipes-extended/shadow/files/0001-libmisc-fix-default-value-in-SHA_get_salt_rounds.patch64
-rw-r--r--poky/meta/recipes-extended/shadow/files/useradd8
-rw-r--r--poky/meta/recipes-extended/shadow/shadow.inc6
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch103
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng_0.13.00.bb (renamed from poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb)3
-rw-r--r--poky/meta/recipes-extended/sudo/sudo.inc2
-rw-r--r--poky/meta/recipes-extended/sudo/sudo_1.9.7p2.bb (renamed from poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb)2
-rw-r--r--poky/meta/recipes-extended/timezone/timezone.inc2
-rw-r--r--poky/meta/recipes-gnome/epiphany/epiphany_40.3.bb (renamed from poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb)2
-rw-r--r--poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb4
-rw-r--r--poky/meta/recipes-gnome/json-glib/json-glib_1.6.4.bb (renamed from poky/meta/recipes-gnome/json-glib/json-glib_1.6.2.bb)9
-rw-r--r--poky/meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch44
-rw-r--r--poky/meta/recipes-gnome/libgudev/libgudev_237.bb (renamed from poky/meta/recipes-gnome/libgudev/libgudev_236.bb)4
-rw-r--r--poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.9.0.bb (renamed from poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb)2
-rw-r--r--poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.1.bb (renamed from poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb)2
-rw-r--r--poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb (renamed from poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb)2
-rw-r--r--poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.16.bb (renamed from poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb)4
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch72
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch12
-rw-r--r--poky/meta/recipes-graphics/mesa/files/without-neon.patch53
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-gl_21.2.1.bb (renamed from poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb)0
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa.inc9
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa_21.2.1.bb (renamed from poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb)1
-rw-r--r--poky/meta/recipes-graphics/pango/pango_1.48.9.bb (renamed from poky/meta/recipes-graphics/pango/pango_1.48.7.bb)2
-rw-r--r--poky/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch68
-rw-r--r--poky/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch32
-rw-r--r--poky/meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch257
-rw-r--r--poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb3
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb2
-rw-r--r--poky/meta/recipes-graphics/wayland/libinput_1.18.1.bb (renamed from poky/meta/recipes-graphics/wayland/libinput_1.18.0.bb)2
-rw-r--r--poky/meta/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch50
-rw-r--r--poky/meta/recipes-graphics/wayland/weston_9.0.0.bb5
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xeyes_1.2.0.bb (renamed from poky/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb)5
-rw-r--r--poky/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb (renamed from poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.4.bb)5
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb (renamed from poky/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb)3
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.13.bb (renamed from poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb)2
-rw-r--r--poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210818.bb (renamed from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb)6
-rw-r--r--poky/meta/recipes-kernel/linux/kernel-devsrc.bb10
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-dev.bb2
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb6
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb6
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb45
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb8
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb8
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb32
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb24
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb26
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb55
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch25
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules/Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch49
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb (renamed from poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb)20
-rw-r--r--poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.07.14.bb (renamed from poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb)2
-rw-r--r--poky/meta/recipes-multimedia/flac/flac_1.3.3.bb2
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc2
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch67
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch71
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb (renamed from poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb)5
-rw-r--r--poky/meta/recipes-multimedia/webp/libwebp_1.2.1.bb (renamed from poky/meta/recipes-multimedia/webp/libwebp_1.2.0.bb)2
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch8
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch37
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb (renamed from poky/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb)3
-rw-r--r--poky/meta/recipes-support/boost/boost-1.77.0.inc (renamed from poky/meta/recipes-support/boost/boost-1.76.0.inc)2
-rw-r--r--poky/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch54
-rw-r--r--poky/meta/recipes-support/boost/boost_1.77.0.bb (renamed from poky/meta/recipes-support/boost/boost_1.76.0.bb)4
-rw-r--r--poky/meta/recipes-support/diffoscope/diffoscope_181.bb (renamed from poky/meta/recipes-support/diffoscope/diffoscope_179.bb)2
-rw-r--r--poky/meta/recipes-support/enchant/enchant2_2.3.1.bb (renamed from poky/meta/recipes-support/enchant/enchant2_2.3.0.bb)2
-rw-r--r--poky/meta/recipes-support/libcap/libcap_2.51.bb2
-rw-r--r--poky/meta/recipes-support/libjitterentropy/libjitterentropy/0001-Makefile-restore-build-reproducibility.patch27
-rw-r--r--poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.1.0.bb (renamed from poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.2.bb)18
-rw-r--r--poky/meta/recipes-support/lz4/files/CVE-2021-3520.patch27
-rw-r--r--poky/meta/recipes-support/lz4/files/run-ptest43
-rw-r--r--poky/meta/recipes-support/lz4/lz4_1.9.3.bb2
-rw-r--r--poky/meta/recipes-support/lzo/lzo_2.10.bb2
-rw-r--r--poky/meta/recipes-support/re2c/re2c_2.2.bb (renamed from poky/meta/recipes-support/re2c/re2c_2.1.1.bb)2
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch41
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch47
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools_6.14.bb (renamed from poky/meta/recipes-support/rng-tools/rng-tools_6.13.bb)15
-rw-r--r--poky/meta/recipes-support/vim/vim.inc4
-rwxr-xr-xpoky/scripts/buildhistory-collect-srcrevs4
-rw-r--r--poky/scripts/lib/devtool/search.py5
-rw-r--r--poky/scripts/lib/recipetool/append.py8
-rw-r--r--poky/scripts/lib/recipetool/create.py4
-rw-r--r--poky/scripts/lib/recipetool/create_buildsys_python.py2
-rw-r--r--poky/scripts/lib/wic/help.py5
-rw-r--r--poky/scripts/lib/wic/ksparser.py1
-rw-r--r--poky/scripts/lib/wic/partition.py5
-rw-r--r--poky/scripts/lib/wic/plugins/source/rootfs.py2
-rwxr-xr-xpoky/scripts/oe-pkgdata-util41
-rwxr-xr-xpoky/scripts/runqemu2
659 files changed, 9561 insertions, 3791 deletions
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb
index 323493e7e1..64873ac038 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.12.0.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.13.0.bb
@@ -12,7 +12,7 @@ SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
file://0001-support-usrmerge.patch \
"
-SRC_URI[sha256sum] = "bec44445cf18f49e63971d4f27dc4e90a17b118b852714a1104b621ea30e3507"
+SRC_URI[sha256sum] = "4e142d4babe086adf9016d8c606c805829da08e46389a4433f40346204f90cdb"
inherit autotools-brokensep
PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb
index cef7c7569b..6ebb3ea9fc 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.22.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb
@@ -9,7 +9,7 @@ inherit features_check gnomebase gsettings gtk-icon-cache gettext
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI[archive.sha256sum] = "c70d80b48d40a9cb99ec967cc4389f67e7f0301528a69d481572041331a646be"
+SRC_URI[archive.sha256sum] = "b9f4bca5d0352718e07b7385fb195a9bbc8fd686b7959b74137854d52aab9c58"
# We don't not have ubuntu's appindicator (yet?)
EXTRA_OEMESON = "-Dappindicator=no"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch
new file mode 100644
index 0000000000..864d0baa2a
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch
@@ -0,0 +1,65 @@
+From 632670273cc880917e78a152a3ae39e209b57864 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
+ <zboszor@gmail.com>
+Date: Sat, 28 Aug 2021 05:58:25 +0200
+Subject: [PATCH] fix build with --disable-dependency-tracking
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+With split build and source directories AND --disable-dependency-tracking
+(like the way Yocto builds are done) there's a reproducible make
+failure on my Fedora 33 build host:
+
+| Making all in src
+| make[2]: Entering directory '.../metacity/1_3.40.0-r0/build/src'
+| .../metacity/1_3.40.0-r0/recipe-sysroot-native/usr/bin/glib-mkenums --template ../../metacity-3.40.0/src/core/meta-enum-types.c.in ../../metacity-3.40.0/src/core/window-private.h ../../metacity-3.40.0/src/include/meta-compositor.h > \
+| meta-enum-types.c.tmp && mv meta-enum-types.c.tmp core/meta-enum-types.c
+| .../metacity/1_3.40.0-r0/recipe-sysroot-native/usr/bin/glib-mkenums --template ../../metacity-3.40.0/src/core/meta-enum-types.h.in ../../metacity-3.40.0/src/core/window-private.h ../../metacity-3.40.0/src/include/meta-compositor.h > \
+| meta-enum-types.h.tmp && mv meta-enum-types.h.tmp core/meta-enum-types.h
+| mv: cannot move 'meta-enum-types.c.tmp' to 'core/meta-enum-types.c'mv: cannot move 'meta-enum-types.h.tmp' to 'core/meta-enum-types.h': No such file or directory
+| : No such file or directory
+| make[2]: *** [Makefile:2240: core/meta-enum-types.c] Error 1
+
+https://gitlab.gnome.org/GNOME/metacity/-/merge_requests/24
+
+Upstream-Status: Pending
+
+Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
+---
+ configure.ac | 1 +
+ src/Makefile.am | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index ebb00b85..04aafb94 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -139,6 +139,7 @@ dnl **************************************************************************
+ AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}")
+
+ AC_PROG_CC
++AC_PROG_MKDIR_P
+ AC_ISC_POSIX
+ AC_HEADER_STDC
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index f86af600..4aa3fdae 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -204,10 +204,12 @@ ENUM_TYPES = \
+ $(NULL)
+
+ core/meta-enum-types.c: core/meta-enum-types.c.in $(ENUM_TYPES) Makefile.am
++ $(MKDIR_P) core
+ $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/core/meta-enum-types.c.in $(ENUM_TYPES) > \
+ meta-enum-types.c.tmp && mv meta-enum-types.c.tmp core/meta-enum-types.c
+
+ core/meta-enum-types.h: core/meta-enum-types.h.in $(ENUM_TYPES) Makefile.am
++ $(MKDIR_P) core
+ $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/core/meta-enum-types.h.in $(ENUM_TYPES) > \
+ meta-enum-types.h.tmp && mv meta-enum-types.h.tmp core/meta-enum-types.h
+
+--
+2.31.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb
index a5c7047407..e7570ec597 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb
@@ -24,7 +24,10 @@ REQUIRED_DISTRO_FEATURES = "x11"
inherit gnomebase gsettings gettext upstream-version-is-even features_check
SRC_URI[archive.sha256sum] = "224c1f65487eac21f0c1d9856152343768ee726c48b1a8a2835a46a8ad9015b5"
-SRC_URI += "file://0001-drop-zenity-detection.patch"
+SRC_URI += " \
+ file://0001-drop-zenity-detection.patch \
+ file://0001-fix-build-with-disable-dependency-tracking.patch \
+"
PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama"
# enable as neccessary until new warnings are dealt with
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service
new file mode 100644
index 0000000000..671815e031
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/bluealsa.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Bluetooth Audio ALSA Backend
+After=bluetooth.service
+Requires=bluetooth.service
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/bluealsa
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb
new file mode 100644
index 0000000000..674017606e
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Bluetooth Audio ALSA Backend"
+HOMEPAGE = "https://github.com/Arkq/bluez-alsa"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=72d868d66bdd5bf51fe67734431de057"
+
+DEPENDS += "alsa-lib bluez5 glib-2.0 sbc"
+
+SRCREV = "aac8742a9e7dd12a1fead9cbce7d2dc8b961999c"
+
+SRC_URI = " \
+ git://github.com/Arkq/bluez-alsa.git;protocol=https;branch=master \
+ file://bluealsa.service \
+"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG[aac] = "--enable-aac, --disable-aac,"
+PACKAGECONFIG[aptx] = "--enable-aptx,--disable-aptx,"
+PACKAGECONFIG[hcitop] = "--enable-hcitop, --disable-hcitop, libbsd ncurses"
+PACKAGECONFIG[systemd] = "--enable-systemd, --disable-systemd, systemd"
+
+PACKAGECONFIG += "hcitop ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+inherit autotools pkgconfig systemd
+
+FILES:${PN} += "\
+ ${datadir}/alsa/alsa.conf.d/20-bluealsa.conf\
+ ${libdir}/alsa-lib/libasound_module_ctl_bluealsa.so\
+ ${libdir}/alsa-lib/libasound_module_pcm_bluealsa.so\
+"
+
+FILES:${PN}-staticdev += "\
+ ${libdir}/alsa-lib/libasound_module_ctl_bluealsa.a\
+ ${libdir}/alsa-lib/libasound_module_pcm_bluealsa.a\
+"
+
+SYSTEMD_SERVICE:${PN} = "bluealsa.service bluealsa-aplay.service"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
index 5522731a29..7e581392b6 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
@@ -22,6 +22,7 @@ RDEPENDS:packagegroup-meta-multimedia = "\
RDEPENDS:packagegroup-meta-multimedia = "\
alsa-equal \
aom \
+ bluealsa \
caps \
cdparanoia \
dcadec \
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb
index 369a407de2..0fd41331f6 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.34.bb
@@ -11,7 +11,7 @@ SECTION = "multimedia"
DEPENDS = "dbus"
-SRCREV = "c43dabcc96e2e072cdf08e5f094bb677d9017c6b"
+SRCREV = "1924c2c29824955b5e763f1def6967f68e403c7c"
SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
@@ -46,7 +46,6 @@ USERADD_PARAM:${PN} = "--system --home / --no-create-home \
EXTRA_OEMESON += " \
-Daudiotestsrc=enabled \
-Devl=disabled \
- -Dsystemd-user-service=disabled \
-Dtests=disabled \
-Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \
-Dvideotestsrc=enabled \
@@ -59,7 +58,7 @@ EXTRA_OEMESON += " \
PACKAGECONFIG ??= "\
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'alsa systemd', d)} \
- gstreamer jack v4l2 \
+ gstreamer jack sndfile pw-cat v4l2 \
"
# "jack" and "pipewire-jack" packageconfigs cannot be both enabled,
@@ -75,7 +74,9 @@ PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gs
PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack"
PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2"
PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
-PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd-system-service=enabled ,-Dsystemd=disabled -Dsystemd-system-service=disabled,systemd"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd-system-service=enabled -Dsystemd-user-service=enabled,-Dsystemd=disabled -Dsystemd-system-service=disabled -Dsystemd-user-service=disabled,systemd"
+# pw-cat needs sndfile packageconfig to be enabled
+PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled"
PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib"
PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,,jack"
@@ -250,8 +251,9 @@ FILES:${PN}-media-session = " \
${bindir}/pipewire-media-session \
${datadir}/pipewire/media-session.d/* \
${systemd_system_unitdir}/pipewire-media-session.service \
+ ${systemd_user_unitdir}/pipewire-media-session.service \
"
-RPROVIDES:${PN}-media-session = "virtual/pipewire-sessionmanager"
+RPROVIDES:${PN}-media-session = "virtual-pipewire-sessionmanager"
# Dynamic packages (see set_dynamic_metapkg_rdepends).
FILES:${PN}-spa-plugins = ""
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch
deleted file mode 100644
index dfc6f90c4c..0000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-Handle-enum-element-override.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6d284f1ff81494a5fca91a399b92b218ea1a9ea8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 8 Jun 2021 08:53:30 -0700
-Subject: [PATCH] Handle enum element override
-
-NETPLAN_DEF_TYPE_VIRTUAL and NETPLAN_DEF_TYPE_BRIDGE point
-to same value in enum, however here they are assigned individually
-which results in overriding the initialization of the objects
-
-Fixes
-src/netplan.h:85:33: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides]
- [NETPLAN_DEF_TYPE_BRIDGE] = "bridges",
- ^~~~~~~~~
-Upstream-Status: Submitted [https://github.com/canonical/netplan/pull/213]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/netplan.h | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/netplan.h b/src/netplan.h
-index d2c538b..26574f8 100644
---- a/src/netplan.h
-+++ b/src/netplan.h
-@@ -81,7 +81,6 @@ static const char* const netplan_def_type_to_str[NETPLAN_DEF_TYPE_MAX_] = {
- [NETPLAN_DEF_TYPE_ETHERNET] = "ethernets",
- [NETPLAN_DEF_TYPE_WIFI] = "wifis",
- [NETPLAN_DEF_TYPE_MODEM] = "modems",
-- [NETPLAN_DEF_TYPE_VIRTUAL] = NULL,
- [NETPLAN_DEF_TYPE_BRIDGE] = "bridges",
- [NETPLAN_DEF_TYPE_BOND] = "bonds",
- [NETPLAN_DEF_TYPE_VLAN] = "vlans",
---
-2.32.0
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-parse-nm-fix-32bit-format-string.patch b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-parse-nm-fix-32bit-format-string.patch
new file mode 100644
index 0000000000..72f04a15ad
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan/0001-parse-nm-fix-32bit-format-string.patch
@@ -0,0 +1,25 @@
+From 2f0ff65eaa93f18d9edb5d03329b00d8e5e73869 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Lukas=20M=C3=A4rdian?= <lukas.maerdian@canonical.com>
+Date: Wed, 4 Aug 2021 15:55:00 +0200
+Subject: [PATCH] parse-nm: fix 32bit format string
+
+---
+ src/parse-nm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/parse-nm.c b/src/parse-nm.c
+index 9b09e34..bf998b7 100644
+--- a/src/parse-nm.c
++++ b/src/parse-nm.c
+@@ -136,7 +136,7 @@ static void
+ handle_bridge_uint(GKeyFile* kf, const gchar* key, NetplanNetDefinition* nd, char** dataptr) {
+ if (g_key_file_get_uint64(kf, "bridge", key, NULL)) {
+ nd->custom_bridging = TRUE;
+- *dataptr = g_strdup_printf("%lu", g_key_file_get_uint64(kf, "bridge", key, NULL));
++ *dataptr = g_strdup_printf("%"G_GUINT64_FORMAT, g_key_file_get_uint64(kf, "bridge", key, NULL));
+ _kf_clear_key(kf, "bridge", key);
+ }
+ }
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.103.bb
index 6c624ce4e9..682a6b611d 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.102.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/netplan/netplan_0.103.bb
@@ -11,13 +11,12 @@ LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
S = "${WORKDIR}/git"
-SRCREV = "62701436991e42606c4e9e8dbdcdc5067d64f69b"
-PV = "0.102+git${SRCPV}"
+SRCREV = "51c872d856db80281ea810ebc02e05c09d5310fa"
+PV = "0.103"
+
+SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=main \
+ file://0001-parse-nm-fix-32bit-format-string.patch"
-SRC_URI = " \
- git://github.com/CanonicalLtd/netplan.git \
- file://0001-Handle-enum-element-override.patch \
-"
SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch"
DEPENDS = "glib-2.0 libyaml ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.10.bb
index 167d810226..89f95548cd 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.4.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.32.10.bb
@@ -27,7 +27,7 @@ SRC_URI = " \
file://0002-Do-not-create-settings-settings-property-documentati.patch \
file://0003-install-firewalld-to-var-libdir-rather-than-hardcod-.patch \
"
-SRC_URI[sha256sum] = "29acbd41c78b7ef87ff88fec5360d1eaf8b5b6fcb90555d7391abc5e36923158"
+SRC_URI[sha256sum] = "3e5ccc66805659e3f11a718e3a599f9726b79a01d6ff14814be6ad8bc5da8bb8"
S = "${WORKDIR}/NetworkManager-${PV}"
diff --git a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
index 59eb14a55b..dd5d68807a 100644
--- a/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
+++ b/meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb
@@ -177,6 +177,7 @@ RDEPENDS:packagegroup-meta-networking-protocols:remove:libc-musl = "mdns"
RDEPENDS:packagegroup-meta-networking-support = "\
aoetools \
arptables \
+ bmon \
bridge-utils \
celt051 \
cim-schema-docs \
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch
deleted file mode 100644
index 29ce85cc19..0000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 7bc261076ec94efa3197beaca39eba095d162b5e Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Fri, 26 Feb 2021 16:32:27 +0800
-Subject: [PATCH] seccompsandbox.c: allow newfstatat and pselect6 syscalls in
- the seccomp sandbox
-
-Allow newfstatat and pselect6 in the seccomp sanbox for glibc 2.33.
-
-Fixes the following OOPS error:
-root@qemux86-64:~# tnftp 192.168.1.1
-Connected to 192.168.1.1.
-220 (vsFTPd 3.0.3)
-Name (192.168.1.1:root): anonymous
-331 Please specify the password.
-Password:
-230 Login successful.
-Remote system type is UNIX.
-Using binary mode to transfer files.
-ftp> ls
-OOPS: priv_sock_get_cmd
-
-Upstream-Status: Pending
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- seccompsandbox.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/seccompsandbox.c b/seccompsandbox.c
-index 377c50e..f601241 100644
---- a/seccompsandbox.c
-+++ b/seccompsandbox.c
-@@ -267,6 +267,7 @@ seccomp_sandbox_setup_data_connections()
- 3, IPPROTO_TCP);
- allow_nr(__NR_bind);
- allow_nr(__NR_select);
-+ allow_nr(__NR_pselect6);
- if (tunable_port_enable)
- {
- allow_nr(__NR_connect);
-@@ -411,6 +412,7 @@ seccomp_sandbox_setup_postlogin(const struct vsf_session* p_sess)
- allow_nr(__NR_getdents);
- allow_nr(__NR_getdents64);
- allow_nr(__NR_sysinfo);
-+ allow_nr(__NR_newfstatat);
- /* Misc */
- allow_nr(__NR_umask);
-
---
-2.17.1
-
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch
deleted file mode 100644
index 7573c967fa..0000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From dd353303f62d1dfe32cb000e482616b021708fbe Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Thu, 29 Nov 2018 00:47:34 -0800
-Subject: [PATCH] vsftpd: allow syscalls in the seccomp sandbox
-
-* Allow sysinfo() and getdents64 in the seccomp
- sandbox otherwise comes below OOPS: priv_sock_get_cmd
- as the syscall sysinfo() and getdents64 not allowed
-
-root@qemux86-64:~# tnftp 192.168.1.1
-Connected to 192.168.1.1.
-220 (vsFTPd 3.0.3)
-Name (192.168.1.1:root): anonymous
-331 Please specify the password.
-Password:
-230 Login successful.
-Remote system type is UNIX.
-Using binary mode to transfer files.
-ftp> prompt
-Interactive mode off.
-ftp> mget small*
-OOPS: priv_sock_get_cmd
-
-Upstream-Status: Pending
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- seccompsandbox.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/seccompsandbox.c b/seccompsandbox.c
-index 2c350a9..377c50e 100644
---- a/seccompsandbox.c
-+++ b/seccompsandbox.c
-@@ -409,6 +409,8 @@ seccomp_sandbox_setup_postlogin(const struct vsf_session* p_sess)
- allow_nr(__NR_getcwd);
- allow_nr(__NR_chdir);
- allow_nr(__NR_getdents);
-+ allow_nr(__NR_getdents64);
-+ allow_nr(__NR_sysinfo);
- /* Misc */
- allow_nr(__NR_umask);
-
---
-2.17.1
-
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch
index d81c94a4aa..d81c94a4aa 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-destdir.patch
index 5ad5c14e7a..5ad5c14e7a 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-destdir.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-destdir.patch
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-libs.patch
index d2e58a3254..d2e58a3254 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-libs.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-libs.patch
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-strip.patch
index e596073887..e596073887 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/makefile-strip.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/makefile-strip.patch
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam-with-tcp_wrappers.patch
index a4387c132b..a4387c132b 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam-with-tcp_wrappers.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam-with-tcp_wrappers.patch
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam.patch
index cf0d68e272..cf0d68e272 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/nopam.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/nopam.patch
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-2.1.0-filter.patch
index 590eb58579..590eb58579 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-2.1.0-filter.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-2.1.0-filter.patch
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-tcp_wrappers-support.patch
index c558aee0aa..c558aee0aa 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.3/vsftpd-tcp_wrappers-support.patch
+++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.5/vsftpd-tcp_wrappers-support.patch
diff --git a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb
index cf3d7fc966..08238c1a3c 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.5.bb
@@ -18,11 +18,9 @@ SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \
file://volatiles.99_vsftpd \
file://vsftpd.service \
file://vsftpd-2.1.0-filter.patch \
- file://0001-vsftpd-allow-syscalls-in-the-seccomp-sandbox.patch \
${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)} \
file://0001-sysdeputil.c-Fix-with-musl-which-does-not-have-utmpx.patch \
- file://0001-seccompsandbox.c-allow-newfstatat-and-pselect6-sysca.patch \
"
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/v/vsftpd/"
@@ -31,8 +29,7 @@ UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.orig\.tar"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271 \
file://COPYRIGHT;md5=04251b2eb0f298dae376d92454f6f72e \
file://LICENSE;md5=654df2042d44b8cac8a5654fc5be63eb"
-SRC_URI[md5sum] = "da119d084bd3f98664636ea05b5bb398"
-SRC_URI[sha256sum] = "9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7"
+SRC_URI[sha256sum] = "26b602ae454b0ba6d99ef44a09b6b9e0dfa7f67228106736df1f278c70bc91d3"
PACKAGECONFIG ??= "tcp-wrappers"
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.0.bb
index cf7c01bbcf..68409c9103 100644
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.9.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.0.bb
@@ -10,7 +10,7 @@ DEPENDS = "libmnl libnftnl bison-native \
UPSTREAM_CHECK_REGEX = "nftables-(?P<pver>\d+(\.\d+){2,}).tar.bz2"
SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "76ef2dc7fd0d79031a8369487739a217ca83996b3a746cec5bda79da11e3f1b4"
+SRC_URI[sha256sum] = "58bf547daf967a2b88ecb4f425f126006ebde22711db806b25c1d6cf84fe45f4"
inherit autotools manpages pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-support/bmon/bmon_2.1.0.bb b/meta-openembedded/meta-networking/recipes-support/bmon/bmon_2.1.0.bb
new file mode 100644
index 0000000000..8c7b3844b0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/bmon/bmon_2.1.0.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Portable Bandwidth Monitor and rate estimator"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+# only works with libnl-0.5.0
+DEPENDS = "libnl libconfuse ncurses"
+
+SRCREV = "1b3f11bde315e221474f7d066ce4efb4ff4d39e3"
+SRC_URI = "git://github.com/tgraf/bmon.git;branch=master"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb
index 6a450c3e88..117451db2e 100644
--- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.1.bb
@@ -47,6 +47,11 @@ DEPENDS = "pps-tools"
# chrony does not use GNU Autotools.
inherit update-rc.d systemd
+# Add chronyd user if privdrop packageconfig is selected
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'privdrop', 'useradd', '', d)}
+USERADD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'privdrop', '${PN}', '', d)}"
+USERADD_PARAM:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'privdrop', '--system -d / -M --shell /bin/nologin chronyd;', '', d)}"
+
# Configuration options:
# - For command line editing support in chronyc, you may specify either
# 'editline' or 'readline' but not both. editline is smaller, but
@@ -68,7 +73,7 @@ PACKAGECONFIG ??= "editline \
PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
PACKAGECONFIG[editline] = ",--without-editline,libedit"
PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"
-PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap"
+PACKAGECONFIG[privdrop] = "--with-libcap,--disable-privdrop --without-libcap,libcap"
PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp"
PACKAGECONFIG[ipv6] = ",--disable-ipv6,"
PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
@@ -97,6 +102,10 @@ do_install() {
# Config file
install -d ${D}${sysconfdir}
install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'privdrop', 'true', 'false', d)}; then
+ echo "# Define user to drop to after dropping root privileges" >> ${D}${sysconfdir}/chrony.conf
+ echo "user chronyd" >> ${D}${sysconfdir}/chrony.conf
+ fi
# System V init script
install -d ${D}${sysconfdir}/init.d
diff --git a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.20.bb b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb
index 13d91b4d52..33a05ed61a 100644
--- a/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.20.bb
+++ b/meta-openembedded/meta-networking/recipes-support/fetchmail/fetchmail_6.4.21.bb
@@ -12,7 +12,7 @@ DEPENDS = "openssl"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz \
"
-SRC_URI[sha256sum] = "c82141ae2e8f0039ceb0c5c2eda43c5e93ad0bf7f9c6bb628092b3be74386176"
+SRC_URI[sha256sum] = "6a459c1cafd7a1daa5cd137140da60c18c84b5699cd8e7249a79c33342c99d1d"
inherit autotools gettext python3-dir python3native
diff --git a/meta-openembedded/meta-networking/recipes-support/libconfuse/libconfuse_3.3.bb b/meta-openembedded/meta-networking/recipes-support/libconfuse/libconfuse_3.3.bb
new file mode 100644
index 0000000000..c081e69790
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libconfuse/libconfuse_3.3.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "libConfuse is a configuration file parser library"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=42fa47330d4051cd219f7d99d023de3a"
+
+SRCREV = "a42aebf13db33afd575da6e63f55163d371f776d"
+SRC_URI = "git://github.com/libconfuse/libconfuse.git;branch=master"
+
+inherit autotools-brokensep pkgconfig gettext
+
+S = "${WORKDIR}/git"
+
+do_configure:prepend(){
+ (cd ${S} && ${S}/autogen.sh)
+}
diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb
index dcdfb5bd40..097144d356 100644
--- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_35.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_36.0.bb
@@ -6,7 +6,7 @@ DEPENDS = "libnl"
RDEPENDS:${PN} = "bash perl"
SRC_URI = "git://github.com/linux-rdma/rdma-core.git"
-SRCREV = "e29a698e99028e9a092bb00c03ee4bfa31ae0cf3"
+SRCREV = "d7a9dde2b164a1563c7a51e4ade8ea3b6cdea9ef"
S = "${WORKDIR}/git"
#Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md
diff --git a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
index 65d980fd91..4263593a8d 100644
--- a/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
+++ b/meta-openembedded/meta-oe/classes/image_types_sparse.bbclass
@@ -2,15 +2,7 @@ inherit image_types
CONVERSIONTYPES += "sparse"
CONVERSION_CMD:sparse = " \
- case "${type}" in \
- ext*) \
- ext2simg "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" \
- "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" \
- ;; \
- *) \
- img2simg "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" \
- "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" \
- ;; \
- esac \
+ img2simg "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" \
+ "${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sparse" \
"
CONVERSION_DEPENDS_sparse = "android-tools-native"
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index bfb3e59057..d25db911ce 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -5,7 +5,7 @@
# Therefore if you want a given layer to be considered high priority
# for the .inc and .conf etc. then consider it adding at the beginning
# of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolve
-# the recipe contention so the order of directories in BBFILES does
+# the recipe contention so the order of directories in BBFILES does
# not matter.
# We have a conf and classes directory, append to BBPATH
@@ -81,6 +81,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
ttf-gentium->fontconfig \
ttf-hunkyfonts->fontconfig \
ttf-inconsolata->fontconfig \
+ ttf-ipa->fontconfig \
ttf-liberation->fontconfig \
ttf-liberation-sans-narrow->fontconfig \
ttf-lklug->fontconfig \
@@ -90,6 +91,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
ttf-roboto->fontconfig \
ttf-mplus->fontconfig \
ttf-sazanami->fontconfig \
+ ttf-takao->fontconfig \
ttf-tlwg->fontconfig \
ttf-ubuntu-font-family->fontconfig \
ttf-vlgothic->fontconfig \
diff --git a/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
index 93ef228efe..c85293aa5c 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
@@ -33,4 +33,4 @@ do_install() {
install -m 0755 openbox-xdgmenu ${D}${bindir}
}
-RDEPENDS:${PN} += "virtual/x-terminal-emulator"
+RDEPENDS:${PN} += "virtual-x-terminal-emulator"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.8.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.9.bb
index a2478dd54e..fb83361856 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.8.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.2.9.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \
file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \
"
-SRCREV = "78b30dc952512c98db8c2e7e0eded2982b802b93"
+SRCREV = "343ccf17ce656203b6b5513f4b7962f45d37b589"
SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=2.2.x"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.17.bb
index 6bace616a3..00d94f36e9 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.16.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.17.bb
@@ -8,7 +8,7 @@ DEPENDS = "ell"
SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \
file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \
"
-SRC_URI[sha256sum] = "af548398aea2089a3a5103e5586561f24791090a17d4b2e50785e2faab5ed03a"
+SRC_URI[sha256sum] = "6f946f823b0dc3205e4e72becf8ad1915448d194f5b10d8003e4c8c5a18e4ef7"
inherit autotools manpages pkgconfig python3native systemd
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb
index 8b83705f6b..6c4b4575ee 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb
@@ -95,6 +95,11 @@ do_install:append() {
install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
fi
+
+ sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \
+ -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \
+ -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \
+ -i ${D}${bindir}/krb5-config
}
PACKAGES =+ "${PN}-admin-server \
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.8.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.0.bb
index ebc8b8b8aa..61fe0eef81 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.28.8.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.0.bb
@@ -14,7 +14,7 @@ inherit autotools pkgconfig bash-completion gobject-introspection
SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "6e3bbbd200bc1b64b23f6254fef9212f2699ec77cfb32075d2ba5079c73a9f78"
+SRC_URI[sha256sum] = "c039cdb5d3522b45a50d2287ab6311cdc9f99d46a719a1ea4beb7591787b8a1b"
PACKAGECONFIG ??= "udev mbim"
PACKAGECONFIG[udev] = ",--without-udev,libgudev"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb
index 4c6a0797bb..f3dc5d15d4 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://linuxptp.sourceforge.net/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \
+SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v3.1/linuxptp-${PV}.tgz \
file://build-Allow-CC-and-prefix-to-be-overriden.patch \
file://Use-cross-cpp-in-incdefs.patch \
"
@@ -11,8 +11,7 @@ SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/linuxptp/files/"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
-SRC_URI[md5sum] = "2264cb69c9af947028835c12c89a7572"
-SRC_URI[sha256sum] = "f58f5b11cf14dc7c4f7c9efdfb27190e43d02cf20c3525f6639edac10528ce7d"
+SRC_URI[sha256sum] = "94d6855f9b7f2d8e9b0ca6d384e3fae6226ce6fc012dbad02608bdef3be1c0d9"
EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} EXTRA_CFLAGS='${CFLAGS}' mandir=${mandir}"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index d46447d33b..c36feb334c 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -226,8 +226,8 @@ RDEPENDS:packagegroup-meta-oe-dbs-python2 ="\
RDEPENDS:packagegroup-meta-oe-devtools ="\
abseil-cpp \
+ apitrace \
breakpad \
- bootchart \
android-tools-conf \
android-tools \
concurrencykit \
@@ -396,7 +396,6 @@ RDEPENDS:packagegroup-meta-oe-extended ="\
libusbmuxd \
liblockfile \
liblogging \
- libnss-nisplus \
libpwquality \
${@bb.utils.contains("DISTRO_FEATURES", "systemd", "libreport", "", d)} \
libserialport \
@@ -435,7 +434,7 @@ RDEPENDS:packagegroup-meta-oe-extended:append:libc-musl = " libexecinfo"
RDEPENDS:packagegroup-meta-oe-extended:append:x86-64 = " pmdk libx86-1"
RDEPENDS:packagegroup-meta-oe-extended:append:x86 = " libx86-1"
-RDEPENDS:packagegroup-meta-oe-extended:remove:libc-musl = "libnss-nisplus sysdig"
+RDEPENDS:packagegroup-meta-oe-extended:remove:libc-musl = "sysdig"
RDEPENDS:packagegroup-meta-oe-extended:remove:mipsarch = "upm mraa minifi-cpp tiptop"
RDEPENDS:packagegroup-meta-oe-extended:remove:mips = "sysdig"
RDEPENDS:packagegroup-meta-oe-extended:remove:powerpc = "upm mraa minifi-cpp"
@@ -493,7 +492,6 @@ RDEPENDS:packagegroup-meta-oe-graphics ="\
packagegroup-fonts-truetype \
qrencode \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "st", "", d)} \
- takao-fonts \
leptonica \
libvncserver \
libmng \
@@ -525,7 +523,7 @@ RDEPENDS:packagegroup-meta-oe-graphics ="\
ttf-gentium \
ttf-hunky-sans \
ttf-hunky-serif \
- ttf-ipa \
+ ttf-ipag ttf-ipagp ttf-ipamp ttf-ipam \
ttf-lohit \
ttf-inconsolata \
ttf-liberation-sans-narrow \
@@ -537,6 +535,7 @@ RDEPENDS:packagegroup-meta-oe-graphics ="\
ttf-noto-emoji-regular \
ttf-sazanami-gothic \
ttf-sazanami-mincho \
+ ttf-takao-pgothic ttf-takao-gothic ttf-takao-pmincho ttf-takao-mincho \
ttf-tlwg \
ttf-roboto \
ttf-wqy-zenhei \
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb
index e86b9dcf99..49c0fd11e6 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb
@@ -16,6 +16,7 @@ inherit autotools
PACKAGECONFIG ??= ""
PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash"
PACKAGECONFIG[apps] = "--enable-kcapi-speed --enable-kcapi-hasher --enable-kcapi-rngapp --enable-kcapi-encapp --enable-kcapi-dgstapp,,,"
+PACKAGECONFIG[hasher_only] = "--enable-kcapi-hasher --disable-lib-kdf --disable-lib-sym --disable-lib-aead --disable-lib-rng,,,"
do_install:append() {
# bindir contains testapp and apps. However it is always created, even
@@ -28,3 +29,5 @@ do_install:append() {
}
CPPFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch b/meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch
new file mode 100644
index 0000000000..2cc98e6d62
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch
@@ -0,0 +1,33 @@
+From 4a11d4d03ef66729d302cc122fa0c693299a7776 Mon Sep 17 00:00:00 2001
+From: Sakib Sajal <sakib.sajal@windriver.com>
+Date: Wed, 18 Aug 2021 10:49:38 -0400
+Subject: [PATCH] Makefile: use libprefix instead of libdir
+
+libdir expands to "$(exec_prefix)/lib" where "lib" is hardcoded.
+This is a problem for builds that enable MULTILIB since libraries
+are to be installed in "lib64" directory. Hence allow the directory
+to be configurable.
+
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+---
+ libraries/liblmdb/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index f254511..1ec74e6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -46,11 +46,11 @@ all: $(ILIBS) $(PROGS)
+
+ install: $(ILIBS) $(IPROGS) $(IHDRS)
+ mkdir -p $(DESTDIR)$(bindir)
+- mkdir -p $(DESTDIR)$(libdir)
++ mkdir -p $(DESTDIR)$(libprefix)
+ mkdir -p $(DESTDIR)$(includedir)
+ mkdir -p $(DESTDIR)$(mandir)/man1
+ for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done
+- for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done
++ for f in $(ILIBS); do cp $$f $(DESTDIR)$(libprefix); done
+ for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done
+ for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
index 0746da1411..3c6ffe04e6 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
@@ -10,7 +10,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972"
SRC_URI = "git://github.com/LMDB/lmdb.git;nobranch=1 \
file://run-ptest \
-"
+ file://0001-Makefile-use-libprefix-instead-of-libdir.patch \
+ "
SRCREV = "LMDB_${PV}"
@@ -26,7 +27,7 @@ do_compile() {
do_install() {
oe_runmake CC="${CC}" DESTDIR="${D}" prefix="${prefix}" libprefix="${libdir}" manprefix="${mandir}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}" install
- cd ${D}/${libdir}
+ cd ${D}${libdir}
ln -s liblmdb.so.${PV} liblmdb.so
rm liblmdb.a
}
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.11.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.6.4.bb
index e38726d3f9..e38726d3f9 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.11.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.6.4.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 2496ac8fdc..81a7859323 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -12,20 +12,18 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
file://mysql-systemd-start \
file://configure.cmake-fix-valgrind.patch \
file://support-files-CMakeLists.txt-fix-do_populate_sysroot.patch \
- file://0001-disable-ucontext-on-musl.patch \
file://c11_atomics.patch \
- file://clang_version_header_conflict.patch \
file://fix-arm-atomic.patch \
file://0001-Fix-library-LZ4-lookup.patch \
file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \
file://0001-aio_linux-Check-if-syscall-exists-before-using-it.patch \
- file://sys_futex.patch \
file://ssize_t.patch \
file://mm_malloc.patch \
+ file://sys_futex.patch \
"
SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
-SRC_URI[sha256sum] = "761053605fe30ce393f324852117990350840a93b3e6305ef4d2f8c8305cc47a"
+SRC_URI[sha256sum] = "75bf9b147a95d38160d01a73b098d50a1960563b46d16a235971fff64d99643c"
UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch
index a2f7812c50..6ed174113b 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch
@@ -1,6 +1,6 @@
-From 5d9a869a72420cf0bb08b6aa93e980df90bdcf2e Mon Sep 17 00:00:00 2001
+From 0a3222338efc108c831fbdd719a47d35f4b0adcd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 3 Apr 2021 12:02:36 -0700
+Date: Wed, 18 Aug 2021 06:49:25 +0000
Subject: [PATCH] aio_linux: Check if syscall exists before using it
Return -ENOSYS if not implememented, fixes build on arches like RISCV32
@@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 4 insertions(+)
diff --git a/tpool/aio_linux.cc b/tpool/aio_linux.cc
-index d9aa8be2..d8a87a8f 100644
+index 4abc213..da75411 100644
--- a/tpool/aio_linux.cc
+++ b/tpool/aio_linux.cc
-@@ -59,6 +59,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/
+@@ -58,6 +58,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/
*/
static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
{
@@ -28,7 +28,7 @@ index d9aa8be2..d8a87a8f 100644
int saved_errno= errno;
int ret= syscall(__NR_io_getevents, reinterpret_cast<long>(ctx),
min_nr, nr, ev, 0);
-@@ -68,6 +69,9 @@ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
+@@ -67,6 +68,9 @@ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
errno= saved_errno;
}
return ret;
@@ -36,8 +36,8 @@ index d9aa8be2..d8a87a8f 100644
+ return -ENOSYS;
+#endif
}
- #endif
+
--
-2.31.1
+2.29.2
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
deleted file mode 100644
index daf2432a54..0000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b658bdb38b7ff6a78915fd0ac390fc224e4006cb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 26 Mar 2017 14:30:33 -0700
-Subject: [PATCH] disable ucontext on musl
-
-musl does not have *contex() APIs even though it has ucontext.h header
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- include/my_context.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/my_context.h b/include/my_context.h
-index ea0e3496..4c9b37dc 100644
---- a/include/my_context.h
-+++ b/include/my_context.h
-@@ -31,7 +31,7 @@
- #define MY_CONTEXT_USE_X86_64_GCC_ASM
- #elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__)
- #define MY_CONTEXT_USE_I386_GCC_ASM
--#elif defined(HAVE_UCONTEXT_H)
-+#elif defined(__GLIBC__) && defined(HAVE_UCONTEXT_H)
- #define MY_CONTEXT_USE_UCONTEXT
- #else
- #define MY_CONTEXT_DISABLE
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch
deleted file mode 100644
index c77a869441..0000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-libc++ also has a file called version and this file and how cflags are specified
-it ends up including this file and resulting in compile errors
-
-fixes errors like
-storage/mroonga/version:1:1: error: expected unqualified-id
-7.07
-^
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/storage/mroonga/CMakeLists.txt
-+++ b/storage/mroonga/CMakeLists.txt
-@@ -80,7 +80,7 @@ else()
- set(MRN_SOURCE_DIR ${CMAKE_SOURCE_DIR})
- endif()
-
--file(READ ${MRN_SOURCE_DIR}/version MRN_VERSION)
-+file(READ ${MRN_SOURCE_DIR}/ver MRN_VERSION)
- file(READ ${MRN_SOURCE_DIR}/version_major MRN_VERSION_MAJOR)
- file(READ ${MRN_SOURCE_DIR}/version_minor MRN_VERSION_MINOR)
- file(READ ${MRN_SOURCE_DIR}/version_micro MRN_VERSION_MICRO)
---- /dev/null
-+++ b/storage/mroonga/ver
-@@ -0,0 +1 @@
-+7.07
-\ No newline at end of file
---- a/storage/mroonga/version
-+++ /dev/null
-@@ -1 +0,0 @@
--7.07
-\ No newline at end of file
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
index d6e53c29e1..a4deee6070 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
@@ -3,11 +3,13 @@ Remove glibc specific function dependencies
Sourced from: https://git.alpinelinux.org/aports/tree/main/mariadb/ppc-remove-glibc-dep.patch
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+diff --git a/include/my_cpu.h b/include/my_cpu.h
+index f2e26fca..94599b74 100644
--- a/include/my_cpu.h
+++ b/include/my_cpu.h
@@ -24,17 +24,16 @@
*/
-
+
#ifdef _ARCH_PWR8
-#include <sys/platform/ppc.h>
/* Very low priority */
@@ -28,7 +30,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
/* High priority */
#define HMT_high() asm volatile("or 3,3,3")
#else
-@@ -81,7 +80,7 @@ static inline void MY_RELAX_CPU(void)
+@@ -72,7 +71,7 @@ static inline void MY_RELAX_CPU(void)
__asm__ __volatile__ ("pause");
#endif
#elif defined(_ARCH_PWR8)
@@ -36,15 +38,4 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
+ __builtin_ppc_get_timebase();
#elif defined __GNUC__ && (defined __arm__ || defined __aarch64__)
/* Mainly, prevent the compiler from optimizing away delay loops */
- #ifdef _aarch64_
---- a/storage/tokudb/PerconaFT/portability/toku_time.h
-+++ b/storage/tokudb/PerconaFT/portability/toku_time.h
-@@ -124,7 +124,7 @@ static inline tokutime_t toku_time_now(v
- __asm __volatile__ ("mrs %[rt], cntvct_el0" : [rt] "=r" (result));
- return result;
- #elif defined(__powerpc__)
-- return __ppc_get_timebase();
-+ return __builtin_ppc_get_timebase();
- #else
- #error No timer implementation for this platform
- #endif
+ __asm__ __volatile__ ("":::"memory");
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch
index 3277a3eee1..3244ab8da2 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch
@@ -1,22 +1,23 @@
- Use SYS_futex for syscall
+Use SYS_futex for syscall
glibc defines SYS_futex and on newer 32bit CPUs like RISCV-32, arc there
is no 32bit time_t therefore define SYS_futex in terms of SYS_futex_time64
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/storage/innobase/include/ib0mutex.h
-+++ b/storage/innobase/include/ib0mutex.h
-@@ -150,6 +150,12 @@ private:
- #include <linux/futex.h>
- #include <sys/syscall.h>
-
+
+--- a/storage/innobase/sync/srw_lock.cc
++++ b/storage/innobase/sync/srw_lock.cc
+@@ -210,6 +210,12 @@ void ssux_lock_low::wake() { WakeByAddre
+ # ifdef __linux__
+ # include <linux/futex.h>
+ # include <sys/syscall.h>
+/** Newer 32bit CPUs eg. RISCV-32 are defaulting to 64bit time_t from get go and
+ therefore do not define __NR_futex */
-+#if !defined(SYS_futex) && defined(SYS_futex_time64)
-+# define SYS_futex SYS_futex_time64
-+#endif
++# if !defined(SYS_futex) && defined(SYS_futex_time64)
++# define SYS_futex SYS_futex_time64
++# endif
+
- /** Mutex implementation that used the Linux futex. */
- template <template <typename> class Policy>
- struct TTASFutexMutex {
+ # define SRW_FUTEX(a,op,n) \
+ syscall(SYS_futex, a, FUTEX_ ## op ## _PRIVATE, n, nullptr, nullptr, 0)
+ # elif defined __OpenBSD__
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.11.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.6.4.bb
index 04dfb42234..04dfb42234 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.5.11.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.6.4.bb
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index 7e8b03c435..cabaf0efb9 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -180,3 +180,9 @@ FILES:${PN}-fstools = "\
"
BBCLASSEXTEND = "native"
+
+android_tools_enable_devmode() {
+ touch ${IMAGE_ROOTFS}/var/usb-debugging-enabled
+}
+
+ROOTFS_POSTPROCESS_COMMAND_${PN}-adbd += "${@bb.utils.contains("USB_DEBUGGING_ENABLED", "1", "android_tools_enable_devmode;", "", d)}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-Workaround-glibc-2.34-build-failure-by-disabling-dls.patch b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-Workaround-glibc-2.34-build-failure-by-disabling-dls.patch
new file mode 100644
index 0000000000..92edc4404c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-Workaround-glibc-2.34-build-failure-by-disabling-dls.patch
@@ -0,0 +1,28 @@
+From 1926700b367745e976dae9d9dc2236da21f4435b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 1 Sep 2021 10:07:48 -0700
+Subject: [PATCH] Workaround glibc 2.34 build failure by disabling dlsym
+ wrapper
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ wrappers/dlsym.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp
+index 5ab8465b..d353bbf7 100644
+--- a/wrappers/dlsym.cpp
++++ b/wrappers/dlsym.cpp
+@@ -34,7 +34,7 @@
+ #include "os.hpp"
+
+
+-#if defined(__GLIBC__) && !defined(__UCLIBC__)
++#if defined(__GLIBC__) && !defined(__UCLIBC__) && !(__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34)
+
+
+ #include <dlfcn.h>
+--
+2.33.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-libbacktrace-include-config.h.patch b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-libbacktrace-include-config.h.patch
deleted file mode 100644
index 87fb4992d4..0000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace/0001-libbacktrace-include-config.h.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From bdd5f0834d95a9598b0d87a18e7e96afade9d418 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 10 May 2021 15:28:05 -0700
-Subject: [PATCH] libbacktrace: include config.h
-
-Fixes
-thirdparty/libbacktrace/backtrace.h:53:10: fatal error: gstdint.h: No such file or directory
- 53 | #include "gstdint.h"
- | ^~~~~~~~~~~
-compilation terminated.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- thirdparty/libbacktrace/backtrace.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/thirdparty/libbacktrace/backtrace.h b/thirdparty/libbacktrace/backtrace.h
-index 2814763f..802cf989 100644
---- a/thirdparty/libbacktrace/backtrace.h
-+++ b/thirdparty/libbacktrace/backtrace.h
-@@ -33,6 +33,7 @@ POSSIBILITY OF SUCH DAMAGE. */
- #ifndef BACKTRACE_H
- #define BACKTRACE_H
-
-+#include <config.h>
- #include <stddef.h>
- #include <stdio.h>
-
---
-2.31.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_10.0.bb b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_10.0.bb
index 872aeb824a..ca828b0b44 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_10.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/apitrace/apitrace_10.0.bb
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50 \
SRCREV = "9d42f667e2a36a6624d92b9bd697de097cc4e619"
PV .= "+10.0.1+git${SRCPV}"
SRC_URI = "gitsm://github.com/${BPN}/${BPN}.git \
+ file://0001-Workaround-glibc-2.34-build-failure-by-disabling-dls.patch \
"
S = "${WORKDIR}/git"
@@ -30,6 +31,3 @@ EXTRA_OECMAKE += "\
"
SECURITY_CFLAGS:toolchain-clang = ""
-
-# see https://github.com/apitrace/apitrace/issues/756
-PNBLACKLIST[apitrace] ?= "Needs porting to glibc 2.34+"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
new file mode 100644
index 0000000000..4c996656c0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
@@ -0,0 +1,57 @@
+From 329e27c8ad30e76ab50c7949cc95ba8eb0efabd2 Mon Sep 17 00:00:00 2001
+From: Anton Blanchard <anton@ozlabs.org>
+Date: Tue, 17 Aug 2021 09:53:41 +1000
+Subject: [PATCH] Use GNUInstallDirs instead of hard wiring install directories
+
+On a multilib setup cmake files should go into lib64.
+
+Upstream-Status: Submitted [https://github.com/CPPAlliance/url/pull/38]
+---
+ CMakeLists.txt | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5b53f31..ebb7346 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -109,20 +109,22 @@ else()
+ endif()
+
+ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND NOT BOOST_URL_IN_BOOST_TREE)
++ include(GNUInstallDirs)
++
+ set_target_properties(boost_url PROPERTIES EXPORT_NAME url)
+ install(TARGETS boost_url EXPORT boost_url_targets)
+
+ install(EXPORT boost_url_targets
+ FILE boost_url-targets.cmake
+ NAMESPACE Boost::
+- DESTINATION lib/cmake/boost_url
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boost_url
+ )
+
+ include(CMakePackageConfigHelpers)
+
+ configure_package_config_file(cmake/config.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/boost_url-config.cmake
+- INSTALL_DESTINATION lib/cmake/boost_url
++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boost_url
+ )
+
+ write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/boost_url-config-version.cmake
+@@ -132,10 +134,10 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND NOT BOOST_URL_IN_BOOST
+ install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/boost_url-config.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/boost_url-config-version.cmake
+- DESTINATION lib/cmake/boost_url
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boost_url
+ )
+
+- install(DIRECTORY include/ DESTINATION include)
++ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ endif()
+
+ if(BOOST_URL_BUILD_TESTS)
+--
+2.31.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
index 107a4a8331..cb3664fe30 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
@@ -4,7 +4,9 @@ SECTION = "libs"
LICENSE = "BSL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-SRC_URI = "git://github.com/CPPAlliance/url.git;branch=develop"
+SRC_URI = "git://github.com/CPPAlliance/url.git;branch=develop \
+ file://0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch \
+ "
SRCREV = "2c867fbe284ae532f1329b87a86ad3f8cd382867"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch b/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
deleted file mode 100644
index 4581ef25fc..0000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 8d40b4c286e005e82fa50b66fbbbde22b7e65e15 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sun, 20 May 2012 21:35:34 +0200
-Subject: [PATCH 1/2] svg: add rudimentary support for ARM cpuinfo
-
-On ARM /proc/cpuinfo looks like this:
-
-root@beagleboneA3-0428:~# cat /proc/cpuinfo
-Processor : ARMv7 Processor rev 2 (v7l)
-BogoMIPS : 498.89
-Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
-CPU implementer : 0x41
-CPU architecture: 7
-CPU variant : 0x3
-CPU part : 0xc08
-CPU revision : 2
-
-Hardware : am335xevm
-Revision : 0000
-Serial : 0000000000000000
-
-So no real way to get the actual SoC name, TI AM3359, but a lot better than 'Unknown'
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
-
-Upstream-Status: submitted
-
- svg.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/svg.c b/svg.c
-index 80e0292..53724b2 100644
---- a/svg.c
-+++ b/svg.c
-@@ -178,6 +178,10 @@ void svg_title(void)
- strncpy(cpu, &buf[13], 255);
- break;
- }
-+ if (strstr(buf, "Processor")) {
-+ strncpy(cpu, &buf[12], 255);
-+ break;
-+ }
- }
- fclose(f);
- }
---
-1.7.10
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch b/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
deleted file mode 100644
index f63d98aee5..0000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From e3adb4c312c6ba3491b7c173559efac7a53e5abc Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sun, 20 May 2012 22:12:29 +0200
-Subject: [PATCH 2/2] svg: open /etc/os-release and use PRETTY_NAME for the
- 'Build' name
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
-
-Upstream-Status: Submitted
-
- svg.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/svg.c b/svg.c
-index 53724b2..c675d84 100644
---- a/svg.c
-+++ b/svg.c
-@@ -194,6 +194,17 @@ void svg_title(void)
- fclose(f);
- }
-
-+ f = fopen("/etc/os-release", "r");
-+ if(f) {
-+ while (fgets(buf, 255, f)) {
-+ if (strstr(buf, "PRETTY_NAME=")) {
-+ strncpy(build, &buf[12], 255);
-+ break;
-+ }
-+ }
-+ fclose(f);
-+ }
-+
- svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",
- uts.nodename, date);
- svg("<text class=\"t2\" x=\"20\" y=\"50\">System: %s %s %s %s</text>\n",
---
-1.7.10
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart_git.bb b/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
deleted file mode 100644
index 2b75eaac9d..0000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Monitors where the system spends its time at start, creating a graph of all processes, disk utilization, and wait time."
-HOMEPAGE = "http://meego.gitorious.org/meego-developer-tools/bootchart"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
-
-PV = "1.17"
-PR = "r1"
-PE = "1"
-
-SRC_URI = "git://gitorious.org/meego-developer-tools/bootchart.git;protocol=https \
- file://0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch \
- file://0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch \
-"
-
-SRCREV = "a2c7561d4060a9f075339bda89e793c76f2ff6dd"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210801.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210815.0.bb
index b6fdad27cb..1d8a7ecf6f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210801.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20210815.0.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
inherit autotools-brokensep pkgconfig manpages
-SRCREV = "6544786c167ed3149d56e1ffe740c70513762197"
+SRCREV = "24f852441bb12e2cfe4f6066bf85827b934e1469"
SRC_URI = "git://github.com/universal-ctags/ctags"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.9.1.bb b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.9.2.bb
index 023c8565a6..fc5df4c71f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.9.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/doxygen/doxygen_1.9.2.bb
@@ -10,7 +10,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \
file://0001-build-don-t-look-for-Iconv.patch \
"
SRC_URI:append:class-native = " file://doxygen-native-only-check-python3.patch"
-SRC_URI[sha256sum] = "67aeae1be4e1565519898f46f1f7092f1973cce8a767e93101ee0111717091d1"
+SRC_URI[sha256sum] = "060f254bcef48673cc7ccf542736b7455b67c110b30fdaa33512a5b09bbecee5"
inherit cmake python3native
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.38.1.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.38.1.bb
index ac8aba382e..b4f10662dc 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.38.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.38.1.bb
@@ -34,12 +34,11 @@ EXTRA_OECMAKE = " \
-DgRPC_RE2_PROVIDER=package \
-DgRPC_INSTALL=ON \
-DCMAKE_CROSSCOMPILING=ON \
- -DBUILD_SHARED_LIBS=ON \
-DgRPC_INSTALL_LIBDIR=${baselib} \
-DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \
"
-PACKAGECONFIG ??= "cpp"
+PACKAGECONFIG ??= "cpp shared"
PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF"
PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF"
PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF"
@@ -48,6 +47,7 @@ PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUG
PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF"
PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF"
PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite"
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
do_configure:prepend() {
sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb
index b5d53bb112..d4fed864d6 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb
@@ -28,6 +28,12 @@ EXTRA_AUTORECONF += "--exclude=autoheader"
EXTRA_OECONF:append:libc-musl = " --with-jemalloc-prefix=je_"
+do_install:append() {
+ sed -i -e 's@${STAGING_DIR_HOST}@@g' \
+ -e 's@${STAGING_DIR_NATIVE}@@g' \
+ -e 's@${WORKDIR}@@g' ${D}${bindir}/jemalloc-config
+}
+
do_compile_ptest() {
oe_runmake tests
}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb
index 3fe32f8c94..1fa916c0e8 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.2.bb
@@ -31,8 +31,9 @@ PACKAGECONFIG += " \
"
PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
-LDFLAGS:append:libc-glibc:x86-64 = " -lgcc"
-LDFLAGS:append:libc-glibc:x86 = " -lgcc"
+# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang
+LDFLAGS:append:x86-64 = " -lgcc"
+LDFLAGS:append:x86 = " -lgcc"
inherit autotools gettext pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.6.0.bb b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.7.0.bb
index d736552177..a16dbd4145 100644
--- a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.7.0.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4a26952467ef79a7efca4a9cf52d417b"
SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.lz \
file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \
"
-SRC_URI[sha256sum] = "33cc69ba1fb762d85cc2755a930d6cf1a7c23e33f736ef2ec01c59d612f9b2eb"
+SRC_URI[sha256sum] = "c56b1d0f5d8efa2af3e38003770eab9165289aa87bd8f1627819c7f93f9433a3"
UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb b/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb
deleted file mode 100644
index 602e963752..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 2019 Ruslan Bilovol <rbilovol@cisco.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "NSS module for glibc, to provide NIS+ support for glibc"
-
-DESCRIPTION = "This package contains the NSS NIS+ plugin for glibc.\
-This code was formerly part of glibc, but is now standalone to\
-be able to link against TI-RPC for IPv6 support."
-
-HOMEPAGE = "https://github.com/thkukuk/libnss_nisplus"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SECTION = "libs"
-DEPENDS += "libtirpc libnsl2"
-
-PV = "1.3+git${SRCPV}"
-
-SRCREV = "116219e215858f4af9370171d3ead63baca8fdb4"
-
-SRC_URI = "git://github.com/thkukuk/libnss_nisplus \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND += "native nativesdk"
-#
-# We will skip parsing this packagegeoup for non-glibc systems
-#
-COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2021-3560.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2021-3560.patch
new file mode 100644
index 0000000000..daf0b1edbd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/CVE-2021-3560.patch
@@ -0,0 +1,31 @@
+From a04d13affe0fa53ff618e07aa8f57f4c0e3b9b81 Mon Sep 17 00:00:00 2001
+From: Jan Rybar <jrybar@redhat.com>
+Date: Wed, 2 Jun 2021 15:43:38 +0200
+Subject: [PATCH] GHSL-2021-074: authentication bypass vulnerability in polkit
+
+initial values returned if error caught
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/polkit/polkit/-/commit/a04d13affe0fa53ff618e07aa8f57f4c0e3b9b81]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ src/polkit/polkitsystembusname.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/polkit/polkitsystembusname.c b/src/polkit/polkitsystembusname.c
+index 8daa12c..8ed1363 100644
+--- a/src/polkit/polkitsystembusname.c
++++ b/src/polkit/polkitsystembusname.c
+@@ -435,6 +435,9 @@ polkit_system_bus_name_get_creds_sync (PolkitSystemBusName *system_bus
+ while (!((data.retrieved_uid && data.retrieved_pid) || data.caught_error))
+ g_main_context_iteration (tmp_context, TRUE);
+
++ if (data.caught_error)
++ goto out;
++
+ if (out_uid)
+ *out_uid = data.uid;
+ if (out_pid)
+--
+2.29.2
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb
index 55d11a6516..6408933ea3 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.116.bb
@@ -25,6 +25,7 @@ PAM_SRC_URI = "file://polkit-1_pam.patch"
SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
file://0003-make-netgroup-support-optional.patch \
+ file://CVE-2021-3560.patch \
"
SRC_URI[md5sum] = "4b37258583393e83069a0e2e89c0162a"
SRC_URI[sha256sum] = "88170c9e711e8db305a12fdb8234fac5706c61969b94e084d0f117d8ec5d34b1"
diff --git a/meta-openembedded/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch b/meta-openembedded/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch
deleted file mode 100644
index 4be3353c66..0000000000
--- a/meta-openembedded/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 9db49b94336f65453e06fb6a6bc4e6edf9403fea Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 17 Aug 2020 17:22:09 -0700
-Subject: [PATCH] DtaAnnotatedDump: Add typedef name to the union
-
-This is found with clang
-error: anonymous non-C-compatible type given name for linkage purposes by
-typedef declaration; add a tag name here [-Werror,-Wnon-c-typedef-for-linkage]
-| typedef union
-| ^
-| CAtomHeader
-
-Upstream-Status: Submitted [https://github.com/Drive-Trust-Alliance/sedutil/pull/332]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Common/DtaAnnotatedDump.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Common/DtaAnnotatedDump.h b/Common/DtaAnnotatedDump.h
-index 2749365..734c8eb 100644
---- a/Common/DtaAnnotatedDump.h
-+++ b/Common/DtaAnnotatedDump.h
-@@ -20,7 +20,7 @@ along with sedutil. If not, see <http://www.gnu.org/licenses/>.
-
- #pragma pack(push,1)
-
--typedef union
-+typedef union CAtomHeader_t
- {
- // four bytes in big endian (network) byte order
- uint8_t all[4];
---
-2.28.0
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/sedutil/sedutil_git.bb b/meta-openembedded/meta-oe/recipes-extended/sedutil/sedutil_git.bb
index 1e7a393193..99e358648f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sedutil/sedutil_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sedutil/sedutil_git.bb
@@ -8,12 +8,11 @@ LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://Common/LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
BASEPV = "1.15.1"
-PV = "${BASEPV}+git${SRCPV}"
-SRCREV = "358cc758948be788284d5faba46ccf4cc1813796"
+PV = "1.20.0"
+SRCREV = "d3de8e45e06a21d31cca0046ceb16ced1ef3563a"
SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git \
- file://0001-Fix-build-on-big-endian-architectures.patch \
- file://0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch \
-"
+ file://0001-Fix-build-on-big-endian-architectures.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
index ad7fc596ed..8d63a10e54 100644
--- a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
@@ -6,9 +6,9 @@ DEPENDS = "libsocketcan"
SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git"
-SRCREV = "e9dd86fa5c4e6ecdfc34e487634a32f19e5c4d63"
+SRCREV = "3615bac17e539a06835dcb90855eae844ee18053"
-PV = "2021.06.0"
+PV = "2021.08.0"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb
index 9ddfc6ae73..be0e544ccc 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb
@@ -1,3 +1,5 @@
+require ttf.inc
+
SUMMARY = "Takao Fonts are a community developed derivatives of IPA Fonts."
DESCRIPTION = "Takao Fonts are a community developed derivatives of IPA Fonts."
@@ -6,14 +8,18 @@ SECTION = "User Interface/X"
LICENSE = "IPA"
LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276"
+
SRC_URI = "https://launchpad.net/${BPN}/trunk/15.03/+download/TakaoFonts_00303.01.tar.xz"
-SRC_URI[md5sum] = "8cd3fe724faa5034a9369e98cf108d2d"
SRC_URI[sha256sum] = "e9871f72ac69acb3e277aebbee7ca01fbebf54800733e29fafdc46133fc3552f"
S = "${WORKDIR}/TakaoFonts_00303.01"
-do_install() {
- install -m 0755 -d ${D}/${datadir}/fonts
- install -m 0644 -p ${S}/*.ttf ${D}/${datadir}/fonts/
-}
+
+PACKAGES = "ttf-takao-pgothic ttf-takao-gothic ttf-takao-pmincho ttf-takao-mincho"
+FONT_PACKAGES = "ttf-takao-pgothic ttf-takao-gothic ttf-takao-pmincho ttf-takao-mincho"
+
+FILES:ttf-takao-pgothic = "${datadir}/fonts/truetype/TakaoPGothic.ttf"
+FILES:ttf-takao-gothic = "${datadir}/fonts/truetype/TakaoGothic.ttf"
+FILES:ttf-takao-pmincho = "${datadir}/fonts/truetype/TakaoPMincho.ttf"
+FILES:ttf-takao-mincho = "${datadir}/fonts/truetype/TakaoMincho.ttf"
FILES:${PN} += "${datadir}/fonts/*.ttf"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.1.bb
index c5e0e88ed3..a8c5b3d0a4 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.1.bb
@@ -5,5 +5,4 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69"
DEPENDS += "libxmu"
-SRC_URI[md5sum] = "34ae801ef994d192c70fcce2bdb2a1b2"
-SRC_URI[sha256sum] = "f23a65cfa1f7126040d68b6cf1e4567523edac10f8dc06f23d840d330c7c6946"
+SRC_URI[sha256sum] = "4f5d031c214ffb88a42ae7528492abde1178f5146351ceb3c05f3b8d5abee8b4"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_367.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_367.bb
index 81bfcf1142..ee25dc872c 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_367.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_367.bb
@@ -37,7 +37,7 @@ do_install:append() {
oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}"
}
-RPROVIDES:${PN} = "virtual/x-terminal-emulator"
+RPROVIDES:${PN} = "virtual-x-terminal-emulator"
# busybox can supply resize too
inherit update-alternatives
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb
index 830ca7ac90..9f445ff265 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb
@@ -1,16 +1,16 @@
require recipes-graphics/xorg-driver/xorg-driver-input.inc
+
SUMMARY = "X.Org X server -- tslib input driver"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f1524518264f7776a9707c19c8affbbf"
+
DEPENDS += "tslib"
RRECOMMENDS:${PN} += "tslib-calibrate"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f1524518264f7776a9707c19c8affbbf"
-
SRC_URI = "https://github.com/merge/xf86-input-tslib/releases/download/${PV}/xf86-input-tslib-${PV}.tar.xz \
file://99-xf86-input-tslib.rules \
"
-SRC_URI[md5sum] = "c5ffb03bccccfa1c4ba11079fef0036e"
-SRC_URI[sha256sum] = "1439a9efa50eb481e6a0ab5319ab0765d457732e7da64e3c15f3c0cd13b44297"
+SRC_URI[sha256sum] = "b596168c4ed2f1023212dc828ce49cbe82a0bbd1aac3c5e2958154d78870ca88"
do_install:append() {
install -d ${D}${nonarch_base_libdir}/udev/rules.d
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
index 8fcdb7ca47..36f05b7277 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
@@ -10,6 +10,8 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS:${PN} = "encodings font-util"
RDEPENDS:${PN}:class-native = "font-util-native"
+UPSTREAM_CHECK_REGEX = "font\-adobe\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
index 2c51c65485..8b83ba378f 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
@@ -10,6 +10,8 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS:${PN} = "encodings font-util"
RDEPENDS:${PN}:class-native = "font-util-native"
+UPSTREAM_CHECK_REGEX = "font\-adobe\-utopia\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
index 67ebccd02e..5d321acc6e 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
@@ -10,6 +10,8 @@ DEPENDS += "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS:${PN} = "encodings font-util"
RDEPENDS:${PN}:class-native = "font-util-native"
+UPSTREAM_CHECK_REGEX = "font\-bh\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
index 9d0dc99c00..557eeb17bd 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
@@ -10,6 +10,8 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
RDEPENDS:${PN} = "encodings font-util"
RDEPENDS:${PN}:class-native = "font-util-native"
+UPSTREAM_CHECK_REGEX = "font\-bh\-lucidatypewriter\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
index e32fad5e32..b280a32603 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
@@ -10,6 +10,8 @@ DEPENDS = "util-macros-native font-util-native bdftopcf-native"
RDEPENDS:${PN} = "encodings font-util"
RDEPENDS:${PN}:class-native = "font-util-native"
+UPSTREAM_CHECK_REGEX = "font\-bitstream\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
+
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
deleted file mode 100644
index 9423141962..0000000000
--- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7df10d91db6f533cc0f6c09f4ae8ad92918c6160 Mon Sep 17 00:00:00 2001
-From: Matteo Croce <mcroce@microsoft.com>
-Date: Tue, 26 Jan 2021 12:41:47 +0100
-Subject: [PATCH] install: don't preserve file owner
-
-'cp -p' preserve file ownership, this may leave files owned by the
-current in user in /lib .
-
-Upstream-status: Submitted (0.4 release) [https://github.com/libbpf/libbpf/commit/767d82caab7e54238f2fc6f40ab1e4af285f2abe]
-
-Signed-off-by: Matteo Croce <mcroce@microsoft.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index da33613..ab66edc 100644
---- a/Makefile
-+++ b/Makefile
-@@ -130,7 +130,7 @@ define do_s_install
- $(Q)if [ ! -d '$(DESTDIR)$2' ]; then \
- $(INSTALL) -d -m 755 '$(DESTDIR)$2'; \
- fi;
-- $(Q)cp -fpR $1 '$(DESTDIR)$2'
-+ $(Q)cp -fR $1 '$(DESTDIR)$2'
- endef
-
- install: all install_headers install_pkgconfig
---
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.4.bb
index 57e8376b5e..27559ba297 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.4.bb
@@ -4,26 +4,21 @@ HOMEPAGE = "https://github.com/libbpf/libbpf"
SECTION = "libs"
LICENSE = "LGPLv2.1+"
-# There is a typo in the filename, LPGL should really be LGPL.
-# Keep this until the correct name is set upstream.
-LIC_FILES_CHKSUM = "file://../LICENSE.LPGL-2.1;md5=b370887980db5dd40659b50909238dbd"
+LIC_FILES_CHKSUM = "file://../LICENSE.LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
DEPENDS = "zlib elfutils"
do_compile[depends] += "virtual/kernel:do_shared_workdir"
SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https"
-SRCREV = "051a4009f94d5633a8f734ca4235f0a78ee90469"
-
-# Backported from version 0.4
-SRC_URI += "file://0001-install-don-t-preserve-file-owner.patch"
+SRCREV = "db9614b6bd69746809d506c2786f914b0f812c37"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64).*-linux"
S = "${WORKDIR}/git/src"
-EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir}"
+EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}"
inherit pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210720.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210824.bb
index 52230cdda5..deacab2ac0 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210720.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20210824.bb
@@ -16,7 +16,7 @@ SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz
# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n"
-SRC_URI[sha256sum] = "3a9a83618b07192c5fb0d824bdafaece466086bb44b5634fac32e8f9e00c7994"
+SRC_URI[sha256sum] = "ce95a1c79f6d18e959f9dc129b8529b711c60e76754acc285e60946303b923ec"
S = "${WORKDIR}/live"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch
deleted file mode 100644
index b021d0b727..0000000000
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-Subject: [PATCH] Revert "SConstruct: Add test for sizeof(time_t), result in
- SIZEOF_TIME_T."
-
-This reverts commit b32ff1a86c44fa738dabaf63de1b5462e0071ad3.
-
-Upstream-Status: Inappropriate [cross-compile specific]
-
----
- SConstruct | 54 ++++--------------------------------------
- android/gpsd_config.in | 1 -
- 2 files changed, 5 insertions(+), 50 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 33e0ff326..e3c62fa3c 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -597,42 +597,6 @@ def CheckHeaderDefines(context, file, define):
- return ret
-
-
--def CheckSizeOf(context, type):
-- """Check sizeof 'type'"""
-- context.Message('Checking size of ' + type + '... ')
--
-- program = """
--#include <stdlib.h>
--#include <stdio.h>
--
--/*
-- * The CheckSizeOf function does not have a way for the caller to
-- * specify header files to be included to provide the type being
-- * checked. As a workaround until that is remedied, include the
-- * header required for time_t, which is the sole current use of this
-- * function.
-- */
--#include <time.h>
--
--int main() {
-- printf("%d", (int)sizeof(""" + type + """));
-- return 0;
--}
--"""
--
-- # compile it
-- ret = context.TryCompile(program, '.c')
-- if 0 == ret:
-- announce('ERROR: TryCompile failed\n')
-- # fall back to sizeof(time_t) is 8
-- return '8'
--
-- # run it
-- ret = context.TryRun(program, '.c')
-- context.Result(ret[0])
-- return ret[1]
--
--
- def CheckCompilerDefines(context, define):
- context.Message('Checking if compiler supplies %s... ' % (define,))
- ret = context.TryLink("""
-@@ -703,15 +667,13 @@ env.Prepend(LIBPATH=[os.path.realpath(os.curdir)])
-
- # CheckXsltproc works, but result is incorrectly saved as "no"
- config = Configure(env, custom_tests={
-- 'CheckC11': CheckC11,
-- 'CheckCompilerDefines': CheckCompilerDefines,
-- 'CheckCompilerOption': CheckCompilerOption,
-- 'CheckHeaderDefines': CheckHeaderDefines,
- 'CheckPKG': CheckPKG,
-- 'CheckSizeOf': CheckSizeOf,
- 'CheckXsltproc': CheckXsltproc,
-- 'GetPythonValue': GetPythonValue,
-- })
-+ 'CheckCompilerOption': CheckCompilerOption,
-+ 'CheckCompilerDefines': CheckCompilerDefines,
-+ 'CheckC11': CheckC11,
-+ 'CheckHeaderDefines': CheckHeaderDefines,
-+ 'GetPythonValue': GetPythonValue})
-
- # Use print, rather than announce, so we see it in -s mode.
- print("This system is: %s" % sys.platform)
-@@ -1043,12 +1005,6 @@ else:
- confdefs.append("/* #undef HAVE_%s_H */\n"
- % hdr.replace("/", "_").upper())
-
-- sizeof_time_t = config.CheckSizeOf("time_t")
-- confdefs.append("#define SIZEOF_TIME_T %s\n" % sizeof_time_t)
-- announce("sizeof(time_t) is %s" % sizeof_time_t)
-- if 4 >= int(sizeof_time_t):
-- announce("WARNING: time_t is too small. It will fail in 2038")
--
- # check function after libraries, because some function require libraries
- # for example clock_gettime() require librt on Linux glibc < 2.17
- for f in ("cfmakeraw", "clock_gettime", "daemon", "fcntl", "fork",
-diff --git a/android/gpsd_config.in b/android/gpsd_config.in
-index 758251986..d240f6d34 100644
---- a/android/gpsd_config.in
-+++ b/android/gpsd_config.in
-@@ -19,7 +19,6 @@
- #define HAVE_ARPA_INET_H 1
- #define HAVE_SYSLOG_H 1
- #define HAVE_DAEMON 1
--#define SIZEOF_TIME_T 8
- #define HAVE_CLOCK_GETTIME 1
- #define HAVE_STRPTIME 1
- #define HAVE_GMTIME_R 1
---
-2.26.2
-
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch
new file mode 100644
index 0000000000..172f47825f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch
@@ -0,0 +1,29 @@
+From c7183b2cc4a42f6ca7c2dc687ee7881efe9aeb73 Mon Sep 17 00:00:00 2001
+From: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+Date: Sat, 28 Aug 2021 14:22:02 +0200
+Subject: [PATCH] SConscript: Correct the installation of gpsd.hotplug
+
+Without this, `scons systemd=false && scons udev-install` fails with:
+
+ cp .../gpsd/gpsd-3.23.1~dev/gpsd.hotplug /home/pkj/gpsd/foobar/lib/udev
+ cp: cannot stat '.../gpsd/gpsd-3.23.1~dev/gpsd.hotplug': No such file or directory
+
+Upstream-Status: Submitted [https://gitlab.com/gpsd/gpsd/-/merge_requests/277]
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+---
+ SConscript | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/SConscript b/SConscript
+index 1cd3354e1..e578012f5 100644
+--- a/SConscript
++++ b/SConscript
+@@ -3060,7 +3060,7 @@ if env['systemd']:
+ hotplug_wrapper_install = []
+ else:
+ hotplug_wrapper_install = [
+- 'cp $SRCDIR/gpsd.hotplug ' + DESTDIR + env['udevdir'],
++ 'cp $SRCDIR/../gpsd.hotplug ' + DESTDIR + env['udevdir'],
+ 'chmod a+x ' + DESTDIR + env['udevdir'] + '/gpsd.hotplug'
+ ]
+
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
deleted file mode 100644
index 23ae5e509d..0000000000
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 5464d9e1bfd1a1c54338ec7c4148cad1b222ef93 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 24 Apr 2012 18:45:14 +0200
-Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
- from python_lib_dir
-
-* without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix
- and with PYTHONPATH from OE it's pointing to native python dir
-
- $ export PYTHONPATH=/OE/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib/python2.7/
- $ python
- Python 2.7.2 (default, Apr 18 2012, 09:19:59)
- [GCC 4.6.2] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> from distutils import sysconfig
- >>> sysconfig.get_config_vars('INCLUDEPY')
- ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
- >>>
- $ unset PYTHONPATH
- $ python
- Python 2.7.2 (default, Apr 18 2012, 09:19:59)
- [GCC 4.6.2] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> from distutils import sysconfig
- >>> sysconfig.get_config_vars('INCLUDEPY')
- ['/python2.7']
- >>> import sysconfig
- >>> sysconfig.get_config_vars('INCLUDEPY')
- ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
-* python_lib_dir = python_lib_dir.replace(env['sysroot'], '')
- returns path to target sysroot
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
-
----
- SConstruct | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index b8f3fb1..883e06d 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -980,7 +980,7 @@ else:
-
- # Set up configuration for target Python
-
--PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib()'
-+PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib(plat_specific=1)'
-
- PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS',
- 'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS']
-@@ -1506,7 +1506,7 @@ else:
- LINK=ldshared,
- SHLIBPREFIX="",
- SHLIBSUFFIX=python_config['SO'],
-- CPPPATH=[python_config['INCLUDEPY']],
-+ CPPPATH=[os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], python_config['INCLUDEPY']))] if env['sysroot'] else [python_config['INCLUDEPY']],
- CPPFLAGS=python_config['OPT'],
- CFLAGS=python_config['BASECFLAGS'],
- CXXFLAGS=python_config['BASECFLAGS'])
-@@ -1808,12 +1808,14 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip'] and
- env.AddPostAction(binaryinstall, '$STRIP $TARGET')
-
- if env['python']:
-- python_module_dir = str(python_libdir) + os.sep + 'gps'
-+ python_module_dir = python_libdir.replace(env['sysroot'], '') + os.sep + 'gps'
- python_extensions_install = python_env.Install(DESTDIR + python_module_dir,
- python_built_extensions)
- if ((not env['debug'] and not env['profiling'] and
- not env['nostrip'] and not sys.platform.startswith('darwin'))):
- python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET')
-+ env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \
-+ % (python_libdir, ))
-
- python_modules_install = python_env.Install(DESTDIR + python_module_dir,
- python_modules)
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch
deleted file mode 100644
index 659865efe1..0000000000
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From c9cec2a888d4fea8534be78a0f46d920155ceae6 Mon Sep 17 00:00:00 2001
-From: Paul Fertser <fercerpav@gmail.com>
-Date: Wed, 4 Nov 2020 12:40:50 -0800
-Subject: [PATCH] gpsd/dbusexport.c: Fix broken d-bus message time.
-
-Change-Id: I4b9990ce4517a8feb29fc9e090c62f5a0c56ddd5
----
- dbusexport.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/dbusexport.c b/dbusexport.c
-index 40b35739e..5d08a8702 100644
---- a/dbusexport.c
-+++ b/dbusexport.c
-@@ -38,6 +38,7 @@ void send_dbus_fix(struct gps_device_t *channel)
- /*DBusMessageIter iter; */
- dbus_uint32_t serial; /* collected, but not used */
- char *gpsd_devname;
-+ double dtime; // time as a double, loss of precision!
-
- /* if the connection is non existent, return without doing anything */
- if (connection == NULL)
-@@ -51,8 +52,9 @@ void send_dbus_fix(struct gps_device_t *channel)
- /* the dbus/locationd doc fails to specify altitude as WGS84 or MSL.
- * assume altMSL */
- message = dbus_message_new_signal("/org/gpsd", "org.gpsd", "fix");
-+ dtime = TSTONS(&gpsfix->time);
- dbus_message_append_args(message,
-- DBUS_TYPE_DOUBLE, &(gpsfix->time),
-+ DBUS_TYPE_DOUBLE, &dtime,
- DBUS_TYPE_INT32, &(gpsfix->mode),
- DBUS_TYPE_DOUBLE, &(gpsfix->ept),
- DBUS_TYPE_DOUBLE, &(gpsfix->latitude),
---
-2.20.1
-
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.bb
index 7f8382ed37..aaf7429291 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.bb
@@ -1,18 +1,16 @@
SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
SECTION = "console/network"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=01764c35ae34d9521944bb6ab312af53"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7a5d174db44ec45f9638b2c747806821"
DEPENDS = "dbus ncurses python3 pps-tools"
PROVIDES = "virtual/gpsd"
SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
- file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
- file://0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch \
- file://0001-gpsd-dbusexport.c-Fix-broken-d-bus-message-time.patch \
+ file://0001-SConscript-Correct-the-installation-of-gpsd.hotplug.patch \
file://gpsd.init \
"
-SRC_URI[md5sum] = "cf7fdec7ce7221d20bee1a7246362b05"
-SRC_URI[sha256sum] = "172a7805068eacb815a3c5225436fcb0be46e7e49a5001a94034eac43df85e50"
+SRC_URI[md5sum] = "b4f96cb01cbc06542b1cb66b3296078d"
+SRC_URI[sha256sum] = "522c2362a7eb2d7ac37eaa1504f12aded1c373479a87ba06cc6795974b567bbc"
inherit scons update-rc.d python3-dir python3native systemd update-alternatives
@@ -38,11 +36,13 @@ EXTRA_OESCONS = " \
nostrip='true' \
systemd='${SYSTEMD_OESCONS}' \
libdir='${libdir}' \
+ udevdir='${nonarch_base_libdir}/udev' \
+ unitdir='${systemd_system_unitdir}' \
manbuild='false' \
LINK='${CC}' \
${PACKAGECONFIG_CONFARGS} \
"
-# this cannot be used, because then chrpath is not found and only static lib is built
+# This cannot be used, because then chrpath is not found and only static lib is built
# target=${HOST_SYS}
do_compile:prepend() {
@@ -61,34 +61,20 @@ do_install() {
export LINKFLAGS="${LDFLAGS}"
export DESTDIR="${D}"
- # prefix is used for RPATH and DESTDIR/prefix for instalation
- ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} install ${EXTRA_OESCONS} || \
+ # prefix is used for RPATH and DESTDIR/prefix for installation
+ ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} udev-install ${EXTRA_OESCONS} || \
bbfatal "scons install execution failed."
}
do_install:append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/gpsd.init ${D}/${sysconfdir}/init.d/gpsd
- install -d ${D}/${sysconfdir}/default
- install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default
-
- #support for udev
- install -d ${D}/${sysconfdir}/udev/rules.d
- install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d/
- install -d ${D}${base_libdir}/udev/
- install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
-
- #support for python
- install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
- install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
-
- #support for systemd
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
- sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}.service
- install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service
- sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}ctl@.service
- install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/gpsd.init ${D}${sysconfdir}/init.d/gpsd
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}${sysconfdir}/default/gpsd.default
+
+ # Support for python
+ install -d ${D}${PYTHON_SITEPACKAGES_DIR}/gps
+ install -m 755 ${S}/gps/*.py ${D}${PYTHON_SITEPACKAGES_DIR}/gps
}
PACKAGES =+ "libgps libgpsd python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
@@ -98,11 +84,13 @@ RPROVIDES:${PN}-dbg += "python-pygps-dbg"
FILES:${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
${libdir}/libQgpsmm.prl"
+FILES:${PN}-doc += "${datadir}/${BPN}/doc"
+
RDEPENDS:${PN} = "gpsd-gpsctl"
RRECOMMENDS:${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
SUMMARY:gpsd-udev = "udev relevant files to use gpsd hotplugging"
-FILES:gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
+FILES:gpsd-udev = "${nonarch_base_libdir}/udev"
RDEPENDS:gpsd-udev += "udev gpsd-conf"
SUMMARY:libgpsd = "C service library used for communicating with gpsd"
@@ -138,7 +126,6 @@ RREPLACES:${PN} += "${PN}-systemd"
RCONFLICTS:${PN} += "${PN}-systemd"
SYSTEMD_SERVICE:${PN} = "${BPN}.socket ${BPN}ctl@.service"
-
ALTERNATIVE:${PN} = "gpsd-defaults"
ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit/0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch b/meta-openembedded/meta-oe/recipes-security/audit/audit/0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch
deleted file mode 100644
index e55093d1ad..0000000000
--- a/meta-openembedded/meta-oe/recipes-security/audit/audit/0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 759318f11352d01b45bbab62c7bf0a53fb781083 Mon Sep 17 00:00:00 2001
-From: Steve Grubb <sgrubb@redhat.com>
-Date: Tue, 10 Aug 2021 11:27:16 -0400
-Subject: [PATCH] flush uid/gid caches when user/group added/deleted/modified
-
-It was reported in issue #209 that in the enriched format that auditd
-is creating the wrong account associations. This is due to caching
-previous lookups. The fix is to monitor for account lifecycle changes
-and flush the LRUs if any are seen.
-
-Upstream-Status: Backport
-[https://github.com/linux-audit/audit-userspace/commit/8662f61108f8b9365f96ef49ca8ca331a7880f24]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- auparse/auparse-idata.h | 3 ++-
- auparse/interpret.c | 12 ++++++++++++
- src/auditd-event.c | 27 +++++++++++++++++++++++++--
- 3 files changed, 39 insertions(+), 3 deletions(-)
-
-diff --git a/auparse/auparse-idata.h b/auparse/auparse-idata.h
-index 660901a..eaca86a 100644
---- a/auparse/auparse-idata.h
-+++ b/auparse/auparse-idata.h
-@@ -1,6 +1,6 @@
- /*
- * idata.h - Header file for ausearch-lookup.c
--* Copyright (c) 2013,2016-17 Red Hat Inc., Durham, North Carolina.
-+* Copyright (c) 2013,2016-17,2021 Red Hat Inc.
- * All Rights Reserved.
- *
- * This library is free software; you can redistribute it and/or
-@@ -45,6 +45,7 @@ char *auparse_do_interpretation(int type, const idata *id,
- void _auparse_load_interpretations(const char *buf);
- void _auparse_free_interpretations(void);
- const char *_auparse_lookup_interpretation(const char *name);
-+void _auparse_flush_caches(void);
-
- #endif
-
-diff --git a/auparse/interpret.c b/auparse/interpret.c
-index 046867b..eef377a 100644
---- a/auparse/interpret.c
-+++ b/auparse/interpret.c
-@@ -653,6 +653,18 @@ void aulookup_destroy_gid_list(void)
- gid_cache_created = 0;
- }
-
-+void _auparse_flush_caches(void)
-+{
-+ if (uid_cache_created) {
-+ destroy_lru(uid_cache);
-+ uid_cache_created = 0;
-+ }
-+ if (gid_cache_created) {
-+ destroy_lru(gid_cache);
-+ gid_cache_created = 0;
-+ }
-+}
-+
- static const char *print_uid(const char *val, unsigned int base)
- {
- int uid;
-diff --git a/src/auditd-event.c b/src/auditd-event.c
-index cb29fee..3655726 100644
---- a/src/auditd-event.c
-+++ b/src/auditd-event.c
-@@ -42,6 +42,7 @@
- #include "libaudit.h"
- #include "private.h"
- #include "auparse.h"
-+#include "auparse-idata.h"
-
- /* This is defined in auditd.c */
- extern volatile int stop;
-@@ -56,7 +57,7 @@ static void do_space_left_action(int admin);
- static void do_disk_full_action(void);
- static void do_disk_error_action(const char *func, int err);
- static void fix_disk_permissions(void);
--static void check_excess_logs(void);
-+static void check_excess_logs(void);
- static void rotate_logs_now(void);
- static void rotate_logs(unsigned int num_logs, unsigned int keep_logs);
- static void shift_logs(void);
-@@ -394,7 +395,7 @@ static const char *format_enrich(const struct audit_reply *rep)
- snprintf(format_buf, MAX_AUDIT_MESSAGE_LENGTH,
- "type=DAEMON_ERR op=format-enriched msg=NULL res=failed");
- } else {
-- int rc;
-+ int rc, rtype;
- size_t mlen, len;
- char *message;
- // Do raw format to get event started
-@@ -427,6 +428,17 @@ static const char *format_enrich(const struct audit_reply *rep)
-
- // Loop over all fields while possible to add field
- rc = auparse_first_record(au);
-+ rtype = auparse_get_type(au);
-+ switch (rtype)
-+ { // Flush before adding to pickup new associations
-+ case AUDIT_ADD_USER:
-+ case AUDIT_ADD_GROUP:
-+ _auparse_flush_caches();
-+ break;
-+ default:
-+ break;
-+ }
-+
- while (rc > 0 && len > MIN_SPACE_LEFT) {
- // See what kind of field we have
- size_t vlen;
-@@ -454,6 +466,17 @@ static const char *format_enrich(const struct audit_reply *rep)
- rc = auparse_next_field(au);
- }
-
-+ switch(rtype)
-+ { // Flush after modification to remove stale entries
-+ case AUDIT_USER_MGMT:
-+ case AUDIT_DEL_USER:
-+ case AUDIT_DEL_GROUP:
-+ case AUDIT_GRP_MGMT:
-+ _auparse_flush_caches();
-+ break;
-+ default:
-+ break;
-+ }
- free(message);
- }
- return format_buf;
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.4.bb b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.5.bb
index db550492e5..173c2cab11 100644
--- a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.5.bb
@@ -9,14 +9,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master \
file://Fixed-swig-host-contamination-issue.patch \
- file://0001-flush-uid-gid-caches-when-user-group-added-deleted-m.patch \
file://auditd \
file://auditd.service \
file://audit-volatile.conf \
"
S = "${WORKDIR}/git"
-SRCREV = "86a975cd96c3838e56be9d27262f8a36bb822634"
+SRCREV = "c382a4925a7d0d1b332a2f4e689c71d71b0005a5"
inherit autotools python3native update-rc.d systemd
diff --git a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch
deleted file mode 100644
index 8f15f8424c..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f2f1e134bf5d9d0789942848e03006af8d926cf8 Mon Sep 17 00:00:00 2001
-From: Wang Mingyu <wangmy@cn.fujitsu.com>
-Date: Tue, 17 Mar 2020 12:53:35 +0800
-Subject: [PATCH] fix configure error : mv libcares.pc.cmakein to
- libcares.pc.cmake
-
-Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3a5878d..c2e5740 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -563,7 +563,7 @@ IF (CARES_STATIC)
- ENDIF()
-
- # Write ares_config.h configuration file. This is used only for the build.
--CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
-+CONFIGURE_FILE (libcares.pc.cmake ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
-
-
-
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
deleted file mode 100644
index c6f9c6de61..0000000000
--- a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 2cc41bee63223cb398ea932aad6ecc94ff5b61dd Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 13:33:33 +0800
-Subject: [PATCH] cmake: Install libcares.pc
-
-Prepare and install libcares.pc file during cmake build, so libraries
-using pkg-config to find libcares will not fail.
-
-Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
-
-update to 1.14.0, fix patch warning
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
----
- CMakeLists.txt | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 08c0247..0020d6b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -214,22 +214,25 @@ ADD_DEFINITIONS(${SYSFLAGS})
-
-
- # Tell C-Ares about libraries to depend on
-+# Also pass these libraries to pkg-config file
-+SET(CARES_PRIVATE_LIBS_LIST)
- IF (HAVE_LIBRESOLV)
-- LIST (APPEND CARES_DEPENDENT_LIBS resolv)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lresolv")
- ENDIF ()
- IF (HAVE_LIBNSL)
-- LIST (APPEND CARES_DEPENDENT_LIBS nsl)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lnsl")
- ENDIF ()
- IF (HAVE_LIBSOCKET)
-- LIST (APPEND CARES_DEPENDENT_LIBS socket)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lsocket")
- ENDIF ()
- IF (HAVE_LIBRT)
-- LIST (APPEND CARES_DEPENDENT_LIBS rt)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lrt")
- ENDIF ()
- IF (WIN32)
-- LIST (APPEND CARES_DEPENDENT_LIBS ws2_32 Advapi32)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lws2_32")
- ENDIF ()
-
-+string (REPLACE ";" " " CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS_LIST}")
-
- # When checking for symbols, we need to make sure we set the proper
- # headers, libraries, and definitions for the detection to work properly
-@@ -551,6 +554,15 @@ ENDIF()
- # Record toplevel CMakeLists.txt path
- set(CARES_TOPLEVEL_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
-
-+# Pass required CFLAGS to pkg-config in case of static library
-+IF (CARES_STATIC)
-+ SET (CPPFLAG_CARES_STATICLIB "-DCARES_STATICLIB")
-+ENDIF()
-+
-+# Write ares_config.h configuration file. This is used only for the build.
-+CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
-+
-+
-
- # TRANSFORM_MAKEFILE_INC
- #
-@@ -624,7 +636,6 @@ IF (CARES_INSTALL)
- INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" COMPONENT Devel DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
- ENDIF ()
-
--
- # Legacy chain-building variables (provided for compatibility with old code).
- # Don't use these, external code should be updated to refer to the aliases directly (e.g., Cares::cares).
- SET (CARES_FOUND 1 CACHE INTERNAL "CARES LIBRARY FOUND")
diff --git a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.17.1.bb b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.17.2.bb
index f9575a3fce..2109d955d0 100644
--- a/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.17.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/c-ares/c-ares_1.17.2.bb
@@ -5,14 +5,8 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fb997454c8d62aa6a47f07a8cd48b006"
-PV = "1.17.1"
-
-SRC_URI = "\
- git://github.com/c-ares/c-ares.git \
- file://cmake-install-libcares.pc.patch \
- file://0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch \
-"
-SRCREV = "39c73b503d9ef70a58ad1f4a4643f15b01407c66"
+SRC_URI = "git://github.com/c-ares/c-ares.git;branch=main"
+SRCREV = "6654436a307a5a686b008c1d4c93b0085da6e6d8"
UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)"
diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
index ca2b517d72..3c9ee5ee3f 100644
--- a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
+++ b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.bb
@@ -5,6 +5,8 @@ DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
inherit features_check binconfig lib_package gtk-icon-cache mime mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
+SRC_URI += "file://0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch"
+
EXTRA_OECMAKE = " \
-DOPTION_BUILD_SHARED_LIBS=ON \
-DOPTION_USE_THREADS=ON \
diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc
index 403cbddbb5..6e8fdc9d3f 100644
--- a/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc
+++ b/meta-openembedded/meta-oe/recipes-support/fltk/fltk.inc
@@ -11,8 +11,8 @@ SRC_URI = " \
file://0002-always-build-fluid-and-export-pointers.patch \
"
-PV = "1.3.6"
-SRC_URI[sha256sum] = "20d2627c97b4485ee3eab5522303985bc22b798a878ba80239e6d43dcfed067e"
+PV = "1.3.7"
+SRC_URI[sha256sum] = "5ff1e90766ff4216e78e9a19a9bf527e6258f04accccd4429e9bb829b01d690d"
inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch b/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch
new file mode 100644
index 0000000000..72bb48a32c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/fltk/fltk/0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch
@@ -0,0 +1,42 @@
+From b6985abcb03fb09685da4044963e8f085035b208 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 19 Aug 2021 08:06:45 +0200
+Subject: [PATCH] fluid/CMakeLists.txt: Do not export fluid target
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It does not work for us: The executable 'fluid' is not installed in
+receipe-sysroot. So fltk cmake config contains an invalid reference.
+Consumers of fltk using cmake will fail during configure for this invalid
+reference with something like:
+
+| CMake Error at <...>/recipe-sysroot/usr/share/fltk/FLTK-Targets.cmake:129 (message):
+| The imported target "fluid" references the file
+|
+| "<...>/recipe-sysroot/usr/bin/fluid"
+|
+| but this file does not exist.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ fluid/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/fluid/CMakeLists.txt b/fluid/CMakeLists.txt
+index 472c84c..f971121 100644
+--- a/fluid/CMakeLists.txt
++++ b/fluid/CMakeLists.txt
+@@ -86,7 +86,6 @@ if (APPLE AND (NOT OPTION_APPLE_X11))
+ install (TARGETS fluid DESTINATION ${FLTK_BINDIR})
+ else()
+ install (TARGETS fluid
+- EXPORT FLTK-Targets
+ RUNTIME DESTINATION ${FLTK_BINDIR}
+ LIBRARY DESTINATION ${FLTK_LIBDIR}
+ ARCHIVE DESTINATION ${FLTK_LIBDIR}
+--
+2.31.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch
new file mode 100644
index 0000000000..6152a11843
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch
@@ -0,0 +1,29 @@
+From 8b111b2b4a4842179be66db68d84dda91a246032 Mon Sep 17 00:00:00 2001
+From: maryam ebrahimzadeh <maryam.ebr@student.sharif.edu>
+Date: Mon, 19 Jul 2021 10:07:13 +0430
+Subject: [PATCH] fix read out-of-bands in reading tga header file
+
+---
+ src/gd_tga.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/gd_tga.c b/src/gd_tga.c
+index cae9428..286febb 100644
+--- a/src/gd_tga.c
++++ b/src/gd_tga.c
+@@ -191,7 +191,11 @@ int read_header_tga(gdIOCtx *ctx, oTga *tga)
+ return -1;
+ }
+
+- gdGetBuf(tga->ident, tga->identsize, ctx);
++
++ if (gdGetBuf(tga->ident, tga->identsize, ctx) != tga->identsize) {
++ gd_error("fail to read header ident");
++ return -1;
++ }
+ }
+
+ return 1;
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb
index c9ed029f96..32484ce791 100644
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb
@@ -15,6 +15,7 @@ DEPENDS = "freetype libpng jpeg zlib tiff"
SRC_URI = "git://github.com/libgd/libgd.git;branch=master \
file://0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch \
+ file://0001-fix-read-out-of-bands-in-reading-tga-header-file.patch \
"
SRCREV = "2e40f55bfb460fc9d8cbcd290a0c9eb908d5af7e"
diff --git a/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb
index 76f5dc7624..e45445073f 100644
--- a/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hidapi/hidapi_git.bb
@@ -7,6 +7,7 @@ LICENSE = "BSD-3-Clause | GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7c3949a631240cb6c31c50f3eb696077"
DEPENDS = "libusb udev"
+RDEPENDS:${PN}:append:libc-glibc = " glibc-gconv-utf-16"
inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
new file mode 100644
index 0000000000..93114dadd6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
@@ -0,0 +1,37 @@
+From c9e60ed064aa2938f71f2cacf79f0bb337812bf8 Mon Sep 17 00:00:00 2001
+From: Anton Blanchard <anton@ozlabs.org>
+Date: Tue, 17 Aug 2021 09:32:43 +1000
+Subject: [PATCH] Use GNUInstallDirs instead of hard wiring install directories
+
+On a multilib setup cmake files should go into lib64.
+
+Upstream-Status: Submitted [https://github.com/USCiLab/cereal/pull/710]
+---
+ CMakeLists.txt | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b97c1f59..ad574290 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -70,14 +70,15 @@ endif()
+
+ option(CEREAL_INSTALL "Generate the install target" ${CEREAL_MASTER_PROJECT})
+ if(CEREAL_INSTALL)
++ include(GNUInstallDirs)
+ include(CMakePackageConfigHelpers)
+
+ install(TARGETS cereal EXPORT ${PROJECT_NAME}Targets)
+- install(DIRECTORY include/cereal DESTINATION include)
++ install(DIRECTORY include/cereal DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+
+ set(configFile ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake)
+ set(versionFile ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake)
+- set(configInstallDestination lib/cmake/${PROJECT_NAME})
++ set(configInstallDestination ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+
+ configure_package_config_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
+--
+2.31.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
index 26b27fa6e0..6498bb367a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
@@ -16,7 +16,9 @@ PROVIDES += "${PN}-dev"
PV .= "+git${SRCPV}"
SRCREV = "64f50dbd5cecdaba785217e2b0aeea3a4f1cdfab"
-SRC_URI = "git://github.com/USCiLab/cereal.git"
+SRC_URI = "git://github.com/USCiLab/cereal.git \
+ file://0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.21.0.bb b/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.22.0.bb
index ea832ec0f4..e8bb505e44 100644
--- a/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.21.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opensc/opensc_0.22.0.bb
@@ -12,7 +12,7 @@ LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=cb8aedd3bced19bd8026d96a8b6876d7"
#v0.21.0
-SRCREV = "30180986a08cf71fe4af4b50251a8bb5b1ab95af"
+SRCREV = "c902e1992195e00ada12d71beb1029287cd72037"
SRC_URI = "git://github.com/OpenSC/OpenSC \
"
DEPENDS = "virtual/libiconv openssl"
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.08.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.08.0.bb
index d3135a44c5..1fc3bf3f46 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.08.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_21.08.0.bb
@@ -21,7 +21,7 @@ PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl"
PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg"
PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native"
PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss"
-PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost"
+PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON -DENABLE_BOOST=ON,-DENABLE_SPLASH=OFF -DENABLE_BOOST=OFF,boost"
# surprise - did not expect this to work :)
inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.3.bb
index 348f647529..de8249e289 100644
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.3.bb
@@ -17,8 +17,8 @@ DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
RDEPENDS:${PN} = "acl"
-SRC_URI = "git://github.com/storaged-project/udisks.git;branch=master"
-SRCREV = "da6d9480fefeb0ffdf8a84626b5096827d8d7030"
+SRC_URI = "git://github.com/storaged-project/udisks.git;branch=2.9.x-branch"
+SRCREV = "c430dd9a27e158693cc783e9ee91bf6e5b2a8819"
S = "${WORKDIR}/git"
CVE_PRODUCT = "udisks"
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb b/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
index 862250240b..18b455ce21 100644
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
+++ b/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
@@ -17,10 +17,10 @@ SRC_URI[sha256sum] = "34599bbcc4e5ab87832370763e38be5100984a64237555e9234a1ea225
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool libedit"
-DEPENDS:append:class-target = " intltool-native gtk+ gtk+3 uim-native takao-fonts"
+DEPENDS:append:class-target = " intltool-native gtk+ gtk+3 uim-native"
RDEPENDS:uim = "libuim0 libedit"
-RDEPENDS:uim-anthy = "takao-fonts anthy libanthy0"
+RDEPENDS:uim-anthy = "anthy libanthy0"
RDEPENDS:uim-anthy:append:libc-glibc = " glibc-utils glibc-gconv-euc-jp"
LEAD_SONAME = "libuim.so.1"
diff --git a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.31.bb b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.32.bb
index 6a8af5111e..15da5aa6cb 100644
--- a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.31.bb
+++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.32.bb
@@ -22,8 +22,7 @@ SRC_URI = "http://www.aleksey.com/xmlsec/download/${BP}.tar.gz \
file://ensure-search-path-non-host.patch \
"
-SRC_URI[md5sum] = "182f5cbdfb8ddbac535c04470c170dc3"
-SRC_URI[sha256sum] = "9b10bc52cc31e4f76162e3975e50db26b71ab49c571d810b311ca626be5a0b26"
+SRC_URI[sha256sum] = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043"
inherit autotools-brokensep ptest pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.6.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb
index adfc03a16e..3eda96c731 100644
--- a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.6.bb
+++ b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.13.7.bb
@@ -6,7 +6,7 @@ LICENSE = "BSL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x"
-SRCREV = "5c88067bd339465513af4aec606bd2292f1b594a"
+SRCREV = "c4e3767e265808590986d5db6ca1b5532a7f3d13"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.11.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.12.bb
index f1d44b3090..90ae623f79 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.11.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.12.bb
@@ -15,7 +15,7 @@ LICENSE = "Artistic-1.0 | GPL-1.0+"
LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5"
SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
-SRC_URI[sha256sum] = "47e05cefb550ef039808564e6181a22dbf2e50d0475f8eb9de63f9d9f4912e7c"
+SRC_URI[sha256sum] = "38da5b7f74bc402075f5994557b5f1426636291efea0f39fcdf4b1366b0756fd"
UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.071.bb b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.072.bb
index 4ab5531ce6..d49b2cd5eb 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.071.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.072.bb
@@ -22,7 +22,7 @@ RDEPENDS:${PN} += "\
SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz \
file://run-ptest \
"
-SRC_URI[sha256sum] = "40da40948ecc9c787ed39c95715872679eebfd54243721174993a2003e32ab0a"
+SRC_URI[sha256sum] = "b5bee81db3905a9069340a450a48e1e1b32dec4ede0064f5703bafb9a707b89d"
S = "${WORKDIR}/IO-Socket-SSL-${PV}"
diff --git a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
index c2a80aa1c6..ea5683ce68 100644
--- a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
+++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
@@ -59,6 +59,7 @@ RDEPENDS:packagegroup-meta-python3 = "\
python3-blivet \
python3-booleanpy \
python3-cachecontrol \
+ python3-cached-property \
python3-cachetools \
python3-can \
python3-cantools \
@@ -271,6 +272,7 @@ RDEPENDS:packagegroup-meta-python3 = "\
python3-pika \
python3-pillow \
python3-pint \
+ python3-pkcs11 \
python3-pkgconfig \
python3-ply \
python3-pocketsphinx \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.bb
index f97cf12dbf..c86ec092a6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohttp-jinja2_1.5.bb
@@ -3,7 +3,7 @@ SUMMARY = "jinja2 template renderer for aiohttp.web (http server for asyncio)"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=29dca541e03964615590ca7b50392d97"
-SRC_URI[sha256sum] = "9c22a0e48e3b277fc145c67dd8c3b8f609dab36bce9eb337f70dfe716663c9a0"
+SRC_URI[sha256sum] = "7c3ba5eac060b691f4e50534af2d79fca2a75712ebd2b25e6fcb1295859f910b"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.7.1.bb
index 10851039b3..4ed051d22d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.6.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.7.1.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1"
-SRC_URI[sha256sum] = "3975a0bd5373bdce166e60c851cfcbaf21ee96de80ec518c1f4cb3e94c3fb334"
+SRC_URI[sha256sum] = "f3083366b7bb8b3a72c0e12841ab07f14b0d7ff5cc1c89676b84d8f5832e4b61"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.2.bb
index f8e2489070..8b473b543d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.2.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.3.2.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/ilanschnell/bitarray"
LICENSE = "PSF"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
-SRC_URI[sha256sum] = "efb2dc83f0acb832a94af3687eea558d72512cf2e54a64fca56a10aacf57934c"
+SRC_URI[sha256sum] = "4bee3ba9164b66cef64f1099e9a3b88e99ddcd0c943807e99443613e184b48b4"
inherit setuptools3 pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cached-property_1.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cached-property_1.5.2.bb
new file mode 100644
index 0000000000..059c34a29d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cached-property_1.5.2.bb
@@ -0,0 +1,12 @@
+SUMMARY = "A decorator for caching properties in classes."
+DESCRIPTION = "Makes caching of time or computational expensive properties quick and easy."
+HOMEPAGE = "https://pypi.org/project/cached-property/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=db7ff60c4e14f58534201242803d8abc"
+
+SRC_URI[sha256sum] = "9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.0.1.bb
index be13570b59..c8b9a429ed 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.0.1.bb
@@ -23,8 +23,10 @@ RDEPENDS:${PN}-ptest += " \
"
do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+ install -d ${D}${PTEST_PATH}/tests
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+ cp -rf ${S}/setup.cfg ${D}${PTEST_PATH}/
+ cp -rf ${S}/docs ${D}${PTEST_PATH}/
}
UPSTREAM_CHECK_REGEX = "click/(?P<pver>\d+(\.\d+)+)/"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_5.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.4.1.bb
index 61b8152a1e..59a0e94939 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_5.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorlog_6.4.1.bb
@@ -7,4 +7,4 @@ inherit pypi setuptools3
PYPI_PACKAGE = "colorlog"
-SRC_URI[sha256sum] = "f17c013a06962b02f4449ee07cfdbe6b287df29efc2c9a1515b4a376f4e588ea"
+SRC_URI[sha256sum] = "af99440154a01f27c09256760ea3477982bf782721feaa345904e806879df4d8"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.2.3.bb
index 1970fdec1c..3ee11b9d55 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dbus-next_0.2.3.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/acrisci/python-dbus-next"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=94e750c96e56788499b56c81de91431c"
-SRC_URI[sha256sum] = "f656a3d3450b670f228248ffb1c3a703a69c4a8cb10cce63b108f17c8bd6c3de"
+SRC_URI[sha256sum] = "f4eae26909332ada528c0a3549dda8d4f088f9b365153952a408e28023a626a5"
PYPI_PACKAGE = "dbus_next"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.24.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.24.bb
index 2c0bcf720e..982362bdd1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.24.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.24.bb
@@ -1,4 +1,8 @@
require python-django.inc
+
+# Pin to 2.2.x LTS releases ONLY for this recipe
+UPSTREAM_CHECK_REGEX = "/${PYPI_PACKAGE}/(?P<pver>(2\.2\.\d*)+)/"
+
inherit setuptools3
SRC_URI[md5sum] = "ebf3bbb7716a7b11029e860475b9a122"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.30.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.30.2.bb
new file mode 100644
index 0000000000..80869a2597
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eventlet_0.30.2.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Highly concurrent networking library"
+HOMEPAGE = "http://pypi.python.org/pypi/eventlet"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778"
+
+SRC_URI[md5sum] = "ebf5794e3f7a9f1778fb4f2a58eb7614"
+SRC_URI[sha256sum] = "1811b122d9a45eb5bafba092d36911bca825f835cb648a862bbf984030acff9d"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "${PYTHON_PN}-dnspython"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.1.0.bb
index 04b71c6018..7a7c3fa3f3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-migrate_3.1.0.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "SQLAlchemy database migrations for Flask applications using Alemb
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b69377f79f3f48c661701236d5a6a85"
-SRC_URI[sha256sum] = "4d42e8f861d78cb6e9319afcba5bf76062e5efd7784184dd2a1cccd9de34a702"
+SRC_URI[sha256sum] = "57d6060839e3a7f150eaab6fe4e726d9e3e7cffe2150fb223d73f92421c6d1d9"
PYPI_PACKAGE = "Flask-Migrate"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.1.bb
index deca5f5d8e..3d7a1cb6a8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-socketio_5.1.1.bb
@@ -9,7 +9,7 @@ inherit pypi setuptools3
PYPI_PACKAGE = "Flask-SocketIO"
-SRC_URI[sha256sum] = "b41b9f6fb0d7f3fcadd54c44653307a9b96e985c7da73f92779480248b5b6874"
+SRC_URI[sha256sum] = "1efdaacc7a26e94f2b197a80079b1058f6aa644a6094c0a322349e2b9c41f6b1"
RDEPENDS:${PN} += "\
${PYTHON_PN}-flask \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.8.0.bb
index e4eaad0170..74ae6cf69d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gevent_21.8.0.bb
@@ -20,7 +20,7 @@ SRC_URI:append = " \
file://libev-conf.patch;patch=1;pnum=1 \
"
-SRC_URI[sha256sum] = "520cc2a029a9eef436e4e56b007af7859315cafa21937d43c1d5269f12f2c981"
+SRC_URI[sha256sum] = "43e93e1a4738c922a2416baf33f0afb0a20b22d3dba886720bc037cd02a98575"
# The python-gevent has no autoreconf ability
# and the logic for detecting a cross compile is flawed
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.18.0.bb
index 6172cd28f5..0dc31826b5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.15.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.18.0.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/googleapis/google-api-python-client"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRC_URI[sha256sum] = "8375489232823f44c601196a960505e03ec58c95ddb6415c6b1d1d76b468f8ba"
+SRC_URI[sha256sum] = "a25661ec6cf4c159f41fe9c061c2bee31b2dddaf2ad787e23617048a25b53842"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.38.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.39.0.bb
index ee7c140b3c..865124450f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.38.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.39.0.bb
@@ -11,7 +11,7 @@ DEPENDS += "${PYTHON_PN}-grpcio"
SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch"
-SRC_URI[sha256sum] = "cd85f58038b92e1961f8127d79691e84e151390d35cae73c4c0cbe2042f76b77"
+SRC_URI[sha256sum] = "39dfe7415bc0d3860fdb8dd90607594b046b88b57dbe64284efa4820f951c805"
RDEPENDS:${PN} = "${PYTHON_PN}-grpcio"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.39.0.bb
index f68034763c..76d38a2646 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.38.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.39.0.bb
@@ -12,7 +12,7 @@ SRC_URI:append:class-target = " file://ppc-boringssl-support.patch \
file://mips_bigendian.patch \
file://0001-absl-always-use-asm-sgidefs.h.patch \
"
-SRC_URI[sha256sum] = "1f79d8a24261e3c12ec3a6c25945ff799ae09874fd24815bc17c2dc37715ef6c"
+SRC_URI[sha256sum] = "57974361a459d6fe04c9ae0af1845974606612249f467bbd2062d963cb90f407"
RDEPENDS:${PN} = "${PYTHON_PN}-protobuf \
${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn/run-ptest b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn/run-ptest
index b63c4de0d9..98d73fa037 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn/run-ptest
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn/run-ptest
@@ -1,3 +1,7 @@
#!/bin/sh
+# there needs to be something in /etc/resolv.conf for the gunicorn
+# ptests to work, so make sure there's at least one nameserver line
+echo "nameserver 8.8.8.8" >> /etc/resolv.conf
+
pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb
index 38353c4736..f381b9df2b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gunicorn_20.1.0.bb
@@ -12,6 +12,8 @@ SRC_URI += " \
"
RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-eventlet \
+ ${PYTHON_PN}-gevent \
${PYTHON_PN}-pytest \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.4.0.bb
index 68cd8ea850..cc23802626 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-h5py_3.4.0.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=113251d71fb0384712c719b567261c5c"
-SRC_URI[sha256sum] = "e0dac887d779929778b3cfd13309a939359cc9e74756fc09af7c527a82797186"
+SRC_URI[sha256sum] = "ee1c683d91ab010d5e85cb61e8f9e7ee0d8eab545bf3dd50a9618f1d0e8f615e"
SRC_URI:append = " \
file://0001-setup_build.py-avoid-absolute-path.patch \
@@ -26,6 +26,7 @@ DEPENDS = "python3-pkgconfig-native \
RDEPENDS:${PN} = "python3-numpy \
python3-six \
+ python3-json \
"
export HDF5_VERSION="1.8.21"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.4.0.bb
index c24c6124e0..9eda659e1d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-haversine_2.4.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Calculate the distance between 2 points on Earth"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SRC_URI[sha256sum] = "75a7f859b3fb6df746564ca66ad1fd5b4052cdbab3d74ff16e8f1a7c3d4a26a5"
+SRC_URI[sha256sum] = "6dcdee48b854b7bd0a121a04a2cb775dc7d9e2354f1e22d29ff62110189305b0"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.54.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.56.bb
index e41cfd5dd5..b8f052ea31 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.54.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.56.bb
@@ -6,8 +6,7 @@ SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRC_URI[md5sum] = "bf2db4302dbed534ff322612f5f5a16e"
-SRC_URI[sha256sum] = "2a6298267586fcade84ce977736fc35102ef95d68975bc90ceaa06117d42d5a6"
+SRC_URI[sha256sum] = "318af0fd616711ce5cd2a7b11a6761183ba9c1ff76a762919e08d85645fc854b"
inherit pypi setuptools3 python3native
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_21.6.14.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_21.6.14.bb
index 2ed5d91709..efa8854411 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_21.6.14.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-license-expression_21.6.14.bb
@@ -28,6 +28,8 @@ RDEPENDS:${PN}-ptest += " \
"
do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+ install -d ${D}${PTEST_PATH}/tests
+ install -d ${D}${PTEST_PATH}/src
+ cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+ cp -rf ${S}/src/* ${D}${PTEST_PATH}/src/
}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.2.bb
index 95fd1fc719..55700b51cf 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.3.2.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "http://pandas.pydata.org/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3f23c5c092b74d245d48eeef72bc3fd2"
-SRC_URI[sha256sum] = "341935a594db24f3ff07d1b34d1d231786aa9adfa84b76eab10bf42907c8aed3"
+SRC_URI[sha256sum] = "cbcb84d63867af3411fa063af3de64902665bb5b3d40b25b2059e40603594e87"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pkcs11_0.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pkcs11_0.7.0.bb
new file mode 100644
index 0000000000..816b728dc0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pkcs11_0.7.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "PKCS#11 (Cryptoki) support for Python"
+DESCRIPTION = "A high level, “more Pythonic” interface to the PKCS#11 (Cryptoki) standard to support HSM and Smartcard devices in Python."
+HOMEPAGE = "https://pypi.org/project/python-pkcs11/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.rst;beginline=337;endline=358;md5=f68bda54505b4002e6ec86e08125ef79"
+
+SRC_URI[sha256sum] = "9737e0c24cabb8bc9d48bf8c57c3df2a70f8cdd96b70c50290803286f9e46bf7"
+
+PYPI_PACKAGE = "python-pkcs11"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native"
+
+DEPENDS += " \
+ python3-cython-native \
+ python3-setuptools-scm-native \
+ python3 \
+"
+
+RDEPENDS:${PN} += " \
+ python3-asn1crypto \
+ python3-cached-property \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.1.bb
index 72b87dafb2..a80fed62de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.44.1.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \
file://COPYING-MIT;md5=75f131c591546fd1277ca49c9a81ab1b \
"
-SRC_URI[sha256sum] = "2ce9905626d8ceafcbadee666e2f45397e29c7618ddcdc63fc22d85e5046c6d6"
+SRC_URI[sha256sum] = "5bcef4d988b74b99653602101e17d8401338d596b9234d263c728a0c3df003e8"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.144.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.148.bb
index 6393078069..e091e8757c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.144.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.148.bb
@@ -4,7 +4,7 @@ LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main"
-SRCREV = "7dbaf665d9288f2a2692bee3d6207bb6abe3c51f"
+SRCREV = "6f7157cf26a6b4ec102021c8f1197a40380b12e3"
S = "${WORKDIR}/git"
inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.2.1.bb
index 9e418f04b5..f58074a9a9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyzmq_22.2.1.bb
@@ -8,11 +8,14 @@ DEPENDS = "zeromq"
FILESEXTRAPATHS:prepend := "${THISDIR}/python-pyzmq:"
SRC_URI += "file://club-rpath-out.patch"
-SRC_URI[sha256sum] = "7040d6dd85ea65703904d023d7f57fab793d7ffee9ba9e14f3b897f34ff2415d"
+SRC_URI[sha256sum] = "6d18c76676771fd891ca8e0e68da0bbfb88e30129835c0ade748016adb3b6242"
inherit pypi pkgconfig setuptools3
-RDEPENDS:${PN} += "${PYTHON_PN}-multiprocessing"
+RDEPENDS:${PN} += " \
+ ${PYTHON_PN}-multiprocessing \
+ ${PYTHON_PN}-json \
+"
FILES:${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/zmq/backend/cython/.debug"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-qrcode_7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-qrcode_7.3.bb
index c9e9ebf097..f195f47177 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-qrcode_7.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-qrcode_7.3.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4b802d2a65df4626623c79757f486af9"
PYPI_PACKAGE = "qrcode"
-SRC_URI[sha256sum] = "153ad96f5892e6fe2f3699296240976ac3a6d068e2eb48bbfc64b4c4c4d675ea"
+SRC_URI[sha256sum] = "d72861b65e26b611609f0547f0febe58aed8ae229d6bf4e675834f40742915b3"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.7.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.8.27.bb
index 09f98112f9..c869003c9f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.7.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2021.8.27.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=f0a3e4a2554ebb89c0
inherit pypi setuptools3
-SRC_URI[sha256sum] = "8394e266005f2d8c6f0bc6780001f7afa3ef81a7a2111fa35058ded6fce79e4d"
+SRC_URI[sha256sum] = "e9700c52749cb3e90c98efd72b730c97b7e4962992fca5fbcaf1363be8e3b849"
RDEPENDS:${PN} += " \
python3-stringold \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.13.bb
index ec29436b79..d28e8a12fe 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.17.13.bb
@@ -8,7 +8,7 @@ PYPI_PACKAGE = "ruamel.yaml"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "106bc8d6dc6a0ff7c9196a47570432036f41d556b779c6b4e618085f57e39e67"
+SRC_URI[sha256sum] = "02f0ed93e98ea32498d25a2952635bbd9fabd553599b8ad67724b4ac88dd8f6c"
RDEPENDS:${PN} += "\
${PYTHON_PN}-shell \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.5.bb
index 5c40cb85fb..7c92761c40 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-simplejson_3.17.5.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://cheeseshop.python.org/pypi/simplejson"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e"
-SRC_URI[sha256sum] = "da72a452bcf4349fc467a12b54ab0e63e654a571cacc44084826d52bde12b6ee"
+SRC_URI[sha256sum] = "91cfb43fb91ff6d1e4258be04eee84b51a4ef40a28d899679b9ea2556322fb50"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.22.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.23.bb
index bdc48cf46c..1b8af825a6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.22.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.23.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.sqlalchemy.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3359ed561ac16aaa25b6c6eff84df595"
-SRC_URI[sha256sum] = "ec1be26cdccd60d180359a527d5980d959a26269a2c7b1b327a1eea0cab37ed8"
+SRC_URI[sha256sum] = "76ff246881f528089bf19385131b966197bb494653990396d2ce138e2a447583"
PYPI_PACKAGE = "SQLAlchemy"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.4.0.bb
index 486fa71a85..e2f43048e6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_3.4.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://docs.openstack.org/stevedore/latest/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI[sha256sum] = "3a5bbd0652bf552748871eaa73a4a8dc2899786bc497a2aa1fcb4dcdb0debeee"
+SRC_URI[sha256sum] = "59b58edb7f57b11897f150475e7bc0c39c5381f0b8e3fa9f5c20ce6c89ec4aa1"
DEPENDS += "${PYTHON_PN}-pbr-native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.2.bb
index f9b530d652..bbdd795aab 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.62.2.bb
@@ -5,7 +5,7 @@ SECTION = "devel/python"
LICENSE = "MIT & MPL-2.0"
LIC_FILES_CHKSUM = "file://LICENCE;md5=59e4271a933d33edfe60237db377a14b"
-SRC_URI[sha256sum] = "3642d483b558eec80d3c831e23953582c34d7e4540db86d9e5ed9dad238dabc6"
+SRC_URI[sha256sum] = "a4d6d112e507ef98513ac119ead1159d286deab17dffedd96921412c2d236ff5"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_3.0.bb
index 56a8fc06f8..a9d372ee98 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tzlocal_3.0.bb
@@ -3,7 +3,6 @@ HOMEPAGE = "https://pypi.org/project/tzlocal/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=57e0bd61643d81d05683cdce65b11d10"
-SRC_URI[md5sum] = "c0877603ff9de71cd8ca6ee2b50d2ebd"
-SRC_URI[sha256sum] = "643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44"
+SRC_URI[sha256sum] = "f4e6e36db50499e0d92f79b67361041f048e2609d166e93456b50746dc4aef12"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.1.0.bb
index 096b5722af..d8e83c58a1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_4.1.0.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pu
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=10fa10456417c0252bcb8a498e498ffe"
-SRC_URI[sha256sum] = "c615a9e9e378a7383b756b7e7a73c38b22aeb8967a8bfbffd4741f7ffd043c4d"
+SRC_URI[sha256sum] = "22b63ec4409f0d2f2c4c9d5aa331997e02470b7a15a3233f3cc32f2f9b92d58c"
inherit pypi ptest setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.0.bb
index 93e9ae012b..b3013180d1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.0.bb
@@ -3,8 +3,7 @@ HOMEPAGE = "http://github.com/matiasb/python-unidiff"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3"
-SRC_URI[md5sum] = "ae9524079753df7b1239f0378ed326b7"
-SRC_URI[sha256sum] = "90c5214e9a357ff4b2fee19d91e77706638e3e00592a732d9405ea4e93da981f"
+SRC_URI[sha256sum] = "91bb13b4969514a400679d9ae5e29a6ffad85346087677f8b5e2e036af817447"
inherit pypi setuptools3 ptest
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.5.bb
index 97d46b4f18..55b966a90f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.5.bb
@@ -4,7 +4,7 @@ DEPENDS = "${PYTHON_PN}-argh"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI[sha256sum] = "e5236a8e8602ab6db4b873664c2d356c365ab3cac96fbdec4970ad616415dd45"
+SRC_URI[sha256sum] = "5563b005907613430ef3d4aaac9c78600dd5704e84764cb6deda4b3d72807f09"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.2.1.bb
index c5f2f12774..b632853191 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.2.1.bb
@@ -4,13 +4,14 @@ websocket-client module is WebSocket client for python. \
This provide the low level APIs for WebSocket. All APIs \
are the synchronous functions."
HOMEPAGE = "https://github.com/websocket-client/websocket-client"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c96ca6c1de8adc025adfada81d06fba5"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1e01b26bacfc2232046c90a330332b3"
-SRC_URI[sha256sum] = "b68e4959d704768fa20e35c9d508c8dc2bbc041fd8d267c0d7345cffe2824568"
+SRC_URI[sha256sum] = "8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d"
inherit pypi setuptools3
RDEPENDS:${PN} = "\
${PYTHON_PN}-six \
+ ${PYTHON_PN}-logging \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.36.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.37.0.bb
index 9d9a441c01..aae4903d01 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.36.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-wheel_0.37.0.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=10;endline=10;md5=8227180126797a0148f94f483f3e1489"
-SRC_URI[sha256sum] = "e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e"
+SRC_URI[sha256sum] = "e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.34.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.36.0.bb
index a8b9aeb73b..5f6f0a2987 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.34.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.36.0.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/jstasiak/python-zeroconf"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bb705b228ea4a14ea2728215b780d80"
-SRC_URI[sha256sum] = "145e67c182d361b350f057fb9240dedec5e79a7c61f465a01138d4a49a4b87b3"
+SRC_URI[sha256sum] = "549f685a318c06d5345ed6533f54f33b206816b564ed7f7876e7b9522e77bf29"
inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_3.7.7.1.bb b/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.0.0.2.bb
index 7cf88ec332..ce2a802849 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_3.7.7.1.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-pyephem/python3-pyephem_4.0.0.2.bb
@@ -1,10 +1,10 @@
SUMMARY = "PyEphem astronomical calculations"
HOMEPAGE = "http://rhodesmill.org/pyephem/"
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f288303760f6e5ceaafe3aaa32186ab1"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9c930b395b435b00bb13ec83b0c99f40"
-SRC_URI[sha256sum] = "36b51a8dc7cfdeb456dd6b8ab811accab8341b2d562ee3c6f4c86f6d3dbb984e"
+SRC_URI[sha256sum] = "d03de73ebf6a91681d597eb5b5d43bcf6f0c67e292bba2f9a974734b4f15757e"
PYPI_PACKAGE = "ephem"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/CVE-2021-3618.patch b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/CVE-2021-3618.patch
new file mode 100644
index 0000000000..be42a1ed5e
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/files/CVE-2021-3618.patch
@@ -0,0 +1,107 @@
+From 6dafcdebde58577f4fcb190be46a0eb910cf1b96 Mon Sep 17 00:00:00 2001
+From: Maxim Dounin <mdounin@mdounin.ru>
+Date: Wed, 19 May 2021 03:13:31 +0300
+Subject: [PATCH 1/1] Mail: max_errors directive.
+
+Similarly to smtpd_hard_error_limit in Postfix and smtp_max_unknown_commands
+in Exim, specifies the number of errors after which the connection is closed.
+--- end of original header ---
+
+CVE: CVE-2021-3618
+
+Upstream-Status: Backport
+ https://github.com/nginx/nginx.git
+ commit 173f16f736c10eae46cd15dd861b04b82d91a37a
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ src/mail/ngx_mail.h | 3 +++
+ src/mail/ngx_mail_core_module.c | 10 ++++++++++
+ src/mail/ngx_mail_handler.c | 15 ++++++++++++++-
+ 3 files changed, 27 insertions(+), 1 deletion(-)
+
+diff --git a/src/mail/ngx_mail.h b/src/mail/ngx_mail.h
+index b865a3b9..76cae37a 100644
+--- a/src/mail/ngx_mail.h
++++ b/src/mail/ngx_mail.h
+@@ -115,6 +115,8 @@ typedef struct {
+ ngx_msec_t timeout;
+ ngx_msec_t resolver_timeout;
+
++ ngx_uint_t max_errors;
++
+ ngx_str_t server_name;
+
+ u_char *file_name;
+@@ -231,6 +233,7 @@ typedef struct {
+ ngx_uint_t command;
+ ngx_array_t args;
+
++ ngx_uint_t errors;
+ ngx_uint_t login_attempt;
+
+ /* used to parse POP3/IMAP/SMTP command */
+diff --git a/src/mail/ngx_mail_core_module.c b/src/mail/ngx_mail_core_module.c
+index 40831242..115671ca 100644
+--- a/src/mail/ngx_mail_core_module.c
++++ b/src/mail/ngx_mail_core_module.c
+@@ -85,6 +85,13 @@ static ngx_command_t ngx_mail_core_commands[] = {
+ offsetof(ngx_mail_core_srv_conf_t, resolver_timeout),
+ NULL },
+
++ { ngx_string("max_errors"),
++ NGX_MAIL_MAIN_CONF|NGX_MAIL_SRV_CONF|NGX_CONF_TAKE1,
++ ngx_conf_set_num_slot,
++ NGX_MAIL_SRV_CONF_OFFSET,
++ offsetof(ngx_mail_core_srv_conf_t, max_errors),
++ NULL },
++
+ ngx_null_command
+ };
+
+@@ -163,6 +170,8 @@ ngx_mail_core_create_srv_conf(ngx_conf_t *cf)
+ cscf->timeout = NGX_CONF_UNSET_MSEC;
+ cscf->resolver_timeout = NGX_CONF_UNSET_MSEC;
+
++ cscf->max_errors = NGX_CONF_UNSET_UINT;
++
+ cscf->resolver = NGX_CONF_UNSET_PTR;
+
+ cscf->file_name = cf->conf_file->file.name.data;
+@@ -182,6 +191,7 @@ ngx_mail_core_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
+ ngx_conf_merge_msec_value(conf->resolver_timeout, prev->resolver_timeout,
+ 30000);
+
++ ngx_conf_merge_uint_value(conf->max_errors, prev->max_errors, 5);
+
+ ngx_conf_merge_str_value(conf->server_name, prev->server_name, "");
+
+diff --git a/src/mail/ngx_mail_handler.c b/src/mail/ngx_mail_handler.c
+index 0aaa0e78..71b81512 100644
+--- a/src/mail/ngx_mail_handler.c
++++ b/src/mail/ngx_mail_handler.c
+@@ -871,7 +871,20 @@ ngx_mail_read_command(ngx_mail_session_t *s, ngx_connection_t *c)
+ return NGX_MAIL_PARSE_INVALID_COMMAND;
+ }
+
+- if (rc == NGX_IMAP_NEXT || rc == NGX_MAIL_PARSE_INVALID_COMMAND) {
++ if (rc == NGX_MAIL_PARSE_INVALID_COMMAND) {
++
++ s->errors++;
++
++ if (s->errors >= cscf->max_errors) {
++ ngx_log_error(NGX_LOG_INFO, c->log, 0,
++ "client sent too many invalid commands");
++ s->quit = 1;
++ }
++
++ return rc;
++ }
++
++ if (rc == NGX_IMAP_NEXT) {
+ return rc;
+ }
+
+--
+2.25.1
+
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
index ab37fa3146..7637002f23 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx.inc
@@ -65,7 +65,7 @@ do_configure () {
--with-ptr-size=${PTRSIZE} \
--with-sig-atomic-t=${PTRSIZE} \
--with-size-t=${PTRSIZE} \
- --with-off-t=${PTRSIZE} \
+ --with-off-t=8 \
--with-time-t=${PTRSIZE} \
--with-sys-nerr=132 \
--conf-path=${sysconfdir}/nginx/nginx.conf \
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.20.1.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.20.1.bb
index 7f159a2a30..d686c627f2 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.20.1.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.20.1.bb
@@ -1,5 +1,7 @@
require nginx.inc
+SRC_URI += "file://CVE-2021-3618.patch"
+
LIC_FILES_CHKSUM = "file://LICENSE;md5=206629dc7c7b3e87acb31162363ae505"
SRC_URI[md5sum] = "8ca6edd5076bdfad30a69c9c9b41cc68"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf b/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
index f1b81519f8..2ffdfaf001 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3)
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
-require conf/machine/include/tune-cortexa7.inc
+require conf/machine/include/arm/armv7a/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc
SDIMG_KERNELIMAGE ?= "kernel7.img"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi2.conf b/meta-raspberrypi/conf/machine/raspberrypi2.conf
index 505c6f2ff1..403d15e8e8 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi2.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi2.conf
@@ -4,7 +4,7 @@
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
-require conf/machine/include/tune-cortexa7.inc
+require conf/machine/include/arm/armv7a/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc
SERIAL_CONSOLES ?= "115200;ttyAMA0"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi3-64.conf b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
index 5394132195..95475f3349 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
@@ -11,7 +11,7 @@ MACHINE_EXTRA_RRECOMMENDS += "\
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
-require conf/machine/include/tune-cortexa53.inc
+require conf/machine/include/arm/armv8a/tune-cortexa53.inc
include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \
diff --git a/meta-raspberrypi/conf/machine/raspberrypi3.conf b/meta-raspberrypi/conf/machine/raspberrypi3.conf
index dafb66e5a0..1212498e6f 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi3.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi3.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 32 bits mode
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
-require conf/machine/include/tune-cortexa7.inc
+require conf/machine/include/arm/armv7a/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc
MACHINE_EXTRA_RRECOMMENDS += "\
diff --git a/meta-raspberrypi/conf/machine/raspberrypi4-64.conf b/meta-raspberrypi/conf/machine/raspberrypi4-64.conf
index 12c8954d94..6032dc85b3 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi4-64.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi4-64.conf
@@ -10,7 +10,7 @@ MACHINE_EXTRA_RRECOMMENDS += "\
bluez-firmware-rpidistro-bcm4345c0-hcd \
"
-require conf/machine/include/tune-cortexa72.inc
+require conf/machine/include/arm/armv8a/tune-cortexa72.inc
include conf/machine/include/rpi-base.inc
RPI_KERNEL_DEVICETREE = " \
@@ -24,7 +24,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
UBOOT_MACHINE = "rpi_arm64_config"
-VC4DTBO ?= "vc4-fkms-v3d"
+VC4DTBO ?= "vc4-kms-v3d"
# When u-boot is enabled we need to use the "Image" format and the "booti"
# command to load the kernel
diff --git a/meta-raspberrypi/conf/machine/raspberrypi4.conf b/meta-raspberrypi/conf/machine/raspberrypi4.conf
index d6b1d1bd0e..535a57538b 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi4.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi4.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 32 bit mode
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
-require conf/machine/include/tune-cortexa7.inc
+require conf/machine/include/arm/armv7a/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc
MACHINE_FEATURES += "pci"
@@ -17,5 +17,5 @@ SDIMG_KERNELIMAGE ?= "kernel7l.img"
UBOOT_MACHINE = "rpi_4_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
-VC4DTBO ?= "vc4-fkms-v3d"
+VC4DTBO ?= "vc4-kms-v3d"
ARMSTUB ?= "armstub7.bin"
diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
index 49494dcb96..8a2a6e117b 100644
--- a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
+++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
@@ -1,9 +1,9 @@
-RPIFW_DATE ?= "20210727"
-SRCREV ?= "e83f41345103a7fec73ccc5a2970d1812de77cdf"
+RPIFW_DATE ?= "20210819"
+SRCREV ?= "25e2b597ebfb2495eab4816a276758dcc6ea21f1"
RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz"
RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[sha256sum] = "e7bd4532ac913663b5a8bf2644277208f3fc48e8136ddc84dad7ce1b62e4c37d"
+SRC_URI[sha256sum] = "abecc797c057ae57663eb54f2f0f5af79fb317bf873d2b3345f333848a5da3ee"
PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb
index c91e3c5d02..75b581deb6 100644
--- a/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb
+++ b/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth_0.1.17.bb
@@ -14,12 +14,14 @@ SRCREV = "fd4775bf90e037551532fc214a958074830bb80d"
S = "${WORKDIR}/git"
+inherit ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'update-rc.d', d)}
# hciuart.service replaces what was brcm43438.service
-inherit systemd
SYSTEMD_SERVICE:${PN} = "\
hciuart.service \
bthelper@.service \
"
+INITSCRIPT_NAME = "btuart"
+INITSCRIPT_PARAMS = "start 18 2 3 4 5 ."
do_install() {
install -d ${D}${sysconfdir}/udev/rules.d
@@ -33,6 +35,14 @@ do_install() {
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${S}/debian/pi-bluetooth.bthelper@.service ${D}${systemd_system_unitdir}/bthelper@.service
install -m 0644 ${S}/debian/pi-bluetooth.hciuart.service ${D}${systemd_system_unitdir}/hciuart.service
+ else
+ install -d ${D}${sysconfdir}/init.d/
+ cat > ${WORKDIR}/btuart.init << EOF
+#!/bin/sh
+/usr/bin/btuart
+EOF
+ install -m 0755 ${WORKDIR}/btuart.init ${D}${sysconfdir}/init.d/btuart
+ sed -i -e 's:TAG+="systemd".*$:RUN+="/usr/bin/bthelper %k":' ${D}${sysconfdir}/udev/rules.d/90-pi-bluetooth.rules
fi
}
diff --git a/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend b/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
index da3cd8ac7c..dfcd07247a 100644
--- a/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
+++ b/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
@@ -13,4 +13,4 @@ do_install:append:rpi () {
fi
}
-FILES:${PN}:rpi += "${sysconfdir}/X11/xorg.conf ${sysconfdir}/X11/xorg.conf.d/*"
+FILES:${PN}:append:rpi = " ${sysconfdir}/X11/xorg.conf.d/*"
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
index da4e748384..e8aa8789ad 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
@@ -1,9 +1,9 @@
-LINUX_VERSION ?= "5.10.52"
+LINUX_VERSION ?= "5.10.59"
LINUX_RPI_BRANCH ?= "rpi-5.10.y"
LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10"
-SRCREV_machine = "6495fa3396fb387d3871ced42a30281fe7be5352"
-SRCREV_meta = "a19886b00ea7d874fdd60d8e3435894bb16e6434"
+SRCREV_machine = "7f4de43d1e8f06f63697c7b571b509348fb29642"
+SRCREV_meta = "e44a7f9801f8fc6b670bf121038d912257a83d7e"
KMETA = "kernel-meta"
diff --git a/meta-security/classes/dm-verity-img.bbclass b/meta-security/classes/dm-verity-img.bbclass
index 16d395b557..a0950dabd7 100644
--- a/meta-security/classes/dm-verity-img.bbclass
+++ b/meta-security/classes/dm-verity-img.bbclass
@@ -63,8 +63,8 @@ verity_setup() {
VERITY_TYPES = "ext2.verity ext3.verity ext4.verity btrfs.verity"
IMAGE_TYPES += "${VERITY_TYPES}"
CONVERSIONTYPES += "verity"
-CONVERSION_CMD_verity = "verity_setup ${type}"
-CONVERSION_DEPENDS_verity = "cryptsetup-native"
+CONVERSION_CMD:verity = "verity_setup ${type}"
+CONVERSION_DEPENDS:verity = "cryptsetup-native"
python __anonymous() {
verity_image = d.getVar('DM_VERITY_IMAGE')
diff --git a/meta-security/classes/sanity-meta-security.bbclass b/meta-security/classes/sanity-meta-security.bbclass
index b6c6b9cb53..f9e26984f5 100644
--- a/meta-security/classes/sanity-meta-security.bbclass
+++ b/meta-security/classes/sanity-meta-security.bbclass
@@ -1,7 +1,7 @@
addhandler security_bbappend_distrocheck
security_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck"
python security_bbappend_distrocheck() {
- skip_check = e.data.getVar('SKIP_META_SECUIRTY_SANITY_CHECK') == "1"
+ skip_check = e.data.getVar('SKIP_META_SECURITY_SANITY_CHECK') == "1"
if 'security' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check:
bb.warn("You have included the meta-security layer, but \
'security' has not been enabled in your DISTRO_FEATURES. Some bbappend files \
diff --git a/meta-security/conf/layer.conf b/meta-security/conf/layer.conf
index cdcfaeec7a..ad9da560f8 100644
--- a/meta-security/conf/layer.conf
+++ b/meta-security/conf/layer.conf
@@ -16,7 +16,3 @@ LAYERDEPENDS_security = "core openembedded-layer perl-layer networking-layer met
# Sanity check for meta-security layer.
# Setting SKIP_META_SECURITY_SANITY_CHECK to "1" would skip the bbappend files check.
INHERIT += "sanity-meta-security"
-
-BBFILES_DYNAMIC += " \
-rust-layer:${LAYERDIR}/dynamic-layers/meta-rust/recipes-*/*/*.bb \
-"
diff --git a/meta-security/kas/kas-security-base.yml b/meta-security/kas/kas-security-base.yml
index b9ce493bef..3bf46dbf01 100644
--- a/meta-security/kas/kas-security-base.yml
+++ b/meta-security/kas/kas-security-base.yml
@@ -1,5 +1,5 @@
header:
- version: 8
+ version: 9
distro: poky
@@ -30,15 +30,9 @@ repos:
meta-networking:
meta-filesystems:
- meta-rust:
- url: https://github.com/meta-rust/meta-rust.git
- refspec: master
-
-
-
local_conf_header:
base: |
- CONF_VERSION = "1"
+ CONF_VERSION = "2"
SOURCE_MIRROR_URL = "http://downloads.yoctoproject.org/mirror/sources/"
SSTATE_MIRRORS = "file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n"
BB_HASHSERVE = "auto"
@@ -57,7 +51,7 @@ local_conf_header:
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
PACKAGE_CLASSES = "package_ipk"
- DISTRO_FEATURES:append = " pam apparmor smack ima"
+ DISTRO_FEATURES:append = " security pam apparmor smack ima tpm tpm2"
MACHINE_FEATURES:append = " tpm tpm2"
diskmon: |
@@ -73,7 +67,6 @@ local_conf_header:
bblayers_conf_header:
base: |
- POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
diff --git a/meta-security/kas/kas-security-dm.yml b/meta-security/kas/kas-security-dm.yml
index 7ce0e9d72a..c03b3361ee 100644
--- a/meta-security/kas/kas-security-dm.yml
+++ b/meta-security/kas/kas-security-dm.yml
@@ -5,6 +5,7 @@ header:
local_conf_header:
dm-verify: |
+ DISTRO_FEATURES:append = " integrity"
DM_VERITY_IMAGE = "core-image-minimal"
DM_VERITY_IMAGE_TYPE = "ext4"
IMAGE_CLASSES += "dm-verity-img"
diff --git a/meta-security/kas/kas-security-parsec.yml b/meta-security/kas/kas-security-parsec.yml
index 22ef5dd824..9a009be14b 100644
--- a/meta-security/kas/kas-security-parsec.yml
+++ b/meta-security/kas/kas-security-parsec.yml
@@ -8,10 +8,6 @@ repos:
layers:
meta-parsec:
- meta-rust:
- url: https://github.com/meta-rust/meta-rust.git
- refspec: master
-
meta-clang:
url: https://github.com/kraj/meta-clang.git
refspec: master
diff --git a/meta-security/meta-hardening/README b/meta-security/meta-hardening/README
index 37a0b7ec85..191253c66a 100644
--- a/meta-security/meta-hardening/README
+++ b/meta-security/meta-hardening/README
@@ -64,14 +64,14 @@ layers: meta-oe
Maintenance
-----------
-Send pull requests, patches, comments or questions to yocto@yoctoproject.org
+Send pull requests, patches, comments or questions to yocto@lists.yoctoproject.org
When sending single patches, please using something like:
-'git send-email -1 --to yocto@yoctoproject.org --subject-prefix=meta-hardening][PATCH'
+'git send-email -1 --to yocto@lists.yoctoproject.org --subject-prefix=meta-hardening][PATCH'
These values can be set as defaults for this repository:
-$ git config sendemail.to yocto@yoctoproject.org
+$ git config sendemail.to yocto@lists.yoctoproject.org
$ git config format.subjectPrefix meta-hardening][PATCH
Now you can just do 'git send-email origin/master' to send all local patches.
diff --git a/meta-security/meta-hardening/recipes-core/images/harden-image-minimal.bb b/meta-security/meta-hardening/recipes-core/images/harden-image-minimal.bb
index c35c2577e5..38771cdfb9 100644
--- a/meta-security/meta-hardening/recipes-core/images/harden-image-minimal.bb
+++ b/meta-security/meta-hardening/recipes-core/images/harden-image-minimal.bb
@@ -10,7 +10,8 @@ LICENSE = "MIT"
IMAGE_ROOTFS_SIZE ?= "8192"
-inherit core-image extrausers
+inherit core-image
+IMAGE_CLASSES:append = " extrausers"
ROOT_DEFAULT_PASSWORD ?= "1SimplePw!"
DEFAULT_ADMIN_ACCOUNT ?= "myadmin"
@@ -19,7 +20,7 @@ DEFAULT_ADMIN_ACCOUNT_PASSWORD ?= "1SimplePw!"
EXTRA_USERS_PARAMS = "${@bb.utils.contains('DISABLE_ROOT', 'True', "usermod -L root;", "usermod -P '${ROOT_DEFAULT_PASSWORD}' root;", d)}"
-EXTRA_USERS_PARAMS += "useradd ${DEFAULT_ADMIN_ACCOUNT};"
-EXTRA_USERS_PARAMS += "groupadd ${DEFAULT_ADMIN_GROUP};"
-EXTRA_USERS_PARAMS += "usermod -P '${DEFAULT_ADMIN_ACCOUNT_PASSWORD}' ${DEFAULT_ADMIN_ACCOUNT};"
-EXTRA_USERS_PARAMS += "usermod -aG ${DEFAULT_ADMIN_GROUP} ${DEFAULT_ADMIN_ACCOUNT};"
+EXTRA_USERS_PARAMS:append = " useradd ${DEFAULT_ADMIN_ACCOUNT};"
+EXTRA_USERS_PARAMS:append = " groupadd ${DEFAULT_ADMIN_GROUP};"
+EXTRA_USERS_PARAMS:append = " usermod -P '${DEFAULT_ADMIN_ACCOUNT_PASSWORD}' ${DEFAULT_ADMIN_ACCOUNT};"
+EXTRA_USERS_PARAMS:append = " usermod -aG ${DEFAULT_ADMIN_GROUP} ${DEFAULT_ADMIN_ACCOUNT};"
diff --git a/meta-security/meta-integrity/classes/kernel-modsign.bbclass b/meta-security/meta-integrity/classes/kernel-modsign.bbclass
index cf5d3ebe20..093c3585e1 100644
--- a/meta-security/meta-integrity/classes/kernel-modsign.bbclass
+++ b/meta-security/meta-integrity/classes/kernel-modsign.bbclass
@@ -2,7 +2,7 @@
# set explicitly in a local.conf before activating kernel-modsign.
# To use the insecure (because public) example keys, use
# MODSIGN_KEY_DIR = "${INTEGRITY_BASE}/data/debug-keys"
-MODSIGN_KEY_DIR ?= "MODSIGN_KEY_DIR_NOT_SET"
+MODSIGN_KEY_DIR ??= "MODSIGN_KEY_DIR_NOT_SET"
# Private key for modules signing. The default is okay when
# using the example key directory.
diff --git a/meta-security/meta-parsec/conf/layer.conf b/meta-security/meta-parsec/conf/layer.conf
index 86d41b22ba..2eeb71b0f4 100644
--- a/meta-security/meta-parsec/conf/layer.conf
+++ b/meta-security/meta-parsec/conf/layer.conf
@@ -10,5 +10,5 @@ BBFILE_PRIORITY_parsec-layer = "5"
LAYERSERIES_COMPAT_parsec-layer = "honister"
-LAYERDEPENDS_parsec-layer = "core rust-layer clang-layer tpm-layer"
+LAYERDEPENDS_parsec-layer = "core clang-layer tpm-layer"
BBLAYERS_LAYERINDEX_NAME_parsec-layer = "meta-parsec"
diff --git a/meta-security/meta-tpm/README b/meta-security/meta-tpm/README
index 4441dd293a..5722a92abb 100644
--- a/meta-security/meta-tpm/README
+++ b/meta-security/meta-tpm/README
@@ -5,7 +5,7 @@ The bbappend files for some recipes (e.g. linux-yocto) in this layer need
to have 'tpm' in DISTRO_FEATURES to have effect.
To enable them, add in configuration file the following line.
- DISTRO_FEATURES:append = " tmp"
+ DISTRO_FEATURES:append = " tpm"
If meta-tpm is included, but tpm is not enabled as a
distro feature a warning is printed at parse time:
@@ -57,14 +57,14 @@ other layers needed. e.g.:
Maintenance
-----------
-Send pull requests, patches, comments or questions to yocto@yoctoproject.org
+Send pull requests, patches, comments or questions to yocto@lists.yoctoproject.org
When sending single patches, please using something like:
-'git send-email -1 --to yocto@yoctoproject.org --subject-prefix=meta-security][PATCH'
+'git send-email -1 --to yocto@lists.yoctoproject.org --subject-prefix=meta-security][PATCH'
These values can be set as defaults for this repository:
-$ git config sendemail.to yocto@yoctoproject.org
+$ git config sendemail.to yocto@lists.yoctoproject.org
$ git config format.subjectPrefix meta-security][PATCH
Now you can just do 'git send-email origin/master' to send all local patches.
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/fixup.patch b/meta-security/recipes-ids/suricata/files/fixup.patch
index fc44ce68f5..fc44ce68f5 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/fixup.patch
+++ b/meta-security/recipes-ids/suricata/files/fixup.patch
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/run-ptest b/meta-security/recipes-ids/suricata/files/run-ptest
index 666ba9c954..666ba9c954 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/run-ptest
+++ b/meta-security/recipes-ids/suricata/files/run-ptest
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.service b/meta-security/recipes-ids/suricata/files/suricata.service
index a99a76ef86..a99a76ef86 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.service
+++ b/meta-security/recipes-ids/suricata/files/suricata.service
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.yaml b/meta-security/recipes-ids/suricata/files/suricata.yaml
index 8d06a27449..8d06a27449 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/suricata.yaml
+++ b/meta-security/recipes-ids/suricata/files/suricata.yaml
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/tmpfiles.suricata b/meta-security/recipes-ids/suricata/files/tmpfiles.suricata
index fbf37848ee..fbf37848ee 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/tmpfiles.suricata
+++ b/meta-security/recipes-ids/suricata/files/tmpfiles.suricata
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/volatiles.03_suricata b/meta-security/recipes-ids/suricata/files/volatiles.03_suricata
index 4627bd3b0f..4627bd3b0f 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/files/volatiles.03_suricata
+++ b/meta-security/recipes-ids/suricata/files/volatiles.03_suricata
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/libhtp_0.5.38.bb b/meta-security/recipes-ids/suricata/libhtp_0.5.38.bb
index 2a0c93ccc8..2a0c93ccc8 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/libhtp_0.5.38.bb
+++ b/meta-security/recipes-ids/suricata/libhtp_0.5.38.bb
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata.inc b/meta-security/recipes-ids/suricata/suricata.inc
index 5754617fbd..5754617fbd 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata.inc
+++ b/meta-security/recipes-ids/suricata/suricata.inc
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata_6.0.3.bb b/meta-security/recipes-ids/suricata/suricata_6.0.3.bb
index ca9e03e325..ca9e03e325 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-ids/suricata/suricata_6.0.3.bb
+++ b/meta-security/recipes-ids/suricata/suricata_6.0.3.bb
diff --git a/meta-security/recipes-security/cryfs/cryfs_0.10.3.bb b/meta-security/recipes-security/cryfs/cryfs_0.10.3.bb
new file mode 100644
index 0000000000..74f32a495f
--- /dev/null
+++ b/meta-security/recipes-security/cryfs/cryfs_0.10.3.bb
@@ -0,0 +1,10 @@
+SUMMARY = "CryFS encrypts your files, so you can safely store them anywhere."
+HOMEDIR = "https://www.cryfs.org"
+
+LICENSE = "LGPL-3.0"
+FILE_CHK_SUM = "file://;md5=12345"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}.git"
+SRCREV = "0f83a1ab7e5ca9f37f97bc57b20d3fab0f351d11"
+
+inherit cmake
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-security/krill/files/panic_workaround.patch b/meta-security/recipes-security/krill/files/panic_workaround.patch
index 9b08cb5ce9..9b08cb5ce9 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-security/krill/files/panic_workaround.patch
+++ b/meta-security/recipes-security/krill/files/panic_workaround.patch
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-security/krill/krill.inc b/meta-security/recipes-security/krill/krill.inc
index f86468b966..f86468b966 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-security/krill/krill.inc
+++ b/meta-security/recipes-security/krill/krill.inc
diff --git a/meta-security/dynamic-layers/meta-rust/recipes-security/krill/krill_0.9.1.bb b/meta-security/recipes-security/krill/krill_0.9.1.bb
index 4dc61cfb37..4dc61cfb37 100644
--- a/meta-security/dynamic-layers/meta-rust/recipes-security/krill/krill_0.9.1.bb
+++ b/meta-security/recipes-security/krill/krill_0.9.1.bb
diff --git a/poky/bitbake/README b/poky/bitbake/README
index 96e6007e7f..2d5cd254e5 100644
--- a/poky/bitbake/README
+++ b/poky/bitbake/README
@@ -33,3 +33,11 @@ Mailing list:
Source code:
http://git.openembedded.org/bitbake/
+
+Testing:
+
+Bitbake has a testsuite located in lib/bb/tests/ whichs aim to try and prevent regressions.
+You can run this with "bitbake-selftest". In particular the fetcher is well covered since
+it has so many corner cases. The datastore has many tests too. Testing with the testsuite is
+recommended before submitting patches, particularly to the fetcher and datastore. We also
+appreciate new test cases and may require them for more obscure issues.
diff --git a/poky/bitbake/bin/bitbake-prserv b/poky/bitbake/bin/bitbake-prserv
index 1e9b6cbc1b..bef5ef6897 100755
--- a/poky/bitbake/bin/bitbake-prserv
+++ b/poky/bitbake/bin/bitbake-prserv
@@ -36,12 +36,14 @@ def main():
dest="host", type="string", default=PRHOST_DEFAULT)
parser.add_option("--port", help="port number(default: 8585)", action="store",
dest="port", type="int", default=PRPORT_DEFAULT)
+ parser.add_option("-r", "--read-only", help="open database in read-only mode",
+ action="store_true")
options, args = parser.parse_args(sys.argv)
prserv.init_logger(os.path.abspath(options.logfile),options.loglevel)
if options.start:
- ret=prserv.serv.start_daemon(options.dbfile, options.host, options.port,os.path.abspath(options.logfile))
+ ret=prserv.serv.start_daemon(options.dbfile, options.host, options.port,os.path.abspath(options.logfile), options.read_only)
elif options.stop:
ret=prserv.serv.stop_daemon(options.host, options.port)
else:
diff --git a/poky/bitbake/bin/bitbake-worker b/poky/bitbake/bin/bitbake-worker
index 7765b9368b..7d982f90ba 100755
--- a/poky/bitbake/bin/bitbake-worker
+++ b/poky/bitbake/bin/bitbake-worker
@@ -517,5 +517,5 @@ except BaseException as e:
worker_thread_exit = True
worker_thread.join()
-workerlog_write("exitting")
+workerlog_write("exiting")
sys.exit(0)
diff --git a/poky/bitbake/contrib/vim/syntax/bitbake.vim b/poky/bitbake/contrib/vim/syntax/bitbake.vim
index d8aa0f1ba1..c5ea80fdf2 100644
--- a/poky/bitbake/contrib/vim/syntax/bitbake.vim
+++ b/poky/bitbake/contrib/vim/syntax/bitbake.vim
@@ -77,7 +77,7 @@ syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_comp
" Generic Functions
syn match bbFunction "\h[0-9A-Za-z_\-\.]*" display contained contains=bbOEFunctions
-syn keyword bbOverrideOperator append prepend contained
+syn keyword bbOverrideOperator append prepend remove contained
" BitBake shell metadata
syn include @shell syntax/sh.vim
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index c1e30697b3..5c248d3655 100644
--- a/poky/bitbake/lib/bb/__init__.py
+++ b/poky/bitbake/lib/bb/__init__.py
@@ -12,8 +12,8 @@
__version__ = "1.51.1"
import sys
-if sys.version_info < (3, 5, 0):
- raise RuntimeError("Sorry, python 3.5.0 or later is required for this version of bitbake")
+if sys.version_info < (3, 6, 0):
+ raise RuntimeError("Sorry, python 3.6.0 or later is required for this version of bitbake")
class BBHandledException(Exception):
diff --git a/poky/bitbake/lib/bb/asyncrpc/client.py b/poky/bitbake/lib/bb/asyncrpc/client.py
index 3eb4fdde8a..50e60d5c31 100644
--- a/poky/bitbake/lib/bb/asyncrpc/client.py
+++ b/poky/bitbake/lib/bb/asyncrpc/client.py
@@ -119,6 +119,16 @@ class Client(object):
self.client = self._get_async_client()
self.loop = asyncio.new_event_loop()
+ # Override any pre-existing loop.
+ # Without this, the PR server export selftest triggers a hang
+ # when running with Python 3.7. The drawback is that there is
+ # potential for issues if the PR and hash equiv (or some new)
+ # clients need to both be instantiated in the same process.
+ # This should be revisited if/when Python 3.9 becomes the
+ # minimum required version for BitBake, as it seems not
+ # required (but harmless) with it.
+ asyncio.set_event_loop(self.loop)
+
self._add_methods('connect_tcp', 'close', 'ping')
@abc.abstractmethod
diff --git a/poky/bitbake/lib/bb/asyncrpc/serv.py b/poky/bitbake/lib/bb/asyncrpc/serv.py
index 4084f300df..b4cffff213 100644
--- a/poky/bitbake/lib/bb/asyncrpc/serv.py
+++ b/poky/bitbake/lib/bb/asyncrpc/serv.py
@@ -131,53 +131,55 @@ class AsyncServerConnection(object):
class AsyncServer(object):
- def __init__(self, logger, loop=None):
- if loop is None:
- self.loop = asyncio.new_event_loop()
- self.close_loop = True
- else:
- self.loop = loop
- self.close_loop = False
-
+ def __init__(self, logger):
self._cleanup_socket = None
self.logger = logger
+ self.start = None
+ self.address = None
+ self.loop = None
def start_tcp_server(self, host, port):
- self.server = self.loop.run_until_complete(
- asyncio.start_server(self.handle_client, host, port, loop=self.loop)
- )
-
- for s in self.server.sockets:
- self.logger.debug('Listening on %r' % (s.getsockname(),))
- # Newer python does this automatically. Do it manually here for
- # maximum compatibility
- s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1)
- s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1)
-
- name = self.server.sockets[0].getsockname()
- if self.server.sockets[0].family == socket.AF_INET6:
- self.address = "[%s]:%d" % (name[0], name[1])
- else:
- self.address = "%s:%d" % (name[0], name[1])
+ def start_tcp():
+ self.server = self.loop.run_until_complete(
+ asyncio.start_server(self.handle_client, host, port)
+ )
+
+ for s in self.server.sockets:
+ self.logger.debug('Listening on %r' % (s.getsockname(),))
+ # Newer python does this automatically. Do it manually here for
+ # maximum compatibility
+ s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1)
+ s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1)
+
+ name = self.server.sockets[0].getsockname()
+ if self.server.sockets[0].family == socket.AF_INET6:
+ self.address = "[%s]:%d" % (name[0], name[1])
+ else:
+ self.address = "%s:%d" % (name[0], name[1])
+
+ self.start = start_tcp
def start_unix_server(self, path):
def cleanup():
os.unlink(path)
- cwd = os.getcwd()
- try:
- # Work around path length limits in AF_UNIX
- os.chdir(os.path.dirname(path))
- self.server = self.loop.run_until_complete(
- asyncio.start_unix_server(self.handle_client, os.path.basename(path), loop=self.loop)
- )
- finally:
- os.chdir(cwd)
+ def start_unix():
+ cwd = os.getcwd()
+ try:
+ # Work around path length limits in AF_UNIX
+ os.chdir(os.path.dirname(path))
+ self.server = self.loop.run_until_complete(
+ asyncio.start_unix_server(self.handle_client, os.path.basename(path))
+ )
+ finally:
+ os.chdir(cwd)
+
+ self.logger.debug('Listening on %r' % path)
- self.logger.debug('Listening on %r' % path)
+ self._cleanup_socket = cleanup
+ self.address = "unix://%s" % os.path.abspath(path)
- self._cleanup_socket = cleanup
- self.address = "unix://%s" % os.path.abspath(path)
+ self.start = start_unix
@abc.abstractmethod
def accept_client(self, reader, writer):
@@ -205,8 +207,7 @@ class AsyncServer(object):
self.logger.debug("Got exit signal")
self.loop.stop()
- def serve_forever(self):
- asyncio.set_event_loop(self.loop)
+ def _serve_forever(self):
try:
self.loop.add_signal_handler(signal.SIGTERM, self.signal_handler)
signal.pthread_sigmask(signal.SIG_UNBLOCK, [signal.SIGTERM])
@@ -217,28 +218,69 @@ class AsyncServer(object):
self.loop.run_until_complete(self.server.wait_closed())
self.logger.debug('Server shutting down')
finally:
- if self.close_loop:
- if sys.version_info >= (3, 6):
- self.loop.run_until_complete(self.loop.shutdown_asyncgens())
- self.loop.close()
-
if self._cleanup_socket is not None:
self._cleanup_socket()
+ def serve_forever(self):
+ """
+ Serve requests in the current process
+ """
+ # Create loop and override any loop that may have existed in
+ # a parent process. It is possible that the usecases of
+ # serve_forever might be constrained enough to allow using
+ # get_event_loop here, but better safe than sorry for now.
+ self.loop = asyncio.new_event_loop()
+ asyncio.set_event_loop(self.loop)
+ self.start()
+ self._serve_forever()
+
def serve_as_process(self, *, prefunc=None, args=()):
- def run():
+ """
+ Serve requests in a child process
+ """
+ def run(queue):
+ # Create loop and override any loop that may have existed
+ # in a parent process. Without doing this and instead
+ # using get_event_loop, at the very minimum the hashserv
+ # unit tests will hang when running the second test.
+ # This happens since get_event_loop in the spawned server
+ # process for the second testcase ends up with the loop
+ # from the hashserv client created in the unit test process
+ # when running the first testcase. The problem is somewhat
+ # more general, though, as any potential use of asyncio in
+ # Cooker could create a loop that needs to replaced in this
+ # new process.
+ self.loop = asyncio.new_event_loop()
+ asyncio.set_event_loop(self.loop)
+ try:
+ self.start()
+ finally:
+ queue.put(self.address)
+ queue.close()
+
if prefunc is not None:
prefunc(self, *args)
- self.serve_forever()
+
+ self._serve_forever()
+
+ if sys.version_info >= (3, 6):
+ self.loop.run_until_complete(self.loop.shutdown_asyncgens())
+ self.loop.close()
+
+ queue = multiprocessing.Queue()
# Temporarily block SIGTERM. The server process will inherit this
# block which will ensure it doesn't receive the SIGTERM until the
# handler is ready for it
mask = signal.pthread_sigmask(signal.SIG_BLOCK, [signal.SIGTERM])
try:
- self.process = multiprocessing.Process(target=run)
+ self.process = multiprocessing.Process(target=run, args=(queue,))
self.process.start()
+ self.address = queue.get()
+ queue.close()
+ queue.join_thread()
+
return self.process
finally:
signal.pthread_sigmask(signal.SIG_SETMASK, mask)
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index b2d69c28cf..db991702e2 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -382,7 +382,7 @@ class BBCooker:
try:
self.prhost = prserv.serv.auto_start(self.data)
except prserv.serv.PRServiceConfigError as e:
- bb.fatal("Unable to start PR Server, exitting")
+ bb.fatal("Unable to start PR Server, exiting, check the bitbake-cookerdaemon.log")
if self.data.getVar("BB_HASHSERVE") == "auto":
# Create a new hash server bound to a unix domain socket
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index 29fcfbb3d1..9a49e64a00 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -330,50 +330,51 @@ class Wget(FetchMethod):
urllib.request.HTTPSHandler(context=context)]
opener = urllib.request.build_opener(*handlers)
- try:
- uri = ud.url.split(";")[0]
- r = urllib.request.Request(uri)
- r.get_method = lambda: "HEAD"
- # Some servers (FusionForge, as used on Alioth) require that the
- # optional Accept header is set.
- r.add_header("Accept", "*/*")
- r.add_header("User-Agent", self.user_agent)
- def add_basic_auth(login_str, request):
- '''Adds Basic auth to http request, pass in login:password as string'''
- import base64
- encodeuser = base64.b64encode(login_str.encode('utf-8')).decode("utf-8")
- authheader = "Basic %s" % encodeuser
- r.add_header("Authorization", authheader)
-
- if ud.user and ud.pswd:
- add_basic_auth(ud.user + ':' + ud.pswd, r)
-
try:
- import netrc
- n = netrc.netrc()
- login, unused, password = n.authenticators(urllib.parse.urlparse(uri).hostname)
- add_basic_auth("%s:%s" % (login, password), r)
- except (TypeError, ImportError, IOError, netrc.NetrcParseError):
- pass
-
- with opener.open(r) as response:
- pass
- except urllib.error.URLError as e:
- if try_again:
- logger.debug2("checkstatus: trying again")
- return self.checkstatus(fetch, ud, d, False)
- else:
- # debug for now to avoid spamming the logs in e.g. remote sstate searches
- logger.debug2("checkstatus() urlopen failed: %s" % e)
- return False
- except ConnectionResetError as e:
- if try_again:
- logger.debug2("checkstatus: trying again")
- return self.checkstatus(fetch, ud, d, False)
- else:
- # debug for now to avoid spamming the logs in e.g. remote sstate searches
- logger.debug2("checkstatus() urlopen failed: %s" % e)
- return False
+ uri = ud.url.split(";")[0]
+ r = urllib.request.Request(uri)
+ r.get_method = lambda: "HEAD"
+ # Some servers (FusionForge, as used on Alioth) require that the
+ # optional Accept header is set.
+ r.add_header("Accept", "*/*")
+ r.add_header("User-Agent", self.user_agent)
+ def add_basic_auth(login_str, request):
+ '''Adds Basic auth to http request, pass in login:password as string'''
+ import base64
+ encodeuser = base64.b64encode(login_str.encode('utf-8')).decode("utf-8")
+ authheader = "Basic %s" % encodeuser
+ r.add_header("Authorization", authheader)
+
+ if ud.user and ud.pswd:
+ add_basic_auth(ud.user + ':' + ud.pswd, r)
+
+ try:
+ import netrc
+ n = netrc.netrc()
+ login, unused, password = n.authenticators(urllib.parse.urlparse(uri).hostname)
+ add_basic_auth("%s:%s" % (login, password), r)
+ except (TypeError, ImportError, IOError, netrc.NetrcParseError):
+ pass
+
+ with opener.open(r) as response:
+ pass
+ except urllib.error.URLError as e:
+ if try_again:
+ logger.debug2("checkstatus: trying again")
+ return self.checkstatus(fetch, ud, d, False)
+ else:
+ # debug for now to avoid spamming the logs in e.g. remote sstate searches
+ logger.debug2("checkstatus() urlopen failed: %s" % e)
+ return False
+ except ConnectionResetError as e:
+ if try_again:
+ logger.debug2("checkstatus: trying again")
+ return self.checkstatus(fetch, ud, d, False)
+ else:
+ # debug for now to avoid spamming the logs in e.g. remote sstate searches
+ logger.debug2("checkstatus() urlopen failed: %s" % e)
+ return False
+
return True
def _parse_path(self, regex, s):
diff --git a/poky/bitbake/lib/bb/providers.py b/poky/bitbake/lib/bb/providers.py
index 516d45e4aa..8c1c31a5c5 100644
--- a/poky/bitbake/lib/bb/providers.py
+++ b/poky/bitbake/lib/bb/providers.py
@@ -94,7 +94,7 @@ def versionVariableMatch(cfgData, keyword, pn):
# pn can contain '_', e.g. gcc-cross-x86_64 and an override cannot
# hence we do this manually rather than use OVERRIDES
- ver = cfgData.getVar("%s_VERSION_pn-%s" % (keyword, pn))
+ ver = cfgData.getVar("%s_VERSION:pn-%s" % (keyword, pn))
if not ver:
ver = cfgData.getVar("%s_VERSION_%s" % (keyword, pn))
if not ver:
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 6127fd40e6..b593830cc7 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -473,7 +473,7 @@ class BitBakeServer(object):
try:
r = ready.get()
except EOFError:
- # Trap the child exitting/closing the pipe and error out
+ # Trap the child exiting/closing the pipe and error out
r = None
if not r or r[0] != "r":
ready.close()
diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py
index 947422a72f..6e94c83076 100644
--- a/poky/bitbake/lib/bblayers/query.py
+++ b/poky/bitbake/lib/bblayers/query.py
@@ -154,7 +154,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
def print_item(f, pn, ver, layer, ispref):
if not selected_layer or layer == selected_layer:
if not bare and f in skiplist:
- skipped = ' (skipped)'
+ skipped = ' (skipped: %s)' % self.tinfoil.cooker.skiplist[f].skipreason
else:
skipped = ''
if show_filenames:
diff --git a/poky/bitbake/lib/hashserv/server.py b/poky/bitbake/lib/hashserv/server.py
index 8e84989737..a059e52115 100644
--- a/poky/bitbake/lib/hashserv/server.py
+++ b/poky/bitbake/lib/hashserv/server.py
@@ -410,11 +410,11 @@ class ServerClient(bb.asyncrpc.AsyncServerConnection):
class Server(bb.asyncrpc.AsyncServer):
- def __init__(self, db, loop=None, upstream=None, read_only=False):
+ def __init__(self, db, upstream=None, read_only=False):
if upstream and read_only:
raise bb.asyncrpc.ServerError("Read-only hashserv cannot pull from an upstream server")
- super().__init__(logger, loop)
+ super().__init__(logger)
self.request_stats = Stats()
self.db = db
diff --git a/poky/bitbake/lib/prserv/client.py b/poky/bitbake/lib/prserv/client.py
new file mode 100644
index 0000000000..a3f19ddafc
--- /dev/null
+++ b/poky/bitbake/lib/prserv/client.py
@@ -0,0 +1,48 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import logging
+import bb.asyncrpc
+
+logger = logging.getLogger("BitBake.PRserv")
+
+class PRAsyncClient(bb.asyncrpc.AsyncClient):
+ def __init__(self):
+ super().__init__('PRSERVICE', '1.0', logger)
+
+ async def getPR(self, version, pkgarch, checksum):
+ response = await self.send_message(
+ {'get-pr': {'version': version, 'pkgarch': pkgarch, 'checksum': checksum}}
+ )
+ if response:
+ return response['value']
+
+ async def importone(self, version, pkgarch, checksum, value):
+ response = await self.send_message(
+ {'import-one': {'version': version, 'pkgarch': pkgarch, 'checksum': checksum, 'value': value}}
+ )
+ if response:
+ return response['value']
+
+ async def export(self, version, pkgarch, checksum, colinfo):
+ response = await self.send_message(
+ {'export': {'version': version, 'pkgarch': pkgarch, 'checksum': checksum, 'colinfo': colinfo}}
+ )
+ if response:
+ return (response['metainfo'], response['datainfo'])
+
+ async def is_readonly(self):
+ response = await self.send_message(
+ {'is-readonly': {}}
+ )
+ if response:
+ return response['readonly']
+
+class PRClient(bb.asyncrpc.Client):
+ def __init__(self):
+ super().__init__()
+ self._add_methods('getPR', 'importone', 'export', 'is_readonly')
+
+ def _get_async_client(self):
+ return PRAsyncClient()
diff --git a/poky/bitbake/lib/prserv/db.py b/poky/bitbake/lib/prserv/db.py
index cb2a2461e0..2710d4a225 100644
--- a/poky/bitbake/lib/prserv/db.py
+++ b/poky/bitbake/lib/prserv/db.py
@@ -30,21 +30,29 @@ if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
#
class PRTable(object):
- def __init__(self, conn, table, nohist):
+ def __init__(self, conn, table, nohist, read_only):
self.conn = conn
self.nohist = nohist
+ self.read_only = read_only
self.dirty = False
if nohist:
self.table = "%s_nohist" % table
else:
self.table = "%s_hist" % table
- self._execute("CREATE TABLE IF NOT EXISTS %s \
- (version TEXT NOT NULL, \
- pkgarch TEXT NOT NULL, \
- checksum TEXT NOT NULL, \
- value INTEGER, \
- PRIMARY KEY (version, pkgarch, checksum));" % self.table)
+ if self.read_only:
+ table_exists = self._execute(
+ "SELECT count(*) FROM sqlite_master \
+ WHERE type='table' AND name='%s'" % (self.table))
+ if not table_exists:
+ raise prserv.NotFoundError
+ else:
+ self._execute("CREATE TABLE IF NOT EXISTS %s \
+ (version TEXT NOT NULL, \
+ pkgarch TEXT NOT NULL, \
+ checksum TEXT NOT NULL, \
+ value INTEGER, \
+ PRIMARY KEY (version, pkgarch, checksum));" % self.table)
def _execute(self, *query):
"""Execute a query, waiting to acquire a lock if necessary"""
@@ -59,8 +67,9 @@ class PRTable(object):
raise exc
def sync(self):
- self.conn.commit()
- self._execute("BEGIN EXCLUSIVE TRANSACTION")
+ if not self.read_only:
+ self.conn.commit()
+ self._execute("BEGIN EXCLUSIVE TRANSACTION")
def sync_if_dirty(self):
if self.dirty:
@@ -75,6 +84,15 @@ class PRTable(object):
return row[0]
else:
#no value found, try to insert
+ if self.read_only:
+ data = self._execute("SELECT ifnull(max(value)+1,0) FROM %s where version=? AND pkgarch=?;" % (self.table),
+ (version, pkgarch))
+ row = data.fetchone()
+ if row is not None:
+ return row[0]
+ else:
+ return 0
+
try:
self._execute("INSERT INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1,0) from %s where version=? AND pkgarch=?));"
% (self.table,self.table),
@@ -103,6 +121,15 @@ class PRTable(object):
return row[0]
else:
#no value found, try to insert
+ if self.read_only:
+ data = self._execute("SELECT ifnull(max(value)+1,0) FROM %s where version=? AND pkgarch=?;" % (self.table),
+ (version, pkgarch))
+ row = data.fetchone()
+ if row is not None:
+ return row[0]
+ else:
+ return 0
+
try:
self._execute("INSERT OR REPLACE INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1,0) from %s where version=? AND pkgarch=?));"
% (self.table,self.table),
@@ -128,6 +155,9 @@ class PRTable(object):
return self._getValueHist(version, pkgarch, checksum)
def _importHist(self, version, pkgarch, checksum, value):
+ if self.read_only:
+ return None
+
val = None
data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
(version, pkgarch, checksum))
@@ -152,6 +182,9 @@ class PRTable(object):
return val
def _importNohist(self, version, pkgarch, checksum, value):
+ if self.read_only:
+ return None
+
try:
#try to insert
self._execute("INSERT INTO %s VALUES (?, ?, ?, ?);" % (self.table),
@@ -245,19 +278,23 @@ class PRTable(object):
class PRData(object):
"""Object representing the PR database"""
- def __init__(self, filename, nohist=True):
+ def __init__(self, filename, nohist=True, read_only=False):
self.filename=os.path.abspath(filename)
self.nohist=nohist
+ self.read_only = read_only
#build directory hierarchy
try:
os.makedirs(os.path.dirname(self.filename))
except OSError as e:
if e.errno != errno.EEXIST:
raise e
- self.connection=sqlite3.connect(self.filename, isolation_level="EXCLUSIVE", check_same_thread = False)
+ uri = "file:%s%s" % (self.filename, "?mode=ro" if self.read_only else "")
+ logger.debug("Opening PRServ database '%s'" % (uri))
+ self.connection=sqlite3.connect(uri, uri=True, isolation_level="EXCLUSIVE", check_same_thread = False)
self.connection.row_factory=sqlite3.Row
- self.connection.execute("pragma synchronous = off;")
- self.connection.execute("PRAGMA journal_mode = MEMORY;")
+ if not self.read_only:
+ self.connection.execute("pragma synchronous = off;")
+ self.connection.execute("PRAGMA journal_mode = MEMORY;")
self._tables={}
def disconnect(self):
@@ -270,7 +307,7 @@ class PRData(object):
if tblname in self._tables:
return self._tables[tblname]
else:
- tableobj = self._tables[tblname] = PRTable(self.connection, tblname, self.nohist)
+ tableobj = self._tables[tblname] = PRTable(self.connection, tblname, self.nohist, self.read_only)
return tableobj
def __delitem__(self, tblname):
diff --git a/poky/bitbake/lib/prserv/serv.py b/poky/bitbake/lib/prserv/serv.py
index 5e322bf83d..0a20b927c7 100644
--- a/poky/bitbake/lib/prserv/serv.py
+++ b/poky/bitbake/lib/prserv/serv.py
@@ -4,157 +4,135 @@
import os,sys,logging
import signal, time
-from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
import socket
import io
import sqlite3
-import bb.server.xmlrpcclient
import prserv
import prserv.db
import errno
-import multiprocessing
+import bb.asyncrpc
logger = logging.getLogger("BitBake.PRserv")
-class Handler(SimpleXMLRPCRequestHandler):
- def _dispatch(self,method,params):
- try:
- value=self.server.funcs[method](*params)
- except:
- import traceback
- traceback.print_exc()
- raise
- return value
-
PIDPREFIX = "/tmp/PRServer_%s_%s.pid"
singleton = None
-
-class PRServer(SimpleXMLRPCServer):
- def __init__(self, dbfile, logfile, interface):
- ''' constructor '''
+class PRServerClient(bb.asyncrpc.AsyncServerConnection):
+ def __init__(self, reader, writer, table, read_only):
+ super().__init__(reader, writer, 'PRSERVICE', logger)
+ self.handlers.update({
+ 'get-pr': self.handle_get_pr,
+ 'import-one': self.handle_import_one,
+ 'export': self.handle_export,
+ 'is-readonly': self.handle_is_readonly,
+ })
+ self.table = table
+ self.read_only = read_only
+
+ def validate_proto_version(self):
+ return (self.proto_version == (1, 0))
+
+ async def dispatch_message(self, msg):
try:
- SimpleXMLRPCServer.__init__(self, interface,
- logRequests=False, allow_none=True)
- except socket.error:
- ip=socket.gethostbyname(interface[0])
- port=interface[1]
- msg="PR Server unable to bind to %s:%s\n" % (ip, port)
- sys.stderr.write(msg)
- raise PRServiceConfigError
-
- self.dbfile=dbfile
- self.logfile=logfile
- self.host, self.port = self.socket.getsockname()
-
- self.register_function(self.getPR, "getPR")
- self.register_function(self.ping, "ping")
- self.register_function(self.export, "export")
- self.register_function(self.importone, "importone")
- self.register_introspection_functions()
-
- self.iter_count = 0
- # 60 iterations between syncs or sync if dirty every ~30 seconds
- self.iterations_between_sync = 60
-
- def sigint_handler(self, signum, stack):
- if self.table:
- self.table.sync()
-
- def sigterm_handler(self, signum, stack):
- if self.table:
- self.table.sync()
- raise(SystemExit)
-
- def process_request(self, request, client_address):
- if request is None:
- return
- try:
- self.finish_request(request, client_address)
- self.shutdown_request(request)
- self.iter_count = (self.iter_count + 1) % self.iterations_between_sync
- if self.iter_count == 0:
- self.table.sync_if_dirty()
+ await super().dispatch_message(msg)
except:
- self.handle_error(request, client_address)
- self.shutdown_request(request)
self.table.sync()
- self.table.sync_if_dirty()
+ raise
- def serve_forever(self, poll_interval=0.5):
- signal.signal(signal.SIGINT, self.sigint_handler)
- signal.signal(signal.SIGTERM, self.sigterm_handler)
+ self.table.sync_if_dirty()
- self.db = prserv.db.PRData(self.dbfile)
- self.table = self.db["PRMAIN"]
- return super().serve_forever(poll_interval)
+ async def handle_get_pr(self, request):
+ version = request['version']
+ pkgarch = request['pkgarch']
+ checksum = request['checksum']
- def export(self, version=None, pkgarch=None, checksum=None, colinfo=True):
+ response = None
try:
- return self.table.export(version, pkgarch, checksum, colinfo)
+ value = self.table.getValue(version, pkgarch, checksum)
+ response = {'value': value}
+ except prserv.NotFoundError:
+ logger.error("can not find value for (%s, %s)",version, checksum)
except sqlite3.Error as exc:
logger.error(str(exc))
- return None
- def importone(self, version, pkgarch, checksum, value):
- return self.table.importone(version, pkgarch, checksum, value)
+ self.write_message(response)
- def ping(self):
- return True
+ async def handle_import_one(self, request):
+ response = None
+ if not self.read_only:
+ version = request['version']
+ pkgarch = request['pkgarch']
+ checksum = request['checksum']
+ value = request['value']
- def getinfo(self):
- return (self.host, self.port)
+ value = self.table.importone(version, pkgarch, checksum, value)
+ if value is not None:
+ response = {'value': value}
+
+ self.write_message(response)
+
+ async def handle_export(self, request):
+ version = request['version']
+ pkgarch = request['pkgarch']
+ checksum = request['checksum']
+ colinfo = request['colinfo']
- def getPR(self, version, pkgarch, checksum):
try:
- return self.table.getValue(version, pkgarch, checksum)
- except prserv.NotFoundError:
- logger.error("can not find value for (%s, %s)",version, checksum)
- return None
+ (metainfo, datainfo) = self.table.export(version, pkgarch, checksum, colinfo)
except sqlite3.Error as exc:
logger.error(str(exc))
- return None
+ metainfo = datainfo = None
-class PRServSingleton(object):
- def __init__(self, dbfile, logfile, interface):
+ response = {'metainfo': metainfo, 'datainfo': datainfo}
+ self.write_message(response)
+
+ async def handle_is_readonly(self, request):
+ response = {'readonly': self.read_only}
+ self.write_message(response)
+
+class PRServer(bb.asyncrpc.AsyncServer):
+ def __init__(self, dbfile, read_only=False):
+ super().__init__(logger)
self.dbfile = dbfile
- self.logfile = logfile
- self.interface = interface
- self.host = None
- self.port = None
+ self.table = None
+ self.read_only = read_only
- def start(self):
- self.prserv = PRServer(self.dbfile, self.logfile, self.interface)
- self.process = multiprocessing.Process(target=self.prserv.serve_forever)
- self.process.start()
+ def accept_client(self, reader, writer):
+ return PRServerClient(reader, writer, self.table, self.read_only)
- self.host, self.port = self.prserv.getinfo()
+ def _serve_forever(self):
+ self.db = prserv.db.PRData(self.dbfile, read_only=self.read_only)
+ self.table = self.db["PRMAIN"]
- def getinfo(self):
- return (self.host, self.port)
+ logger.info("Started PRServer with DBfile: %s, Address: %s, PID: %s" %
+ (self.dbfile, self.address, str(os.getpid())))
-class PRServerConnection(object):
- def __init__(self, host, port):
- if is_local_special(host, port):
- host, port = singleton.getinfo()
- self.host = host
- self.port = port
- self.connection, self.transport = bb.server.xmlrpcclient._create_server(self.host, self.port)
+ super()._serve_forever()
- def getPR(self, version, pkgarch, checksum):
- return self.connection.getPR(version, pkgarch, checksum)
+ self.table.sync_if_dirty()
+ self.db.disconnect()
- def ping(self):
- return self.connection.ping()
+ def signal_handler(self):
+ super().signal_handler()
+ if self.table:
+ self.table.sync()
- def export(self,version=None, pkgarch=None, checksum=None, colinfo=True):
- return self.connection.export(version, pkgarch, checksum, colinfo)
+class PRServSingleton(object):
+ def __init__(self, dbfile, logfile, host, port):
+ self.dbfile = dbfile
+ self.logfile = logfile
+ self.host = host
+ self.port = port
- def importone(self, version, pkgarch, checksum, value):
- return self.connection.importone(version, pkgarch, checksum, value)
+ def start(self):
+ self.prserv = PRServer(self.dbfile)
+ self.prserv.start_tcp_server(socket.gethostbyname(self.host), self.port)
+ self.process = self.prserv.serve_as_process()
- def getinfo(self):
- return self.host, self.port
+ if not self.prserv.address:
+ raise PRServiceConfigError
+ if not self.port:
+ self.port = int(self.prserv.address.rsplit(':', 1)[1])
def run_as_daemon(func, pidfile, logfile):
"""
@@ -226,7 +204,7 @@ def run_as_daemon(func, pidfile, logfile):
os.remove(pidfile)
os._exit(0)
-def start_daemon(dbfile, host, port, logfile):
+def start_daemon(dbfile, host, port, logfile, read_only=False):
ip = socket.gethostbyname(host)
pidfile = PIDPREFIX % (ip, port)
try:
@@ -240,15 +218,13 @@ def start_daemon(dbfile, host, port, logfile):
% pidfile)
return 1
- server = PRServer(os.path.abspath(dbfile), os.path.abspath(logfile), (ip,port))
- run_as_daemon(server.serve_forever, pidfile, os.path.abspath(logfile))
+ dbfile = os.path.abspath(dbfile)
+ def daemon_main():
+ server = PRServer(dbfile, read_only=read_only)
+ server.start_tcp_server(ip, port)
+ server.serve_forever()
- # Sometimes, the port (i.e. localhost:0) indicated by the user does not match with
- # the one the server actually is listening, so at least warn the user about it
- _,rport = server.getinfo()
- if port != rport:
- sys.stdout.write("Server is listening at port %s instead of %s\n"
- % (rport,port))
+ run_as_daemon(daemon_main, pidfile, os.path.abspath(logfile))
return 0
def stop_daemon(host, port):
@@ -302,7 +278,7 @@ def is_running(pid):
return True
def is_local_special(host, port):
- if host.strip().upper() == 'localhost'.upper() and (not port):
+ if (host == 'localhost' or host == '127.0.0.1') and not port:
return True
else:
return False
@@ -326,7 +302,9 @@ def auto_start(d):
'Usage: PRSERV_HOST = "<hostname>:<port>"']))
raise PRServiceConfigError
- if is_local_special(host_params[0], int(host_params[1])):
+ host = host_params[0].strip().lower()
+ port = int(host_params[1])
+ if is_local_special(host, port):
import bb.utils
cachedir = (d.getVar("PERSISTENT_DIR") or d.getVar("CACHE"))
if not cachedir:
@@ -340,20 +318,16 @@ def auto_start(d):
auto_shutdown()
if not singleton:
bb.utils.mkdirhier(cachedir)
- singleton = PRServSingleton(os.path.abspath(dbfile), os.path.abspath(logfile), ("localhost",0))
+ singleton = PRServSingleton(os.path.abspath(dbfile), os.path.abspath(logfile), host, port)
singleton.start()
if singleton:
- host, port = singleton.getinfo()
- else:
- host = host_params[0]
- port = int(host_params[1])
+ host = singleton.host
+ port = singleton.port
try:
- connection = PRServerConnection(host,port)
- connection.ping()
- realhost, realport = connection.getinfo()
- return str(realhost) + ":" + str(realport)
-
+ ping(host, port)
+ return str(host) + ":" + str(port)
+
except Exception:
logger.critical("PRservice %s:%d not available" % (host, port))
raise PRServiceConfigError
@@ -366,8 +340,21 @@ def auto_shutdown():
singleton = None
def ping(host, port):
- conn=PRServerConnection(host, port)
+ from . import client
+
+ conn = client.PRClient()
+ conn.connect_tcp(host, port)
return conn.ping()
def connect(host, port):
- return PRServerConnection(host, port)
+ from . import client
+
+ global singleton
+
+ if host.strip().lower() == 'localhost' and not port:
+ host = 'localhost'
+ port = singleton.port
+
+ conn = client.PRClient()
+ conn.connect_tcp(host, port)
+ return conn
diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst
index b80354a05b..65652ff898 100644
--- a/poky/documentation/bsp-guide/bsp.rst
+++ b/poky/documentation/bsp-guide/bsp.rst
@@ -1011,9 +1011,9 @@ If you plan on customizing a recipe for a particular BSP, you need to do
the following:
- Create a ``*.bbappend`` file for the modified recipe. For information on using
- append files, see the ":ref:`dev-manual/common-tasks:using
- .bbappend files in your layer`" section in the Yocto Project Development
- Tasks Manual.
+ append files, see the
+ ":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`"
+ section in the Yocto Project Development Tasks Manual.
- Ensure your directory structure in the BSP layer that supports your
machine is such that the OpenEmbedded build system can find it. See
@@ -1266,7 +1266,7 @@ located in the layer ``poky/meta-yocto-bsp/conf/machine`` and is named
EXTRA_IMAGEDEPENDS += "u-boot"
DEFAULTTUNE ?= "cortexa8hf-neon"
- include conf/machine/include/tune-cortexa8.inc
+ include conf/machine/include/arm/armv7a/tune-cortexa8.inc
IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap"
EXTRA_IMAGECMD:jffs2 = "-lnp "
@@ -1344,7 +1344,7 @@ Project Reference Manual.
.. note::
The include statement that pulls in the
- ``conf/machine/include/tune-cortexa8.inc`` file provides many tuning
+ ``conf/machine/include/arm/tune-cortexa8.inc`` file provides many tuning
possibilities.
- :term:`IMAGE_FSTYPES`: The
diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst
index 7f51674a92..4a5011ea74 100644
--- a/poky/documentation/dev-manual/common-tasks.rst
+++ b/poky/documentation/dev-manual/common-tasks.rst
@@ -2064,7 +2064,7 @@ Now comes the time to actually build an image and you need a kernel
recipe, but which one? You can configure your build to call out the
kernel recipe you want by using the :term:`PREFERRED_PROVIDER` variable. As
an example, consider the :yocto_git:`x86-base.inc
-</poky/tree/meta/conf/machine/include/x86-base.inc>` include file, which is a
+</poky/tree/meta/conf/machine/include/x86/x86-base.inc>` include file, which is a
machine (i.e. :term:`MACHINE`) configuration file. This include file is the
reason all x86-based machines use the ``linux-yocto`` kernel. Here are the
relevant lines from the include file::
diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst
index 54469e507d..32658051a5 100644
--- a/poky/documentation/ref-manual/terms.rst
+++ b/poky/documentation/ref-manual/terms.rst
@@ -21,8 +21,8 @@ universal, the list includes them just in case:
Information in append files extends or overrides the information in the
similarly-named recipe file. For an example of an append file in use, see
- the ":ref:`dev-manual/common-tasks:Using .bbappend Files in
- Your Layer`" section in the Yocto Project Development Tasks Manual.
+ the ":ref:`dev-manual/common-tasks:appending other layers metadata with your layer`"
+ section in the Yocto Project Development Tasks Manual.
When you name an append file, you can use the "``%``" wildcard character
to allow for matching recipe names. For example, suppose you have an
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index 7aecda0174..d5ac1926b6 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -8256,7 +8256,7 @@ system and gives an overview of their function and contents.
These tune-specific package architectures are defined in the machine
include files. Here is an example of the "core2-32" tuning as used in
- the ``meta/conf/machine/include/tune-core2.inc`` file::
+ the ``meta/conf/machine/include/x86/tune-core2.inc`` file::
TUNE_PKGARCH:tune-core2-32 = "core2-32"
diff --git a/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
index 9c2d7753a1..0de2013826 100644
--- a/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
+++ b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
@@ -2,7 +2,7 @@
DISTRO_FEATURES:append = " pam"
# Use the LTSI Kernel
-PREFERRED_VERSION_linux-yocto = "5.4%"
+PREFERRED_VERSION_linux-yocto = "5.10%"
# Ensure the kernel nfs server is enabled
KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
diff --git a/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc b/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc
index 78c9e365ec..6f473de88c 100644
--- a/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc
+++ b/poky/meta-poky/conf/distro/include/poky-floating-revisions.inc
@@ -2,11 +2,11 @@
# Package Versions for cutting edge testing:
#
-#SRCREV_pn-opkg-native ?= "${AUTOREV}"
-#SRCREV_pn-opkg-sdk ?= "${AUTOREV}"
-#SRCREV_pn-opkg ?= "${AUTOREV}"
-#SRCREV_pn-opkg-utils-native ?= "${AUTOREV}"
-#SRCREV_pn-opkg-utils ?= "${AUTOREV}"
+#SRCREV:pn-opkg-native ?= "${AUTOREV}"
+#SRCREV:pn-opkg-sdk ?= "${AUTOREV}"
+#SRCREV:pn-opkg ?= "${AUTOREV}"
+#SRCREV:pn-opkg-utils-native ?= "${AUTOREV}"
+#SRCREV:pn-opkg-utils ?= "${AUTOREV}"
SRCREV:pn-gconf-dbus ?= "${AUTOREV}"
SRCREV:pn-matchbox-common ?= "${AUTOREV}"
SRCREV:pn-matchbox-config-gtk ?= "${AUTOREV}"
diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf
index c25e50c73a..b8f5f21a31 100644
--- a/poky/meta-poky/conf/distro/poky-tiny.conf
+++ b/poky/meta-poky/conf/distro/poky-tiny.conf
@@ -43,7 +43,7 @@ FULL_OPTIMIZATION="-Os -pipe ${DEBUG_FLAGS}"
# Distro config is evaluated after the machine config, so we have to explicitly
# set the kernel provider to override a machine config.
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
-PREFERRED_VERSION_linux-yocto-tiny ?= "5.10%"
+PREFERRED_VERSION_linux-yocto-tiny ?= "5.13%"
# We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny
#POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot"
diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf
index c7c46cd226..ae0c52178a 100644
--- a/poky/meta-poky/conf/distro/poky.conf
+++ b/poky/meta-poky/conf/distro/poky.conf
@@ -19,8 +19,8 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
-PREFERRED_VERSION_linux-yocto ?= "5.10%"
-PREFERRED_VERSION_linux-yocto-rt ?= "5.10%"
+PREFERRED_VERSION_linux-yocto ?= "5.13%"
+PREFERRED_VERSION_linux-yocto-rt ?= "5.13%"
SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}"
diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample
index f1f6d690fb..75b27167f1 100644
--- a/poky/meta-poky/conf/local.conf.sample
+++ b/poky/meta-poky/conf/local.conf.sample
@@ -158,7 +158,7 @@ USER_CLASSES ?= "buildstats"
# run tests against any SDK that are built. To enable this uncomment these lines.
# See classes/test{image,sdk}.bbclass for further details.
#IMAGE_CLASSES += "testimage testsdk"
-#TESTIMAGE_AUTO_qemuall = "1"
+#TESTIMAGE_AUTO:qemuall = "1"
#
# Interactive shell configuration
diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/local.conf.sample.extended
index 17e95828d5..8a384540f9 100644
--- a/poky/meta-poky/conf/local.conf.sample.extended
+++ b/poky/meta-poky/conf/local.conf.sample.extended
@@ -135,7 +135,7 @@ DISTRO_FEATURES:remove = "x11"
# Uncomment the following lines to enable multilib builds
#require conf/multilib.conf
#MULTILIBS = "multilib:lib32"
-#DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
+#DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
# Set RPM_PREFER_ELF_ARCH to configure preferred ABI when using rpm packaging
# backend to generate a rootfs, choices are:
@@ -313,7 +313,7 @@ DISTRO_FEATURES:remove = "x11"
# Note this is not officially supported and is just illustrated here to
# show an example of how it can be done
# You'll also need your fortran recipe to depend on libgfortran
-#FORTRAN_forcevariable = ",fortran"
+#FORTRAN:forcevariable = ",fortran"
#
# Kernel image features
diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
index 65c79fd34d..618af40306 100644
--- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
+++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
@@ -12,7 +12,7 @@ MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree"
EXTRA_IMAGEDEPENDS += "virtual/bootloader"
DEFAULTTUNE ?= "cortexa8hf-neon"
-include conf/machine/include/tune-cortexa8.inc
+include conf/machine/include/arm/armv7a/tune-cortexa8.inc
IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap"
EXTRA_IMAGECMD:jffs2 = "-lnp "
@@ -24,7 +24,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.10%"
+PREFERRED_VERSION_linux-yocto ?= "5.13%"
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
diff --git a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
index fbe33be9d1..9c95f4632f 100644
--- a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
+++ b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
@@ -2,7 +2,7 @@
#@NAME: Edgerouter
#@DESCRIPTION: Machine configuration for a generic edgerouter
-require conf/machine/include/tune-mips64.inc
+require conf/machine/include/mips/tune-mips64.inc
MACHINE_FEATURES = "pci ext2 ext3 serial"
@@ -11,7 +11,7 @@ KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.10%"
+PREFERRED_VERSION_linux-yocto ?= "5.13%"
SERIAL_CONSOLES = "115200;ttyS0"
USE_VT ?= "0"
diff --git a/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf b/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf
index 81ec24e971..14913ea1f1 100644
--- a/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf
+++ b/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for generic x86_64 (64-bit) PCs and servers. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
DEFAULTTUNE ?= "core2-64"
-require conf/machine/include/tune-core2.inc
+require conf/machine/include/x86/tune-core2.inc
require conf/machine/include/genericx86-common.inc
SERIAL_CONSOLES_CHECK = "ttyS0"
diff --git a/poky/meta-yocto-bsp/conf/machine/genericx86.conf b/poky/meta-yocto-bsp/conf/machine/genericx86.conf
index 1387bde852..ed4fc8a3de 100644
--- a/poky/meta-yocto-bsp/conf/machine/genericx86.conf
+++ b/poky/meta-yocto-bsp/conf/machine/genericx86.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for generic x86 (32-bit) PCs. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
DEFAULTTUNE ?= "core2-32"
-require conf/machine/include/tune-core2.inc
+require conf/machine/include/x86/tune-core2.inc
require conf/machine/include/genericx86-common.inc
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "gma500-gfx-check"
diff --git a/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc b/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
index 59d96d1417..adc8ca879a 100644
--- a/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
+++ b/poky/meta-yocto-bsp/conf/machine/include/genericx86-common.inc
@@ -1,8 +1,8 @@
-include conf/machine/include/x86-base.inc
-require conf/machine/include/qemuboot-x86.inc
+include conf/machine/include/x86/x86-base.inc
+require conf/machine/include/x86/qemuboot-x86.inc
MACHINE_FEATURES += "wifi efi pcbios"
-PREFERRED_VERSION_linux-yocto ?= "5.10%"
+PREFERRED_VERSION_linux-yocto ?= "5.13%"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "${XSERVER_X86_BASE} \
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.13.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.13.bbappend
index 302d5ca8b5..6089a94d75 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.13.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.13.bbappend
@@ -7,17 +7,17 @@ KMACHINE:genericx86 ?= "common-pc"
KMACHINE:genericx86-64 ?= "common-pc-64"
KMACHINE:beaglebone-yocto ?= "beaglebone"
-SRCREV_machine:genericx86 ?= "c1eb1eaf6fd3f1302b89194f629eafb9368a326a"
-SRCREV_machine:genericx86-64 ?= "c1eb1eaf6fd3f1302b89194f629eafb9368a326a"
-SRCREV_machine:edgerouter ?= "2d40c76f86e94252bbfbff4294b43b33de780cd5"
-SRCREV_machine:beaglebone-yocto ?= "18666b33d7ceaf095da5d58fecd6fcb070932434"
+SRCREV_machine:genericx86 ?= "fe64083abac67ac736aa0133f3a4088286aece40"
+SRCREV_machine:genericx86-64 ?= "fe64083abac67ac736aa0133f3a4088286aece40"
+SRCREV_machine:edgerouter ?= "7b80606f7484fb1967a261e7e262de9adeb7ed59"
+SRCREV_machine:beaglebone-yocto ?= "e486ea86794d62e7e6adbb3a2b2fd65222f323f7"
COMPATIBLE_MACHINE:genericx86 = "genericx86"
COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE:edgerouter = "edgerouter"
COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
-LINUX_VERSION:genericx86 = "5.13.7"
-LINUX_VERSION:genericx86-64 = "5.13.7"
-LINUX_VERSION:edgerouter = "5.13.7"
-LINUX_VERSION:beaglebone-yocto = "5.13.7"
+LINUX_VERSION:genericx86 = "5.13.11"
+LINUX_VERSION:genericx86-64 = "5.13.11"
+LINUX_VERSION:edgerouter = "5.13.11"
+LINUX_VERSION:beaglebone-yocto = "5.13.11"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend
deleted file mode 100644
index 290aa323eb..0000000000
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.4.bbappend
+++ /dev/null
@@ -1,23 +0,0 @@
-KBRANCH:genericx86 = "v5.4/standard/base"
-KBRANCH:genericx86-64 = "v5.4/standard/base"
-KBRANCH:edgerouter = "v5.4/standard/edgerouter"
-KBRANCH:beaglebone-yocto = "v5.4/standard/beaglebone"
-
-KMACHINE:genericx86 ?= "common-pc"
-KMACHINE:genericx86-64 ?= "common-pc-64"
-KMACHINE:beaglebone-yocto ?= "beaglebone"
-
-SRCREV_machine:genericx86 ?= "31db2b47ac7d8508080fbb7344399b501216de66"
-SRCREV_machine:genericx86-64 ?= "31db2b47ac7d8508080fbb7344399b501216de66"
-SRCREV_machine:edgerouter ?= "706efec4c1e270ec5dda92275898cd465dfdc7dd"
-SRCREV_machine:beaglebone-yocto ?= "706efec4c1e270ec5dda92275898cd465dfdc7dd"
-
-COMPATIBLE_MACHINE:genericx86 = "genericx86"
-COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE:edgerouter = "edgerouter"
-COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
-
-LINUX_VERSION:genericx86 = "5.4.94"
-LINUX_VERSION:genericx86-64 = "5.4.94"
-LINUX_VERSION:edgerouter = "5.4.58"
-LINUX_VERSION:beaglebone-yocto = "5.4.58"
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass
index 11b65171d9..340ebe7d78 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -631,6 +631,10 @@ python () {
if path.endswith('.lz4'):
d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot')
+ # *.zst should DEPEND on zstd-native for unpacking
+ elif path.endswith('.zst'):
+ d.appendVarFlag('do_unpack', 'depends', ' zstd-native:do_populate_sysroot')
+
# *.lz should DEPEND on lzip-native for unpacking
elif path.endswith('.lz'):
d.appendVarFlag('do_unpack', 'depends', ' lzip-native:do_populate_sysroot')
diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass
index 5099e70fb7..a613306270 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -446,7 +446,7 @@ def buildhistory_list_installed(d, rootfs_type="image"):
output_file_full = os.path.join(d.getVar('WORKDIR'), output_file)
with open(output_file_full, 'w') as output:
- output.write(format_pkg_list(pkgs, output_type))
+ output.write(format_pkg_list(pkgs, output_type, d.getVar('PKGDATA_DIR')))
python buildhistory_list_installed_image() {
buildhistory_list_installed(d)
@@ -487,6 +487,8 @@ buildhistory_get_installed() {
-e 's:|: -> :' \
-e 's:"\[REC\]":[style=dotted]:' \
-e 's:"\([<>=]\+\)" "\([^"]*\)":[label="\1 \2"]:' \
+ -e 's:"\([*]\+\)" "\([^"]*\)":[label="\2"]:' \
+ -e 's:"\[RPROVIDES\]":[style=dashed]:' \
$1/depends.tmp
# Add header, sorted and de-duped contents and footer and then delete the temp file
printf "digraph depends {\n node [shape=plaintext]\n" > $1/depends.dot
@@ -499,6 +501,11 @@ buildhistory_get_installed() {
cat $1/installed-package-sizes.tmp | awk '{print $2 "\tKiB\t" $1}' | sort -n -r > $1/installed-package-sizes.txt
rm $1/installed-package-sizes.tmp
+ # Produce package info: runtime_name, buildtime_name, recipe, version, size
+ oe-pkgdata-util -p ${PKGDATA_DIR} read-value "PACKAGE,PN,PV,PKGSIZE" -n -f $pkgcache > $1/installed-package-info.tmp
+ cat $1/installed-package-info.tmp | sort -n -r -k 5 > $1/installed-package-info.txt
+ rm $1/installed-package-info.tmp
+
# We're now done with the cache, delete it
rm $pkgcache
diff --git a/poky/meta/classes/cargo.bbclass b/poky/meta/classes/cargo.bbclass
new file mode 100644
index 0000000000..0ca38143c0
--- /dev/null
+++ b/poky/meta/classes/cargo.bbclass
@@ -0,0 +1,89 @@
+##
+## Purpose:
+## This class is used by any recipes that are built using
+## Cargo.
+
+inherit cargo_common
+
+# the binary we will use
+CARGO = "cargo"
+
+# We need cargo to compile for the target
+BASEDEPENDS:append = " cargo-native"
+
+# Ensure we get the right rust variant
+DEPENDS:append:class-target = " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
+DEPENDS:append:class-native = " rust-native"
+
+# Enable build separation
+B = "${WORKDIR}/build"
+
+# In case something fails in the build process, give a bit more feedback on
+# where the issue occured
+export RUST_BACKTRACE = "1"
+
+# The directory of the Cargo.toml relative to the root directory, per default
+# assume there's a Cargo.toml directly in the root directory
+CARGO_SRC_DIR ??= ""
+
+# The actual path to the Cargo.toml
+MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
+
+RUSTFLAGS ??= ""
+BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
+CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} ${BUILD_MODE} --manifest-path=${MANIFEST_PATH}"
+
+# This is based on the content of CARGO_BUILD_FLAGS and generally will need to
+# change if CARGO_BUILD_FLAGS changes.
+BUILD_DIR = "${@['release', 'debug'][d.getVar('DEBUG_BUILD') == '1']}"
+CARGO_TARGET_SUBDIR="${HOST_SYS}/${BUILD_DIR}"
+oe_cargo_build () {
+ export RUSTFLAGS="${RUSTFLAGS}"
+ export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
+ bbnote "cargo = $(which ${CARGO})"
+ bbnote "rustc = $(which ${RUSTC})"
+ bbnote "${CARGO} build ${CARGO_BUILD_FLAGS} $@"
+ "${CARGO}" build ${CARGO_BUILD_FLAGS} "$@"
+}
+
+do_compile[progress] = "outof:\s+(\d+)/(\d+)"
+cargo_do_compile () {
+ oe_cargo_fix_env
+ oe_cargo_build
+}
+
+cargo_do_install () {
+ local have_installed=false
+ for tgt in "${B}/target/${CARGO_TARGET_SUBDIR}/"*; do
+ case $tgt in
+ *.so|*.rlib)
+ install -d "${D}${rustlibdir}"
+ install -m755 "$tgt" "${D}${rustlibdir}"
+ have_installed=true
+ ;;
+ *examples)
+ if [ -d "$tgt" ]; then
+ for example in "$tgt/"*; do
+ if [ -f "$example" ] && [ -x "$example" ]; then
+ install -d "${D}${bindir}"
+ install -m755 "$example" "${D}${bindir}"
+ have_installed=true
+ fi
+ done
+ fi
+ ;;
+ *)
+ if [ -f "$tgt" ] && [ -x "$tgt" ]; then
+ install -d "${D}${bindir}"
+ install -m755 "$tgt" "${D}${bindir}"
+ have_installed=true
+ fi
+ ;;
+ esac
+ done
+ if ! $have_installed; then
+ die "Did not find anything to install"
+ fi
+}
+
+EXPORT_FUNCTIONS do_compile do_install
diff --git a/poky/meta/classes/cargo_common.bbclass b/poky/meta/classes/cargo_common.bbclass
new file mode 100644
index 0000000000..23d82aa6ab
--- /dev/null
+++ b/poky/meta/classes/cargo_common.bbclass
@@ -0,0 +1,125 @@
+##
+## Purpose:
+## This class is to support building with cargo. It
+## must be different than cargo.bbclass because Rust
+## now builds with Cargo but cannot use cargo.bbclass
+## due to dependencies and assumptions in cargo.bbclass
+## that Rust & Cargo are already installed. So this
+## is used by cargo.bbclass and Rust
+##
+
+# add crate fetch support
+inherit crate-fetch
+inherit rust-common
+
+# Where we download our registry and dependencies to
+export CARGO_HOME = "${WORKDIR}/cargo_home"
+
+# The pkg-config-rs library used by cargo build scripts disables itself when
+# cross compiling unless this is defined. We set up pkg-config appropriately
+# for cross compilation, so tell it we know better than it.
+export PKG_CONFIG_ALLOW_CROSS = "1"
+
+# Don't instruct cargo to use crates downloaded by bitbake. Some rust packages,
+# for example the rust compiler itself, come with their own vendored sources.
+# Specifying two [source.crates-io] will not work.
+CARGO_DISABLE_BITBAKE_VENDORING ?= "0"
+
+# Used by libstd-rs to point to the vendor dir included in rustc src
+CARGO_VENDORING_DIRECTORY ?= "${CARGO_HOME}/bitbake"
+
+CARGO_RUST_TARGET_CCLD ?= "${RUST_TARGET_CCLD}"
+cargo_common_do_configure () {
+ mkdir -p ${CARGO_HOME}/bitbake
+
+ cat <<- EOF > ${CARGO_HOME}/config
+ # EXTRA_OECARGO_PATHS
+ paths = [
+ $(for p in ${EXTRA_OECARGO_PATHS}; do echo \"$p\",; done)
+ ]
+ EOF
+
+ cat <<- EOF >> ${CARGO_HOME}/config
+
+ # Local mirror vendored by bitbake
+ [source.bitbake]
+ directory = "${CARGO_VENDORING_DIRECTORY}"
+ EOF
+
+ if [ -z "${EXTERNALSRC}" ] && [ ${CARGO_DISABLE_BITBAKE_VENDORING} = "0" ]; then
+ cat <<- EOF >> ${CARGO_HOME}/config
+
+ [source.crates-io]
+ replace-with = "bitbake"
+ local-registry = "/nonexistant"
+ EOF
+ fi
+
+ cat <<- EOF >> ${CARGO_HOME}/config
+
+ [http]
+ # Multiplexing can't be enabled because http2 can't be enabled
+ # in curl-native without dependency loops
+ multiplexing = false
+
+ # Ignore the hard coded and incorrect path to certificates
+ cainfo = "${STAGING_ETCDIR_NATIVE}/ssl/certs/ca-certificates.crt"
+
+ EOF
+
+ cat <<- EOF >> ${CARGO_HOME}/config
+
+ # HOST_SYS
+ [target.${HOST_SYS}]
+ linker = "${CARGO_RUST_TARGET_CCLD}"
+ EOF
+
+ if [ "${HOST_SYS}" != "${BUILD_SYS}" ]; then
+ cat <<- EOF >> ${CARGO_HOME}/config
+
+ # BUILD_SYS
+ [target.${BUILD_SYS}]
+ linker = "${RUST_BUILD_CCLD}"
+ EOF
+ fi
+
+ # Put build output in build directory preferred by bitbake instead of
+ # inside source directory unless they are the same
+ if [ "${B}" != "${S}" ]; then
+ cat <<- EOF >> ${CARGO_HOME}/config
+
+ [build]
+ # Use out of tree build destination to avoid poluting the source tree
+ target-dir = "${B}/target"
+ EOF
+ fi
+
+ cat <<- EOF >> ${CARGO_HOME}/config
+
+ [term]
+ progress.when = 'always'
+ progress.width = 80
+ EOF
+}
+
+oe_cargo_fix_env () {
+ export CC="${RUST_TARGET_CC}"
+ export CXX="${RUST_TARGET_CXX}"
+ export CFLAGS="${CFLAGS}"
+ export CXXFLAGS="${CXXFLAGS}"
+ export AR="${AR}"
+ export TARGET_CC="${RUST_TARGET_CC}"
+ export TARGET_CXX="${RUST_TARGET_CXX}"
+ export TARGET_CFLAGS="${CFLAGS}"
+ export TARGET_CXXFLAGS="${CXXFLAGS}"
+ export TARGET_AR="${AR}"
+ export HOST_CC="${RUST_BUILD_CC}"
+ export HOST_CXX="${RUST_BUILD_CXX}"
+ export HOST_CFLAGS="${BUILD_CFLAGS}"
+ export HOST_CXXFLAGS="${BUILD_CXXFLAGS}"
+ export HOST_AR="${BUILD_AR}"
+}
+
+EXTRA_OECARGO_PATHS ??= ""
+
+EXPORT_FUNCTIONS do_configure
diff --git a/poky/meta/classes/crate-fetch.bbclass b/poky/meta/classes/crate-fetch.bbclass
new file mode 100644
index 0000000000..c0ed434a96
--- /dev/null
+++ b/poky/meta/classes/crate-fetch.bbclass
@@ -0,0 +1,13 @@
+#
+# crate-fetch class
+#
+# Registers 'crate' method for Bitbake fetch2.
+#
+# Adds support for following format in recipe SRC_URI:
+# crate://<packagename>/<version>
+#
+
+python () {
+ import crate
+ bb.fetch2.methods.append( crate.Crate() )
+}
diff --git a/poky/meta/classes/features_check.bbclass b/poky/meta/classes/features_check.bbclass
index b3c8047861..205e1b9cd3 100644
--- a/poky/meta/classes/features_check.bbclass
+++ b/poky/meta/classes/features_check.bbclass
@@ -1,6 +1,6 @@
# Allow checking of required and conflicting features
#
-# xxx = [DISTRO,MACHINE,COMBINED]
+# xxx = [DISTRO,MACHINE,COMBINED,IMAGE]
#
# ANY_OF_xxx_FEATURES: ensure at least one item on this list is included
# in xxx_FEATURES.
@@ -18,7 +18,7 @@ python () {
unused = True
- for kind in ['DISTRO', 'MACHINE', 'COMBINED']:
+ for kind in ['DISTRO', 'MACHINE', 'COMBINED', 'IMAGE']:
if d.getVar('ANY_OF_' + kind + '_FEATURES') is None and \
d.overridedata.get('ANY_OF_' + kind + '_FEATURES') is None and \
d.getVar('REQUIRED_' + kind + '_FEATURES') is None and \
diff --git a/poky/meta/classes/goarch.bbclass b/poky/meta/classes/goarch.bbclass
index 48dc48dabf..92fec16b82 100644
--- a/poky/meta/classes/goarch.bbclass
+++ b/poky/meta/classes/goarch.bbclass
@@ -32,13 +32,13 @@ BASE_GOARM:armv5 = '5'
# Go supports dynamic linking on a limited set of architectures.
# See the supportsDynlink function in go/src/cmd/compile/internal/gc/main.go
GO_DYNLINK = ""
-GO_DYNLINK:arm = "1"
-GO_DYNLINK:aarch64 = "1"
-GO_DYNLINK:x86 = "1"
-GO_DYNLINK:x86-64 = "1"
-GO_DYNLINK:powerpc64 = "1"
-GO_DYNLINK:powerpc64le = "1"
-GO_DYNLINK:class-native = ""
+GO_DYNLINK:arm ?= "1"
+GO_DYNLINK:aarch64 ?= "1"
+GO_DYNLINK:x86 ?= "1"
+GO_DYNLINK:x86-64 ?= "1"
+GO_DYNLINK:powerpc64 ?= "1"
+GO_DYNLINK:powerpc64le ?= "1"
+GO_DYNLINK:class-native ?= ""
GO_DYNLINK:class-nativesdk = ""
# define here because everybody inherits this class
diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass
index e0eb06c1e3..32d4cd4c76 100644
--- a/poky/meta/classes/image_types.bbclass
+++ b/poky/meta/classes/image_types.bbclass
@@ -107,6 +107,7 @@ IMAGE_CMD:squashfs = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${
IMAGE_CMD:squashfs-xz = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-xz ${EXTRA_IMAGECMD} -noappend -comp xz"
IMAGE_CMD:squashfs-lzo = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lzo ${EXTRA_IMAGECMD} -noappend -comp lzo"
IMAGE_CMD:squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lz4 ${EXTRA_IMAGECMD} -noappend -comp lz4"
+IMAGE_CMD:squashfs-zst = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-zst ${EXTRA_IMAGECMD} -noappend -comp zstd"
IMAGE_CMD:erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs ${IMAGE_ROOTFS}"
IMAGE_CMD:erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4 ${IMAGE_ROOTFS}"
@@ -244,6 +245,7 @@ do_image_squashfs[depends] += "squashfs-tools-native:do_populate_sysroot"
do_image_squashfs_xz[depends] += "squashfs-tools-native:do_populate_sysroot"
do_image_squashfs_lzo[depends] += "squashfs-tools-native:do_populate_sysroot"
do_image_squashfs_lz4[depends] += "squashfs-tools-native:do_populate_sysroot"
+do_image_squashfs_zst[depends] += "squashfs-tools-native:do_populate_sysroot"
do_image_ubi[depends] += "mtd-utils-native:do_populate_sysroot"
do_image_ubifs[depends] += "mtd-utils-native:do_populate_sysroot"
do_image_multiubi[depends] += "mtd-utils-native:do_populate_sysroot"
@@ -262,10 +264,10 @@ IMAGE_TYPES = " \
btrfs \
iso \
hddimg \
- squashfs squashfs-xz squashfs-lzo squashfs-lz4 \
+ squashfs squashfs-xz squashfs-lzo squashfs-lz4 squashfs-zst \
ubi ubifs multiubi \
tar tar.gz tar.bz2 tar.xz tar.lz4 tar.zst \
- cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 \
+ cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 cpio.zst \
wic wic.gz wic.bz2 wic.lzma wic.zst \
container \
f2fs \
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index 810459d432..20d4e4d746 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -27,7 +27,7 @@ WARN_QA ?= " libdir xorg-driver-abi \
infodir build-deps src-uri-bad symlink-to-sysroot multilib \
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \
mime mime-xdg unlisted-pkg-lics unhandled-features-check \
- missing-update-alternatives native-last \
+ missing-update-alternatives native-last missing-ptest \
"
ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
@@ -808,11 +808,11 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
# For Saving the FILERPROVIDES, RPROVIDES and FILES_INFO
rdep_data = oe.packagedata.read_subpkgdata(rdep, d)
for key in rdep_data:
- if key.startswith("FILERPROVIDES_") or key.startswith("RPROVIDES:"):
+ if key.startswith("FILERPROVIDES:") or key.startswith("RPROVIDES:"):
for subkey in bb.utils.explode_deps(rdep_data[key]):
filerdepends.pop(subkey,None)
# Add the files list to the rprovides
- if key == "FILES_INFO":
+ if key.startswith("FILES_INFO:"):
# Use eval() to make it as a dict
for subkey in eval(rdep_data[key]):
filerdepends.pop(subkey,None)
diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass
index 2ef8f06b14..38e05153e3 100644
--- a/poky/meta/classes/kernel-fitimage.bbclass
+++ b/poky/meta/classes/kernel-fitimage.bbclass
@@ -576,7 +576,7 @@ fitimage_assemble() {
#
if [ "x${ramdiskcount}" = "x1" ] && [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then
# Find and use the first initramfs image archive type we find
- for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.gz ext2.gz cpio; do
+ for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst cpio.gz ext2.gz cpio; do
initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.${img}"
echo "Using $initramfs_path"
if [ -e "${initramfs_path}" ]; then
diff --git a/poky/meta/classes/kernel-module-split.bbclass b/poky/meta/classes/kernel-module-split.bbclass
index b56dd4a9c7..a29c294810 100644
--- a/poky/meta/classes/kernel-module-split.bbclass
+++ b/poky/meta/classes/kernel-module-split.bbclass
@@ -28,6 +28,7 @@ do_install:append() {
install -d ${D}${sysconfdir}/modules-load.d/ ${D}${sysconfdir}/modprobe.d/
}
+KERNEL_SPLIT_MODULES ?= "1"
PACKAGESPLITFUNCS:prepend = "split_kernel_module_packages "
KERNEL_MODULES_META_PACKAGE ?= "${@ d.getVar("KERNEL_PACKAGE_NAME") or "kernel" }-modules"
@@ -44,17 +45,20 @@ python split_kernel_module_packages () {
def extract_modinfo(file):
import tempfile, subprocess
tempfile.tempdir = d.getVar("WORKDIR")
- compressed = re.match( r'.*\.([xg])z$', file)
+ compressed = re.match( r'.*\.(gz|xz|zst)$', file)
tf = tempfile.mkstemp()
tmpfile = tf[1]
if compressed:
tmpkofile = tmpfile + ".ko"
- if compressed.group(1) == 'g':
+ if compressed.group(1) == 'gz':
cmd = "gunzip -dc %s > %s" % (file, tmpkofile)
subprocess.check_call(cmd, shell=True)
- elif compressed.group(1) == 'x':
+ elif compressed.group(1) == 'xz':
cmd = "xz -dc %s > %s" % (file, tmpkofile)
subprocess.check_call(cmd, shell=True)
+ elif compressed.group(1) == 'zst':
+ cmd = "zstd -dc %s > %s" % (file, tmpkofile)
+ subprocess.check_call(cmd, shell=True)
else:
msg = "Cannot decompress '%s'" % file
raise msg
@@ -153,18 +157,26 @@ python split_kernel_module_packages () {
kernel_package_name = d.getVar("KERNEL_PACKAGE_NAME") or "kernel"
kernel_version = d.getVar("KERNEL_VERSION")
- module_regex = r'^(.*)\.k?o(?:\.[xg]z)?$'
+ metapkg = d.getVar('KERNEL_MODULES_META_PACKAGE')
+ splitmods = d.getVar('KERNEL_SPLIT_MODULES')
+ postinst = d.getVar('pkg_postinst:modules')
+ postrm = d.getVar('pkg_postrm:modules')
+
+ if splitmods != '1':
+ etcdir = d.getVar('sysconfdir')
+ d.appendVar('FILES:' + metapkg, '%s/modules-load.d/ %s/modprobe.d/ %s/modules/' % (etcdir, etcdir, d.getVar("nonarch_base_libdir")))
+ d.appendVar('pkg_postinst:%s' % metapkg, postinst)
+ d.prependVar('pkg_postrm:%s' % metapkg, postrm);
+ return
+
+ module_regex = r'^(.*)\.k?o(?:\.(gz|xz|zst))?$'
module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX')
module_pattern_suffix = d.getVar('KERNEL_MODULE_PACKAGE_SUFFIX')
module_pattern = module_pattern_prefix + kernel_package_name + '-module-%s' + module_pattern_suffix
- postinst = d.getVar('pkg_postinst:modules')
- postrm = d.getVar('pkg_postrm:modules')
-
modules = do_split_packages(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='%s-%s' % (kernel_package_name, kernel_version))
if modules:
- metapkg = d.getVar('KERNEL_MODULES_META_PACKAGE')
d.appendVar('RDEPENDS:' + metapkg, ' '+' '.join(modules))
# If modules-load.d and modprobe.d are empty at this point, remove them to
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index 027e66eec7..d13c38fb02 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -9,6 +9,7 @@ PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel
DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native bison-native"
DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}"
DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}"
+DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.zst", "zstd-native", "", d)}"
PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot gzip-native:do_populate_sysroot"
@@ -97,7 +98,14 @@ python __anonymous () {
typelower = type.lower()
d.appendVar('PACKAGES', ' %s-image-%s' % (kname, typelower))
d.setVar('FILES:' + kname + '-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}' + ' /' + imagedest + '/' + type)
- d.appendVar('RDEPENDS:%s-image' % kname, ' %s-image-%s' % (kname, typelower))
+ d.appendVar('RDEPENDS:%s-image' % kname, ' %s-image-%s (= ${EXTENDPKGV})' % (kname, typelower))
+ splitmods = d.getVar("KERNEL_SPLIT_MODULES")
+ if splitmods != '1':
+ d.appendVar('RDEPENDS:%s-image' % kname, ' %s-modules (= ${EXTENDPKGV})' % kname)
+ d.appendVar('RDEPENDS:%s-image-%s' % (kname, typelower), ' %s-modules-${KERNEL_VERSION_PKG_NAME} (= ${EXTENDPKGV})' % kname)
+ d.setVar('PKG:%s-modules' % kname, '%s-modules-${KERNEL_VERSION_PKG_NAME}' % kname)
+ d.appendVar('RPROVIDES:%s-modules' % kname, '%s-modules-${KERNEL_VERSION_PKG_NAME}' % kname)
+
d.setVar('PKG:%s-image-%s' % (kname,typelower), '%s-image-%s-${KERNEL_VERSION_PKG_NAME}' % (kname, typelower))
d.setVar('ALLOW_EMPTY:%s-image-%s' % (kname, typelower), '1')
d.setVar('pkg_postinst:%s-image-%s' % (kname,typelower), """set +e
@@ -229,7 +237,7 @@ copy_initramfs() {
mkdir -p ${B}/usr
# Find and use the first initramfs image archive type we find
rm -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
- for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz; do
+ for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst; do
if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img" ]; then
cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img ${B}/usr/.
case $img in
@@ -258,12 +266,17 @@ copy_initramfs() {
xz -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
break
;;
+ *zst)
+ echo "zst decompressing image"
+ zstd -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
+ break
+ ;;
esac
break
fi
done
# Verify that the above loop found a initramfs, fail otherwise
- [ -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio ] && echo "Finished copy of initramfs into ./usr" || die "Could not find any ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.cpio{.gz|.lz4|.lzo|.lzma|.xz) for bundling; INITRAMFS_IMAGE_NAME might be wrong."
+ [ -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio ] && echo "Finished copy of initramfs into ./usr" || die "Could not find any ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.cpio{.gz|.lz4|.lzo|.lzma|.xz|.zst) for bundling; INITRAMFS_IMAGE_NAME might be wrong."
}
do_bundle_initramfs () {
@@ -621,12 +634,12 @@ FILES:${KERNEL_PACKAGE_NAME}-image = ""
FILES:${KERNEL_PACKAGE_NAME}-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
FILES:${KERNEL_PACKAGE_NAME}-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}"
FILES:${KERNEL_PACKAGE_NAME}-modules = ""
-RDEPENDS:${KERNEL_PACKAGE_NAME} = "${KERNEL_PACKAGE_NAME}-base"
+RDEPENDS:${KERNEL_PACKAGE_NAME} = "${KERNEL_PACKAGE_NAME}-base (= ${EXTENDPKGV})"
# Allow machines to override this dependency if kernel image files are
# not wanted in images as standard
-RDEPENDS:${KERNEL_PACKAGE_NAME}-base ?= "${KERNEL_PACKAGE_NAME}-image"
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base ?= "${KERNEL_PACKAGE_NAME}-image (= ${EXTENDPKGV})"
PKG:${KERNEL_PACKAGE_NAME}-image = "${KERNEL_PACKAGE_NAME}-image-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
-RDEPENDS:${KERNEL_PACKAGE_NAME}-image += "${@oe.utils.conditional('KERNEL_IMAGETYPE', 'vmlinux', '${KERNEL_PACKAGE_NAME}-vmlinux', '', d)}"
+RDEPENDS:${KERNEL_PACKAGE_NAME}-image += "${@oe.utils.conditional('KERNEL_IMAGETYPE', 'vmlinux', '${KERNEL_PACKAGE_NAME}-vmlinux (= ${EXTENDPKGV})', '', d)}"
PKG:${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
RPROVIDES:${KERNEL_PACKAGE_NAME}-base += "${KERNEL_PACKAGE_NAME}-${KERNEL_VERSION}"
ALLOW_EMPTY:${KERNEL_PACKAGE_NAME} = "1"
diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass
index 5cec7a07fa..5490d121f1 100644
--- a/poky/meta/classes/license_image.bbclass
+++ b/poky/meta/classes/license_image.bbclass
@@ -87,7 +87,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True):
# If the package doesn't contain any file, that is, its size is 0, the license
# isn't relevant as far as the final image is concerned. So doing license check
# doesn't make much sense, skip it.
- if pkg_dic[pkg]["PKGSIZE_%s" % pkg] == "0":
+ if pkg_dic[pkg]["PKGSIZE:%s" % pkg] == "0":
continue
else:
# Image manifest
diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass
index 2beed89d11..e124d18144 100644
--- a/poky/meta/classes/meson.bbclass
+++ b/poky/meta/classes/meson.bbclass
@@ -12,7 +12,8 @@ MESON_SOURCEPATH = "${S}"
def noprefix(var, d):
return d.getVar(var).replace(d.getVar('prefix') + '/', '', 1)
-MESON_BUILDTYPE ?= "plain"
+MESON_BUILDTYPE ?= "${@oe.utils.vartrue('DEBUG_BUILD', 'debug', 'plain', d)}"
+MESON_BUILDTYPE[vardeps] += "DEBUG_BUILD"
MESONOPTS = " --prefix ${prefix} \
--buildtype ${MESON_BUILDTYPE} \
--bindir ${@noprefix('bindir', d)} \
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass
index a9138ff6be..c4c5515d5d 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -714,9 +714,7 @@ python package_get_auto_pr() {
return
try:
- conn = d.getVar("__PRSERV_CONN")
- if conn is None:
- conn = oe.prservice.prserv_make_conn(d)
+ conn = oe.prservice.prserv_make_conn(d)
if conn is not None:
if "AUTOINC" in pkgv:
srcpv = bb.fetch2.get_srcrev(d)
@@ -725,6 +723,7 @@ python package_get_auto_pr() {
d.setVar("PRSERV_PV_AUTOINC", str(value))
auto_pr = conn.getPR(version, pkgarch, checksum)
+ conn.close()
except Exception as e:
bb.fatal("Can NOT get PRAUTO, exception %s" % str(e))
if auto_pr is None:
@@ -1652,7 +1651,7 @@ fi
if fstat.st_ino not in seen:
seen.add(fstat.st_ino)
total_size += fstat.st_size
- d.setVar('FILES_INFO', json.dumps(files, sort_keys=True))
+ d.setVar('FILES_INFO:' + pkg , json.dumps(files, sort_keys=True))
process_postinst_on_target(pkg, d.getVar("MLPREFIX"))
add_set_e_to_scriptlets(pkg)
@@ -1670,7 +1669,7 @@ fi
for dfile in (d.getVar('FILERDEPENDSFLIST:' + pkg) or "").split():
write_if_exists(sf, pkg, 'FILERDEPENDS:' + dfile)
- sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size))
+ sf.write('%s:%s: %d\n' % ('PKGSIZE', pkg, total_size))
# Symlinks needed for rprovides lookup
rprov = d.getVar('RPROVIDES:%s' % pkg) or d.getVar('RPROVIDES')
diff --git a/poky/meta/classes/package_rpm.bbclass b/poky/meta/classes/package_rpm.bbclass
index aebeaf6932..88d861c0e7 100644
--- a/poky/meta/classes/package_rpm.bbclass
+++ b/poky/meta/classes/package_rpm.bbclass
@@ -40,10 +40,10 @@ def write_rpm_perfiledata(srcname, d):
outfile.write("# Dependency table\n")
outfile.write('deps = {\n')
for pkg in packages.split():
- dependsflist_key = 'FILE' + varname + 'FLIST' + "_" + pkg
+ dependsflist_key = 'FILE' + varname + 'FLIST' + ":" + pkg
dependsflist = (d.getVar(dependsflist_key) or "")
for dfile in dependsflist.split():
- key = "FILE" + varname + "_" + dfile + "_" + pkg
+ key = "FILE" + varname + ":" + dfile + ":" + pkg
deps = filter_nativesdk_deps(srcname, d.getVar(key) or "")
depends_dict = bb.utils.explode_dep_versions(deps)
file = dfile.replace("@underscore@", "_")
@@ -249,10 +249,10 @@ python write_specfile () {
def get_perfile(varname, pkg, d):
deps = []
- dependsflist_key = 'FILE' + varname + 'FLIST' + "_" + pkg
+ dependsflist_key = 'FILE' + varname + 'FLIST' + ":" + pkg
dependsflist = (d.getVar(dependsflist_key) or "")
for dfile in dependsflist.split():
- key = "FILE" + varname + "_" + dfile + "_" + pkg
+ key = "FILE" + varname + ":" + dfile + ":" + pkg
depends = d.getVar(key)
if depends:
deps.append(depends)
diff --git a/poky/meta/classes/ptest.bbclass b/poky/meta/classes/ptest.bbclass
index 200446e52b..77614ae860 100644
--- a/poky/meta/classes/ptest.bbclass
+++ b/poky/meta/classes/ptest.bbclass
@@ -118,13 +118,15 @@ python () {
if not(d.getVar('PTEST_ENABLED') == "1"):
for i in ['do_configure_ptest_base', 'do_compile_ptest_base', 'do_install_ptest_base']:
bb.build.deltask(i, d)
+}
+QARECIPETEST[missing-ptest] = "package_qa_check_missing_ptest"
+def package_qa_check_missing_ptest(pn, d, messages):
# This checks that ptest package is actually included
# in standard oe-core ptest images - only for oe-core recipes
if not 'meta/recipes' in d.getVar('FILE') or not(d.getVar('PTEST_ENABLED') == "1"):
return
- enabled_ptests = " ".join([d.getVar('PTESTS_FAST'),d.getVar('PTESTS_SLOW'), d.getVar('PTESTS_PROBLEMS')]).split()
- if (d.getVar('PN') + "-ptest").replace(d.getVar('MLPREFIX'), '') not in enabled_ptests:
- bb.error("Recipe %s supports ptests but is not included in oe-core's conf/distro/include/ptest-packagelists.inc" % d.getVar("PN"))
-}
+ enabled_ptests = " ".join([d.getVar('PTESTS_FAST'), d.getVar('PTESTS_SLOW'), d.getVar('PTESTS_PROBLEMS')]).split()
+ if (pn + "-ptest").replace(d.getVar('MLPREFIX'), '') not in enabled_ptests:
+ package_qa_handle_error("missing-ptest", "supports ptests but is not included in oe-core's ptest-packagelists.inc", d)
diff --git a/poky/meta/classes/rust-bin.bbclass b/poky/meta/classes/rust-bin.bbclass
new file mode 100644
index 0000000000..c87343b3cf
--- /dev/null
+++ b/poky/meta/classes/rust-bin.bbclass
@@ -0,0 +1,149 @@
+inherit rust
+
+RDEPENDS:${PN}:append:class-target = " ${RUSTLIB_DEP}"
+
+RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir} -C linker=${RUST_TARGET_CCLD}"
+EXTRA_OEMAKE += 'RUSTC_ARCHFLAGS="${RUSTC_ARCHFLAGS}"'
+
+# Some libraries alias with the standard library but libstd is configured to
+# make it difficult or imposisble to use its version. Unfortunately libstd
+# must be explicitly overridden using extern.
+OVERLAP_LIBS = "\
+ libc \
+ log \
+ getopts \
+ rand \
+"
+def get_overlap_deps(d):
+ deps = d.getVar("DEPENDS").split()
+ overlap_deps = []
+ for o in d.getVar("OVERLAP_LIBS").split():
+ l = len([o for dep in deps if (o + '-rs' in dep)])
+ if l > 0:
+ overlap_deps.append(o)
+ return " ".join(overlap_deps)
+OVERLAP_DEPS = "${@get_overlap_deps(d)}"
+
+# Prevents multiple static copies of standard library modules
+# See https://github.com/rust-lang/rust/issues/19680
+RUSTC_PREFER_DYNAMIC = "-C prefer-dynamic"
+RUSTC_FLAGS += "${RUSTC_PREFER_DYNAMIC}"
+
+CRATE_NAME ?= "${@d.getVar('BPN').replace('-rs', '').replace('-', '_')}"
+BINNAME ?= "${BPN}"
+LIBNAME ?= "lib${CRATE_NAME}-rs"
+CRATE_TYPE ?= "dylib"
+BIN_SRC ?= "${S}/src/main.rs"
+LIB_SRC ?= "${S}/src/lib.rs"
+
+rustbindest ?= "${bindir}"
+rustlibdest ?= "${rustlibdir}"
+RUST_RPATH_ABS ?= "${rustlibdir}:${rustlib}"
+
+def relative_rpaths(paths, base):
+ relpaths = set()
+ for p in paths.split(':'):
+ if p == base:
+ relpaths.add('$ORIGIN')
+ continue
+ relpaths.add(os.path.join('$ORIGIN', os.path.relpath(p, base)))
+ return '-rpath=' + ':'.join(relpaths) if len(relpaths) else ''
+
+RUST_LIB_RPATH_FLAGS ?= "${@relative_rpaths(d.getVar('RUST_RPATH_ABS', True), d.getVar('rustlibdest', True))}"
+RUST_BIN_RPATH_FLAGS ?= "${@relative_rpaths(d.getVar('RUST_RPATH_ABS', True), d.getVar('rustbindest', True))}"
+
+def libfilename(d):
+ if d.getVar('CRATE_TYPE', True) == 'dylib':
+ return d.getVar('LIBNAME', True) + '.so'
+ else:
+ return d.getVar('LIBNAME', True) + '.rlib'
+
+def link_args(d, bin):
+ linkargs = []
+ if bin:
+ rpaths = d.getVar('RUST_BIN_RPATH_FLAGS', False)
+ else:
+ rpaths = d.getVar('RUST_LIB_RPATH_FLAGS', False)
+ if d.getVar('CRATE_TYPE', True) == 'dylib':
+ linkargs.append('-soname')
+ linkargs.append(libfilename(d))
+ if len(rpaths):
+ linkargs.append(rpaths)
+ if len(linkargs):
+ return ' '.join(['-Wl,' + arg for arg in linkargs])
+ else:
+ return ''
+
+get_overlap_externs () {
+ externs=
+ for dep in ${OVERLAP_DEPS}; do
+ extern=$(ls ${STAGING_DIR_HOST}/${rustlibdir}/lib$dep-rs.{so,rlib} 2>/dev/null \
+ | awk '{print $1}');
+ if [ -n "$extern" ]; then
+ externs="$externs --extern $dep=$extern"
+ else
+ echo "$dep in depends but no such library found in ${rustlibdir}!" >&2
+ exit 1
+ fi
+ done
+ echo "$externs"
+}
+
+do_configure () {
+}
+
+oe_runrustc () {
+ export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
+ bbnote ${RUSTC} ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
+ "${RUSTC}" ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
+}
+
+oe_compile_rust_lib () {
+ rm -rf ${LIBNAME}.{rlib,so}
+ local -a link_args
+ if [ -n '${@link_args(d, False)}' ]; then
+ link_args[0]='-C'
+ link_args[1]='link-args=${@link_args(d, False)}'
+ fi
+ oe_runrustc $(get_overlap_externs) \
+ "${link_args[@]}" \
+ ${LIB_SRC} \
+ -o ${@libfilename(d)} \
+ --crate-name=${CRATE_NAME} --crate-type=${CRATE_TYPE} \
+ "$@"
+}
+oe_compile_rust_lib[vardeps] += "get_overlap_externs"
+
+oe_compile_rust_bin () {
+ rm -rf ${BINNAME}
+ local -a link_args
+ if [ -n '${@link_args(d, True)}' ]; then
+ link_args[0]='-C'
+ link_args[1]='link-args=${@link_args(d, True)}'
+ fi
+ oe_runrustc $(get_overlap_externs) \
+ "${link_args[@]}" \
+ ${BIN_SRC} -o ${BINNAME} "$@"
+}
+oe_compile_rust_bin[vardeps] += "get_overlap_externs"
+
+oe_install_rust_lib () {
+ for lib in $(ls ${LIBNAME}.{so,rlib} 2>/dev/null); do
+ echo Installing $lib
+ install -D -m 755 $lib ${D}/${rustlibdest}/$lib
+ done
+}
+
+oe_install_rust_bin () {
+ echo Installing ${BINNAME}
+ install -D -m 755 ${BINNAME} ${D}/${rustbindest}/${BINNAME}
+}
+
+do_rust_bin_fixups() {
+ for f in `find ${PKGD} -name '*.so*'`; do
+ echo "Strip rust note: $f"
+ ${OBJCOPY} -R .note.rustc $f $f
+ done
+}
+PACKAGE_PREPROCESS_FUNCS += "do_rust_bin_fixups"
+
diff --git a/poky/meta/classes/rust-common.bbclass b/poky/meta/classes/rust-common.bbclass
new file mode 100644
index 0000000000..a8803d61b6
--- /dev/null
+++ b/poky/meta/classes/rust-common.bbclass
@@ -0,0 +1,180 @@
+# Common variables used by all Rust builds
+export rustlibdir = "${libdir}/rust"
+FILES:${PN} += "${rustlibdir}/*.so"
+FILES:${PN}-dev += "${rustlibdir}/*.rlib ${rustlibdir}/*.rmeta"
+FILES:${PN}-dbg += "${rustlibdir}/.debug"
+
+RUSTLIB = "-L ${STAGING_LIBDIR}/rust"
+RUST_DEBUG_REMAP = "--remap-path-prefix=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
+RUSTFLAGS += "${RUSTLIB} ${RUST_DEBUG_REMAP}"
+RUSTLIB_DEP ?= "libstd-rs"
+export RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
+RUST_PANIC_STRATEGY ?= "unwind"
+
+# Native builds are not effected by TCLIBC. Without this, rust-native
+# thinks it's "target" (i.e. x86_64-linux) is a musl target.
+RUST_LIBC = "${TCLIBC}"
+RUST_LIBC:class-native = "glibc"
+
+def determine_libc(d, thing):
+ '''Determine which libc something should target'''
+
+ # BUILD is never musl, TARGET may be musl or glibc,
+ # HOST could be musl, but only if a compiler is built to be run on
+ # target in which case HOST_SYS != BUILD_SYS.
+ if thing == 'TARGET':
+ libc = d.getVar('RUST_LIBC')
+ elif thing == 'BUILD' and (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')):
+ libc = d.getVar('RUST_LIBC')
+ else:
+ libc = d.getVar('RUST_LIBC:class-native')
+
+ return libc
+
+def target_is_armv7(d):
+ '''Determine if target is armv7'''
+ # TUNE_FEATURES may include arm* even if the target is not arm
+ # in the case of *-native packages
+ if d.getVar('TARGET_ARCH') != 'arm':
+ return False
+
+ feat = d.getVar('TUNE_FEATURES')
+ feat = frozenset(feat.split())
+ mach_overrides = d.getVar('MACHINEOVERRIDES')
+ mach_overrides = frozenset(mach_overrides.split(':'))
+
+ v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve'])
+ if mach_overrides.isdisjoint(v7) and feat.isdisjoint(v7):
+ return False
+ else:
+ return True
+target_is_armv7[vardepvalue] = "${@target_is_armv7(d)}"
+
+# Responsible for taking Yocto triples and converting it to Rust triples
+def rust_base_triple(d, thing):
+ '''
+ Mangle bitbake's *_SYS into something that rust might support (see
+ rust/mk/cfg/* for a list)
+
+ Note that os is assumed to be some linux form
+ '''
+
+ # The llvm-target for armv7 is armv7-unknown-linux-gnueabihf
+ if thing == "TARGET" and target_is_armv7(d):
+ arch = "armv7"
+ else:
+ arch = d.getVar('{}_ARCH'.format(thing))
+
+ # All the Yocto targets are Linux and are 'unknown'
+ vendor = "-unknown"
+ os = d.getVar('{}_OS'.format(thing))
+ libc = determine_libc(d, thing)
+
+ # Prefix with a dash and convert glibc -> gnu
+ if libc == "glibc":
+ libc = "-gnu"
+ elif libc == "musl":
+ libc = "-musl"
+
+ # Don't double up musl (only appears to be the case on aarch64)
+ if os == "linux-musl":
+ if libc != "-musl":
+ bb.fatal("{}_OS was '{}' but TCLIBC was not 'musl'".format(thing, os))
+ os = "linux"
+
+ # This catches ARM targets and appends the necessary hard float bits
+ if os == "linux-gnueabi" or os == "linux-musleabi":
+ libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hf', '', d)
+ return arch + vendor + '-' + os + libc
+
+# Naming explanation
+# Yocto
+# - BUILD_SYS - Yocto triple of the build environment
+# - HOST_SYS - What we're building for in Yocto
+# - TARGET_SYS - What we're building for in Yocto
+#
+# So when building '-native' packages BUILD_SYS == HOST_SYS == TARGET_SYS
+# When building packages for the image HOST_SYS == TARGET_SYS
+# This is a gross over simplification as there are other modes but
+# currently this is all that's supported.
+#
+# Rust
+# - TARGET - the system where the binary will run
+# - HOST - the system where the binary is being built
+#
+# Rust additionally will use two additional cases:
+# - undecorated (e.g. CC) - equivalent to TARGET
+# - triple suffix (e.g. CC:x86_64_unknown_linux_gnu) - both
+# see: https://github.com/alexcrichton/gcc-rs
+# The way that Rust's internal triples and Yocto triples are mapped together
+# its likely best to not use the triple suffix due to potential confusion.
+
+RUST_BUILD_SYS = "${@rust_base_triple(d, 'BUILD')}"
+RUST_HOST_SYS = "${@rust_base_triple(d, 'HOST')}"
+RUST_TARGET_SYS = "${@rust_base_triple(d, 'TARGET')}"
+
+# wrappers to get around the fact that Rust needs a single
+# binary but Yocto's compiler and linker commands have
+# arguments. Technically the archiver is always one command but
+# this is necessary for builds that determine the prefix and then
+# use those commands based on the prefix.
+WRAPPER_DIR = "${WORKDIR}/wrapper"
+RUST_BUILD_CC = "${WRAPPER_DIR}/build-rust-cc"
+RUST_BUILD_CXX = "${WRAPPER_DIR}/build-rust-cxx"
+RUST_BUILD_CCLD = "${WRAPPER_DIR}/build-rust-ccld"
+RUST_BUILD_AR = "${WRAPPER_DIR}/build-rust-ar"
+RUST_TARGET_CC = "${WRAPPER_DIR}/target-rust-cc"
+RUST_TARGET_CXX = "${WRAPPER_DIR}/target-rust-cxx"
+RUST_TARGET_CCLD = "${WRAPPER_DIR}/target-rust-ccld"
+RUST_TARGET_AR = "${WRAPPER_DIR}/target-rust-ar"
+
+create_wrapper () {
+ file="$1"
+ shift
+
+ cat <<- EOF > "${file}"
+ #!/bin/sh
+ exec $@ "\$@"
+ EOF
+ chmod +x "${file}"
+}
+
+export WRAPPER_TARGET_CC = "${CC}"
+export WRAPPER_TARGET_CXX = "${CXX}"
+export WRAPPER_TARGET_CCLD = "${CCLD}"
+export WRAPPER_TARGET_LDFLAGS = "${LDFLAGS}"
+export WRAPPER_TARGET_AR = "${AR}"
+
+# compiler is used by gcc-rs
+# linker is used by rustc/cargo
+# archiver is used by the build of libstd-rs
+do_rust_create_wrappers () {
+ mkdir -p "${WRAPPER_DIR}"
+
+ # Yocto Build / Rust Host C compiler
+ create_wrapper "${RUST_BUILD_CC}" "${BUILD_CC}"
+ # Yocto Build / Rust Host C++ compiler
+ create_wrapper "${RUST_BUILD_CXX}" "${BUILD_CXX}"
+ # Yocto Build / Rust Host linker
+ create_wrapper "${RUST_BUILD_CCLD}" "${BUILD_CCLD}" "${BUILD_LDFLAGS}"
+ # Yocto Build / Rust Host archiver
+ create_wrapper "${RUST_BUILD_AR}" "${BUILD_AR}"
+
+ # Yocto Target / Rust Target C compiler
+ create_wrapper "${RUST_TARGET_CC}" "${WRAPPER_TARGET_CC}" "${WRAPPER_TARGET_LDFLAGS}"
+ # Yocto Target / Rust Target C++ compiler
+ create_wrapper "${RUST_TARGET_CXX}" "${WRAPPER_TARGET_CXX}"
+ # Yocto Target / Rust Target linker
+ create_wrapper "${RUST_TARGET_CCLD}" "${WRAPPER_TARGET_CCLD}" "${WRAPPER_TARGET_LDFLAGS}"
+ # Yocto Target / Rust Target archiver
+ create_wrapper "${RUST_TARGET_AR}" "${WRAPPER_TARGET_AR}"
+
+ # Need to filter out LD_LIBRARY_PATH from the linker without using shell
+ mv ${RUST_BUILD_CCLD} ${RUST_BUILD_CCLD}.real
+ ${BUILD_CC} ${COREBASE}/meta/files/rust-ccld-wrapper.c -o ${RUST_BUILD_CCLD}
+ mv ${RUST_TARGET_CCLD} ${RUST_TARGET_CCLD}.real
+ ${BUILD_CC} ${COREBASE}/meta/files/rust-ccld-wrapper.c -o ${RUST_TARGET_CCLD}
+}
+
+addtask rust_create_wrappers before do_configure after do_patch
+do_rust_create_wrappers[dirs] += "${WRAPPER_DIR}"
diff --git a/poky/meta/classes/rust.bbclass b/poky/meta/classes/rust.bbclass
new file mode 100644
index 0000000000..5c8938d09f
--- /dev/null
+++ b/poky/meta/classes/rust.bbclass
@@ -0,0 +1,45 @@
+inherit rust-common
+
+RUSTC = "rustc"
+
+RUSTC_ARCHFLAGS += "--target=${HOST_SYS} ${RUSTFLAGS}"
+
+def rust_base_dep(d):
+ # Taken from meta/classes/base.bbclass `base_dep_prepend` and modified to
+ # use rust instead of gcc
+ deps = ""
+ if not d.getVar('INHIBIT_DEFAULT_RUST_DEPS'):
+ if (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')):
+ deps += " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
+ else:
+ deps += " rust-native"
+ return deps
+
+DEPENDS:append = " ${@rust_base_dep(d)}"
+
+# BUILD_LDFLAGS
+# ${STAGING_LIBDIR_NATIVE}
+# ${STAGING_BASE_LIBDIR_NATIVE}
+# BUILDSDK_LDFLAGS
+# ${STAGING_LIBDIR}
+# #{STAGING_DIR_HOST}
+# TARGET_LDFLAGS ?????
+#RUSTC_BUILD_LDFLAGS = "\
+# --sysroot ${STAGING_DIR_NATIVE} \
+# -L${STAGING_LIBDIR_NATIVE} \
+# -L${STAGING_BASE_LIBDIR_NATIVE} \
+#"
+
+# XXX: for some reason bitbake sets BUILD_* & TARGET_* but uses the bare
+# variables for HOST. Alias things to make it easier for us.
+HOST_LDFLAGS ?= "${LDFLAGS}"
+HOST_CFLAGS ?= "${CFLAGS}"
+HOST_CXXFLAGS ?= "${CXXFLAGS}"
+HOST_CPPFLAGS ?= "${CPPFLAGS}"
+
+rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/lib"
+# Native sysroot standard library path
+rustlib_src="${prefix}/lib/${rustlib_suffix}"
+# Host sysroot standard library path
+rustlib="${libdir}/${rustlib_suffix}"
+rustlib:class-native="${libdir}/rustlib/${BUILD_SYS}/lib"
diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass
index 2175ace4c4..d7f1b3f26e 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes/sstate.bbclass
@@ -971,13 +971,12 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
tasklist.append((tid, sstatefile))
if tasklist:
+ nproc = min(int(d.getVar("BB_NUMBER_THREADS")), len(tasklist))
+
if len(tasklist) >= min_tasks:
msg = "Checking sstate mirror object availability"
bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
- import multiprocessing
- nproc = min(multiprocessing.cpu_count(), len(tasklist))
-
bb.event.enable_threadlock()
pool = oe.utils.ThreadedPool(nproc, len(tasklist),
worker_init=checkstatus_init, worker_end=checkstatus_end)
diff --git a/poky/meta/classes/toaster.bbclass b/poky/meta/classes/toaster.bbclass
index 9518ddf7a4..dd5c7f224b 100644
--- a/poky/meta/classes/toaster.bbclass
+++ b/poky/meta/classes/toaster.bbclass
@@ -106,7 +106,7 @@ def _toaster_load_pkgdatafile(dirpath, filepath):
pkgdata['OPKGN'] = m.group(1)
kn = "_".join([x for x in kn.split("_") if x.isupper()])
pkgdata[kn] = kv.strip()
- if kn == 'FILES_INFO':
+ if kn.startswith('FILES_INFO'):
pkgdata[kn] = json.loads(kv)
except ValueError:
diff --git a/poky/meta/classes/uboot-config.bbclass b/poky/meta/classes/uboot-config.bbclass
index 451db0c650..07a303d0a0 100644
--- a/poky/meta/classes/uboot-config.bbclass
+++ b/poky/meta/classes/uboot-config.bbclass
@@ -11,13 +11,18 @@
#
# Copyright 2013, 2014 (C) O.S. Systems Software LTDA.
+def removesuffix(s, suffix):
+ if suffix and s.endswith(suffix):
+ return s[:-len(suffix)]
+ return s
+
# Some versions of u-boot use .bin and others use .img. By default use .bin
# but enable individual recipes to change this value.
UBOOT_SUFFIX ??= "bin"
UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
UBOOT_BINARYNAME ?= "${@os.path.splitext(d.getVar("UBOOT_BINARY"))[0]}"
-UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
-UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
+UBOOT_IMAGE ?= "${UBOOT_BINARYNAME}-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
+UBOOT_SYMLINK ?= "${UBOOT_BINARYNAME}-${MACHINE}.${UBOOT_SUFFIX}"
UBOOT_MAKE_TARGET ?= "all"
# Output the ELF generated. Some platforms can use the ELF file and directly
@@ -33,10 +38,13 @@ UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}"
# should be packaged along with the u-boot binary as well as placed in the
# deploy directory. For those versions they can set the following variables
# to allow packaging the SPL.
+SPL_SUFFIX ?= ""
SPL_BINARY ?= ""
-SPL_BINARYNAME ?= "${@os.path.basename(d.getVar("SPL_BINARY"))}"
-SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}"
-SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}"
+SPL_DELIMITER ?= "${@'.' if d.getVar("SPL_SUFFIX") else ''}"
+SPL_BINARYFILE ?= "${@os.path.basename(d.getVar("SPL_BINARY"))}"
+SPL_BINARYNAME ?= "${@removesuffix(d.getVar("SPL_BINARYFILE"), "." + d.getVar("SPL_SUFFIX"))}"
+SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX}"
+SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}${SPL_DELIMITER}${SPL_SUFFIX}"
# Additional environment variables or a script can be installed alongside
# u-boot to be used automatically on boot. This file, typically 'uEnv.txt'
diff --git a/poky/meta/classes/uninative.bbclass b/poky/meta/classes/uninative.bbclass
index 1e19917a97..3c7ccd66f4 100644
--- a/poky/meta/classes/uninative.bbclass
+++ b/poky/meta/classes/uninative.bbclass
@@ -100,7 +100,7 @@ ${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py \
${UNINATIVE_LOADER} \
${UNINATIVE_LOADER} \
${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/${bindir_native}/patchelf-uninative \
- ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux${base_libdir_native}/libc*.so" % chksum)
+ ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux${base_libdir_native}/libc*.so*" % chksum)
subprocess.check_output(cmd, shell=True)
with open(loaderchksum, "w") as f:
diff --git a/poky/meta/classes/update-alternatives.bbclass b/poky/meta/classes/update-alternatives.bbclass
index 81ca05de0e..fc1ffd828c 100644
--- a/poky/meta/classes/update-alternatives.bbclass
+++ b/poky/meta/classes/update-alternatives.bbclass
@@ -321,7 +321,7 @@ def apply_update_alternative_provides(d):
# Add file provide
trans_target = oe.package.file_translate(alt_target)
- d.appendVar('FILERPROVIDES_%s_%s' % (trans_target, pkg), " " + alt_link)
- if not trans_target in (d.getVar('FILERPROVIDESFLIST_%s' % pkg) or ""):
- d.appendVar('FILERPROVIDESFLIST_%s' % pkg, " " + trans_target)
+ d.appendVar('FILERPROVIDES:%s:%s' % (trans_target, pkg), " " + alt_link)
+ if not trans_target in (d.getVar('FILERPROVIDESFLIST:%s' % pkg) or ""):
+ d.appendVar('FILERPROVIDESFLIST:%s' % pkg, " " + trans_target)
diff --git a/poky/meta/classes/utils.bbclass b/poky/meta/classes/utils.bbclass
index 120bcc64a6..072ea1f63c 100644
--- a/poky/meta/classes/utils.bbclass
+++ b/poky/meta/classes/utils.bbclass
@@ -214,7 +214,7 @@ create_cmdline_wrapper () {
#!/bin/bash
realpath=\`readlink -fn \$0\`
realdir=\`dirname \$realpath\`
-exec -a \`dirname \$realpath\`/$cmdname \`dirname \$realpath\`/$cmdname.real $cmdoptions "\$@"
+exec -a \$realdir/$cmdname \$realdir/$cmdname.real $cmdoptions "\$@"
END
chmod +x $cmd
}
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index f6fb2aa698..2140d498f7 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -486,12 +486,12 @@ HOSTTOOLS += " \
[ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
- head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo mknod \
+ head hostname iconv id install ld ldd ln ls lz4c make md5sum mkdir mkfifo mknod \
mktemp mv nm objcopy objdump od patch perl pr printf pwd \
- python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
+ python3 pzstd ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
sha1sum sha224sum sha256sum sha384sum sha512sum \
sleep sort split stat strings strip tail tar tee test touch tr true uname \
- uniq wc wget which xargs \
+ uniq wc wget which xargs zstd \
"
# Tools needed to run testimage runtime image testing
@@ -743,11 +743,11 @@ DISTRO_NAME ??= "OpenEmbedded"
# Overrides are processed left to right, so the ones that are named later take precedence.
# You generally want them to go from least to most specific. This means that:
-# A variable '<foo>_arm' overrides a variable '<foo>' when ${TARGET_ARCH} is arm.
-# A variable '<foo>_qemuarm' overrides '<foo>' and overrides '<foo>_arm' when ${MACHINE} is 'qemuarm'.
-# If you use combination ie '<foo>_qemuarm_arm', then '<foo>_qemuarm_arm' will override
-# '<foo>_qemuarm' and then '<foo>' will be overriden with that value from '<foo>_qemuarm'.
-# And finally '<foo>_forcevariable' overrides any standard variable, with the highest priority.
+# A variable '<foo>:arm' overrides a variable '<foo>' when ${TARGET_ARCH} is arm.
+# A variable '<foo>:qemuarm' overrides '<foo>' and overrides '<foo>:arm' when ${MACHINE} is 'qemuarm'.
+# If you use combination ie '<foo>:qemuarm:arm', then '<foo>:qemuarm:arm' will override
+# '<foo>:qemuarm' and then '<foo>' will be overriden with that value from '<foo>:qemuarm'.
+# And finally '<foo>:forcevariable' overrides any standard variable, with the highest priority.
# This works for functions as well, they are really just variables.
#
OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}${LIBCOVERRIDE}:forcevariable"
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index fa7ac07baa..0e8185f4e3 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -31,14 +31,14 @@ RECIPE_MAINTAINER:pn-acl = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-acpica = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-acpid = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-adwaita-icon-theme = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER:pn-alsa-lib = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-alsa-plugins = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-alsa-state = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-alsa-tools = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-alsa-topology-conf = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-alsa-ucm-conf = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-alsa-utils = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-alsa-utils-scripts = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-alsa-lib = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
+RECIPE_MAINTAINER:pn-alsa-plugins = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
+RECIPE_MAINTAINER:pn-alsa-state = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
+RECIPE_MAINTAINER:pn-alsa-tools = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
+RECIPE_MAINTAINER:pn-alsa-topology-conf = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
+RECIPE_MAINTAINER:pn-alsa-ucm-conf = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
+RECIPE_MAINTAINER:pn-alsa-utils = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
+RECIPE_MAINTAINER:pn-alsa-utils-scripts = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
RECIPE_MAINTAINER:pn-apmd = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-apr = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER:pn-apr-util = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -89,6 +89,8 @@ RECIPE_MAINTAINER:pn-busybox-inittab = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER:pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER:pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-cargo = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-cargo-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER:pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
@@ -295,7 +297,7 @@ RECIPE_MAINTAINER:pn-kmod = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-kmod-native = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-kmscube = "Carlos Rafael Giani <dv@pseudoterminal.org>"
RECIPE_MAINTAINER:pn-l3afpad = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER:pn-lame = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-lame = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
RECIPE_MAINTAINER:pn-ldconfig-native = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-less = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-liba52 = "Unassigned <unassigned@yoctoproject.org>"
@@ -375,6 +377,7 @@ RECIPE_MAINTAINER:pn-libpthread-stubs = "Alexander Kanavin <alex.kanavin@gmail.c
RECIPE_MAINTAINER:pn-libpsl = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-librepo = "Wang Mingyu <wangmy@fujitsu.com>"
RECIPE_MAINTAINER:pn-librsvg = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libstd-rs = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-libsamplerate0 = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-libsdl2 = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-libseccomp = "Unassigned <unassigned@yoctoproject.org>"
@@ -655,6 +658,13 @@ RECIPE_MAINTAINER:pn-rsync = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-rt-tests = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-ruby = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-run-postinsts = "Ross Burton <ross.burton@arm.com>"
+RECIPE_MAINTAINER:pn-rust = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-rustfmt = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-rust-cross-${TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-rust-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-rust-hello-world = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-rust-llvm = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-rust-tools-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rxvt-unicode = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-sbc = "Unassigned <unassigned@yoctoproject.org>"
@@ -672,8 +682,8 @@ RECIPE_MAINTAINER:pn-shutdown-desktop = "Alexander Kanavin <alex.kanavin@gmail.c
RECIPE_MAINTAINER:pn-signing-keys = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER:pn-slang = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER:pn-speex = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-speexdsp = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-speex = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
+RECIPE_MAINTAINER:pn-speexdsp = "Michael Opdenacker <michael.opdenacker@bootlin.com>"
RECIPE_MAINTAINER:pn-spirv-headers = "Jose Quaresma <quaresma.jose@gmail.com>"
RECIPE_MAINTAINER:pn-spirv-tools = "Jose Quaresma <quaresma.jose@gmail.com>"
RECIPE_MAINTAINER:pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
index 3872bdc942..e0ae1dd971 100644
--- a/poky/meta/conf/distro/include/ptest-packagelists.inc
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -48,6 +48,7 @@ PTESTS_FAST = "\
pango-ptest \
parted-ptest \
python3-atomicwrites-ptest \
+ python3-hypothesis-ptest \
python3-jinja2-ptest \
python3-markupsafe-ptest \
python3-more-itertools-ptest \
diff --git a/poky/meta/conf/distro/include/rust_security_flags.inc b/poky/meta/conf/distro/include/rust_security_flags.inc
new file mode 100644
index 0000000000..590bef17a0
--- /dev/null
+++ b/poky/meta/conf/distro/include/rust_security_flags.inc
@@ -0,0 +1,7 @@
+# Build errors with PIE options enabled
+SECURITY_CFLAGS:pn-rust-native = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS:pn-rust-cross-${TARGET_ARCH} = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS:pn-rust = "${SECURITY_NO_PIE_CFLAGS}"
+SECURITY_CFLAGS:pn-rust-llvm = "${SECURITY_NO_PIE_CFLAGS}"
+
+SECURITY_LDFLAGS:pn-rust-cross-arm = " -lssp_nonshared -lssp"
diff --git a/poky/meta/conf/distro/include/rust_versions.inc b/poky/meta/conf/distro/include/rust_versions.inc
new file mode 100644
index 0000000000..a11ba22a8f
--- /dev/null
+++ b/poky/meta/conf/distro/include/rust_versions.inc
@@ -0,0 +1,13 @@
+# include this in your distribution to easily switch between versions
+# just by changing RUST_VERSION variable
+
+RUST_VERSION ?= "1.51.0"
+
+PREFERRED_VERSION_cargo ?= "${RUST_VERSION}"
+PREFERRED_VERSION_cargo-native ?= "${RUST_VERSION}"
+PREFERRED_VERSION_libstd-rs ?= "${RUST_VERSION}"
+PREFERRED_VERSION_rust ?= "${RUST_VERSION}"
+PREFERRED_VERSION_rust-cross-${TARGET_ARCH} ?= "${RUST_VERSION}"
+PREFERRED_VERSION_rust-llvm ?= "${RUST_VERSION}"
+PREFERRED_VERSION_rust-llvm-native ?= "${RUST_VERSION}"
+PREFERRED_VERSION_rust-native ?= "${RUST_VERSION}"
diff --git a/poky/meta/conf/distro/include/yocto-uninative.inc b/poky/meta/conf/distro/include/yocto-uninative.inc
index 740cca0ecf..3165fc93b8 100644
--- a/poky/meta/conf/distro/include/yocto-uninative.inc
+++ b/poky/meta/conf/distro/include/yocto-uninative.inc
@@ -6,9 +6,9 @@
# to the distro running on the build machine.
#
-UNINATIVE_MAXGLIBCVERSION = "2.33"
+UNINATIVE_MAXGLIBCVERSION = "2.34"
-UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/3.2/"
-UNINATIVE_CHECKSUM[aarch64] ?= "4f0872cdca2775b637a8a99815ca5c8dd42146abe903a24a50ee0448358c764b"
-UNINATIVE_CHECKSUM[i686] ?= "e2eeab92e67263db37d9bb6d4c58579abd1f47ff4cded3171bde572fece124b2"
-UNINATIVE_CHECKSUM[x86_64] ?= "3ee8c7d55e2d4c7ae3887cddb97219f97b94efddfeee2e24923c0cb0e8ce84c6"
+UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/3.4/"
+UNINATIVE_CHECKSUM[aarch64] ?= "3013cdda8f0dc6639ce1c80f33eabce66f06b890bd5b58739a6d7a92a0bb7100"
+UNINATIVE_CHECKSUM[i686] ?= "abed500de584aad63ec237546db20cdd0c69d8870a6f8e94ac31721ace64b376"
+UNINATIVE_CHECKSUM[x86_64] ?= "126f4f7f6f21084ee140dac3eb4c536b963837826b7c38599db0b512c3377ba2"
diff --git a/poky/meta/conf/licenses.conf b/poky/meta/conf/licenses.conf
index 1fe5fc6ec1..e2bd58f84a 100644
--- a/poky/meta/conf/licenses.conf
+++ b/poky/meta/conf/licenses.conf
@@ -103,6 +103,7 @@ SPDXLICENSEMAP[CDDL-1] = "CDDL-1.0"
#Other variations
SPDXLICENSEMAP[EPLv1.0] = "EPL-1.0"
+SPDXLICENSEMAP[FreeType] = "FTL"
#Silicon Graphics variations
SPDXLICENSEMAP[SGIv1] = "SGI-1"
diff --git a/poky/meta/conf/machine/include/arm/arch-arm.inc b/poky/meta/conf/machine/include/arm/arch-arm.inc
index 869089051c..f1e92e19c6 100644
--- a/poky/meta/conf/machine/include/arm/arch-arm.inc
+++ b/poky/meta/conf/machine/include/arm/arch-arm.inc
@@ -14,3 +14,7 @@ TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}
ABIEXTENSION = "eabi"
TARGET_FPU = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}"
+
+# Some -march settings need a +X option passed in. Since we cannot guarantee that any specified TUNE_CCARGS option is set in any order, we must hard code the order here to allow for it.
+TUNE_CCARGS_MARCH_OPTS ??= ""
+TUNE_CCARGS .= "${TUNE_CCARGS_MARCH}${TUNE_CCARGS_MARCH_OPTS}"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv4.inc b/poky/meta/conf/machine/include/arm/arch-armv4.inc
index 4f4a63b287..be5761fb20 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv4.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv4.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv4"
TUNEVALID[arm] = "Enable ARM instruction set"
TUNEVALID[armv4] = "Enable instructions for ARMv4"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
# enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb
# maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does
# checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value
diff --git a/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc
index d296e827cf..f3c749d722 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv5-dsp.inc
@@ -1,3 +1,4 @@
+# Can't use feature-arm-dsp.inc, since that will add "+dsp", which isn't supported in GCC for ARMv5
ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
TUNEVALID[dsp] = "ARM DSP functionality"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv5.inc b/poky/meta/conf/machine/include/arm/arch-armv5.inc
index 5f46992098..6bb465e7b6 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv5.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv5.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv5"
TUNEVALID[armv5] = "Enable instructions for ARMv5"
TUNECONFLICTS[armv5] = "armv4"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5t${ARMPKGSFX_DSP}', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', '', d)}"
require conf/machine/include/arm/arch-armv4.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv6.inc b/poky/meta/conf/machine/include/arm/arch-armv6.inc
index 9d2e112b71..ef8d288ea7 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv6.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv6.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv6hf"
TUNEVALID[armv6] = "Enable instructions for ARMv6"
TUNECONFLICTS[armv6] = "armv4 armv5"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 'armv6:', '', d)}"
require conf/machine/include/arm/arch-armv5-dsp.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv6m.inc b/poky/meta/conf/machine/include/arm/arch-armv6m.inc
index e7ca665a02..d6d6c7ed2d 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv6m.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv6m.inc
@@ -7,7 +7,7 @@ TUNECONFLICTS[armv6m] = "armv4 armv5 armv6 armv7a"
# Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture".
# SVC is a valid instruction.
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '', d)}"
require conf/machine/include/arm/arch-armv5.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7a.inc b/poky/meta/conf/machine/include/arm/arch-armv7a.inc
index 0f83cee37c..74fc8d11ab 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7a.inc
@@ -3,11 +3,12 @@ ARM_INSTRUCTION_SET ?= "thumb"
TUNEVALID[armv7a] = "Enable instructions for ARMv7-a"
TUNECONFLICTS[armv7a] = "armv4 armv5 armv6 armv7"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 'armv7a:', '', d)}"
require conf/machine/include/arm/arch-armv6.inc
require conf/machine/include/arm/feature-arm-neon.inc
+require conf/machine/include/arm/feature-arm-simd.inc
# Little Endian base configs
AVAILTUNES += "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 armv7at-vfpv3 armv7a-vfpv4d16 armv7at-vfpv4d16 armv7a-neon armv7at-neon armv7a-neon-vfpv4 armv7at-neon-vfpv4"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7em.inc b/poky/meta/conf/machine/include/arm/arch-armv7em.inc
index adcab272ed..f7608ea2ee 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7em.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7em.inc
@@ -4,7 +4,7 @@
DEFAULTTUNE ?= "armv7em"
TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', 'armv7em:', '', d)}"
TUNECONFLICTS[armv7em] = "armv4 armv5 armv6 armv7a"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7m.inc b/poky/meta/conf/machine/include/arm/arch-armv7m.inc
index a36c265bc1..2b69a3dfd1 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7m.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7m.inc
@@ -4,7 +4,7 @@
DEFAULTTUNE ?= "armv7m"
TUNEVALID[armv7m] = "Enable instructions for ARMv7-m"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 'armv7m:', '', d)}"
TUNECONFLICTS[armv7m] = "armv4 armv5 armv6 armv7a"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7r.inc b/poky/meta/conf/machine/include/arm/arch-armv7r.inc
new file mode 100644
index 0000000000..fac26cf4ad
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/arch-armv7r.inc
@@ -0,0 +1,22 @@
+#
+# Defaults for ARMv7-r
+#
+DEFAULTTUNE ?= "armv7r"
+
+TUNEVALID[armv7r] = "Enable instructions for ARMv7-r"
+TUNE_CCARGS_MARCH = "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', ' -march=armv7-r', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', 'armv7r:', '', d)}"
+
+TUNECONFLICTS[armv7r] = "armv4 armv5 armv6 armv7a"
+
+require conf/machine/include/arm/arch-armv6.inc
+require conf/machine/include/arm/feature-arm-idiv.inc
+require conf/machine/include/arm/feature-arm-neon.inc
+
+AVAILTUNES += "armv7r armv7r-vfpv3d16"
+ARMPKGARCH:tune-armv7r = "armv7r"
+ARMPKGARCH:tune-armv7r-vfpv3d16 = "armv7r"
+TUNE_FEATURES:tune-armv7r = "armv7r"
+TUNE_FEATURES:tune-armv7r-vfpv3d16 = "${TUNE_FEATURES:tune-armv7r} vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7r = "armv7r"
+PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r} tune-armv7r-fpv3d16"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv7ve.inc b/poky/meta/conf/machine/include/arm/arch-armv7ve.inc
index b40c2ca8ad..8102ae6085 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv7ve.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv7ve.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv7vethf"
TUNEVALID[armv7ve] = "Enable instructions for ARMv7ve"
TUNECONFLICTS[armv7ve] = "armv4 armv5 armv6 armv7 armv7a"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 'armv7ve:', '', d)}"
require conf/machine/include/arm/arch-armv7a.inc
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc b/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc
index 9171b31c90..5b1bcb8f46 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8-1m-main.inc
@@ -5,7 +5,7 @@
DEFAULTTUNE ?= "armv8-1m-main"
TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', 'armv8-1m-main:', '', d)}"
TUNECONFLICTS[armv8-1m-main] = "armv4 armv5 armv6 armv7a"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc b/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc
index c84b1ecf24..30f2870811 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8-2a.inc
@@ -1,7 +1,7 @@
DEFAULTTUNE ?= "armv8-2a"
TUNEVALID[armv8-2a] = "Enable instructions for ARMv8-a"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}"
# TUNE crypto will be handled by arch-armv8a.inc below
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', 'armv8-2a:', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8a.inc b/poky/meta/conf/machine/include/arm/arch-armv8a.inc
index 819dffbeba..97c944dfa5 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8a.inc
@@ -1,14 +1,12 @@
DEFAULTTUNE ?= "armv8a-crc"
TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}"
-TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check (CRC)"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}"
-TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}"
require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/arm/feature-arm-crc.inc
+require conf/machine/include/arm/feature-arm-crypto.inc
# Little Endian base configs
AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc b/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc
index d9a341c66e..ffee8cea80 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8m-base.inc
@@ -4,7 +4,7 @@
DEFAULTTUNE ?= "armv8m-base"
TUNEVALID[armv8m-base] = "Enable instructions for ARMv8-m.base"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', 'armv8m-base:', '', d)}"
TUNECONFLICTS[armv8m-base] = "armv4 armv5 armv6 armv7a"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc b/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc
index 27f552b2d7..01bef35428 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8m-main.inc
@@ -4,24 +4,16 @@
DEFAULTTUNE ?= "armv8m-main"
require conf/machine/include/arm/arch-armv8m-base.inc
+require conf/machine/include/arm/feature-arm-dsp.inc
+require conf/machine/include/arm/feature-arm-neon.inc
TUNEVALID[armv8m-main] = "Enable instructions for ARMv8-m.main"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main${MARCH_DSP}${MARCH_FPU}', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', 'armv8m-main:', '', d)}"
TUNECONFLICTS[armv8m-main] = "armv4 armv5 armv6 armv7a"
-# FIXME - below taken from meta/conf/machine/include/arm/arch-armv5-dsp.inc and should be put into something more generic
-TUNEVALID[dsp] = "ARM DSP functionality"
-ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
-MARCH_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '+nodsp', d)}"
-
-# FIXME - Below belongs in meta/conf/machine/include/arm/feature-arm-neon.inc
-TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit."
-TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}"
-MARCH_FPU = "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv5spd16' ], '+fp', '+nofp', d)}"
-
-AVAILTUNES += "armv8m-main armv8m-mainearmv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16"
+AVAILTUNES += "armv8m-main armv8m-maine armv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16"
ARMPKGARCH:tune-armv8m-main = "armv8m-main"
ARMPKGARCH:tune-armv8m-maine = "armv8m-main"
ARMPKGARCH:tune-armv8m-main-vfpv5spd16 = "armv8m-main"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8r.inc b/poky/meta/conf/machine/include/arm/arch-armv8r.inc
new file mode 100644
index 0000000000..0dcfd34c1a
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/arch-armv8r.inc
@@ -0,0 +1,37 @@
+#
+# Defaults for ARMv8-r
+#
+DEFAULTTUNE ?= "armv8r"
+
+TUNEVALID[armv8r] = "Enable instructions for ARMv8-r"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', ' -march=armv8-r', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', 'armv8r:', '', d)}"
+
+require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/arm/feature-arm-crc.inc
+require conf/machine/include/arm/feature-arm-crypto.inc
+
+# All ARMv8 has floating point hardware built in. Null it here to avoid any confusion for 32bit.
+TARGET_FPU_32 = ""
+
+AVAILTUNES += "armv8r armv8r-crc armv8r-crypto armv8r-simd armv8r-crc-crypto armv8r-crc-simd armv8r-crc-crypto-simd"
+ARMPKGARCH:tune-armv8r = "armv8r"
+ARMPKGARCH:tune-armv8r-crc = "armv8r"
+ARMPKGARCH:tune-armv8r-crypto = "armv8r"
+ARMPKGARCH:tune-armv8r-simd = "armv8r"
+ARMPKGARCH:tune-armv8r-crc-crypto = "armv8r"
+ARMPKGARCH:tune-armv8r-crc-simd = "armv8r"
+ARMPKGARCH:tune-armv8r-crc-crypto-simd = "armv8r"
+TUNE_FEATURES:tune-armv8r = "armv8r"
+TUNE_FEATURES:tune-armv8r-crc = "${TUNE_FEATURES:tune-armv8r} crc"
+TUNE_FEATURES:tune-armv8r-crypto = "${TUNE_FEATURES:tune-armv8r} crypto"
+TUNE_FEATURES:tune-armv8r-simd = "${TUNE_FEATURES:tune-armv8r} simd"
+TUNE_FEATURES:tune-armv8r-crc-crypto = "${TUNE_FEATURES:tune-armv8r-crc} crypto"
+TUNE_FEATURES:tune-armv8r-crc-simd = "${TUNE_FEATURES:tune-armv8r-crc} simd"
+TUNE_FEATURES:tune-armv8r-crc-crypto-simd = "${TUNE_FEATURES:tune-armv8r-crc-crypto} simd"
+PACKAGE_EXTRA_ARCHS:tune-armv8r = "armv8r"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-crc = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-crc"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r} armv8r-simd"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc} armv8r-simd armv8r-crc-simd"
+PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-crypto-simd = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} armv8r-crc-crypto-simd"
diff --git a/poky/meta/conf/machine/include/tune-arm920t.inc b/poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc
index 8a615792df..1b1cbdb5a7 100644
--- a/poky/meta/conf/machine/include/tune-arm920t.inc
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-arm920t.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv4t"
+DEFAULTTUNE ?= "arm920t"
require conf/machine/include/arm/arch-armv4.inc
diff --git a/poky/meta/conf/machine/include/tune-arm9tdmi.inc b/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc
index 5ab286b576..78b890b43c 100644
--- a/poky/meta/conf/machine/include/tune-arm9tdmi.inc
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-arm9tdmi.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv4t"
+DEFAULTTUNE ?= "arm9tdmi"
require conf/machine/include/arm/arch-armv4.inc
diff --git a/poky/meta/conf/machine/include/tune-ep9312.inc b/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc
index 0d481d3888..0d481d3888 100644
--- a/poky/meta/conf/machine/include/tune-ep9312.inc
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-ep9312.inc
diff --git a/poky/meta/conf/machine/include/tune-strongarm1100.inc b/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc
index 6f5033bbc1..38ea9b7dd5 100644
--- a/poky/meta/conf/machine/include/tune-strongarm1100.inc
+++ b/poky/meta/conf/machine/include/arm/armv4/tune-strongarm1100.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv4"
+DEFAULTTUNE ?= "strongarm"
require conf/machine/include/arm/arch-armv4.inc
diff --git a/poky/meta/conf/machine/include/tune-arm926ejs.inc b/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc
index 84c5084868..84c5084868 100644
--- a/poky/meta/conf/machine/include/tune-arm926ejs.inc
+++ b/poky/meta/conf/machine/include/arm/armv5/tune-arm926ejs.inc
diff --git a/poky/meta/conf/machine/include/tune-iwmmxt.inc b/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc
index c584b47d18..c584b47d18 100644
--- a/poky/meta/conf/machine/include/tune-iwmmxt.inc
+++ b/poky/meta/conf/machine/include/arm/armv5/tune-iwmmxt.inc
diff --git a/poky/meta/conf/machine/include/tune-xscale.inc b/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc
index cc67dcd304..cc67dcd304 100644
--- a/poky/meta/conf/machine/include/tune-xscale.inc
+++ b/poky/meta/conf/machine/include/arm/armv5/tune-xscale.inc
diff --git a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc b/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc
index b848580948..b848580948 100644
--- a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/poky/meta/conf/machine/include/arm/armv6/tune-arm1136jf-s.inc
diff --git a/poky/meta/conf/machine/include/tune-arm1176jz-s.inc b/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc
index 21d77f081e..21d77f081e 100644
--- a/poky/meta/conf/machine/include/tune-arm1176jz-s.inc
+++ b/poky/meta/conf/machine/include/arm/armv6/tune-arm1176jz-s.inc
diff --git a/poky/meta/conf/machine/include/tune-cortex-m0.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc
index aadc5326ce..aadc5326ce 100644
--- a/poky/meta/conf/machine/include/tune-cortex-m0.inc
+++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0.inc
diff --git a/poky/meta/conf/machine/include/tune-cortex-m0plus.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc
index a3cf3f0bd2..a3cf3f0bd2 100644
--- a/poky/meta/conf/machine/include/tune-cortex-m0plus.inc
+++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm0plus.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexm1.inc b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc
index 16661f3a26..16661f3a26 100644
--- a/poky/meta/conf/machine/include/tune-cortexm1.inc
+++ b/poky/meta/conf/machine/include/arm/armv6m/tune-cortexm1.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa15.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc
index 66bc124dc0..e827afb2a0 100644
--- a/poky/meta/conf/machine/include/tune-cortexa15.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa15.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7vethf-neon"
+DEFAULTTUNE ?= "cortexa15thf-neon"
require conf/machine/include/arm/arch-armv7ve.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa17.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc
index 324673d440..3ad00b16d8 100644
--- a/poky/meta/conf/machine/include/tune-cortexa17.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa17.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7vethf-neon"
+DEFAULTTUNE ?= "cortexa17thf-neon"
require conf/machine/include/arm/arch-armv7ve.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa5.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc
index 817eb166d6..0de5aadaaa 100644
--- a/poky/meta/conf/machine/include/tune-cortexa5.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa5.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7athf-neon"
+DEFAULTTUNE ?= "cortexa5thf-neon"
require conf/machine/include/arm/arch-armv7a.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa7.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc
index 5384369b59..1ada527d8b 100644
--- a/poky/meta/conf/machine/include/tune-cortexa7.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa7.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7vethf-neon"
+DEFAULTTUNE ?= "cortexa7thf-neon"
require conf/machine/include/arm/arch-armv7ve.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa8.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc
index e27002a29a..952302afa2 100644
--- a/poky/meta/conf/machine/include/tune-cortexa8.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa8.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7athf-neon"
+DEFAULTTUNE ?= "cortexa8thf-neon"
require conf/machine/include/arm/arch-armv7a.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa9.inc b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc
index d046a11a51..4b4a52884d 100644
--- a/poky/meta/conf/machine/include/tune-cortexa9.inc
+++ b/poky/meta/conf/machine/include/arm/armv7a/tune-cortexa9.inc
@@ -1,4 +1,4 @@
-DEFAULTTUNE ?= "armv7athf-neon"
+DEFAULTTUNE ?= "cortexa9thf-neon"
require conf/machine/include/arm/arch-armv7a.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexm3.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc
index a6cb566387..a6cb566387 100644
--- a/poky/meta/conf/machine/include/tune-cortexm3.inc
+++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm3.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexm4.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc
index e86622ff3d..e86622ff3d 100644
--- a/poky/meta/conf/machine/include/tune-cortexm4.inc
+++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm4.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexm7.inc b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc
index 6434ec6398..6434ec6398 100644
--- a/poky/meta/conf/machine/include/tune-cortexm7.inc
+++ b/poky/meta/conf/machine/include/arm/armv7m/tune-cortexm7.inc
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc
new file mode 100644
index 0000000000..0eed729630
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R4
+#
+DEFAULTTUNE ?= "cortexr4"
+
+TUNEVALID[cortexr4] = "Enable Cortex-R4 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr4', ' -mcpu=cortex-r4', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr4"
+ARMPKGARCH:tune-cortexr4 = "cortexr4"
+TUNE_FEATURES:tune-cortexr4 = "${TUNE_FEATURES:tune-armv7r} cortexr4"
+PACKAGE_EXTRA_ARCHS:tune-cortexr4 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r} cortexr4"
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc
new file mode 100644
index 0000000000..0712b3ab1b
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R4F
+#
+DEFAULTTUNE ?= "cortexr4f"
+
+TUNEVALID[cortexr4f] = "Enable Cortex-R4F specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr4f', ' -mcpu=cortex-r4f', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr4f"
+ARMPKGARCH:tune-cortexr4f = "cortexr4f"
+TUNE_FEATURES:tune-cortexr4f = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr4f"
+PACKAGE_EXTRA_ARCHS:tune-cortexr4f = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr4f-vfpv3d16"
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc
new file mode 100644
index 0000000000..ecaaa0d846
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R5
+#
+DEFAULTTUNE ?= "cortexr5"
+
+TUNEVALID[cortexr5] = "Enable Cortex-R5 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -mcpu=cortex-r5', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr5"
+ARMPKGARCH:tune-cortexr5 = "cortexr5"
+TUNE_FEATURES:tune-cortexr5 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr5 idiv"
+PACKAGE_EXTRA_ARCHS:tune-cortexr5 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr5-vfpv3d16"
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc
new file mode 100644
index 0000000000..bfae1f0075
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R7
+#
+DEFAULTTUNE ?= "cortexr7"
+
+TUNEVALID[cortexr7] = "Enable Cortex-R7 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr7', ' -mcpu=cortex-r7', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr7"
+ARMPKGARCH:tune-cortexr7 = "cortexr7"
+TUNE_FEATURES:tune-cortexr7 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr7 idiv"
+PACKAGE_EXTRA_ARCHS:tune-cortexr7 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr7-vfpv3d16"
diff --git a/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc
new file mode 100644
index 0000000000..7fb824f6e9
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R8
+#
+DEFAULTTUNE ?= "cortexr8"
+
+TUNEVALID[cortexr8] = "Enable Cortex-R8 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr8', ' -mcpu=cortex-r8', '', d)}"
+
+require conf/machine/include/arm/arch-armv7r.inc
+
+AVAILTUNES += "cortexr8"
+ARMPKGARCH:tune-cortexr8 = "cortexr8"
+TUNE_FEATURES:tune-cortexr8 = "${TUNE_FEATURES:tune-armv7r-vfpv3d16} cortexr8 idiv"
+PACKAGE_EXTRA_ARCHS:tune-cortexr8 = "${PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16} cortexr8-vfpv3d16"
diff --git a/poky/meta/conf/machine/include/tune-cortexa55.inc b/poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
index d130b4b90a..d130b4b90a 100644
--- a/poky/meta/conf/machine/include/tune-cortexa55.inc
+++ b/poky/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa32.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc
index c7b01a2906..c7b01a2906 100644
--- a/poky/meta/conf/machine/include/tune-cortexa32.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa32.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa35.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc
index 33afb19386..33afb19386 100644
--- a/poky/meta/conf/machine/include/tune-cortexa35.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa35.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc
index a534ad358d..a534ad358d 100644
--- a/poky/meta/conf/machine/include/tune-cortexa53.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa53.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc
index 7de671a2e5..7de671a2e5 100644
--- a/poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa57.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc
index 37650d8798..37650d8798 100644
--- a/poky/meta/conf/machine/include/tune-cortexa57.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa57.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa72-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
index a77ef59d62..a77ef59d62 100644
--- a/poky/meta/conf/machine/include/tune-cortexa72-cortexa53.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa72.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
index 2a510bd45b..2a510bd45b 100644
--- a/poky/meta/conf/machine/include/tune-cortexa72.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
diff --git a/poky/meta/conf/machine/include/tune-cortexa73-cortexa53.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc
index 9cebffd54d..9cebffd54d 100644
--- a/poky/meta/conf/machine/include/tune-cortexa73-cortexa53.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc
diff --git a/poky/meta/conf/machine/include/tune-thunderx.inc b/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc
index 7bc6282be8..7bc6282be8 100644
--- a/poky/meta/conf/machine/include/tune-thunderx.inc
+++ b/poky/meta/conf/machine/include/arm/armv8a/tune-thunderx.inc
diff --git a/poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc b/poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
new file mode 100644
index 0000000000..3a97cf8ee8
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
@@ -0,0 +1,14 @@
+#
+# Tune Settings for Cortex-R52
+#
+DEFAULTTUNE ?= "cortexr52"
+
+TUNEVALID[cortexr52] = "Enable Cortex-R52 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr52', ' -mcpu=cortex-r52', '', d)}"
+
+require conf/machine/include/arm/arch-armv8r.inc
+
+AVAILTUNES += "cortexr52"
+ARMPKGARCH:tune-cortexr52 = "cortexr52"
+TUNE_FEATURES:tune-cortexr52 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr52"
+PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-crc.inc b/poky/meta/conf/machine/include/arm/feature-arm-crc.inc
new file mode 100644
index 0000000000..8a69d2e2fa
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-crc.inc
@@ -0,0 +1,4 @@
+# Cyclic Redundancy Check (CRC) instructions for armv8-a and armv8-r
+
+TUNEVALID[crc] = "Enable instructions for ARMv8 Cyclic Redundancy Check (CRC)"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-crypto.inc b/poky/meta/conf/machine/include/arm/feature-arm-crypto.inc
new file mode 100644
index 0000000000..aade6ce08d
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-crypto.inc
@@ -0,0 +1,5 @@
+# Cryptographic instructions for:
+# armv8-a, armv8.1-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, and armv8-r
+
+TUNEVALID[crypto] = "Enable cryptographic instructions for ARMv8"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-dsp.inc b/poky/meta/conf/machine/include/arm/feature-arm-dsp.inc
new file mode 100644
index 0000000000..7f7ada7461
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-dsp.inc
@@ -0,0 +1,3 @@
+ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}"
+TUNEVALID[dsp] = "ARM DSP functionality"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-idiv.inc b/poky/meta/conf/machine/include/arm/feature-arm-idiv.inc
new file mode 100644
index 0000000000..0ea42b1b39
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-idiv.inc
@@ -0,0 +1,2 @@
+TUNEVALID[idiv] = "ARM-state integer division instructions"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'idiv', '+idiv', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-neon.inc b/poky/meta/conf/machine/include/arm/feature-arm-neon.inc
index eaddd054ce..174b9b9f2a 100644
--- a/poky/meta/conf/machine/include/arm/feature-arm-neon.inc
+++ b/poky/meta/conf/machine/include/arm/feature-arm-neon.inc
@@ -19,3 +19,8 @@ TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv4', 'neon' ],
TUNEVALID[vfpv4d16] = "Enable Vector Floating Point Version 4 with 16 registers (vfpv4-d16) unit."
TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv4d16', ' vfpv4-d16', '', d)}"
+
+TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit."
+TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}"
+
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv3d16', 'vfpv5spd16' ], '+fp', '', d)}"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-simd.inc b/poky/meta/conf/machine/include/arm/feature-arm-simd.inc
new file mode 100644
index 0000000000..1afaf8d901
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-simd.inc
@@ -0,0 +1,5 @@
+# Advanced SIMD and floating-point instructions for armv7-a, armv7ve,
+# armv8-a, armv8.1-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, and armv8-r
+
+TUNEVALID[simd] = "Enable instructions for Advanced SIMD and floating-point units"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'simd', '+simd', '', d)}"
diff --git a/poky/meta/conf/machine/include/tune-mcf5441x.inc b/poky/meta/conf/machine/include/m68k/tune-mcf5441x.inc
index 7eefce03cb..7eefce03cb 100644
--- a/poky/meta/conf/machine/include/tune-mcf5441x.inc
+++ b/poky/meta/conf/machine/include/m68k/tune-mcf5441x.inc
diff --git a/poky/meta/conf/machine/include/tune-microblaze.inc b/poky/meta/conf/machine/include/microblaze/tune-microblaze.inc
index 11f7233cf4..11f7233cf4 100644
--- a/poky/meta/conf/machine/include/tune-microblaze.inc
+++ b/poky/meta/conf/machine/include/microblaze/tune-microblaze.inc
diff --git a/poky/meta/conf/machine/include/qemuboot-mips.inc b/poky/meta/conf/machine/include/mips/qemuboot-mips.inc
index 4954f3068c..4954f3068c 100644
--- a/poky/meta/conf/machine/include/qemuboot-mips.inc
+++ b/poky/meta/conf/machine/include/mips/qemuboot-mips.inc
diff --git a/poky/meta/conf/machine/include/mips/tune-mips-24k.inc b/poky/meta/conf/machine/include/mips/tune-mips-24k.inc
index ed6566587d..106ff62fbb 100644
--- a/poky/meta/conf/machine/include/mips/tune-mips-24k.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips-24k.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "mips32r2-24kc"
MIPSPKGSFX_MIPS16E ??= ""
-require conf/machine/include/tune-mips32r2.inc
+require conf/machine/include/mips/tune-mips32r2.inc
require conf/machine/include/mips/feature-mips-mips16e.inc
diff --git a/poky/meta/conf/machine/include/mips/tune-mips-74k.inc b/poky/meta/conf/machine/include/mips/tune-mips-74k.inc
index 988cfaef6e..e4927a1ce0 100644
--- a/poky/meta/conf/machine/include/mips/tune-mips-74k.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips-74k.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "mips32r2-74kc"
MIPSPKGSFX_MIPS16E ??= ""
-require conf/machine/include/tune-mips32r2.inc
+require conf/machine/include/mips/tune-mips32r2.inc
require conf/machine/include/mips/feature-mips-mips16e.inc
diff --git a/poky/meta/conf/machine/include/tune-mips32.inc b/poky/meta/conf/machine/include/mips/tune-mips32.inc
index 820087f59d..820087f59d 100644
--- a/poky/meta/conf/machine/include/tune-mips32.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips32.inc
diff --git a/poky/meta/conf/machine/include/tune-mips32r2.inc b/poky/meta/conf/machine/include/mips/tune-mips32r2.inc
index e7f6753d3d..c868e925e9 100644
--- a/poky/meta/conf/machine/include/tune-mips32r2.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips32r2.inc
@@ -1,6 +1,6 @@
DEFAULTTUNE ?= "mips32r2"
-require conf/machine/include/tune-mips32.inc
+require conf/machine/include/mips/tune-mips32.inc
TUNEVALID[mips32r2] = "Enable mips32r2 specific processor optimizations"
TUNECONFLICTS[mips32r2] = "n64 n32"
diff --git a/poky/meta/conf/machine/include/tune-mips32r6.inc b/poky/meta/conf/machine/include/mips/tune-mips32r6.inc
index 9904cc0b11..9904cc0b11 100644
--- a/poky/meta/conf/machine/include/tune-mips32r6.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips32r6.inc
diff --git a/poky/meta/conf/machine/include/mips/tune-mips64.inc b/poky/meta/conf/machine/include/mips/tune-mips64.inc
new file mode 100644
index 0000000000..a9080159fc
--- /dev/null
+++ b/poky/meta/conf/machine/include/mips/tune-mips64.inc
@@ -0,0 +1,3 @@
+DEFAULTTUNE ?= "mips64"
+
+require conf/machine/include/mips/tune-mips32r2.inc
diff --git a/poky/meta/conf/machine/include/tune-mips64r2.inc b/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
index 6337abb09f..c644f40918 100644
--- a/poky/meta/conf/machine/include/tune-mips64r2.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
@@ -1,6 +1,6 @@
DEFAULTTUNE ?= "mips64r2"
-require conf/machine/include/tune-mips64.inc
+require conf/machine/include/mips/tune-mips64.inc
TUNEVALID[mips64r2] = "Enable mips64r2 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips64r2', ' -march=mips64r2', '', d)}"
diff --git a/poky/meta/conf/machine/include/tune-mips64r6.inc b/poky/meta/conf/machine/include/mips/tune-mips64r6.inc
index b4a7e9ef1b..b4a7e9ef1b 100644
--- a/poky/meta/conf/machine/include/tune-mips64r6.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips64r6.inc
diff --git a/poky/meta/conf/machine/include/tune-octeon.inc b/poky/meta/conf/machine/include/mips/tune-octeon.inc
index 455c6a2f33..d4670e3259 100644
--- a/poky/meta/conf/machine/include/tune-octeon.inc
+++ b/poky/meta/conf/machine/include/mips/tune-octeon.inc
@@ -1,6 +1,6 @@
DEFAULTTUNE ?="octeon2"
-require conf/machine/include/tune-mips64.inc
+require conf/machine/include/mips/tune-mips64.inc
AVAILTUNES += "octeon2 octeon2_64 octeon3 octeon3_64"
diff --git a/poky/meta/conf/machine/include/tune-power5.inc b/poky/meta/conf/machine/include/powerpc/tune-power5.inc
index e70e401217..e70e401217 100644
--- a/poky/meta/conf/machine/include/tune-power5.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-power5.inc
diff --git a/poky/meta/conf/machine/include/tune-power6.inc b/poky/meta/conf/machine/include/powerpc/tune-power6.inc
index eaf89515ca..eaf89515ca 100644
--- a/poky/meta/conf/machine/include/tune-power6.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-power6.inc
diff --git a/poky/meta/conf/machine/include/tune-power7.inc b/poky/meta/conf/machine/include/powerpc/tune-power7.inc
index 4531ddd85f..4531ddd85f 100644
--- a/poky/meta/conf/machine/include/tune-power7.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-power7.inc
diff --git a/poky/meta/conf/machine/include/tune-power9.inc b/poky/meta/conf/machine/include/powerpc/tune-power9.inc
index 6744731f8e..6744731f8e 100644
--- a/poky/meta/conf/machine/include/tune-power9.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-power9.inc
diff --git a/poky/meta/conf/machine/include/tune-ppc476.inc b/poky/meta/conf/machine/include/powerpc/tune-ppc476.inc
index 54152cb941..54152cb941 100644
--- a/poky/meta/conf/machine/include/tune-ppc476.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppc476.inc
diff --git a/poky/meta/conf/machine/include/tune-ppc603e.inc b/poky/meta/conf/machine/include/powerpc/tune-ppc603e.inc
index 8beec00f24..8beec00f24 100644
--- a/poky/meta/conf/machine/include/tune-ppc603e.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppc603e.inc
diff --git a/poky/meta/conf/machine/include/tune-ppc7400.inc b/poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc
index 1e2c9fc2ce..1e2c9fc2ce 100644
--- a/poky/meta/conf/machine/include/tune-ppc7400.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppc7400.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce300c2.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce300c2.inc
index 90171c76d5..90171c76d5 100644
--- a/poky/meta/conf/machine/include/tune-ppce300c2.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce300c2.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce300c3.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce300c3.inc
index b74b6ad976..b74b6ad976 100644
--- a/poky/meta/conf/machine/include/tune-ppce300c3.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce300c3.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce500.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce500.inc
index aceab321b7..aceab321b7 100644
--- a/poky/meta/conf/machine/include/tune-ppce500.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce500.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce500mc.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc
index e3524a10ca..e3524a10ca 100644
--- a/poky/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce500mc.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce500v2.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc
index 461164d818..461164d818 100644
--- a/poky/meta/conf/machine/include/tune-ppce500v2.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce500v2.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce5500.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc
index 2cf7b1737c..2cf7b1737c 100644
--- a/poky/meta/conf/machine/include/tune-ppce5500.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce5500.inc
diff --git a/poky/meta/conf/machine/include/tune-ppce6500.inc b/poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc
index e78de350ad..e78de350ad 100644
--- a/poky/meta/conf/machine/include/tune-ppce6500.inc
+++ b/poky/meta/conf/machine/include/powerpc/tune-ppce6500.inc
diff --git a/poky/meta/conf/machine/include/tune-sh3.inc b/poky/meta/conf/machine/include/sh/tune-sh3.inc
index 77d0b71fc4..77d0b71fc4 100644
--- a/poky/meta/conf/machine/include/tune-sh3.inc
+++ b/poky/meta/conf/machine/include/sh/tune-sh3.inc
diff --git a/poky/meta/conf/machine/include/tune-sh4.inc b/poky/meta/conf/machine/include/sh/tune-sh4.inc
index e21ede36c4..b4893a4748 100644
--- a/poky/meta/conf/machine/include/tune-sh4.inc
+++ b/poky/meta/conf/machine/include/sh/tune-sh4.inc
@@ -6,7 +6,7 @@ require conf/machine/include/sh/arch-sh.inc
TUNEVALID[sh4] = "Enable SH4 optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'sh4', ' -m4', '', d)}"
-# NOTE: If you want to optimize to sh4a, conf/machine/include/tune-sh4a.inc.
+# NOTE: If you want to optimize to sh4a, conf/machine/include/sh/tune-sh4a.inc.
# But it is not compatible for sh4.
# The binary optimized by m4a doesn't operate on sh4. It works on sh4a only.
TUNEVALID[sh4a] = "Enable SH4a optimizations"
diff --git a/poky/meta/conf/machine/include/tune-mips64.inc b/poky/meta/conf/machine/include/tune-mips64.inc
deleted file mode 100644
index 9be0e0f8d9..0000000000
--- a/poky/meta/conf/machine/include/tune-mips64.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFAULTTUNE ?= "mips64"
-
-require conf/machine/include/tune-mips32r2.inc
diff --git a/poky/meta/conf/machine/include/qemuboot-x86.inc b/poky/meta/conf/machine/include/x86/qemuboot-x86.inc
index d3b91070a8..d3b91070a8 100644
--- a/poky/meta/conf/machine/include/qemuboot-x86.inc
+++ b/poky/meta/conf/machine/include/x86/qemuboot-x86.inc
diff --git a/poky/meta/conf/machine/include/tune-atom.inc b/poky/meta/conf/machine/include/x86/tune-atom.inc
index 5e1bb74c6c..6b84fffc3f 100644
--- a/poky/meta/conf/machine/include/tune-atom.inc
+++ b/poky/meta/conf/machine/include/x86/tune-atom.inc
@@ -1,2 +1,2 @@
# Atom tunings are the same as core2 for now...
-require conf/machine/include/tune-core2.inc
+require conf/machine/include/x86/tune-core2.inc
diff --git a/poky/meta/conf/machine/include/tune-c3.inc b/poky/meta/conf/machine/include/x86/tune-c3.inc
index afae82541d..afae82541d 100644
--- a/poky/meta/conf/machine/include/tune-c3.inc
+++ b/poky/meta/conf/machine/include/x86/tune-c3.inc
diff --git a/poky/meta/conf/machine/include/tune-core2.inc b/poky/meta/conf/machine/include/x86/tune-core2.inc
index a551cad4d5..97b7c1b188 100644
--- a/poky/meta/conf/machine/include/tune-core2.inc
+++ b/poky/meta/conf/machine/include/x86/tune-core2.inc
@@ -9,7 +9,7 @@
DEFAULTTUNE ?= "core2-32"
# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
-require conf/machine/include/tune-i686.inc
+require conf/machine/include/x86/tune-i686.inc
# Extra tune features
TUNEVALID[core2] = "Enable core2 specific processor optimizations"
diff --git a/poky/meta/conf/machine/include/tune-corei7.inc b/poky/meta/conf/machine/include/x86/tune-corei7.inc
index bf1ac7a93b..7798288a74 100644
--- a/poky/meta/conf/machine/include/tune-corei7.inc
+++ b/poky/meta/conf/machine/include/x86/tune-corei7.inc
@@ -9,7 +9,7 @@
DEFAULTTUNE ?= "corei7-64"
# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
-require conf/machine/include/tune-core2.inc
+require conf/machine/include/x86/tune-core2.inc
# Extra tune features
TUNEVALID[corei7] = "Enable corei7 specific processor optimizations"
diff --git a/poky/meta/conf/machine/include/tune-i586-nlp.inc b/poky/meta/conf/machine/include/x86/tune-i586-nlp.inc
index ecfbf9f1b2..ecfbf9f1b2 100644
--- a/poky/meta/conf/machine/include/tune-i586-nlp.inc
+++ b/poky/meta/conf/machine/include/x86/tune-i586-nlp.inc
diff --git a/poky/meta/conf/machine/include/tune-i586.inc b/poky/meta/conf/machine/include/x86/tune-i586.inc
index b1299e9e91..b1299e9e91 100644
--- a/poky/meta/conf/machine/include/tune-i586.inc
+++ b/poky/meta/conf/machine/include/x86/tune-i586.inc
diff --git a/poky/meta/conf/machine/include/tune-i686.inc b/poky/meta/conf/machine/include/x86/tune-i686.inc
index 3feb4df8ba..293d81e6c5 100644
--- a/poky/meta/conf/machine/include/tune-i686.inc
+++ b/poky/meta/conf/machine/include/x86/tune-i686.inc
@@ -13,7 +13,7 @@ DEFAULTTUNE ?= "i686"
X86ARCH32 ?= "i686"
# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
-require conf/machine/include/tune-i586.inc
+require conf/machine/include/x86/tune-i586.inc
# Extra tune features
TUNEVALID[i686] = "Enable i686 specific processor optimizations"
diff --git a/poky/meta/conf/machine/include/x86-base.inc b/poky/meta/conf/machine/include/x86/x86-base.inc
index ef6690b0b9..958b3490e8 100644
--- a/poky/meta/conf/machine/include/x86-base.inc
+++ b/poky/meta/conf/machine/include/x86/x86-base.inc
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "5.10%"
+PREFERRED_VERSION_linux-yocto ??= "5.13%"
#
# XSERVER subcomponents, used to build the XSERVER variable
diff --git a/poky/meta/conf/machine/qemuarm.conf b/poky/meta/conf/machine/qemuarm.conf
index f893f1a76a..93d855b6e1 100644
--- a/poky/meta/conf/machine/qemuarm.conf
+++ b/poky/meta/conf/machine/qemuarm.conf
@@ -2,7 +2,7 @@
#@NAME: QEMU Arm Cortex-A15 machine
#@DESCRIPTION: Machine configuration for running an ARMv7 system on QEMU
-require conf/machine/include/tune-cortexa15.inc
+require conf/machine/include/arm/armv7a/tune-cortexa15.inc
require conf/machine/include/qemu.inc
KERNEL_IMAGETYPE = "zImage"
diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf
index 3dcb0d1b1e..ea7fae2722 100644
--- a/poky/meta/conf/machine/qemuarm64.conf
+++ b/poky/meta/conf/machine/qemuarm64.conf
@@ -2,7 +2,7 @@
#@NAME: QEMU ARMv8 machine
#@DESCRIPTION: Machine configuration for running an ARMv8 system on QEMU
-require conf/machine/include/tune-cortexa57.inc
+require conf/machine/include/arm/armv8a/tune-cortexa57.inc
require conf/machine/include/qemu.inc
KERNEL_IMAGETYPE = "Image"
diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf
index 7650c2f4a2..6c99a52965 100644
--- a/poky/meta/conf/machine/qemuarmv5.conf
+++ b/poky/meta/conf/machine/qemuarmv5.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for running an ARMv5 system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-arm926ejs.inc
+require conf/machine/include/arm/armv5/tune-arm926ejs.inc
KERNEL_IMAGETYPE = "zImage"
@@ -14,7 +14,7 @@ QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine versatilepb"
QB_KERNEL_CMDLINE_APPEND = "vmalloc=256"
QB_OPT_APPEND = "-usb -device usb-tablet"
-PREFERRED_VERSION_linux-yocto ??= "5.10%"
+PREFERRED_VERSION_linux-yocto ??= "5.13%"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
KMACHINE:qemuarmv5 = "qemuarm"
diff --git a/poky/meta/conf/machine/qemumips.conf b/poky/meta/conf/machine/qemumips.conf
index 9b602fcd1f..1cf21b92fe 100644
--- a/poky/meta/conf/machine/qemumips.conf
+++ b/poky/meta/conf/machine/qemumips.conf
@@ -3,8 +3,8 @@
#@DESCRIPTION: Machine configuration for running a MIPS system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-mips32r2.inc
-require conf/machine/include/qemuboot-mips.inc
+require conf/machine/include/mips/tune-mips32r2.inc
+require conf/machine/include/mips/qemuboot-mips.inc
KERNEL_IMAGETYPE = "vmlinux"
KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
diff --git a/poky/meta/conf/machine/qemumips64.conf b/poky/meta/conf/machine/qemumips64.conf
index b37d78989b..32351f993e 100644
--- a/poky/meta/conf/machine/qemumips64.conf
+++ b/poky/meta/conf/machine/qemumips64.conf
@@ -3,8 +3,8 @@
#@DESCRIPTION: Machine configuration for running a MIPS64 system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-mips64r2.inc
-require conf/machine/include/qemuboot-mips.inc
+require conf/machine/include/mips/tune-mips64r2.inc
+require conf/machine/include/mips/qemuboot-mips.inc
QB_CPU = "-cpu MIPS64R2-generic"
diff --git a/poky/meta/conf/machine/qemuppc.conf b/poky/meta/conf/machine/qemuppc.conf
index a84594f335..bab06e292e 100644
--- a/poky/meta/conf/machine/qemuppc.conf
+++ b/poky/meta/conf/machine/qemuppc.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for running a PPC system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-ppc7400.inc
+require conf/machine/include/powerpc/tune-ppc7400.inc
TARGET_CC_KERNEL_ARCH = "-mno-spe"
diff --git a/poky/meta/conf/machine/qemuppc64.conf b/poky/meta/conf/machine/qemuppc64.conf
index a5270e98ed..2902d541ad 100644
--- a/poky/meta/conf/machine/qemuppc64.conf
+++ b/poky/meta/conf/machine/qemuppc64.conf
@@ -3,7 +3,7 @@
#@DESCRIPTION: Machine configuration for running a PPC system on QEMU
require conf/machine/include/qemu.inc
-require conf/machine/include/tune-power9.inc
+require conf/machine/include/powerpc/tune-power9.inc
KERNEL_IMAGETYPE = "vmlinux"
diff --git a/poky/meta/conf/machine/qemux86-64.conf b/poky/meta/conf/machine/qemux86-64.conf
index db9004ee32..978334d5bb 100644
--- a/poky/meta/conf/machine/qemux86-64.conf
+++ b/poky/meta/conf/machine/qemux86-64.conf
@@ -9,8 +9,8 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
require conf/machine/include/qemu.inc
DEFAULTTUNE ?= "core2-64"
-require conf/machine/include/tune-core2.inc
-require conf/machine/include/qemuboot-x86.inc
+require conf/machine/include/x86/tune-core2.inc
+require conf/machine/include/x86/qemuboot-x86.inc
UBOOT_MACHINE ?= "qemu-x86_64_defconfig"
diff --git a/poky/meta/conf/machine/qemux86.conf b/poky/meta/conf/machine/qemux86.conf
index 7e6723b880..ad7f6e0ee4 100644
--- a/poky/meta/conf/machine/qemux86.conf
+++ b/poky/meta/conf/machine/qemux86.conf
@@ -9,8 +9,8 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
require conf/machine/include/qemu.inc
DEFAULTTUNE ?= "core2-32"
-require conf/machine/include/tune-corei7.inc
-require conf/machine/include/qemuboot-x86.inc
+require conf/machine/include/x86/tune-corei7.inc
+require conf/machine/include/x86/qemuboot-x86.inc
UBOOT_MACHINE ?= "qemu-x86_defconfig"
diff --git a/poky/meta/files/rust-ccld-wrapper.c b/poky/meta/files/rust-ccld-wrapper.c
new file mode 100644
index 0000000000..6bc9958b90
--- /dev/null
+++ b/poky/meta/files/rust-ccld-wrapper.c
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2021 Richard Purdie
+ *
+ * SPDX-License-Identifier: GPL-2.0-only
+ */
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+/*
+ * Run the original script (argv[0] + ".real") with LD_LIBRARY_PATH unset
+ * This avoids issues where cargo is running a wrapper script using /bin/sh from the host
+ * which links to something which has an incompatible version in in recipe-sysroot-native
+ * such as libtinfo on centos 7.
+ */
+
+int main(int argc, char* argv[]) {
+ char *real = malloc(strlen(argv[0] + 5));
+ strcpy(real, argv[0]);
+ strcpy(real + strlen(argv[0]), ".real");
+ putenv("LD_LIBRARY_PATH=");
+ if(execv(real, argv) == -1) {
+ printf("Wrapper failed to execute, error: %s\n", strerror(errno));
+ return -1;
+ }
+}
diff --git a/poky/meta/lib/crate.py b/poky/meta/lib/crate.py
new file mode 100644
index 0000000000..d10f441875
--- /dev/null
+++ b/poky/meta/lib/crate.py
@@ -0,0 +1,149 @@
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+"""
+BitBake 'Fetch' implementation for crates.io
+"""
+
+# Copyright (C) 2016 Doug Goldstein
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+
+import hashlib
+import json
+import os
+import shutil
+import subprocess
+import bb
+from bb.fetch2 import logger, subprocess_setup, UnpackError
+from bb.fetch2.wget import Wget
+
+
+class Crate(Wget):
+
+ """Class to fetch crates via wget"""
+
+ def _cargo_bitbake_path(self, rootdir):
+ return os.path.join(rootdir, "cargo_home", "bitbake")
+
+ def supports(self, ud, d):
+ """
+ Check to see if a given url is for this fetcher
+ """
+ return ud.type in ['crate']
+
+ def recommends_checksum(self, urldata):
+ return False
+
+ def urldata_init(self, ud, d):
+ """
+ Sets up to download the respective crate from crates.io
+ """
+
+ if ud.type == 'crate':
+ self._crate_urldata_init(ud, d)
+
+ super(Crate, self).urldata_init(ud, d)
+
+ def _crate_urldata_init(self, ud, d):
+ """
+ Sets up the download for a crate
+ """
+
+ # URL syntax is: crate://NAME/VERSION
+ # break the URL apart by /
+ parts = ud.url.split('/')
+ if len(parts) < 5:
+ raise bb.fetch2.ParameterError("Invalid URL: Must be crate://HOST/NAME/VERSION", ud.url)
+
+ # last field is version
+ version = parts[len(parts) - 1]
+ # second to last field is name
+ name = parts[len(parts) - 2]
+ # host (this is to allow custom crate registries to be specified
+ host = '/'.join(parts[2:len(parts) - 2])
+
+ # if using upstream just fix it up nicely
+ if host == 'crates.io':
+ host = 'crates.io/api/v1/crates'
+
+ ud.url = "https://%s/%s/%s/download" % (host, name, version)
+ ud.parm['downloadfilename'] = "%s-%s.crate" % (name, version)
+ ud.parm['name'] = name
+
+ logger.debug(2, "Fetching %s to %s" % (ud.url, ud.parm['downloadfilename']))
+
+ def unpack(self, ud, rootdir, d):
+ """
+ Uses the crate to build the necessary paths for cargo to utilize it
+ """
+ if ud.type == 'crate':
+ return self._crate_unpack(ud, rootdir, d)
+ else:
+ super(Crate, self).unpack(ud, rootdir, d)
+
+ def _crate_unpack(self, ud, rootdir, d):
+ """
+ Unpacks a crate
+ """
+ thefile = ud.localpath
+
+ # possible metadata we need to write out
+ metadata = {}
+
+ # change to the rootdir to unpack but save the old working dir
+ save_cwd = os.getcwd()
+ os.chdir(rootdir)
+
+ pn = d.getVar('BPN')
+ if pn == ud.parm.get('name'):
+ cmd = "tar -xz --no-same-owner -f %s" % thefile
+ else:
+ cargo_bitbake = self._cargo_bitbake_path(rootdir)
+
+ cmd = "tar -xz --no-same-owner -f %s -C %s" % (thefile, cargo_bitbake)
+
+ # ensure we've got these paths made
+ bb.utils.mkdirhier(cargo_bitbake)
+
+ # generate metadata necessary
+ with open(thefile, 'rb') as f:
+ # get the SHA256 of the original tarball
+ tarhash = hashlib.sha256(f.read()).hexdigest()
+
+ metadata['files'] = {}
+ metadata['package'] = tarhash
+
+ # path it
+ path = d.getVar('PATH')
+ if path:
+ cmd = "PATH=\"%s\" %s" % (path, cmd)
+ bb.note("Unpacking %s to %s/" % (thefile, os.getcwd()))
+
+ ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True)
+
+ os.chdir(save_cwd)
+
+ if ret != 0:
+ raise UnpackError("Unpack command %s failed with return value %s" % (cmd, ret), ud.url)
+
+ # if we have metadata to write out..
+ if len(metadata) > 0:
+ cratepath = os.path.splitext(os.path.basename(thefile))[0]
+ bbpath = self._cargo_bitbake_path(rootdir)
+ mdfile = '.cargo-checksum.json'
+ mdpath = os.path.join(bbpath, cratepath, mdfile)
+ with open(mdpath, "w") as f:
+ json.dump(metadata, f)
diff --git a/poky/meta/lib/oe/elf.py b/poky/meta/lib/oe/elf.py
index df0a4593fa..46c884a775 100644
--- a/poky/meta/lib/oe/elf.py
+++ b/poky/meta/lib/oe/elf.py
@@ -61,6 +61,14 @@ def machine_dict(d):
"microblaze": (189, 0, 0, False, 32),
"microblazeel":(189, 0, 0, True, 32),
},
+ "linux-android" : {
+ "aarch64" : (183, 0, 0, True, 64),
+ "i686": ( 3, 0, 0, True, 32),
+ "x86_64": (62, 0, 0, True, 64),
+ },
+ "linux-androideabi" : {
+ "arm" : (40, 97, 0, True, 32),
+ },
"linux-musl" : {
"aarch64" : (183, 0, 0, True, 64),
"aarch64_be" :(183, 0, 0, False, 64),
diff --git a/poky/meta/lib/oe/prservice.py b/poky/meta/lib/oe/prservice.py
index 15ce060ff6..339f7aebca 100644
--- a/poky/meta/lib/oe/prservice.py
+++ b/poky/meta/lib/oe/prservice.py
@@ -11,7 +11,6 @@ def prserv_make_conn(d, check = False):
if check:
if not conn.ping():
raise Exception('service not available')
- d.setVar("__PRSERV_CONN",conn)
except Exception as exc:
bb.fatal("Connecting to PR service %s:%s failed: %s" % (host_params[0], host_params[1], str(exc)))
@@ -22,31 +21,29 @@ def prserv_dump_db(d):
bb.error("Not using network based PR service")
return None
- conn = d.getVar("__PRSERV_CONN")
+ conn = prserv_make_conn(d)
if conn is None:
- conn = prserv_make_conn(d)
- if conn is None:
- bb.error("Making connection failed to remote PR service")
- return None
+ bb.error("Making connection failed to remote PR service")
+ return None
#dump db
opt_version = d.getVar('PRSERV_DUMPOPT_VERSION')
opt_pkgarch = d.getVar('PRSERV_DUMPOPT_PKGARCH')
opt_checksum = d.getVar('PRSERV_DUMPOPT_CHECKSUM')
opt_col = ("1" == d.getVar('PRSERV_DUMPOPT_COL'))
- return conn.export(opt_version, opt_pkgarch, opt_checksum, opt_col)
+ d = conn.export(opt_version, opt_pkgarch, opt_checksum, opt_col)
+ conn.close()
+ return d
def prserv_import_db(d, filter_version=None, filter_pkgarch=None, filter_checksum=None):
if not d.getVar('PRSERV_HOST'):
bb.error("Not using network based PR service")
return None
- conn = d.getVar("__PRSERV_CONN")
+ conn = prserv_make_conn(d)
if conn is None:
- conn = prserv_make_conn(d)
- if conn is None:
- bb.error("Making connection failed to remote PR service")
- return None
+ bb.error("Making connection failed to remote PR service")
+ return None
#get the entry values
imported = []
prefix = "PRAUTO$"
@@ -70,6 +67,7 @@ def prserv_import_db(d, filter_version=None, filter_pkgarch=None, filter_checksu
bb.error("importing(%s,%s,%s,%d) failed. DB may have larger value %d" % (version,pkgarch,checksum,value,ret))
else:
imported.append((version,pkgarch,checksum,value))
+ conn.close()
return imported
def prserv_export_tofile(d, metainfo, datainfo, lockdown, nomax=False):
@@ -125,4 +123,5 @@ def prserv_check_avail(d):
except TypeError:
bb.fatal('Undefined/incorrect PRSERV_HOST value. Format: "host:port"')
else:
- prserv_make_conn(d, True)
+ conn = prserv_make_conn(d, True)
+ conn.close()
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index a84039f585..238af314d1 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -344,7 +344,29 @@ def squashspaces(string):
import re
return re.sub(r"\s+", " ", string).strip()
-def format_pkg_list(pkg_dict, ret_format=None):
+def rprovides_map(pkgdata_dir, pkg_dict):
+ # Map file -> pkg provider
+ rprov_map = {}
+
+ for pkg in pkg_dict:
+ path_to_pkgfile = os.path.join(pkgdata_dir, 'runtime-reverse', pkg)
+ if not os.path.isfile(path_to_pkgfile):
+ continue
+ with open(path_to_pkgfile) as f:
+ for line in f:
+ if line.startswith('RPROVIDES') or line.startswith('FILERPROVIDES'):
+ # List all components provided by pkg.
+ # Exclude version strings, i.e. those starting with (
+ provides = [x for x in line.split()[1:] if not x.startswith('(')]
+ for prov in provides:
+ if prov in rprov_map:
+ rprov_map[prov].append(pkg)
+ else:
+ rprov_map[prov] = [pkg]
+
+ return rprov_map
+
+def format_pkg_list(pkg_dict, ret_format=None, pkgdata_dir=None):
output = []
if ret_format == "arch":
@@ -357,9 +379,15 @@ def format_pkg_list(pkg_dict, ret_format=None):
for pkg in sorted(pkg_dict):
output.append("%s %s %s" % (pkg, pkg_dict[pkg]["arch"], pkg_dict[pkg]["ver"]))
elif ret_format == "deps":
+ rprov_map = rprovides_map(pkgdata_dir, pkg_dict)
for pkg in sorted(pkg_dict):
for dep in pkg_dict[pkg]["deps"]:
- output.append("%s|%s" % (pkg, dep))
+ if dep in rprov_map:
+ # There could be multiple providers within the image
+ for pkg_provider in rprov_map[dep]:
+ output.append("%s|%s * %s [RPROVIDES]" % (pkg, pkg_provider, dep))
+ else:
+ output.append("%s|%s" % (pkg, dep))
else:
for pkg in sorted(pkg_dict):
output.append(pkg)
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index af8a8d67bd..5db0216597 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -98,6 +98,7 @@ ignore_errors = {
'qemux86' : [
'Failed to access perfctr msr (MSR',
'pci 0000:00:00.0: [Firmware Bug]: reg 0x..: invalid BAR (can\'t size)',
+ 'failed to IDENTIFY (I/O error, err_mask=0x4)',
] + qemux86_common,
'qemux86-64' : qemux86_common,
'qemumips' : [
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py
index 5a17ab98c6..9c9a84bf8a 100644
--- a/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py
+++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py
@@ -3,6 +3,7 @@
#
import os, tempfile
+import time
from oeqa.sdk.case import OESDKTestCase
from oeqa.utils.subprocesstweak import errors_have_output
errors_have_output()
@@ -20,4 +21,10 @@ class BuildTests(OESDKTestCase):
conf.write('\n')
conf.write('DL_DIR = "%s"\n' % self.td['DL_DIR'])
- self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir))
+ try:
+ self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir))
+ finally:
+ delay = 10
+ while delay and os.path.exists(testdir + "/bitbake.lock"):
+ time.sleep(1)
+ delay = delay - 1
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
new file mode 100644
index 0000000000..36ba15b134
--- /dev/null
+++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
@@ -0,0 +1,29 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+import os.path
+from oeqa.sdk.case import OESDKTestCase
+
+class GccTests(OESDKTestCase):
+ def test_verify_specs(self):
+ """
+ Verify that the compiler has been relocated successfully and isn't
+ looking in the hard-coded prefix.
+ """
+ # Canonicalise the SDK root
+ sdk_base = os.path.realpath(self.tc.sdk_dir)
+ # Canonicalise the location of GCC
+ gcc_path = os.path.realpath(self._run("command -v gcc").strip())
+ # Skip the test if the GCC didn't come from the buildtools, as it only
+ # comes with buildtools-extended-tarball.
+ if os.path.commonprefix((sdk_base, gcc_path)) != sdk_base:
+ self.skipTest("Buildtools does not provide GCC")
+
+ # This is the prefix that GCC is build with, and should be replaced at
+ # installation time.
+ sdkpath = self.td.get("SDKPATH")
+ self.assertTrue(sdkpath)
+
+ for line in self._run('gcc -dumpspecs').splitlines():
+ self.assertNotIn(sdkpath, line)
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py b/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
new file mode 100644
index 0000000000..134879aab3
--- /dev/null
+++ b/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
@@ -0,0 +1,20 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
+class HTTPTests(OESDKTestCase):
+ """
+ Verify that HTTPS certificates are working correctly, as this depends on
+ environment variables being set correctly.
+ """
+
+ def test_wget(self):
+ self._run('env -i wget --debug --output-document /dev/null https://www.example.com')
+
+ def test_python(self):
+ # urlopen() returns a file-like object on success and throws an exception otherwise
+ self._run('python3 -c \'import urllib.request; urllib.request.urlopen("https://www.example.com/")\'')
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index be49322f9c..f99881758e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -148,6 +148,30 @@ class BuildhistoryTests(BuildhistoryBase):
self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True)
self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error)
+ def test_fileinfo(self):
+ self.config_buildhistory()
+ bitbake('hicolor-icon-theme')
+ history_dir = get_bb_var('BUILDHISTORY_DIR_PACKAGE', 'hicolor-icon-theme')
+ self.assertTrue(os.path.isdir(history_dir), 'buildhistory dir was not created.')
+
+ def load_bh(f):
+ d = {}
+ for line in open(f):
+ split = [s.strip() for s in line.split('=', 1)]
+ if len(split) > 1:
+ d[split[0]] = split[1]
+ return d
+
+ data = load_bh(os.path.join(history_dir, 'hicolor-icon-theme', 'latest'))
+ self.assertIn('FILELIST', data)
+ self.assertEqual(data['FILELIST'], '/usr/share/icons/hicolor/index.theme')
+ self.assertGreater(int(data['PKGSIZE']), 0)
+
+ data = load_bh(os.path.join(history_dir, 'hicolor-icon-theme-dev', 'latest'))
+ if 'FILELIST' in data:
+ self.assertEqual(data['FILELIST'], '')
+ self.assertEqual(int(data['PKGSIZE']), 0)
+
class ArchiverTest(OESelftestTestCase):
def test_arch_work_dir_and_export_source(self):
"""
diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
index 4a45855d27..908979804a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -93,7 +93,7 @@ The following recipes do not have a DESCRIPTION. Please add an entry for DESCRIP
def is_maintainer_exception(entry):
exceptions = ["musl", "newlib", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran",
- "cve-update-db-native"]
+ "cve-update-db-native", "rust"]
for i in exceptions:
if i in entry:
return True
diff --git a/poky/meta/lib/oeqa/selftest/cases/glibc.py b/poky/meta/lib/oeqa/selftest/cases/glibc.py
index be9792330a..6f96281ea5 100644
--- a/poky/meta/lib/oeqa/selftest/cases/glibc.py
+++ b/poky/meta/lib/oeqa/selftest/cases/glibc.py
@@ -33,7 +33,7 @@ class GlibcSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
ptestsuite = "glibc-user" if ssh is None else "glibc"
self.ptest_section(ptestsuite)
- with open(os.path.join(builddir, "tests.sum"), "r") as f:
+ with open(os.path.join(builddir, "tests.sum"), "r", errors='replace') as f:
for test, result in parse_values(f):
self.ptest_result(ptestsuite, test, result)
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index 910ef0d301..e4582cb82a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -27,13 +27,17 @@ import datetime
# ruby-ri-docs, meson:
#https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210215-0_td9la2/packages/diff-html/
+# rust-llvm:
+#https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210825-kaihham6/
exclude_packages = [
'glide',
'go-helloworld',
'go-runtime',
'go_',
'go-',
- 'ruby-ri-docs'
+ 'ruby-ri-docs',
+ 'rust-llvm-liblto',
+ 'rust-llvm-staticdev'
]
def is_excluded(package):
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index 4cfec94d85..129503de63 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -212,12 +212,14 @@ class TestImage(OESelftestTestCase):
Author: Alexander Kanavin <alex.kanavin@gmail.com>
"""
import subprocess, os
+
+ render_hint = """If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one sutable for mesa llvmpipe sofware renderer."""
try:
content = os.listdir("/dev/dri")
if len([i for i in content if i.startswith('render')]) == 0:
- self.skipTest("No render nodes found in /dev/dri: %s" %(content))
+ self.skipTest("No render nodes found in /dev/dri: %s. %s" %(content, render_hint))
except FileNotFoundError:
- self.skipTest("/dev/dri directory does not exist; no render nodes available on this machine.")
+ self.skipTest("/dev/dri directory does not exist; no render nodes available on this machine. %s" %(render_hint))
try:
dripath = subprocess.check_output("pkg-config --variable=dridriverdir dri", shell=True)
except subprocess.CalledProcessError as e:
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index 2efbe514c1..3b4143414f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -11,6 +11,7 @@
import os
import sys
import unittest
+import hashlib
from glob import glob
from shutil import rmtree, copy
@@ -686,6 +687,63 @@ part /etc --source rootfs --fstype=ext4 --change-directory=etc
% (wks_file, self.resultdir), ignore_status=True).status)
os.remove(wks_file)
+ def test_no_fstab_update(self):
+ """Test --no-fstab-update wks option."""
+
+ oldpath = os.environ['PATH']
+ os.environ['PATH'] = get_bb_var("PATH", "wic-tools")
+
+ # Get stock fstab from base-files recipe
+ self.assertEqual(0, bitbake('base-files -c do_install').status)
+ bf_fstab = os.path.join(get_bb_var('D', 'base-files'), 'etc/fstab')
+ self.assertEqual(True, os.path.exists(bf_fstab))
+ bf_fstab_md5sum = runCmd('md5sum %s 2>/dev/null' % bf_fstab).output.split(" ")[0]
+
+ try:
+ no_fstab_update_path = os.path.join(self.resultdir, 'test-no-fstab-update')
+ os.makedirs(no_fstab_update_path)
+ wks_file = os.path.join(no_fstab_update_path, 'temp.wks')
+ with open(wks_file, 'w') as wks:
+ wks.writelines(['part / --source rootfs --fstype=ext4 --label rootfs\n',
+ 'part /mnt/p2 --source rootfs --rootfs-dir=core-image-minimal ',
+ '--fstype=ext4 --label p2 --no-fstab-update\n'])
+ runCmd("wic create %s -e core-image-minimal -o %s" \
+ % (wks_file, self.resultdir))
+
+ part_fstab_md5sum = []
+ for i in range(1, 3):
+ part = glob(os.path.join(self.resultdir, 'temp-*.direct.p') + str(i))[0]
+ part_fstab = runCmd("debugfs -R 'cat etc/fstab' %s 2>/dev/null" % (part))
+ part_fstab_md5sum.append(hashlib.md5((part_fstab.output + "\n\n").encode('utf-8')).hexdigest())
+
+ # '/etc/fstab' in partition 2 should contain the same stock fstab file
+ # as the one installed by the base-file recipe.
+ self.assertEqual(bf_fstab_md5sum, part_fstab_md5sum[1])
+
+ # '/etc/fstab' in partition 1 should contain an updated fstab file.
+ self.assertNotEqual(bf_fstab_md5sum, part_fstab_md5sum[0])
+
+ finally:
+ os.environ['PATH'] = oldpath
+
+ def test_no_fstab_update_errors(self):
+ """Test --no-fstab-update wks option error handling."""
+ wks_file = 'temp.wks'
+
+ # Absolute argument.
+ with open(wks_file, 'w') as wks:
+ wks.write("part / --source rootfs --fstype=ext4 --no-fstab-update /etc")
+ self.assertNotEqual(0, runCmd("wic create %s -e core-image-minimal -o %s" \
+ % (wks_file, self.resultdir), ignore_status=True).status)
+ os.remove(wks_file)
+
+ # Argument pointing to parent directory.
+ with open(wks_file, 'w') as wks:
+ wks.write("part / --source rootfs --fstype=ext4 --no-fstab-update ././..")
+ self.assertNotEqual(0, runCmd("wic create %s -e core-image-minimal -o %s" \
+ % (wks_file, self.resultdir), ignore_status=True).status)
+ os.remove(wks_file)
+
class Wic2(WicTestCase):
def test_bmap_short(self):
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index 5c9d2b24a3..d55248c497 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -123,7 +123,10 @@ class QemuRunner:
import fcntl
fl = fcntl.fcntl(o, fcntl.F_GETFL)
fcntl.fcntl(o, fcntl.F_SETFL, fl | os.O_NONBLOCK)
- return os.read(o.fileno(), 1000000).decode("utf-8")
+ try:
+ return os.read(o.fileno(), 1000000).decode("utf-8")
+ except BlockingIOError:
+ return ""
def handleSIGCHLD(self, signum, frame):
@@ -535,6 +538,8 @@ class QemuRunner:
if self.runqemu.poll() is None:
self.logger.debug("Sending SIGKILL to runqemu")
os.killpg(os.getpgid(self.runqemu.pid), signal.SIGKILL)
+ if not self.runqemu.stdout.closed:
+ self.logger.info("Output from runqemu:\n%s" % self.getOutput(self.runqemu.stdout))
self.runqemu.stdin.close()
self.runqemu.stdout.close()
self.runqemu_exited = True
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb
index ef3061c067..04dadc39d4 100644
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb
@@ -6,7 +6,6 @@ LICENSE = "GPLv2+ | BSD-2-Clause"
LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \
file://gnuefi/crt0-efi-aarch64.S;beginline=4;endline=16;md5=e582764a4776e60c95bf9ab617343d36 \
file://inc/efishellintf.h;beginline=13;endline=20;md5=202766b79d708eff3cc70fce15fb80c7 \
- file://inc/efishellparm.h;beginline=4;endline=11;md5=468b1231b05bbc84bae3a0d5774e3bb5 \
file://lib/arm/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
file://lib/arm/initplat.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
file://lib/aarch64/math.c;beginline=2;endline=15;md5=8ed772501da77b2b3345aa6df8744c9e \
@@ -19,7 +18,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/files/${BP}.tar.bz2 \
file://gnu-efi-3.0.9-fix-clang-build.patch \
"
-SRC_URI[sha256sum] = "2fccf715279c46ee69c4859186af8150d07a13f4d19876e5459cd65be82d3b7d"
+SRC_URI[sha256sum] = "b73b643a0d5697d1f396d7431448e886dd805668789578e3e1a28277c9528435"
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
COMPATIBLE_HOST:armv4 = 'null'
diff --git a/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb b/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
index 151e601fd2..783e30bf38 100644
--- a/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
+++ b/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
@@ -5,7 +5,7 @@ DESCRIPTION = "Grub might require different configuration file for \
different machines."
HOMEPAGE = "https://www.gnu.org/software/grub/manual/grub/grub.html#Configuration"
-RPROVIDES:${PN} += "virtual/grub-bootconf"
+RPROVIDES:${PN} += "virtual-grub-bootconf"
inherit grub-efi-cfg
diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb
index 96e9df88b6..a8cc209a02 100644
--- a/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb
+++ b/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb
@@ -5,7 +5,7 @@ require conf/image-uefi.conf
GRUBPLATFORM = "efi"
DEPENDS:append = " grub-native"
-RDEPENDS:${PN} = "grub-common virtual/grub-bootconf"
+RDEPENDS:${PN} = "grub-common virtual-grub-bootconf"
SRC_URI += " \
file://cfg \
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot.inc b/poky/meta/recipes-bsp/u-boot/u-boot.inc
index 971fdbb102..f27fdd5998 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot.inc
@@ -82,7 +82,7 @@ do_compile () {
for binary in ${UBOOT_BINARIES}; do
k=$(expr $k + 1);
if [ $k -eq $i ]; then
- cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
+ cp ${B}/${config}/${binary} ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX}
fi
done
@@ -117,9 +117,9 @@ do_install () {
j=$(expr $j + 1);
if [ $j -eq $i ]
then
- install -D -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
- ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
- ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
+ install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
+ ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
+ ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
# Install the uboot-initial-env
if [ -n "${UBOOT_INITIAL_ENV}" ]; then
@@ -184,9 +184,9 @@ do_install () {
j=$(expr $j + 1);
if [ $j -eq $i ]
then
- install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}-${type}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}
+ install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX}
+ ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}-${type}
+ ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}
fi
done
unset j
@@ -194,7 +194,7 @@ do_install () {
unset i
else
install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
- ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYNAME}
+ ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYFILE}
fi
fi
@@ -234,12 +234,12 @@ do_deploy () {
j=$(expr $j + 1);
if [ $j -eq $i ]
then
- install -D -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
+ install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
cd ${DEPLOYDIR}
- ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
- ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
- ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
- ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
+ ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
+ ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
+ ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
+ ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
# Deploy the uboot-initial-env
if [ -n "${UBOOT_INITIAL_ENV}" ]; then
@@ -315,12 +315,12 @@ do_deploy () {
j=$(expr $j + 1);
if [ $j -eq $i ]
then
- install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR}
- rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
- ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}
+ install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX}
+ rm -f ${DEPLOYDIR}/${SPL_BINARYFILE} ${DEPLOYDIR}/${SPL_SYMLINK}
+ ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}-${type}
+ ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}
+ ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
+ ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}
fi
done
unset j
diff --git a/poky/meta/recipes-bsp/usbutils/usbutils_013.bb b/poky/meta/recipes-bsp/usbutils/usbutils_014.bb
index db64a48759..ef3fd749c0 100644
--- a/poky/meta/recipes-bsp/usbutils/usbutils_013.bb
+++ b/poky/meta/recipes-bsp/usbutils/usbutils_014.bb
@@ -5,14 +5,15 @@ SECTION = "base"
LICENSE = "GPLv2+ & (GPLv2 | GPLv3)"
# License files went missing in 010, when 011 is released add LICENSES/* back
-LIC_FILES_CHKSUM = "file://lsusb.c;endline=1;md5=7d4861d978ff5ba7cb2b319ed1d4afe3 \
- file://lsusb.py.in;beginline=2;endline=2;md5=194d6a0226bf90f4f683e8968878b6cd"
+LIC_FILES_CHKSUM = "file://lsusb.c;endline=1;md5=7226e442a172bcf25807246d7ef1eba1 \
+ file://lsusb.py.in;beginline=2;endline=2;md5=c443ada211d701156e42ea36d41625b3 \
+ "
DEPENDS = "libusb1 virtual/libiconv udev"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \
"
-SRC_URI[sha256sum] = "efdfd5403dbdd7412de6bb897d5fbaae65ef3eb4332032c0e1f216216618e9a9"
+SRC_URI[sha256sum] = "59398ab012888dfe0fd12e447b45f36801e9d7b71d9a865fc38e2f549afdb9d0"
inherit autotools pkgconfig update-alternatives
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.19/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.20/0001-avoid-start-failure-with-bind-user.patch
index 8db96ec049..8db96ec049 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.19/0001-avoid-start-failure-with-bind-user.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.20/0001-avoid-start-failure-with-bind-user.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.19/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.20/0001-named-lwresd-V-and-start-log-hide-build-options.patch
index 5bcc16c9b2..5bcc16c9b2 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.19/0001-named-lwresd-V-and-start-log-hide-build-options.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.20/0001-named-lwresd-V-and-start-log-hide-build-options.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.19/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.20/bind-ensure-searching-for-json-headers-searches-sysr.patch
index f9cdc7ca4d..f9cdc7ca4d 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.19/bind-ensure-searching-for-json-headers-searches-sysr.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.20/bind-ensure-searching-for-json-headers-searches-sysr.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.19/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.16.20/bind9
index 968679ff7f..968679ff7f 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.19/bind9
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.20/bind9
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.19/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.20/conf.patch
index aad345f9fc..aad345f9fc 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.19/conf.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.20/conf.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.19/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.16.20/generate-rndc-key.sh
index 633e29c0e6..633e29c0e6 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.19/generate-rndc-key.sh
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.20/generate-rndc-key.sh
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.19/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.20/init.d-add-support-for-read-only-rootfs.patch
index 11db95ede1..11db95ede1 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.19/init.d-add-support-for-read-only-rootfs.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.20/init.d-add-support-for-read-only-rootfs.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.19/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.20/make-etc-initd-bind-stop-work.patch
index 146f3e35db..146f3e35db 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.19/make-etc-initd-bind-stop-work.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.20/make-etc-initd-bind-stop-work.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.19/named.service b/poky/meta/recipes-connectivity/bind/bind-9.16.20/named.service
index cda56ef015..cda56ef015 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.19/named.service
+++ b/poky/meta/recipes-connectivity/bind/bind-9.16.20/named.service
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.19.bb b/poky/meta/recipes-connectivity/bind/bind_9.16.20.bb
index 9fd251b839..f7d0416858 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.16.19.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.16.20.bb
@@ -20,7 +20,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
file://0001-avoid-start-failure-with-bind-user.patch \
"
-SRC_URI[sha256sum] = "20bf727559302c933475904847041916bb6c279680c170babc01a76998e80ad3"
+SRC_URI[sha256sum] = "4d0d93c0d0b63080609e84625f24ff8777f8d164e78a75b1c19c334ce42d5b58"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
# stay at 9.16 follow the ESV versions divisible by 4
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.60.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.61.bb
index defa0c15cd..b2e5dd66a9 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.60.bb
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.61.bb
@@ -1,6 +1,6 @@
require bluez5.inc
-SRC_URI[sha256sum] = "710999580d01ee59ec585e5e7c07fd94eddedc001aa26fe7464c546f9d945304"
+SRC_URI[sha256sum] = "83afd6c52179554bfeabbcb538fec2eb6be90a8ac3c40871b49d7ad8b49c423b"
# These issues have kernel fixes rather than bluez fixes so exclude here
CVE_CHECK_WHITELIST += "CVE-2020-12352 CVE-2020-24490"
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_2.0.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb
index 4b25f9c0b5..0cf73cdb24 100644
--- a/poky/meta/recipes-connectivity/inetutils/inetutils_2.0.bb
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb
@@ -10,6 +10,7 @@ LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
+SRC_URI[sha256sum] = "01b9a4bc73a47e63f6e8a07b76122d9ad2a2e46ebf14870e9c91d660b5647a22"
SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \
file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch \
file://inetutils-1.8-0003-wchar.patch \
@@ -22,8 +23,6 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \
file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \
"
-SRC_URI[md5sum] = "5e1018502cd131ed8e42339f6b5c98aa"
-
inherit autotools gettext update-alternatives texinfo
acpaths = "-I ./m4"
diff --git a/poky/meta/recipes-connectivity/kea/files/0001-add-missing-headers-in-timer_mgr.cc.patch b/poky/meta/recipes-connectivity/kea/files/0001-add-missing-headers-in-timer_mgr.cc.patch
new file mode 100644
index 0000000000..1cd8bc70f5
--- /dev/null
+++ b/poky/meta/recipes-connectivity/kea/files/0001-add-missing-headers-in-timer_mgr.cc.patch
@@ -0,0 +1,29 @@
+From 11981d637273778f408d15f488cc9e1d244dcae8 Mon Sep 17 00:00:00 2001
+From: Andrei Pavel <andrei@isc.org>
+Date: Thu, 29 Jul 2021 21:33:42 +0300
+Subject: [PATCH] add missing headers in timer_mgr.cc
+
+Upstream-Status: Backport [https://github.com/isc-projects/kea/commit/2bba96164f6c5c8f56de7a5dc52af73bfd51cccd]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/lib/dhcpsrv/timer_mgr.cc | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/lib/dhcpsrv/timer_mgr.cc b/src/lib/dhcpsrv/timer_mgr.cc
+index 5ec4123..5611c46 100644
+--- a/src/lib/dhcpsrv/timer_mgr.cc
++++ b/src/lib/dhcpsrv/timer_mgr.cc
+@@ -14,6 +14,13 @@
+ #include <functional>
+ #include <utility>
+
++#include <exception>
++#include <map>
++#include <mutex>
++#include <ostream>
++#include <string>
++#include <stddef.h>
++
+ using namespace isc;
+ using namespace isc::asiolink;
+
diff --git a/poky/meta/recipes-connectivity/kea/kea_1.8.2.bb b/poky/meta/recipes-connectivity/kea/kea_1.8.2.bb
index f1bbbc49e7..04424d0d70 100644
--- a/poky/meta/recipes-connectivity/kea/kea_1.8.2.bb
+++ b/poky/meta/recipes-connectivity/kea/kea_1.8.2.bb
@@ -20,6 +20,7 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
file://0001-ax_cpp11.m4-Include-memory-header.patch \
file://0001-include-limits.h.patch \
+ file://0001-add-missing-headers-in-timer_mgr.cc.patch \
"
SRC_URI[sha256sum] = "486ca7abedb9d6fdf8e4344ad8688d1171f2ef0f5506d118988aadeae80a1d39"
diff --git a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
index f170cf4650..837490f15f 100644
--- a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
+++ b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
@@ -4,8 +4,8 @@ DESCRIPTION = "Mobile Broadband Service Provider Database stores service provide
SECTION = "network"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=87964579b2a8ece4bc6744d2dc9a8b04"
-SRCREV = "90f3fe28aa25135b7e4a54a7816388913bfd4a2a"
-PV = "20201225"
+SRCREV = "11f2247eccd3c161b8fd9b41143862e9fb81193c"
+PV = "20210805"
PE = "1"
SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https"
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.7p1.bb
index 093214cbfc..c4a08f71d6 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_8.6p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_8.7p1.bb
@@ -25,7 +25,7 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
file://sshd_check_keys \
file://add-test-support-for-busybox.patch \
"
-SRC_URI[sha256sum] = "c3e6e4da1621762c850d03b47eed1e48dff4cc9608ddeb547202a234df8ed7ae"
+SRC_URI[sha256sum] = "7ca34b8bb24ae9e50f33792b7091b3841d7e1b440ff57bc9fabddf01e2ed1e24"
# This CVE is specific to OpenSSH with the pam opie which we don't build/use here
CVE_CHECK_WHITELIST += "CVE-2007-2768"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb
index 09afa27ac1..b241ba78bc 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1k.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb
@@ -28,7 +28,7 @@ SRC_URI:append:riscv32 = " \
file://0004-Fixup-support-for-io_pgetevents_time64-syscall.patch \
"
-SRC_URI[sha256sum] = "892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5"
+SRC_URI[sha256sum] = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1"
inherit lib_package multilib_header multilib_script ptest
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.34.0.bb
index be8c06323c..be8c06323c 100644
--- a/poky/meta/recipes-core/busybox/busybox-inittab_1.33.0.bb
+++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.34.0.bb
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch b/poky/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch
deleted file mode 100644
index e0a22c5bb3..0000000000
--- a/poky/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From bff7f16f7f41de8df67beb03722f235828ef2249 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 3 May 2021 15:48:19 -0700
-Subject: [PATCH] gen_build_files: Use C locale when calling sed on globbed files
-
-sort order is different based on chosen locale and also default shell
-being bash or dash
-
-This sets the environment variable LC_ALL to the value C, which will
-enforce bytewise sorting, irrespective of the shell
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- scripts/gen_build_files.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/scripts/gen_build_files.sh
-+++ b/scripts/gen_build_files.sh
-@@ -4,6 +4,8 @@
- # but users complain that many sed implementations
- # are misinterpreting --.
-
-+export LC_ALL=C
-+
- test $# -ge 2 || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; }
-
- # cd to objtree
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
index 25472f0bbd..d4bda3c12f 100644
--- a/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
+++ b/poky/meta/recipes-core/busybox/busybox/0001-testsuite-check-uudecode-before-using-it.patch
@@ -18,13 +18,13 @@ diff --git a/testsuite/tar.tests b/testsuite/tar.tests
index d71a349..8c88567 100755
--- a/testsuite/tar.tests
+++ b/testsuite/tar.tests
-@@ -336,7 +336,7 @@ SKIP=
- cd .. || exit 1; rm -rf tar.tempdir 2>/dev/null
+@@ -339,7 +339,7 @@ cd .. || exit 1; rm -rf tar.tempdir 2>/d
+ fi
mkdir tar.tempdir && cd tar.tempdir || exit 1
-optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS
+optional FEATURE_SEAMLESS_BZ2 FEATURE_TAR_AUTODETECT LS UUDECODE
- testing "Symlink attack: create symlink and then write through it" '\
+ testing "tar Symlink attack: create symlink and then write through it" '\
exec 2>&1
uudecode -o input && tar xvf input; echo $?
diff --git a/testsuite/unzip.tests b/testsuite/unzip.tests
diff --git a/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
index 35e981d6a2..948932a3e8 100644
--- a/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
+++ b/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
@@ -31,11 +31,11 @@ Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
networking/udhcp/dhcpc.c | 29 ++++++++++++++++------
1 file changed, 21 insertions(+), 8 deletions(-)
-Index: busybox-1.32.0/networking/udhcp/dhcpc.c
+Index: busybox-1.34.0/networking/udhcp/dhcpc.c
===================================================================
---- busybox-1.32.0.orig/networking/udhcp/dhcpc.c
-+++ busybox-1.32.0/networking/udhcp/dhcpc.c
-@@ -48,6 +48,8 @@ struct tpacket_auxdata {
+--- busybox-1.34.0.orig/networking/udhcp/dhcpc.c
++++ busybox-1.34.0/networking/udhcp/dhcpc.c
+@@ -48,6 +48,8 @@
};
#endif
@@ -44,47 +44,37 @@ Index: busybox-1.32.0/networking/udhcp/dhcpc.c
/* "struct client_data_t client_data" is in bb_common_bufsiz1 */
-@@ -103,8 +105,10 @@
- OPT_x = 1 << 18,
- OPT_f = 1 << 19,
- OPT_B = 1 << 20,
-+ OPT_D = 1 << 21,
+@@ -100,8 +102,10 @@
+ OPT_x = 1 << 16,
+ OPT_f = 1 << 17,
+ OPT_B = 1 << 18,
++ OPT_D = 1 << 19,
/* The rest has variable bit positions, need to be clever */
- OPTBIT_B = 20,
-+ OPTBIT_D = 21,
+ OPTBIT_B = 18,
++ OPTBIT_D = 19,
USE_FOR_MMU( OPTBIT_b,)
IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,)
IF_FEATURE_UDHCP_PORT( OPTBIT_P,)
-@@ -1084,7 +1088,8 @@
- client_data.state = RENEW_REQUESTED;
- break;
- case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
-- udhcp_run_script(NULL, "deconfig");
-+ if (allow_deconfig)
-+ udhcp_run_script(NULL, "deconfig");
- case REQUESTING:
- case RELEASED:
- change_listen_mode(LISTEN_RAW);
-@@ -1120,7 +1125,8 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip)
- * Users requested to be notified in all cases, even if not in one
- * of the states above.
- */
-- udhcp_run_script(NULL, "deconfig");
+@@ -587,7 +591,8 @@
+
+ static void d4_run_script_deconfig(void)
+ {
+- d4_run_script(NULL, "deconfig");
+ if (allow_deconfig)
-+ udhcp_run_script(NULL, "deconfig");
++ d4_run_script(NULL, "deconfig");
+ }
- change_listen_mode(LISTEN_NONE);
- client_data.state = RELEASED;
-@@ -1238,7 +1244,7 @@
+ /*** Sending/receiving packets ***/
+@@ -1244,7 +1249,7 @@
/* Parse command line */
opt = getopt32long(argv, "^"
/* O,x: list; -T,-t,-A take numeric param */
-- "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB"
-+ "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD"
+- "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB"
++ "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD"
USE_FOR_MMU("b")
IF_FEATURE_UDHCPC_ARPING("a::")
IF_FEATURE_UDHCP_PORT("P:")
-@@ -1349,6 +1355,10 @@
+@@ -1361,6 +1366,10 @@
logmode |= LOGMODE_SYSLOG;
}
@@ -95,49 +85,3 @@ Index: busybox-1.32.0/networking/udhcp/dhcpc.c
/* Create pidfile */
write_pidfile(client_data.pidfile);
/* Goes to stdout (unless NOMMU) and possibly syslog */
-@@ -1357,7 +1367,8 @@
- srand(monotonic_us());
-
- client_data.state = INIT_SELECTING;
-- udhcp_run_script(NULL, "deconfig");
-+ if (allow_deconfig)
-+ udhcp_run_script(NULL, "deconfig");
- change_listen_mode(LISTEN_RAW);
- packet_num = 0;
- timeout = 0;
-@@ -1530,7 +1541,8 @@
- }
- /* Timed out, enter init state */
- bb_simple_info_msg("lease lost, entering init state");
-- udhcp_run_script(NULL, "deconfig");
-+ if (allow_deconfig)
-+ udhcp_run_script(NULL, "deconfig");
- client_data.state = INIT_SELECTING;
- client_data.first_secs = 0; /* make secs field count from 0 */
- /*timeout = 0; - already is */
-@@ -1722,8 +1734,10 @@
- "(got ARP reply), declining");
- send_decline(/*xid,*/ server_addr, packet.yiaddr);
-
-- if (client_data.state != REQUESTING)
-- udhcp_run_script(NULL, "deconfig");
-+ if (client_data.state != REQUESTING) {
-+ if (allow_deconfig)
-+ udhcp_run_script(NULL, "deconfig");
-+ }
- change_listen_mode(LISTEN_RAW);
- client_data.state = INIT_SELECTING;
- client_data.first_secs = 0; /* make secs field count from 0 */
-@@ -1792,8 +1806,10 @@
- /* return to init state */
- bb_info_msg("received %s", "DHCP NAK");
- udhcp_run_script(&packet, "nak");
-- if (client_data.state != REQUESTING)
-- udhcp_run_script(NULL, "deconfig");
-+ if (client_data.state != REQUESTING) {
-+ if (allow_deconfig)
-+ udhcp_run_script(NULL, "deconfig");
-+ }
- change_listen_mode(LISTEN_RAW);
- sleep(3); /* avoid excessive network traffic */
- client_data.state = INIT_SELECTING;
diff --git a/poky/meta/recipes-core/busybox/busybox/defconfig b/poky/meta/recipes-core/busybox/busybox/defconfig
index 701d48d625..16c61a84b2 100644
--- a/poky/meta/recipes-core/busybox/busybox/defconfig
+++ b/poky/meta/recipes-core/busybox/busybox/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.33.0
-# Wed Mar 10 13:29:25 2021
+# Busybox version: 1.34.0
+# Wed Aug 23 09:07:25 2021
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -207,11 +207,13 @@ CONFIG_CHOWN=y
# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
CONFIG_CHROOT=y
# CONFIG_CKSUM is not set
+CONFIG_CRC32=y
# CONFIG_COMM is not set
CONFIG_CP=y
# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
# CONFIG_FEATURE_CP_REFLINK is not set
CONFIG_CUT=y
+CONFIG_FEATURE_CUT_REGEX=y
CONFIG_DATE=y
# CONFIG_FEATURE_DATE_ISOFMT is not set
# CONFIG_FEATURE_DATE_NANO is not set
@@ -316,7 +318,6 @@ CONFIG_TEST2=y
CONFIG_FEATURE_TEST_64=y
# CONFIG_TIMEOUT is not set
CONFIG_TOUCH=y
-CONFIG_FEATURE_TOUCH_NODEREF=y
CONFIG_FEATURE_TOUCH_SUSV3=y
CONFIG_TR=y
CONFIG_FEATURE_TR_CLASSES=y
@@ -424,6 +425,7 @@ CONFIG_VI=y
CONFIG_FEATURE_VI_MAX_LEN=1024
CONFIG_FEATURE_VI_8BIT=y
CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_COLON_EXPAND=y
CONFIG_FEATURE_VI_YANKMARK=y
CONFIG_FEATURE_VI_SEARCH=y
# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
@@ -437,6 +439,7 @@ CONFIG_FEATURE_VI_WIN_RESIZE=y
CONFIG_FEATURE_VI_UNDO=y
CONFIG_FEATURE_VI_UNDO_QUEUE=y
CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256
+CONFIG_FEATURE_VI_VERBOSE_STATUS=y
CONFIG_FEATURE_ALLOW_EXEC=y
#
@@ -743,6 +746,7 @@ CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
# Miscellaneous Utilities
#
# CONFIG_ADJTIMEX is not set
+CONFIG_ASCII=y
# CONFIG_BBCONFIG is not set
# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
# CONFIG_BC is not set
@@ -838,6 +842,7 @@ CONFIG_TS=y
# CONFIG_UBIRENAME is not set
# CONFIG_VOLNAME is not set
# CONFIG_WATCHDOG is not set
+# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set
#
# Networking Utilities
@@ -976,6 +981,7 @@ CONFIG_TRACEROUTE=y
CONFIG_WGET=y
CONFIG_FEATURE_WGET_LONG_OPTIONS=y
CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_FTP=y
CONFIG_FEATURE_WGET_AUTHENTICATION=y
CONFIG_FEATURE_WGET_TIMEOUT=y
CONFIG_FEATURE_WGET_HTTPS=y
diff --git a/poky/meta/recipes-core/busybox/busybox_1.33.1.bb b/poky/meta/recipes-core/busybox/busybox_1.34.0.bb
index 1e3e34e2a4..51df1df05f 100644
--- a/poky/meta/recipes-core/busybox/busybox_1.33.1.bb
+++ b/poky/meta/recipes-core/busybox/busybox_1.34.0.bb
@@ -47,9 +47,8 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \
- file://0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch \
file://0001-mktemp-add-tmpdir-option.patch \
"
SRC_URI:append:libc-musl = " file://musl.cfg "
-SRC_URI[tarball.sha256sum] = "12cec6bd2b16d8a9446dd16130f2b92982f1819f6e1c5f5887b6db03f5660d28"
+SRC_URI[tarball.sha256sum] = "ec8d1615edb045b83b81966604759c4d4ac921434ab4011da604f629c06074ce"
diff --git a/poky/meta/recipes-core/ell/ell_0.42.bb b/poky/meta/recipes-core/ell/ell_0.43.bb
index 7d021c5e3c..3d3ef82668 100644
--- a/poky/meta/recipes-core/ell/ell_0.42.bb
+++ b/poky/meta/recipes-core/ell/ell_0.43.bb
@@ -17,7 +17,7 @@ inherit autotools pkgconfig
SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \
file://0001-pem.c-do-not-use-rawmemchr.patch \
"
-SRC_URI[sha256sum] = "8b926eebb053f545a03349c0e3d02be586f5aa041f5660b6ced85b55fc531bb7"
+SRC_URI[sha256sum] = "b6c75895ad64bf78f5b5c464de871048d02f9403be518084e0d64b58f508c9fc"
do_configure:prepend () {
mkdir -p ${S}/build-aux
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-correctly-use-3-parameters-for-close_range.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-correctly-use-3-parameters-for-close_range.patch
deleted file mode 100644
index 6ff25fc535..0000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-correctly-use-3-parameters-for-close_range.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From b71117d89434db83d34bc1b981ca03d4be299576 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Jul 2021 17:26:43 -0700
-Subject: [PATCH] correctly use 3 parameters for close_range
-
-libc implementation has 3 parameter e.g.
-https://www.freebsd.org/cgi/man.cgi?query=close_range&sektion=2&format=html
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2180]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- glib/gspawn.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glib/gspawn.c b/glib/gspawn.c
-index 899647c2f..3073a10a4 100644
---- a/glib/gspawn.c
-+++ b/glib/gspawn.c
-@@ -1520,7 +1520,7 @@ safe_closefrom (int lowfd)
- *
- * Handle ENOSYS in case it’s supported in libc but not the kernel; if so,
- * fall back to safe_fdwalk(). */
-- if (close_range (lowfd, G_MAXUINT) != 0 && errno == ENOSYS)
-+ if (close_range (lowfd, G_MAXUINT, 0) != 0 && errno == ENOSYS)
- #endif /* HAVE_CLOSE_RANGE */
- (void) safe_fdwalk (close_func, GINT_TO_POINTER (lowfd));
- #endif
---
-2.32.0
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index f34f30bb3c..846c8d62b6 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From e56cdb8c343dd6a6ed3b10bd54e353d633ad6158 Mon Sep 17 00:00:00 2001
+From dac2bdeea38388e069412aa27eff8f1eff0440e5 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Fri, 11 Mar 2016 15:35:55 +0000
Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.4.bb
index c71dc81202..cd789de3c0 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.3.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.68.4.bb
@@ -18,11 +18,10 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \
file://time-test.patch \
- file://0001-correctly-use-3-parameters-for-close_range.patch \
"
SRC_URI:append:class-native = " file://relocate-modules.patch"
-SRC_URI[sha256sum] = "e7e1a3c20c026109c45c9ec4a31d8dcebc22e86c69486993e565817d64be3138"
+SRC_URI[sha256sum] = "62fd061d08a75492617e625a73e2c05e259f831acbb8e1f8b9c81f23f7993a3b"
# Find any meson cross files in FILESPATH that are relevant for the current
# build (using siteinfo) and add them to EXTRA_OEMESON.
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index 7528337456..a34776b083 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -4,7 +4,7 @@ HOMEPAGE = "https://developer.gnome.org/glib/"
# pcre is under BSD;
# docs/reference/COPYING is with a 'public domain'-like license!
-LICENSE = "LGPLv2.1+ & BSD & PD"
+LICENSE = "LGPLv2.1+ & BSD-3-Clause & PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://glib/glib.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \
file://gmodule/COPYING;md5=4fbd65380cdd255951079008b364516c \
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.68.2.bb
index 9a8ff38dbd..acea26e080 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.68.2.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS = "glib-2.0"
-SRC_URI[archive.sha256sum] = "d05d8bd124a9f53fc2b93b18f2386d512e4f48bc5a80470a7967224f3bf53b30"
+SRC_URI[archive.sha256sum] = "535ebc054ef697db56a4fffed91bc0e11c8ee1c9acb48aad28c8e1d5c3d5994f"
PACKAGECONFIG ??= "openssl ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc
index 3026aec9b6..e25561d9b9 100644
--- a/poky/meta/recipes-core/glibc/glibc-package.inc
+++ b/poky/meta/recipes-core/glibc/glibc-package.inc
@@ -22,6 +22,7 @@ ARCH_DYNAMIC_LOADER = ""
ARCH_DYNAMIC_LOADER:aarch64 = "ld-linux-${TARGET_ARCH}.so.1"
libc_baselibs:append = " ${@oe.utils.conditional('ARCH_DYNAMIC_LOADER', '', '', '${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}', d)}"
INSANE_SKIP:${PN}:append:aarch64 = " libdir"
+INSANE_SKIP:${PN}-dev += "staticdev"
FILES:${PN} = "${libc_baselibs} ${libexecdir}/* ${sysconfdir}/ld.so.conf"
RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPREFIX}ldconfig', '', d)}"
@@ -38,7 +39,7 @@ FILES:sln = "${base_sbindir}/sln"
FILES:${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o"
FILES:libsotruss = "${libdir}/audit/sotruss-lib.so"
FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
-FILES:${PN}-dev += "${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
+FILES:${PN}-dev += "${libdir}/libpthread.a ${libdir}/libdl.a ${libdir}/libutil.a ${libdir}/libanl.a ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
RDEPENDS:${PN}-dev = "linux-libc-headers-dev"
FILES:${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a"
FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
@@ -159,7 +160,7 @@ do_install_armmultilib () {
oe_multilib_header bits/local_lim.h bits/mman.h bits/msq.h bits/pthreadtypes.h bits/pthreadtypes-arch.h bits/sem.h bits/semaphore.h bits/setjmp.h
oe_multilib_header bits/shm.h bits/sigstack.h bits/stat.h bits/statfs.h bits/typesizes.h
oe_multilib_header bits/procfs-id.h bits/procfs.h bits/shmlba.h
- oe_multilib_header bits/struct_stat.h
+ oe_multilib_header bits/struct_stat.h bits/pthread_stack_min.h
oe_multilib_header fpu_control.h gnu/lib-names.h gnu/stubs.h ieee754.h
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch b/poky/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch
new file mode 100644
index 0000000000..1e94049004
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch
@@ -0,0 +1,43 @@
+From b805aebd42364fe696e417808a700fdb9800c9e8 Mon Sep 17 00:00:00 2001
+From: Nikita Popov <npv1310@gmail.com>
+Date: Mon, 9 Aug 2021 20:17:34 +0530
+Subject: [PATCH] librt: fix NULL pointer dereference (bug 28213)
+
+Helper thread frees copied attribute on NOTIFY_REMOVED message
+received from the OS kernel. Unfortunately, it fails to check whether
+copied attribute actually exists (data.attr != NULL). This worked
+earlier because free() checks passed pointer before actually
+attempting to release corresponding memory. But
+__pthread_attr_destroy assumes pointer is not NULL.
+
+So passing NULL pointer to __pthread_attr_destroy will result in
+segmentation fault. This scenario is possible if
+notification->sigev_notify_attributes == NULL (which means default
+thread attributes should be used).
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=b805aebd42364fe696e417808a700fdb9800c9e8]
+CVE: CVE-2021-38604
+
+Signed-off-by: Nikita Popov <npv1310@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
+---
+ sysdeps/unix/sysv/linux/mq_notify.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysdeps/unix/sysv/linux/mq_notify.c b/sysdeps/unix/sysv/linux/mq_notify.c
+index 9799dcdaa4..eccae2e4c6 100644
+--- a/sysdeps/unix/sysv/linux/mq_notify.c
++++ b/sysdeps/unix/sysv/linux/mq_notify.c
+@@ -131,7 +131,7 @@ helper_thread (void *arg)
+ to wait until it is done with it. */
+ (void) __pthread_barrier_wait (&notify_barrier);
+ }
+- else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
++ else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED && data.attr != NULL)
+ {
+ /* The only state we keep is the copy of the thread attributes. */
+ __pthread_attr_destroy (data.attr);
+--
+2.31.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-fix-create-thread-failed-in-unprivileged-process-BZ-.patch b/poky/meta/recipes-core/glibc/glibc/0001-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
new file mode 100644
index 0000000000..3283dd7ad8
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0001-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
@@ -0,0 +1,79 @@
+From a8bc44936202692edcd82a48c07d7cf27d6ed8ee Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sun, 29 Aug 2021 20:49:16 +0800
+Subject: [PATCH] fix create thread failed in unprivileged process [BZ #28287]
+
+Since commit [d8ea0d0168 Add an internal wrapper for clone, clone2 and clone3]
+applied, start a unprivileged container (docker run without --privileged),
+it creates a thread failed in container.
+
+In commit d8ea0d0168, it calls __clone3 if HAVE_CLONE3_WAPPER is defined. If
+__clone3 returns -1 with ENOSYS, fall back to clone or clone2.
+
+As known from [1], cloneXXX fails with EPERM if CLONE_NEWCGROUP,
+CLONE_NEWIPC, CLONE_NEWNET, CLONE_NEWNS, CLONE_NEWPID, or CLONE_NEWUTS
+was specified by an unprivileged process (process without CAP_SYS_ADMIN)
+
+[1] https://man7.org/linux/man-pages/man2/clone3.2.html
+
+So if __clone3 returns -1 with EPERM, fall back to clone or clone2 could
+fix the issue. Here are the test steps:
+
+1) Prepare test code
+cat > conftest.c <<ENDOF
+ #include <pthread.h>
+ #include <stdio.h>
+
+int check_me = 0;
+void* func(void* data) {check_me = 42; printf("start thread: check_me %d\n", check_me); return &check_me;}
+int main()
+{
+ pthread_t t;
+ void *ret;
+ pthread_create (&t, 0, func, 0);
+ pthread_join (t, &ret);
+ printf("check_me %d, p %p\n", check_me, &ret);
+ return (check_me != 42 || ret != &check_me);
+}
+
+ENDOF
+
+2) Compile
+gcc -o conftest -pthread conftest.c
+
+3) Start a container with glibc 2.34 installed
+[skip details]
+docker run -it <container-image-name> bash
+
+4) Run conftest without this patch
+$ ./conftest
+check_me 0, p 0x7ffd91ccd400
+
+5) Run conftest with this patch
+$ ./conftest
+start thread: check_me 42
+check_me 42, p 0x7ffe253c6f20
+
+Upstream-Status: Submitted [libc-alpha@sourceware.org]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ sysdeps/unix/sysv/linux/clone-internal.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c
+index 979f7880be..97101994e8 100644
+--- a/sysdeps/unix/sysv/linux/clone-internal.c
++++ b/sysdeps/unix/sysv/linux/clone-internal.c
+@@ -52,7 +52,7 @@ __clone_internal (struct clone_args *cl_args,
+ /* Try clone3 first. */
+ int saved_errno = errno;
+ ret = __clone3 (cl_args, sizeof (*cl_args), func, arg);
+- if (ret != -1 || errno != ENOSYS)
++ if (ret != -1 || (errno != ENOSYS && errno != EPERM))
+ return ret;
+
+ /* NB: Restore errno since errno may be checked against non-zero
+--
+2.30.2
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch b/poky/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch
new file mode 100644
index 0000000000..9f71fecddb
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch
@@ -0,0 +1,150 @@
+From 4cc79c217744743077bf7a0ec5e0a4318f1e6641 Mon Sep 17 00:00:00 2001
+From: Nikita Popov <npv1310@gmail.com>
+Date: Thu, 12 Aug 2021 16:09:50 +0530
+Subject: [PATCH] librt: add test (bug 28213)
+
+This test implements following logic:
+1) Create POSIX message queue.
+ Register a notification with mq_notify (using NULL attributes).
+ Then immediately unregister the notification with mq_notify.
+ Helper thread in a vulnerable version of glibc
+ should cause NULL pointer dereference after these steps.
+2) Once again, register the same notification.
+ Try to send a dummy message.
+ Test is considered successfulif the dummy message
+ is successfully received by the callback function.
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=4cc79c217744743077bf7a0ec5e0a4318f1e6641]
+CVE: CVE-2021-38604
+
+Signed-off-by: Nikita Popov <npv1310@gmail.com>
+Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
+Signed-off-by: Vinay Kumar <vinay.m.engg@gmail.com>
+---
+ rt/Makefile | 1 +
+ rt/tst-bz28213.c | 101 +++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 102 insertions(+)
+ create mode 100644 rt/tst-bz28213.c
+
+diff --git a/rt/Makefile b/rt/Makefile
+index 113cea03a5..910e775995 100644
+--- a/rt/Makefile
++++ b/rt/Makefile
+@@ -74,6 +74,7 @@ tests := tst-shm tst-timer tst-timer2 \
+ tst-aio7 tst-aio8 tst-aio9 tst-aio10 \
+ tst-mqueue1 tst-mqueue2 tst-mqueue3 tst-mqueue4 \
+ tst-mqueue5 tst-mqueue6 tst-mqueue7 tst-mqueue8 tst-mqueue9 \
++ tst-bz28213 \
+ tst-timer3 tst-timer4 tst-timer5 \
+ tst-cpuclock2 tst-cputimer1 tst-cputimer2 tst-cputimer3 \
+ tst-shm-cancel \
+diff --git a/rt/tst-bz28213.c b/rt/tst-bz28213.c
+new file mode 100644
+index 0000000000..0c096b5a0a
+--- /dev/null
++++ b/rt/tst-bz28213.c
+@@ -0,0 +1,101 @@
++/* Bug 28213: test for NULL pointer dereference in mq_notify.
++ Copyright (C) The GNU Toolchain Authors.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <https://www.gnu.org/licenses/>. */
++
++#include <errno.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <unistd.h>
++#include <mqueue.h>
++#include <signal.h>
++#include <stdlib.h>
++#include <string.h>
++#include <support/check.h>
++
++static mqd_t m = -1;
++static const char msg[] = "hello";
++
++static void
++check_bz28213_cb (union sigval sv)
++{
++ char buf[sizeof (msg)];
++
++ (void) sv;
++
++ TEST_VERIFY_EXIT ((size_t) mq_receive (m, buf, sizeof (buf), NULL)
++ == sizeof (buf));
++ TEST_VERIFY_EXIT (memcmp (buf, msg, sizeof (buf)) == 0);
++
++ exit (0);
++}
++
++static void
++check_bz28213 (void)
++{
++ struct sigevent sev;
++
++ memset (&sev, '\0', sizeof (sev));
++ sev.sigev_notify = SIGEV_THREAD;
++ sev.sigev_notify_function = check_bz28213_cb;
++
++ /* Step 1: Register & unregister notifier.
++ Helper thread should receive NOTIFY_REMOVED notification.
++ In a vulnerable version of glibc, NULL pointer dereference follows. */
++ TEST_VERIFY_EXIT (mq_notify (m, &sev) == 0);
++ TEST_VERIFY_EXIT (mq_notify (m, NULL) == 0);
++
++ /* Step 2: Once again, register notification.
++ Try to send one message.
++ Test is considered successful, if the callback does exit (0). */
++ TEST_VERIFY_EXIT (mq_notify (m, &sev) == 0);
++ TEST_VERIFY_EXIT (mq_send (m, msg, sizeof (msg), 1) == 0);
++
++ /* Wait... */
++ pause ();
++}
++
++static int
++do_test (void)
++{
++ static const char m_name[] = "/bz28213_queue";
++ struct mq_attr m_attr;
++
++ memset (&m_attr, '\0', sizeof (m_attr));
++ m_attr.mq_maxmsg = 1;
++ m_attr.mq_msgsize = sizeof (msg);
++
++ m = mq_open (m_name,
++ O_RDWR | O_CREAT | O_EXCL,
++ 0600,
++ &m_attr);
++
++ if (m < 0)
++ {
++ if (errno == ENOSYS)
++ FAIL_UNSUPPORTED ("POSIX message queues are not implemented\n");
++ FAIL_EXIT1 ("Failed to create POSIX message queue: %m\n");
++ }
++
++ TEST_VERIFY_EXIT (mq_unlink (m_name) == 0);
++
++ check_bz28213 ();
++
++ return 0;
++}
++
++#include <support/test-driver.c>
+--
+2.31.1
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/poky/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
index 8e011699ef..ece792509e 100644
--- a/poky/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
@@ -46,14 +46,6 @@ copy to sysdeps/arm/bits/wordsize.h
index 91da566b74..34fcdef1f1 100644
--- a/sysdeps/aarch64/bits/wordsize.h
+++ b/sysdeps/arm/bits/wordsize.h
-@@ -1,6 +1,6 @@
- /* Determine the wordsize from the preprocessor defines.
-
-- Copyright (C) 2016-2021 Free Software Foundation, Inc.
-+ Copyright (C) 2016-2020 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
@@ -17,12 +17,16 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
diff --git a/poky/meta/recipes-core/glibc/glibc_2.34.bb b/poky/meta/recipes-core/glibc/glibc_2.34.bb
index 66494c5c23..6dc315c349 100644
--- a/poky/meta/recipes-core/glibc/glibc_2.34.bb
+++ b/poky/meta/recipes-core/glibc/glibc_2.34.bb
@@ -55,6 +55,9 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \
file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \
+ file://0001-CVE-2021-38604.patch \
+ file://0002-CVE-2021-38604.patch \
+ file://0001-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build-${TARGET_SYS}"
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup/CVE-2018-14348.patch b/poky/meta/recipes-core/libcgroup/libcgroup/CVE-2018-14348.patch
deleted file mode 100644
index d133703dec..0000000000
--- a/poky/meta/recipes-core/libcgroup/libcgroup/CVE-2018-14348.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0d88b73d189ea3440ccaab00418d6469f76fa590 Mon Sep 17 00:00:00 2001
-From: Michal Hocko <mhocko@suse.com>
-Date: Wed, 18 Jul 2018 11:24:29 +0200
-Subject: [PATCH] cgrulesengd: remove umask(0)
-
-One of our partners has noticed that cgred daemon is creating a log file
-(/var/log/cgred) with too wide permissions (0666) and that is seen as
-a security bug because an untrusted user can write to otherwise
-restricted area. CVE-2018-14348 has been assigned to this issue.
-
-CVE: CVE-2018-14348
-Upstream-Status: Backport [https://sourceforge.net/p/libcg/libcg/ci/0d88b73d189ea3440ccaab00418d6469f76fa590]
-
-Signed-off-by: Michal Hocko <mhocko@suse.com>
-Acked-by: Balbir Singh <bsingharora@gmail.com>
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
----
- src/daemon/cgrulesengd.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/daemon/cgrulesengd.c b/src/daemon/cgrulesengd.c
-index ea51f11..0d288f3 100644
---- a/src/daemon/cgrulesengd.c
-+++ b/src/daemon/cgrulesengd.c
-@@ -889,9 +889,6 @@ int cgre_start_daemon(const char *logp, const int logf,
- } else if (pid > 0) {
- exit(EXIT_SUCCESS);
- }
--
-- /* Change the file mode mask. */
-- umask(0);
- } else {
- flog(LOG_DEBUG, "Not using daemon mode\n");
- pid = getpid();
---
-2.13.3
-
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup/module.patch b/poky/meta/recipes-core/libcgroup/libcgroup/module.patch
new file mode 100644
index 0000000000..d8ff9b1479
--- /dev/null
+++ b/poky/meta/recipes-core/libcgroup/libcgroup/module.patch
@@ -0,0 +1,36 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 76f0879056ce7e3f0123c277f2303954d0b6cead Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tomasz=20K=C5=82oczko?= <kloczek@github.com>
+Date: Wed, 12 May 2021 20:36:02 +0000
+Subject: [PATCH 2/2] automake: build PAM module as unversioned DSO
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+PAM modules should be build as unversioned DSO.
+Add -avoid-version to pam_cgroup_la_LDFLAGS
+
+Signed-off-by: Tomasz Kłoczko <kloczek@github.com>
+Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
+---
+ src/pam/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pam/Makefile.am b/src/pam/Makefile.am
+index bd5a91d..4b0b2a9 100644
+--- a/src/pam/Makefile.am
++++ b/src/pam/Makefile.am
+@@ -4,7 +4,7 @@ if WITH_PAM
+
+ pamlib_LTLIBRARIES = pam_cgroup.la
+ pam_cgroup_la_SOURCES = pam_cgroup.c
+-pam_cgroup_la_LDFLAGS = -module
++pam_cgroup_la_LDFLAGS = -module -avoid-version
+ pam_cgroup_la_LIBADD = $(top_builddir)/src/libcgroup.la -lpam
+
+ endif
+--
+2.32.0
+
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup/musl-decls-compat.patch b/poky/meta/recipes-core/libcgroup/libcgroup/musl-decls-compat.patch
index 65f4ef9a55..531a562967 100644
--- a/poky/meta/recipes-core/libcgroup/libcgroup/musl-decls-compat.patch
+++ b/poky/meta/recipes-core/libcgroup/libcgroup/musl-decls-compat.patch
@@ -1,16 +1,37 @@
-commit ca780b4f7f71abeeb04a585f2a4d889caaa985fa
-Author: Isaac Dunham <ibid.ag@gmail.com>
-Date: Fri Sep 5 22:35:32 2014 -0700
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
- Remove __.*DECLS nonsense
+From 26f2889113789c176273bd24fcd1592a8064c346 Mon Sep 17 00:00:00 2001
+From: "Anthony G. Basile" <blueness@gentoo.org>
+Date: Tue, 6 Jul 2021 07:54:47 -0600
+Subject: [PATCH 1/2] Replace __BEGIN_DECLS and __END_DECLS with extern "C".
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
+The macros __BEGIN_DECLS and __END_DECLS are a GNU-ism found in
+glibc and uClibc, but not musl. We replace them by the more general
+extern "C" { ... } block exposed only if we have __cplusplus.
-Index: libcgroup-0.41/include/libcgroup/config.h
-===================================================================
---- libcgroup-0.41.orig/include/libcgroup/config.h
-+++ libcgroup-0.41/include/libcgroup/config.h
+Forward ported from a patch by Anthony G. Basile <blueness@gentoo.org>.
+
+Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
+Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
+---
+ include/libcgroup/config.h | 8 ++++++--
+ include/libcgroup/error.h | 8 ++++++--
+ include/libcgroup/groups.h | 8 ++++++--
+ include/libcgroup/init.h | 8 ++++++--
+ include/libcgroup/iterators.h | 8 ++++++--
+ include/libcgroup/log.h | 8 ++++++--
+ include/libcgroup/tasks.h | 8 ++++++--
+ src/bindings/libcgroup.p | 8 --------
+ src/daemon/cgrulesengd.h | 8 ++++++--
+ src/libcgroup-internal.h | 8 ++++++--
+ src/tools/tools-common.h | 8 ++++++--
+ 11 files changed, 60 insertions(+), 28 deletions(-)
+
+diff --git a/include/libcgroup/config.h b/include/libcgroup/config.h
+index 9aaa390..f835009 100644
+--- a/include/libcgroup/config.h
++++ b/include/libcgroup/config.h
@@ -9,7 +9,9 @@
#include <features.h>
#endif
@@ -22,20 +43,20 @@ Index: libcgroup-0.41/include/libcgroup/config.h
/**
* @defgroup group_config 5. Configuration
-@@ -107,6 +109,8 @@ int cgroup_config_create_template_group(
+@@ -128,6 +130,8 @@ int cgroup_config_create_template_group(
* @}
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
-+}
++} /* extern "C" */
+#endif
#endif /*_LIBCGROUP_CONFIG_H*/
-Index: libcgroup-0.41/include/libcgroup/error.h
-===================================================================
---- libcgroup-0.41.orig/include/libcgroup/error.h
-+++ libcgroup-0.41/include/libcgroup/error.h
+diff --git a/include/libcgroup/error.h b/include/libcgroup/error.h
+index 1dfdde9..14a6e16 100644
+--- a/include/libcgroup/error.h
++++ b/include/libcgroup/error.h
@@ -9,7 +9,9 @@
#include <features.h>
#endif
@@ -53,14 +74,14 @@ Index: libcgroup-0.41/include/libcgroup/error.h
*/
-__END_DECLS
+#ifdef __cplusplus
-+}
++} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_INIT_H */
-Index: libcgroup-0.41/include/libcgroup/groups.h
-===================================================================
---- libcgroup-0.41.orig/include/libcgroup/groups.h
-+++ libcgroup-0.41/include/libcgroup/groups.h
+diff --git a/include/libcgroup/groups.h b/include/libcgroup/groups.h
+index 201558f..39ec3cd 100644
+--- a/include/libcgroup/groups.h
++++ b/include/libcgroup/groups.h
@@ -11,7 +11,9 @@
#include <stdbool.h>
#endif
@@ -72,20 +93,20 @@ Index: libcgroup-0.41/include/libcgroup/groups.h
/**
* Flags for cgroup_delete_cgroup_ext().
-@@ -577,6 +579,8 @@ char *cgroup_get_cgroup_name(struct cgro
+@@ -587,6 +589,8 @@ char *cgroup_get_cgroup_name(struct cgroup *cgroup);
*/
-__END_DECLS
+#ifdef __cplusplus
-+}
++} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_GROUPS_H */
-Index: libcgroup-0.41/include/libcgroup/init.h
-===================================================================
---- libcgroup-0.41.orig/include/libcgroup/init.h
-+++ libcgroup-0.41/include/libcgroup/init.h
+diff --git a/include/libcgroup/init.h b/include/libcgroup/init.h
+index 5150f2f..ea2dcc9 100644
+--- a/include/libcgroup/init.h
++++ b/include/libcgroup/init.h
@@ -9,7 +9,9 @@
#include <features.h>
#endif
@@ -97,20 +118,20 @@ Index: libcgroup-0.41/include/libcgroup/init.h
/**
* @defgroup group_init 1. Initialization
-@@ -58,6 +60,8 @@ int cgroup_get_subsys_mount_point(const
+@@ -58,6 +60,8 @@ int cgroup_get_subsys_mount_point(const char *controller, char **mount_point);
* @}
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
-+}
++} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_INIT_H */
-Index: libcgroup-0.41/include/libcgroup/iterators.h
-===================================================================
---- libcgroup-0.41.orig/include/libcgroup/iterators.h
-+++ libcgroup-0.41/include/libcgroup/iterators.h
+diff --git a/include/libcgroup/iterators.h b/include/libcgroup/iterators.h
+index c6d453d..b3ba3af 100644
+--- a/include/libcgroup/iterators.h
++++ b/include/libcgroup/iterators.h
@@ -11,7 +11,9 @@
#include <features.h>
#endif
@@ -122,20 +143,45 @@ Index: libcgroup-0.41/include/libcgroup/iterators.h
/**
* @defgroup group_iterators 3. Iterators
-@@ -423,6 +425,8 @@ int cgroup_get_subsys_mount_point_end(vo
+@@ -423,6 +425,8 @@ int cgroup_get_subsys_mount_point_end(void **handle);
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
-+}
++} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_ITERATORS_H */
-Index: libcgroup-0.41/include/libcgroup/tasks.h
-===================================================================
---- libcgroup-0.41.orig/include/libcgroup/tasks.h
-+++ libcgroup-0.41/include/libcgroup/tasks.h
+diff --git a/include/libcgroup/log.h b/include/libcgroup/log.h
+index 0dd03b4..f693473 100644
+--- a/include/libcgroup/log.h
++++ b/include/libcgroup/log.h
+@@ -11,7 +11,9 @@
+
+ #include <stdarg.h>
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /**
+ * @defgroup group_log 7. Logging
+@@ -142,6 +144,8 @@ extern int cgroup_parse_log_level_str(const char *levelstr);
+ * @}
+ * @}
+ */
+-__END_DECLS
++#ifdef __cplusplus
++} /* extern "C" */
++#endif
+
+ #endif /* _LIBCGROUP_LOG_H */
+diff --git a/include/libcgroup/tasks.h b/include/libcgroup/tasks.h
+index aad438a..8553c30 100644
+--- a/include/libcgroup/tasks.h
++++ b/include/libcgroup/tasks.h
@@ -12,7 +12,9 @@
#include <stdbool.h>
#endif
@@ -147,20 +193,20 @@ Index: libcgroup-0.41/include/libcgroup/tasks.h
/** Flags for cgroup_change_cgroup_uid_gid(). */
enum cgflags {
-@@ -204,6 +206,8 @@ int cgroup_register_unchanged_process(pi
+@@ -204,6 +206,8 @@ int cgroup_register_unchanged_process(pid_t pid, int flags);
* @}
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
-+}
++} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_TASKS_H */
-Index: libcgroup-0.41/src/daemon/cgrulesengd.h
-===================================================================
---- libcgroup-0.41.orig/src/daemon/cgrulesengd.h
-+++ libcgroup-0.41/src/daemon/cgrulesengd.h
+diff --git a/src/daemon/cgrulesengd.h b/src/daemon/cgrulesengd.h
+index e273b4b..0b12076 100644
+--- a/src/daemon/cgrulesengd.h
++++ b/src/daemon/cgrulesengd.h
@@ -17,7 +17,9 @@
#include <features.h>
@@ -178,15 +224,15 @@ Index: libcgroup-0.41/src/daemon/cgrulesengd.h
-__END_DECLS
+#ifdef __cplusplus
-+}
++} /* extern "C" */
+#endif
#endif /* _CGRULESENGD_H */
-Index: libcgroup-0.41/src/libcgroup-internal.h
-===================================================================
---- libcgroup-0.41.orig/src/libcgroup-internal.h
-+++ libcgroup-0.41/src/libcgroup-internal.h
+diff --git a/src/libcgroup-internal.h b/src/libcgroup-internal.h
+index 1dfc92b..edc5abb 100644
+--- a/src/libcgroup-internal.h
++++ b/src/libcgroup-internal.h
@@ -16,7 +16,9 @@
#define __LIBCG_INTERNAL
@@ -197,39 +243,42 @@ Index: libcgroup-0.41/src/libcgroup-internal.h
+#endif
#include "config.h"
- #include <fts.h>
-@@ -279,6 +281,8 @@ extern void cgroup_dictionary_iterator_e
- */
- int cg_chmod_path(const char *path, mode_t mode, int owner_is_umask);
+ #include <dirent.h>
+@@ -407,6 +409,8 @@ int cgroupv2_controller_enabled(const char * const cg_name,
+
+ #endif /* UNIT_TEST */
-__END_DECLS
+#ifdef __cplusplus
-+}
++} /* extern "C" */
+#endif
#endif
-Index: libcgroup-0.41/include/libcgroup/log.h
-===================================================================
---- libcgroup-0.41.orig/include/libcgroup/log.h
-+++ libcgroup-0.41/include/libcgroup/log.h
-@@ -11,7 +11,9 @@
+diff --git a/src/tools/tools-common.h b/src/tools/tools-common.h
+index 292c408..e3541b1 100644
+--- a/src/tools/tools-common.h
++++ b/src/tools/tools-common.h
+@@ -18,7 +18,9 @@
- #include <stdarg.h>
+ #define __TOOLS_COMMON
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
+ #include "config.h"
+ #include <libcgroup.h>
+ #include "../libcgroup-internal.h"
+@@ -136,6 +138,8 @@ int parse_r_flag(const char * const program_name,
+
+ #endif /* UNIT_TEST */
- /**
- * @defgroup group_log 7. Logging
-@@ -142,6 +144,8 @@ extern int cgroup_parse_log_level_str(co
- * @}
- * @}
- */
-__END_DECLS
+#ifdef __cplusplus
-+}
++} /* extern "C" */
+#endif
- #endif /* _LIBCGROUP_LOG_H */
+ #endif /* TOOLS_COMMON */
+--
+2.32.0
+
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup_0.41.bb b/poky/meta/recipes-core/libcgroup/libcgroup_0.41.bb
deleted file mode 100644
index 400f96f17f..0000000000
--- a/poky/meta/recipes-core/libcgroup/libcgroup_0.41.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Linux control group abstraction library"
-HOMEPAGE = "http://libcg.sourceforge.net/"
-DESCRIPTION = "libcgroup is a library that abstracts the control group file system \
-in Linux. Control groups allow you to limit, account and isolate resource usage \
-(CPU, memory, disk I/O, etc.) of groups of processes."
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-inherit autotools pkgconfig
-
-DEPENDS = "bison-native flex-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/libcg/${BPN}/v0.41/${BPN}-${PV}.tar.bz2 \
- file://CVE-2018-14348.patch"
-SRC_URI:append:libc-musl = " file://musl-decls-compat.patch"
-
-SRC_URI[md5sum] = "3dea9d50b8a5b73ff0bf1cdcb210f63f"
-SRC_URI[sha256sum] = "e4e38bdc7ef70645ce33740ddcca051248d56b53283c0dc6d404e17706f6fb51"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libcg/files/libcgroup/"
-
-DEPENDS:append:libc-musl = " fts "
-EXTRA_OEMAKE:append:libc-musl = " LIBS=-lfts"
-
-PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
-PACKAGECONFIG[pam] = "--enable-pam-module-dir=${base_libdir}/security --enable-pam=yes,--enable-pam=no,libpam"
-
-PACKAGES =+ "cgroups-pam-plugin"
-FILES:cgroups-pam-plugin = "${base_libdir}/security/pam_cgroup.so*"
-FILES:${PN}-dev += "${base_libdir}/security/*.la"
-
-do_install:append() {
- # Moving libcgroup to base_libdir
- if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
- mkdir -p ${D}/${base_libdir}/
- mv -f ${D}${libdir}/libcgroup.so.* ${D}${base_libdir}/
- rm -f ${D}${libdir}/libcgroup.so
- lnr ${D}${base_libdir}/libcgroup.so.1 ${D}${libdir}/libcgroup.so
- fi
- # pam modules in ${base_libdir}/security/ should be binary .so files, not symlinks.
- if [ -f ${D}${base_libdir}/security/pam_cgroup.so.0.0.0 ]; then
- mv -f ${D}${base_libdir}/security/pam_cgroup.so.0.0.0 ${D}${base_libdir}/security/pam_cgroup.so
- rm -f ${D}${base_libdir}/security/pam_cgroup.so.*
- fi
-}
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup_2.0.bb b/poky/meta/recipes-core/libcgroup/libcgroup_2.0.bb
new file mode 100644
index 0000000000..a58dd88ea5
--- /dev/null
+++ b/poky/meta/recipes-core/libcgroup/libcgroup_2.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Linux control group abstraction library"
+HOMEPAGE = "http://libcg.sourceforge.net/"
+DESCRIPTION = "libcgroup is a library that abstracts the control group file system \
+in Linux. Control groups allow you to limit, account and isolate resource usage \
+(CPU, memory, disk I/O, etc.) of groups of processes."
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+inherit autotools pkgconfig
+
+DEPENDS = "bison-native flex-native"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \
+ file://musl-decls-compat.patch \
+ file://module.patch"
+
+SRC_URI[sha256sum] = "11a2fbf0e42f46089f406b8b0dca7fef04aec2f21600b70e402c5db3661305d7"
+UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/releases/"
+
+DEPENDS:append:libc-musl = " fts "
+EXTRA_OEMAKE:append:libc-musl = " LIBS=-lfts"
+
+PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG[pam] = "--enable-pam-module-dir=${base_libdir}/security --enable-pam=yes,--enable-pam=no,libpam"
+
+PACKAGES =+ "cgroups-pam-plugin"
+FILES:cgroups-pam-plugin = "${base_libdir}/security/pam_cgroup.so*"
+FILES:${PN}-dev += "${base_libdir}/security/*.la"
+FILES:${PN}-staticdev += "${base_libdir}/security/pam_cgroup.a"
+
+do_install:append() {
+ # Until we ship the test suite, this library isn't useful
+ rm -f ${D}${libdir}/libcgroupfortesting.*
+}
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.25.bb
index ec9f9f4fa3..ec9f9f4fa3 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.23.bb
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.25.bb
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
index d9b3a7d673..29b941d380 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt.inc
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSING;md5=afed27a72ae2a8075978299eebaa1f5d \
inherit autotools pkgconfig
SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
-SRCREV = "5dcc36aeeb053654659e898fd3de7f365c1c4df5"
+SRCREV = "b9116ef2245abb128a22a975d187b1272312a80c"
SRCBRANCH ?= "develop"
SRC_URI += "file://fix_cflags_handling.patch"
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.23.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.25.bb
index 79dba2f6dc..79dba2f6dc 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.23.bb
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.25.bb
diff --git a/poky/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch b/poky/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch
deleted file mode 100644
index 9d9f16cee6..0000000000
--- a/poky/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 40732d03990632049d5ba63dd736269a81756b16 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 19 May 2021 00:30:05 -0700
-Subject: [PATCH] riscv: Rename __NR_fstatat __NR_newfstatat
-
-on riscv64 this syscall is called __NR_newfstatat
-this helps the name match kernel UAPI for external
-programs
-
-Upstream-Status: Submitted [https://www.openwall.com/lists/musl/2021/05/19/3]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: zabolcs Nagy <nsz@port70.net>
----
- arch/riscv64/bits/syscall.h.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in
-index f9c421d0..39c0d650 100644
---- a/arch/riscv64/bits/syscall.h.in
-+++ b/arch/riscv64/bits/syscall.h.in
-@@ -76,7 +76,7 @@
- #define __NR_splice 76
- #define __NR_tee 77
- #define __NR_readlinkat 78
--#define __NR_fstatat 79
-+#define __NR_newfstatat 79
- #define __NR_fstat 80
- #define __NR_sync 81
- #define __NR_fsync 82
---
-2.31.1
-
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index f9c174d9c1..06b0e060d0 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,7 +4,7 @@
require musl.inc
inherit linuxloader
-SRCREV = "aad50fcd791e009961621ddfbe3d4c245fd689a3"
+SRCREV = "3f701faace7addc75d16dea8a6cd769fa5b3f260"
BASEVER = "1.2.2"
@@ -15,7 +15,6 @@ PV = "${BASEVER}+git${SRCPV}"
SRC_URI = "git://git.musl-libc.org/musl \
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
- file://0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
index 64e5883f95..39e5002bb7 100644
--- a/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
+++ b/poky/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
@@ -9,6 +9,8 @@ inherit packagegroup nativesdk
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
+# autoconf pulls in nativesdk-perl but perl-module-integer is needed to
+# build some recent linux kernels (5.14+) for arm
RDEPENDS:${PN} = "\
nativesdk-pkgconfig \
nativesdk-qemu \
@@ -27,6 +29,7 @@ RDEPENDS:${PN} = "\
nativesdk-sdk-provides-dummy \
nativesdk-bison \
nativesdk-flex \
+ nativesdk-perl-module-integer \
"
RDEPENDS:${PN}:darwin = "\
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb b/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
new file mode 100644
index 0000000000..0d4f5ec9ef
--- /dev/null
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Host SDK package for Rust cross canadian toolchain"
+PN = "packagegroup-rust-cross-canadian-${MACHINE}"
+
+inherit cross-canadian packagegroup
+
+PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
+
+RUST="rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+CARGO="cargo-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+RUST_TOOLS="rust-tools-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+
+RDEPENDS:${PN} = " \
+ ${@all_multilib_tune_values(d, 'RUST')} \
+ ${@all_multilib_tune_values(d, 'CARGO')} \
+ rust-cross-canadian-src \
+ ${@all_multilib_tune_values(d, 'RUST_TOOLS')} \
+"
+
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_249.1.bb b/poky/meta/recipes-core/systemd/systemd-boot_249.3.bb
index c93bc3160b..b3d4e31e08 100644
--- a/poky/meta/recipes-core/systemd/systemd-boot_249.1.bb
+++ b/poky/meta/recipes-core/systemd/systemd-boot_249.3.bb
@@ -46,7 +46,7 @@ python __anonymous () {
FILES:${PN} = "${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE}"
-RDEPENDS:${PN} += "virtual/systemd-bootconf"
+RDEPENDS:${PN} += "virtual-systemd-bootconf"
# Imported from the old gummiboot recipe
TUNE_CCARGS:remove = "-mfpmath=sse"
@@ -71,3 +71,4 @@ do_deploy () {
}
addtask deploy before do_build after do_compile
+
diff --git a/poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb b/poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
index 12c4447f37..19637546a9 100644
--- a/poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
+++ b/poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
@@ -2,7 +2,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SUMMARY = "Basic systemd-boot configuration files"
-RPROVIDES:${PN} += "virtual/systemd-bootconf"
+RPROVIDES:${PN} += "virtual-systemd-bootconf"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit systemd-boot-cfg
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 0e92a72bb7..05341724f4 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,7 +14,7 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "764b74113e36ac5219a4b82a05f311b5a92136ce"
+SRCREV = "090378dcb1de5ca66900503210e85d63075fa70a"
SRCBRANCH = "v249-stable"
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \
"
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
index 9db22cd9d2..15fa0c4546 100644
--- a/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
@@ -1,4 +1,4 @@
-From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00 2001
+From 40acdb90031cfeb7140cee5205bce24f8c91d857 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 13:41:41 +0800
Subject: [PATCH] don't use glibc-specific qsort_r
@@ -14,14 +14,16 @@ Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
- src/basic/sort-util.h | 14 ------------
- src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++-----
- src/shared/format-table.c | 36 ++++++++++++++++++++----------
+ src/basic/sort-util.h | 14 --------------
+ src/shared/format-table.c | 36 ++++++++++++++++++++++++------------
+ src/shared/hwdb-util.c | 19 ++++++++++++++-----
3 files changed, 38 insertions(+), 31 deletions(-)
+diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
+index 49586a4a24..d92a5ab0ed 100644
--- a/src/basic/sort-util.h
+++ b/src/basic/sort-util.h
-@@ -56,18 +56,4 @@ static inline void _qsort_safe(void *bas
+@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
_qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
})
@@ -40,51 +42,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
- })
-
int cmp_int(const int *a, const int *b);
---- a/src/shared/hwdb-util.c
-+++ b/src/shared/hwdb-util.c
-@@ -127,9 +127,13 @@ static struct trie* trie_free(struct tri
-
- DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
-
--static int trie_values_cmp(const struct trie_value_entry *a, const struct trie_value_entry *b, struct trie *trie) {
-- return strcmp(trie->strings->buf + a->key_off,
-- trie->strings->buf + b->key_off);
-+static struct trie *trie_node_add_value_trie;
-+static int trie_values_cmp(const void *v1, const void *v2) {
-+ const struct trie_value_entry *a = v1;
-+ const struct trie_value_entry *b = v2;
-+
-+ return strcmp(trie_node_add_value_trie->strings->buf + a->key_off,
-+ trie_node_add_value_trie->strings->buf + b->key_off);
- }
-
- static int trie_node_add_value(struct trie *trie, struct trie_node *node,
-@@ -157,7 +161,10 @@ static int trie_node_add_value(struct tr
- .value_off = v,
- };
-
-- val = typesafe_bsearch_r(&search, node->values, node->values_count, trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
-+
- if (val) {
- /* At this point we have 2 identical properties on the same match-string.
- * Since we process files in order, we just replace the previous value. */
-@@ -183,7 +190,9 @@ static int trie_node_add_value(struct tr
- .line_number = line_number,
- };
- node->values_count++;
-- typesafe_qsort_r(node->values, node->values_count, trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
- return 0;
- }
-
+diff --git a/src/shared/format-table.c b/src/shared/format-table.c
+index 4c4e4593d8..17b329f315 100644
--- a/src/shared/format-table.c
+++ b/src/shared/format-table.c
-@@ -1282,30 +1282,32 @@ static int cell_data_compare(TableData *
+@@ -1282,30 +1282,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
return CMP(index_a, index_b);
}
@@ -141,7 +103,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
}
if (t->display_map)
-@@ -2572,7 +2579,12 @@ int table_to_json(Table *t, JsonVariant
+@@ -2572,7 +2579,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
for (size_t i = 0; i < n_rows; i++)
sorted[i] = i * t->n_columns;
@@ -155,3 +117,47 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
}
if (t->display_map)
+diff --git a/src/shared/hwdb-util.c b/src/shared/hwdb-util.c
+index d7626aed95..2003fac7c3 100644
+--- a/src/shared/hwdb-util.c
++++ b/src/shared/hwdb-util.c
+@@ -127,9 +127,13 @@ static struct trie* trie_free(struct trie *trie) {
+
+ DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
+
+-static int trie_values_cmp(const struct trie_value_entry *a, const struct trie_value_entry *b, struct trie *trie) {
+- return strcmp(trie->strings->buf + a->key_off,
+- trie->strings->buf + b->key_off);
++static struct trie *trie_node_add_value_trie;
++static int trie_values_cmp(const void *v1, const void *v2) {
++ const struct trie_value_entry *a = v1;
++ const struct trie_value_entry *b = v2;
++
++ return strcmp(trie_node_add_value_trie->strings->buf + a->key_off,
++ trie_node_add_value_trie->strings->buf + b->key_off);
+ }
+
+ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+@@ -157,7 +161,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+ .value_off = v,
+ };
+
+- val = typesafe_bsearch_r(&search, node->values, node->values_count, trie_values_cmp, trie);
++ trie_node_add_value_trie = trie;
++ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
++ trie_node_add_value_trie = NULL;
++
+ if (val) {
+ /* At this point we have 2 identical properties on the same match-string.
+ * Since we process files in order, we just replace the previous value. */
+@@ -183,7 +190,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
+ .line_number = line_number,
+ };
+ node->values_count++;
+- typesafe_qsort_r(node->values, node->values_count, trie_values_cmp, trie);
++ trie_node_add_value_trie = trie;
++ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
++ trie_node_add_value_trie = NULL;
+ return 0;
+ }
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
index 9b1768d9ca..d0110a2388 100644
--- a/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
@@ -1,4 +1,4 @@
-From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00 2001
+From 2a2f95b6dc16d2ea7a8e9349c6b19cc50c34777b Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 13:55:12 +0800
Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t
@@ -63,7 +63,7 @@ index 8a7f82812a..a56f12f47f 100644
#if HAVE_KMOD
#include "module-util.h"
diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
-index aea3241d18..75e6c56a28 100644
+index ce8d47ccc3..00845f9776 100644
--- a/src/libsystemd/sd-journal/catalog.c
+++ b/src/libsystemd/sd-journal/catalog.c
@@ -28,6 +28,7 @@
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index dc40a2fe8d..1d61367da4 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -1,7 +1,7 @@
-From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00 2001
+From b19f800e178516d4f4d344457647e4a018bd6855 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Sat, 22 May 2021 20:26:24 +0200
-Subject: [PATCH] [PATCH] add fallback parse_printf_format implementation
+Subject: [PATCH] add fallback parse_printf_format implementation
Upstream-Status: Inappropriate [musl specific]
@@ -10,6 +10,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[rebased for systemd 243]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
---
meson.build | 1 +
src/basic/meson.build | 5 +
@@ -22,10 +23,10 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
create mode 100644 src/basic/parse-printf-format.h
diff --git a/meson.build b/meson.build
-index 27186d63a3..2abb7b3188 100644
+index 738879eb21..1aa20b8246 100644
--- a/meson.build
+++ b/meson.build
-@@ -675,6 +675,7 @@ endif
+@@ -656,6 +656,7 @@ endif
foreach header : ['crypt.h',
'linux/memfd.h',
'linux/vm_sockets.h',
@@ -34,10 +35,10 @@ index 27186d63a3..2abb7b3188 100644
'valgrind/memcheck.h',
'valgrind/valgrind.h',
diff --git a/src/basic/meson.build b/src/basic/meson.build
-index 60ef801a25..aba2172edd 100644
+index 9b016ce5e8..a9ce21b02e 100644
--- a/src/basic/meson.build
+++ b/src/basic/meson.build
-@@ -341,6 +341,11 @@ endforeach
+@@ -322,6 +322,11 @@ endforeach
basic_sources += generated_gperf_headers
@@ -430,6 +431,3 @@ index fd3fd7ef9c..e8e6ad555b 100644
#define SNDBUF_SIZE (8*1024*1024)
---
-2.24.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index c863fc995c..0462d52d5e 100644
--- a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -1,4 +1,4 @@
-From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00 2001
+From db6551741a3654d8e75aff93ea00fbff579f7b02 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 14:18:21 +0800
Subject: [PATCH] src/basic/missing.h: check for missing strndupa
@@ -29,9 +29,9 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
src/basic/mountpoint-util.c | 1 +
src/basic/parse-util.c | 1 +
src/basic/path-lookup.c | 1 +
+ src/basic/percent-util.c | 1 +
src/basic/proc-cmdline.c | 1 +
src/basic/procfs-util.c | 1 +
- src/basic/selinux-util.c | 1 +
src/basic/time-util.c | 1 +
src/boot/bless-boot.c | 1 +
src/core/dbus-cgroup.c | 1 +
@@ -72,16 +72,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
src/udev/udev-rules.c | 1 +
51 files changed, 62 insertions(+)
+diff --git a/meson.build b/meson.build
+index 1aa20b8246..aafee71eb4 100644
--- a/meson.build
+++ b/meson.build
-@@ -480,6 +480,7 @@ foreach ident : ['secure_getenv', '__sec
+@@ -480,6 +480,7 @@ foreach ident : ['secure_getenv', '__secure_getenv']
endforeach
-
+
foreach ident : [
+ ['strndupa' , '''#include <string.h>'''],
['memfd_create', '''#include <sys/mman.h>'''],
['gettid', '''#include <sys/types.h>
#include <unistd.h>'''],
+diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
+index 7c0970a60c..c129ff0f4f 100644
--- a/src/backlight/backlight.c
+++ b/src/backlight/backlight.c
@@ -19,6 +19,7 @@
@@ -89,9 +93,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "strv.h"
#include "util.h"
+#include "missing_stdlib.h"
-
+
static int help(void) {
_cleanup_free_ char *link = NULL;
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index 1ff6160dc8..c9efd862a2 100644
--- a/src/basic/cgroup-util.c
+++ b/src/basic/cgroup-util.c
@@ -38,6 +38,7 @@
@@ -99,9 +105,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "user-util.h"
#include "xattr-util.h"
+#include "missing_stdlib.h"
-
+
static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
_cleanup_free_ char *fs = NULL;
+diff --git a/src/basic/env-util.c b/src/basic/env-util.c
+index 81b1e3f10e..8fedcfd1cd 100644
--- a/src/basic/env-util.c
+++ b/src/basic/env-util.c
@@ -18,6 +18,7 @@
@@ -109,9 +117,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "strv.h"
#include "utf8.h"
+#include "missing_stdlib.h"
-
+
/* We follow bash for the character set. Different shells have different rules. */
#define VALID_BASH_ENV_NAME_CHARS \
+diff --git a/src/basic/log.c b/src/basic/log.c
+index fb183ea9e7..82e7bdff60 100644
--- a/src/basic/log.c
+++ b/src/basic/log.c
@@ -36,6 +36,7 @@
@@ -119,9 +129,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "time-util.h"
#include "utf8.h"
+#include "missing_stdlib.h"
-
+
#define SNDBUF_SIZE (8*1024*1024)
-
+
+diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
+index 8c76f93eb2..9068bfb4f0 100644
--- a/src/basic/missing_stdlib.h
+++ b/src/basic/missing_stdlib.h
@@ -11,3 +11,15 @@
@@ -140,6 +152,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+ (char *)memcpy(__new, __old, __len); \
+ })
+#endif
+diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
+index f91f8f7a08..fb31596216 100644
--- a/src/basic/mkdir.c
+++ b/src/basic/mkdir.c
@@ -14,6 +14,7 @@
@@ -147,9 +161,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "stdio-util.h"
#include "user-util.h"
+#include "missing_stdlib.h"
-
+
int mkdir_safe_internal(
const char *path,
+diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
+index 8c836a1b74..2eb7e5a634 100644
--- a/src/basic/mountpoint-util.c
+++ b/src/basic/mountpoint-util.c
@@ -11,6 +11,7 @@
@@ -160,6 +176,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "mountpoint-util.h"
#include "parse-util.h"
#include "path-util.h"
+diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
+index b79c885dfd..6dabda5691 100644
--- a/src/basic/parse-util.c
+++ b/src/basic/parse-util.c
@@ -19,6 +19,7 @@
@@ -167,9 +185,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "string-util.h"
#include "strv.h"
+#include "missing_stdlib.h"
-
+
int parse_boolean(const char *v) {
if (!v)
+diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
+index 05eb17d66c..b6026aab28 100644
--- a/src/basic/path-lookup.c
+++ b/src/basic/path-lookup.c
@@ -15,6 +15,7 @@
@@ -177,9 +197,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "tmpfile-util.h"
#include "user-util.h"
+#include "missing_stdlib.h"
-
+
int xdg_user_runtime_dir(char **ret, const char *suffix) {
const char *e;
+diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c
+index 06f20fd61e..8159d721bb 100644
+--- a/src/basic/percent-util.c
++++ b/src/basic/percent-util.c
+@@ -3,6 +3,7 @@
+ #include "percent-util.h"
+ #include "string-util.h"
+ #include "parse-util.h"
++#include "missing_stdlib.h"
+
+ static int parse_parts_value_whole(const char *p, const char *symbol) {
+ const char *pc, *n;
+diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
+index 410b8a3eb5..f2c4355609 100644
--- a/src/basic/proc-cmdline.c
+++ b/src/basic/proc-cmdline.c
@@ -15,6 +15,7 @@
@@ -187,9 +221,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "util.h"
#include "virt.h"
+#include "missing_stdlib.h"
-
+
int proc_cmdline(char **ret) {
const char *e;
+diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
+index 9234ccaf85..8c57094225 100644
--- a/src/basic/procfs-util.c
+++ b/src/basic/procfs-util.c
@@ -11,6 +11,7 @@
@@ -197,9 +233,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "stdio-util.h"
#include "string-util.h"
+#include "missing_stdlib.h"
-
+
int procfs_tasks_get_limit(uint64_t *ret) {
_cleanup_free_ char *value = NULL;
+diff --git a/src/basic/time-util.c b/src/basic/time-util.c
+index 5d162e8ffe..1cde8e4262 100644
--- a/src/basic/time-util.c
+++ b/src/basic/time-util.c
@@ -26,6 +26,7 @@
@@ -207,9 +245,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "strv.h"
#include "time-util.h"
+#include "missing_stdlib.h"
-
+
static clockid_t map_clock_id(clockid_t c) {
-
+
+diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
+index 3fc319ca27..90064c90f3 100644
--- a/src/boot/bless-boot.c
+++ b/src/boot/bless-boot.c
@@ -18,6 +18,7 @@
@@ -217,9 +257,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "verbs.h"
#include "virt.h"
+#include "missing_stdlib.h"
-
+
static char **arg_path = NULL;
-
+
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index 84c3caf3a5..0fa84eaa38 100644
--- a/src/core/dbus-cgroup.c
+++ b/src/core/dbus-cgroup.c
@@ -20,6 +20,7 @@
@@ -227,9 +269,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "path-util.h"
#include "percent-util.h"
+#include "missing_stdlib.h"
-
+
BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
-
+
+diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
+index 50daef6702..1cc6d91e64 100644
--- a/src/core/dbus-execute.c
+++ b/src/core/dbus-execute.c
@@ -42,6 +42,7 @@
@@ -237,9 +281,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "user-util.h"
#include "utf8.h"
+#include "missing_stdlib.h"
-
+
BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
+diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
+index ca9b399d8c..b864480a8c 100644
--- a/src/core/dbus-util.c
+++ b/src/core/dbus-util.c
@@ -9,6 +9,7 @@
@@ -247,9 +293,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "user-util.h"
#include "unit.h"
+#include "missing_stdlib.h"
-
+
int bus_property_get_triggered_unit(
sd_bus *bus,
+diff --git a/src/core/execute.c b/src/core/execute.c
+index 2a337b55a2..2a64675c5f 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -98,6 +98,7 @@
@@ -257,9 +305,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "user-util.h"
#include "utmp-wtmp.h"
+#include "missing_stdlib.h"
-
+
#define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
#define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index a56f12f47f..6b8729ef67 100644
--- a/src/core/kmod-setup.c
+++ b/src/core/kmod-setup.c
@@ -11,6 +11,7 @@
@@ -267,9 +317,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "string-util.h"
#include "missing_type.h"
+#include "missing_stdlib.h"
-
+
#if HAVE_KMOD
#include "module-util.h"
+diff --git a/src/core/service.c b/src/core/service.c
+index cb0a528f0d..740d305710 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -41,6 +41,7 @@
@@ -277,9 +329,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "utf8.h"
#include "util.h"
+#include "missing_stdlib.h"
-
+
static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
[SERVICE_DEAD] = UNIT_INACTIVE,
+diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
+index 95c3fca661..d4a9f27b08 100644
--- a/src/coredump/coredump-vacuum.c
+++ b/src/coredump/coredump-vacuum.c
@@ -16,6 +16,7 @@
@@ -287,9 +341,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "time-util.h"
#include "user-util.h"
+#include "missing_stdlib.h"
-
+
#define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */
#define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
+diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
+index ae1d43756a..24de98c9f3 100644
--- a/src/journal-remote/journal-remote-main.c
+++ b/src/journal-remote/journal-remote-main.c
@@ -24,6 +24,7 @@
@@ -297,9 +353,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "string-table.h"
#include "strv.h"
+#include "missing_stdlib.h"
-
+
#define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
#define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
+diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
+index c8fb726d42..858a425d12 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -72,6 +72,7 @@
@@ -307,9 +365,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "user-util.h"
#include "varlink.h"
+#include "missing_stdlib.h"
-
+
#define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
#define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
+diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
+index 20f7396c74..3471311ef5 100644
--- a/src/libsystemd/sd-bus/bus-message.c
+++ b/src/libsystemd/sd-bus/bus-message.c
@@ -20,6 +20,7 @@
@@ -317,9 +377,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "time-util.h"
#include "utf8.h"
+#include "missing_stdlib.h"
-
+
static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
-
+
+diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
+index bfd42aea7d..daefc56e3e 100644
--- a/src/libsystemd/sd-bus/bus-objects.c
+++ b/src/libsystemd/sd-bus/bus-objects.c
@@ -12,6 +12,7 @@
@@ -327,9 +389,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "string-util.h"
#include "strv.h"
+#include "missing_stdlib.h"
-
+
static int node_vtable_get_userdata(
sd_bus *bus,
+diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
+index 378774fe8b..2694c177d5 100644
--- a/src/libsystemd/sd-bus/bus-socket.c
+++ b/src/libsystemd/sd-bus/bus-socket.c
@@ -27,6 +27,7 @@
@@ -337,9 +401,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "user-util.h"
#include "utf8.h"
+#include "missing_stdlib.h"
-
+
#define SNDBUF_SIZE (8*1024*1024)
-
+
+diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
+index a32e2f5e20..97fd3aec82 100644
--- a/src/libsystemd/sd-bus/sd-bus.c
+++ b/src/libsystemd/sd-bus/sd-bus.c
@@ -42,6 +42,7 @@
@@ -347,9 +413,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "strv.h"
#include "user-util.h"
+#include "missing_stdlib.h"
-
+
#define log_debug_bus_message(m) \
do { \
+diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
+index 13c08fe295..9aae83486e 100644
--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
@@ -14,6 +14,7 @@
@@ -357,9 +425,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "time-util.h"
#include "util.h"
+#include "missing_stdlib.h"
-
+
#define MAX_SIZE (2*1024*1024)
-
+
+diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
+index 5728c537bc..94885b0bf6 100644
--- a/src/libsystemd/sd-journal/sd-journal.c
+++ b/src/libsystemd/sd-journal/sd-journal.c
@@ -40,6 +40,7 @@
@@ -367,9 +437,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "strv.h"
#include "syslog-util.h"
+#include "missing_stdlib.h"
-
+
#define JOURNAL_FILES_MAX 7168
-
+
+diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
+index d2f0566dbc..3b7746557e 100644
--- a/src/locale/keymap-util.c
+++ b/src/locale/keymap-util.c
@@ -24,6 +24,7 @@
@@ -377,9 +449,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "strv.h"
#include "tmpfile-util.h"
+#include "missing_stdlib.h"
-
+
static bool startswith_comma(const char *s, const char *prefix) {
s = startswith(s, prefix);
+diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
+index f8bd17eefe..9633fbc152 100644
--- a/src/login/pam_systemd.c
+++ b/src/login/pam_systemd.c
@@ -31,6 +31,7 @@
@@ -390,6 +464,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "pam-util.h"
#include "parse-util.h"
#include "path-util.h"
+diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
+index 60e074e99b..a728e3b7a1 100644
--- a/src/network/generator/network-generator.c
+++ b/src/network/generator/network-generator.c
@@ -13,6 +13,7 @@
@@ -397,9 +473,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "string-util.h"
#include "strv.h"
+#include "missing_stdlib.h"
-
+
/*
# .network
+diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
+index 3847fe4ec4..3696b57baa 100644
--- a/src/nspawn/nspawn-settings.c
+++ b/src/nspawn/nspawn-settings.c
@@ -17,6 +17,7 @@
@@ -407,9 +485,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "user-util.h"
#include "util.h"
+#include "missing_stdlib.h"
-
+
Settings *settings_new(void) {
Settings *s;
+diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
+index 44715bb3e5..bc1e688b5e 100644
--- a/src/nss-mymachines/nss-mymachines.c
+++ b/src/nss-mymachines/nss-mymachines.c
@@ -21,6 +21,7 @@
@@ -417,9 +497,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "signal-util.h"
#include "string-util.h"
+#include "missing_stdlib.h"
-
+
static void setup_logging(void) {
/* We need a dummy function because log_parse_environment is a macro. */
+diff --git a/src/portable/portable.c b/src/portable/portable.c
+index 4cf5fb4f0a..577dc5c8d7 100644
--- a/src/portable/portable.c
+++ b/src/portable/portable.c
@@ -34,6 +34,7 @@
@@ -427,9 +509,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "tmpfile-util.h"
#include "user-util.h"
+#include "missing_stdlib.h"
-
+
static const char profile_dirs[] = CONF_PATHS_NULSTR("systemd/portable/profile");
-
+
+diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
+index 7d13ed3905..ddc37115b8 100644
--- a/src/resolve/resolvectl.c
+++ b/src/resolve/resolvectl.c
@@ -41,6 +41,7 @@
@@ -437,9 +521,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "utf8.h"
#include "verbs.h"
+#include "missing_stdlib.h"
-
+
static int arg_family = AF_UNSPEC;
static int arg_ifindex = 0;
+diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
+index feb6d3807f..eb11d29e50 100644
--- a/src/shared/bus-get-properties.c
+++ b/src/shared/bus-get-properties.c
@@ -4,6 +4,7 @@
@@ -447,9 +533,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "stdio-util.h"
#include "string-util.h"
+#include "missing_stdlib.h"
-
+
int bus_property_get_bool(
sd_bus *bus,
+diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
+index 6f4a71138c..4a46de2c1b 100644
--- a/src/shared/bus-unit-procs.c
+++ b/src/shared/bus-unit-procs.c
@@ -10,6 +10,7 @@
@@ -457,9 +545,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "string-util.h"
#include "terminal-util.h"
+#include "missing_stdlib.h"
-
+
struct CGroupInfo {
char *cgroup_path;
+diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
+index d3a5b25d18..003594e2d7 100644
--- a/src/shared/bus-unit-util.c
+++ b/src/shared/bus-unit-util.c
@@ -47,6 +47,7 @@
@@ -467,9 +557,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "user-util.h"
#include "utf8.h"
+#include "missing_stdlib.h"
-
+
int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
assert(message);
+diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
+index 64ca67993c..31e3d148ea 100644
--- a/src/shared/bus-util.c
+++ b/src/shared/bus-util.c
@@ -21,6 +21,7 @@
@@ -477,9 +569,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "socket-util.h"
#include "stdio-util.h"
+#include "missing_stdlib.h"
-
+
static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
sd_event *e = userdata;
+diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
+index 787bb8fec9..009589a16f 100644
--- a/src/shared/dns-domain.c
+++ b/src/shared/dns-domain.c
@@ -17,6 +17,7 @@
@@ -487,9 +581,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "strv.h"
#include "utf8.h"
+#include "missing_stdlib.h"
-
+
int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
const char *n;
+diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
+index 9e11dc09c1..f9954c1520 100644
--- a/src/shared/journal-importer.c
+++ b/src/shared/journal-importer.c
@@ -15,6 +15,7 @@
@@ -497,9 +593,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "string-util.h"
#include "unaligned.h"
+#include "missing_stdlib.h"
-
+
enum {
IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index e63c59bd94..dd9773c009 100644
--- a/src/shared/logs-show.c
+++ b/src/shared/logs-show.c
@@ -41,6 +41,7 @@
@@ -507,9 +605,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "util.h"
#include "web-util.h"
+#include "missing_stdlib.h"
-
+
/* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
#define PRINT_LINE_THRESHOLD 3
+diff --git a/src/shared/pager.c b/src/shared/pager.c
+index 4bbad7e37b..eefcdd068c 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -26,6 +26,7 @@
@@ -517,9 +617,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "terminal-util.h"
#include "util.h"
+#include "missing_stdlib.h"
-
+
static pid_t pager_pid = 0;
-
+
+diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
+index 5d5bf7f21d..f1002ffa6c 100644
--- a/src/shared/uid-range.c
+++ b/src/shared/uid-range.c
@@ -9,6 +9,7 @@
@@ -527,9 +629,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "uid-range.h"
#include "user-util.h"
+#include "missing_stdlib.h"
-
+
static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
assert(range);
+diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
+index 6e3ee0d76b..7727e33d95 100644
--- a/src/socket-proxy/socket-proxyd.c
+++ b/src/socket-proxy/socket-proxyd.c
@@ -26,6 +26,7 @@
@@ -537,9 +641,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "string-util.h"
#include "util.h"
+#include "missing_stdlib.h"
-
+
#define BUFFER_SIZE (256 * 1024)
-
+
+diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
+index c9d318b8d1..fcb8d40805 100644
--- a/src/test/test-hexdecoct.c
+++ b/src/test/test-hexdecoct.c
@@ -6,6 +6,7 @@
@@ -547,9 +653,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "macro.h"
#include "string-util.h"
+#include "missing_stdlib.h"
-
+
static void test_hexchar(void) {
assert_se(hexchar(0xa) == 'a');
+diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
+index 65c40de4c8..4ef9a0c6c8 100644
--- a/src/udev/udev-builtin-path_id.c
+++ b/src/udev/udev-builtin-path_id.c
@@ -22,6 +22,7 @@
@@ -557,9 +665,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "udev-builtin.h"
#include "udev-util.h"
+#include "missing_stdlib.h"
-
+
_printf_(2,3)
static void path_prepend(char **path, const char *fmt, ...) {
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index b28089be71..a7e2232299 100644
--- a/src/udev/udev-event.c
+++ b/src/udev/udev-event.c
@@ -34,6 +34,7 @@
@@ -567,9 +677,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "udev-watch.h"
#include "user-util.h"
+#include "missing_stdlib.h"
-
+
typedef struct Spawn {
sd_device *device;
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index bf997fc0ed..e3f5f1f2e2 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -33,6 +33,7 @@
@@ -577,17 +689,6 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "user-util.h"
#include "virt.h"
+#include "missing_stdlib.h"
-
+
#define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
-
---- a/src/basic/percent-util.c
-+++ b/src/basic/percent-util.c
-@@ -3,6 +3,7 @@
- #include "percent-util.h"
- #include "string-util.h"
- #include "parse-util.h"
-+#include "missing_stdlib.h"
-
- static int parse_parts_value_whole(const char *p, const char *symbol) {
- const char *pc, *n;
-
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
index 2dfc7a3cfb..855607e6a8 100644
--- a/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
@@ -1,4 +1,4 @@
-From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00 2001
+From d7ae3aadc70555932e03349907f8be04d03a50ee Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 26 Oct 2017 22:10:42 -0700
Subject: [PATCH] Include netinet/if_ether.h
@@ -33,29 +33,77 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
- src/libsystemd-network/sd-dhcp6-client.c | 1 -
- src/libsystemd/sd-netlink/netlink-types.c | 1 +
- src/machine/machine-dbus.c | 1 +
- src/network/netdev/bond.c | 1 +
- src/network/netdev/bridge.c | 1 +
- src/network/netdev/macsec.c | 1 +
- src/network/netdev/netdev-gperf.gperf | 1 +
- src/network/netdev/netdev.c | 1 +
- src/network/networkd-brvlan.c | 1 +
- src/network/networkd-dhcp-common.c | 4 +++-
- src/network/networkd-dhcp-server.c | 4 ++--
- src/network/networkd-dhcp4.c | 2 +-
- src/network/networkd-dhcp6.c | 2 +-
- src/network/networkd-link.c | 2 +-
- src/network/networkd-network.c | 1 +
- src/network/networkd-route.c | 5 ++++-
- src/network/test-network-tables.c | 1 +
- src/shared/ethtool-util.c | 1 +
- src/shared/ethtool-util.h | 1 +
- src/udev/net/link-config.c | 1 +
- src/udev/udev-builtin-net_setup_link.c | 1 +
- 21 files changed, 26 insertions(+), 8 deletions(-)
+ src/basic/linux/in6.h | 14 +++++++-------
+ src/libsystemd-network/sd-dhcp6-client.c | 1 -
+ src/libsystemd/sd-netlink/netlink-types.c | 1 +
+ src/machine/machine-dbus.c | 1 +
+ src/network/netdev/bond.c | 1 +
+ src/network/netdev/bridge.c | 1 +
+ src/network/netdev/macsec.c | 1 +
+ src/network/netdev/netdev-gperf.gperf | 1 +
+ src/network/netdev/netdev.c | 1 +
+ src/network/networkd-bridge-vlan.c | 1 +
+ src/network/networkd-dhcp-common.c | 4 +++-
+ src/network/networkd-dhcp-server.c | 4 ++--
+ src/network/networkd-dhcp4.c | 2 +-
+ src/network/networkd-dhcp6.c | 2 +-
+ src/network/networkd-link.c | 2 +-
+ src/network/networkd-network.c | 1 +
+ src/network/networkd-route.c | 1 +
+ src/network/networkd-setlink.c | 2 +-
+ src/network/test-network-tables.c | 1 +
+ src/shared/ethtool-util.c | 1 +
+ src/shared/ethtool-util.h | 1 +
+ src/udev/net/link-config.c | 1 +
+ src/udev/udev-builtin-net_setup_link.c | 1 +
+ 23 files changed, 31 insertions(+), 15 deletions(-)
+diff --git a/src/basic/linux/in6.h b/src/basic/linux/in6.h
+index 5ad396a57e..1dc007fe13 100644
+--- a/src/basic/linux/in6.h
++++ b/src/basic/linux/in6.h
+@@ -1,10 +1,10 @@
+ /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
+ /*
+- * Types and definitions for AF_INET6
+- * Linux INET6 implementation
++ * Types and definitions for AF_INET6
++ * Linux INET6 implementation
+ *
+ * Authors:
+- * Pedro Roque <roque@di.fc.ul.pt>
++ * Pedro Roque <roque@di.fc.ul.pt>
+ *
+ * Sources:
+ * IPv6 Program Interfaces for BSD Systems
+@@ -19,8 +19,8 @@
+ * 2 of the License, or (at your option) any later version.
+ */
+
+-#ifndef _UAPI_LINUX_IN6_H
+-#define _UAPI_LINUX_IN6_H
++#ifndef _LINUX_IN6_H
++#define _LINUX_IN6_H
+
+ #include <linux/types.h>
+ #include <linux/libc-compat.h>
+@@ -97,7 +97,7 @@ struct in6_flowlabel_req {
+
+
+ /*
+- * Bitmask constant declarations to help applications select out the
++ * Bitmask constant declarations to help applications select out the
+ * flow label and priority fields.
+ *
+ * Note that this are in host byte order while the flowinfo field of
+@@ -298,4 +298,4 @@ struct in6_flowlabel_req {
+ * ...
+ * MRT6_MAX
+ */
+-#endif /* _UAPI_LINUX_IN6_H */
++#endif /* _LINUX_IN6_H */
+diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
+index e8c47f429a..359922c1b3 100644
--- a/src/libsystemd-network/sd-dhcp6-client.c
+++ b/src/libsystemd-network/sd-dhcp6-client.c
@@ -5,7 +5,6 @@
@@ -66,6 +114,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <linux/if_infiniband.h>
#include "sd-dhcp6-client.h"
+diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
+index beb926d40b..41de212242 100644
--- a/src/libsystemd/sd-netlink/netlink-types.c
+++ b/src/libsystemd/sd-netlink/netlink-types.c
@@ -3,6 +3,7 @@
@@ -76,6 +126,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <linux/can/vxcan.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
+diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
+index 0022a980c5..fc22e51409 100644
--- a/src/machine/machine-dbus.c
+++ b/src/machine/machine-dbus.c
@@ -3,6 +3,7 @@
@@ -86,6 +138,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
/* When we include libgen.h because we need dirname() we immediately
* undefine basename() since libgen.h defines it as a macro to the POSIX
+diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
+index a7a4adce45..eb111a6c48 100644
--- a/src/network/netdev/bond.c
+++ b/src/network/netdev/bond.c
@@ -1,5 +1,6 @@
@@ -95,6 +149,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "alloc-util.h"
#include "bond.h"
#include "bond-util.h"
+diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
+index 99fb9e1c3c..ecc6ca91bf 100644
--- a/src/network/netdev/bridge.c
+++ b/src/network/netdev/bridge.c
@@ -1,5 +1,6 @@
@@ -104,6 +160,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <net/if.h>
#include "bridge.h"
+diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
+index 77c5f8c4e7..04be1b4ab2 100644
--- a/src/network/netdev/macsec.c
+++ b/src/network/netdev/macsec.c
@@ -1,5 +1,6 @@
@@ -113,6 +171,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <netinet/in.h>
#include <linux/if_ether.h>
#include <linux/if_macsec.h>
+diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf
+index 9dd081425e..130e5b3d3c 100644
--- a/src/network/netdev/netdev-gperf.gperf
+++ b/src/network/netdev/netdev-gperf.gperf
@@ -3,6 +3,7 @@
@@ -123,6 +183,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <stddef.h>
#include "bareudp.h"
#include "batadv.h"
+diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
+index 53534d4873..1cfda9469f 100644
--- a/src/network/netdev/netdev.c
+++ b/src/network/netdev/netdev.c
@@ -1,5 +1,6 @@
@@ -132,6 +194,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <net/if.h>
#include <netinet/in.h>
#include <unistd.h>
+diff --git a/src/network/networkd-bridge-vlan.c b/src/network/networkd-bridge-vlan.c
+index 3153bf6984..687a26b057 100644
+--- a/src/network/networkd-bridge-vlan.c
++++ b/src/network/networkd-bridge-vlan.c
+@@ -4,6 +4,7 @@
+ ***/
+
+ #include <netinet/in.h>
++#include <netinet/if_ether.h>
+ #include <linux/if_bridge.h>
+ #include <stdbool.h>
+
+diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
+index 249d780887..edd2e9adf8 100644
--- a/src/network/networkd-dhcp-common.c
+++ b/src/network/networkd-dhcp-common.c
@@ -1,7 +1,8 @@
@@ -152,6 +228,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "networkd-network.h"
#include "parse-util.h"
#include "socket-util.h"
+diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
+index 9e2faa5675..fd8d817569 100644
--- a/src/network/networkd-dhcp-server.c
+++ b/src/network/networkd-dhcp-server.c
@@ -1,8 +1,8 @@
@@ -165,6 +243,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "sd-dhcp-server.h"
+diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
+index f80adcdbcf..3311e2a718 100644
--- a/src/network/networkd-dhcp4.c
+++ b/src/network/networkd-dhcp4.c
@@ -1,9 +1,9 @@
@@ -178,6 +258,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "escape.h"
#include "alloc-util.h"
+diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
+index 2b72b618fc..d0d4cfb384 100644
--- a/src/network/networkd-dhcp6.c
+++ b/src/network/networkd-dhcp6.c
@@ -3,9 +3,9 @@
@@ -191,9 +273,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "sd-dhcp6-client.h"
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index 9421ce1aa6..3e37cbcc39 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
-@@ -1,9 +1,10 @@
+@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#include <netinet/if_ether.h>
@@ -201,10 +285,10 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <linux/if.h>
-#include <linux/if_arp.h>
#include <linux/if_link.h>
-+#include <linux/netdevice.h>
+ #include <linux/netdevice.h>
#include <sys/socket.h>
- #include <unistd.h>
-
+diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
+index 850b4f449e..6f85d41328 100644
--- a/src/network/networkd-network.c
+++ b/src/network/networkd-network.c
@@ -1,5 +1,6 @@
@@ -214,6 +298,33 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <net/if.h>
#include <netinet/in.h>
#include <linux/netdevice.h>
+diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
+index 77a93beca9..3bf9ae8837 100644
+--- a/src/network/networkd-route.c
++++ b/src/network/networkd-route.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
++#include <netinet/in.h>
+ #include <linux/icmpv6.h>
+ #include <linux/ipv6_route.h>
+ #include <linux/nexthop.h>
+diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c
+index 10c312c480..e44fbb5c35 100644
+--- a/src/network/networkd-setlink.c
++++ b/src/network/networkd-setlink.c
+@@ -1,8 +1,8 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+ #include <netinet/in.h>
++#include <net/if_arp.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
+
+ #include "missing_network.h"
+ #include "netlink-util.h"
+diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c
+index f55e524ae9..83d5c7cef3 100644
--- a/src/network/test-network-tables.c
+++ b/src/network/test-network-tables.c
@@ -1,5 +1,6 @@
@@ -223,6 +334,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "bond.h"
#include "dhcp6-internal.h"
#include "dhcp6-protocol.h"
+diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
+index f77f6943ca..0e1506e04b 100644
--- a/src/shared/ethtool-util.c
+++ b/src/shared/ethtool-util.c
@@ -1,5 +1,6 @@
@@ -232,6 +345,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <net/if.h>
#include <sys/ioctl.h>
#include <linux/ethtool.h>
+diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
+index 7d28766624..e98a25418b 100644
--- a/src/shared/ethtool-util.h
+++ b/src/shared/ethtool-util.h
@@ -3,6 +3,7 @@
@@ -242,6 +357,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <linux/ethtool.h>
#include "conf-parser.h"
+diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
+index 8dfe23691b..e269856337 100644
--- a/src/udev/net/link-config.c
+++ b/src/udev/net/link-config.c
@@ -1,5 +1,6 @@
@@ -251,6 +368,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <linux/netdevice.h>
#include <netinet/ether.h>
#include <unistd.h>
+diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
+index d40251331c..89566c05f5 100644
--- a/src/udev/udev-builtin-net_setup_link.c
+++ b/src/udev/udev-builtin-net_setup_link.c
@@ -1,5 +1,6 @@
@@ -260,76 +379,3 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include "alloc-util.h"
#include "device-util.h"
#include "errno-util.h"
---- a/src/network/networkd-bridge-vlan.c
-+++ b/src/network/networkd-bridge-vlan.c
-@@ -4,6 +4,7 @@
- ***/
-
- #include <netinet/in.h>
-+#include <netinet/if_ether.h>
- #include <linux/if_bridge.h>
- #include <stdbool.h>
-
---- a/src/basic/linux/in6.h
-+++ b/src/basic/linux/in6.h
-@@ -1,10 +1,10 @@
- /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
- /*
-- * Types and definitions for AF_INET6
-- * Linux INET6 implementation
-+ * Types and definitions for AF_INET6
-+ * Linux INET6 implementation
- *
- * Authors:
-- * Pedro Roque <roque@di.fc.ul.pt>
-+ * Pedro Roque <roque@di.fc.ul.pt>
- *
- * Sources:
- * IPv6 Program Interfaces for BSD Systems
-@@ -19,8 +19,8 @@
- * 2 of the License, or (at your option) any later version.
- */
-
--#ifndef _UAPI_LINUX_IN6_H
--#define _UAPI_LINUX_IN6_H
-+#ifndef _LINUX_IN6_H
-+#define _LINUX_IN6_H
-
- #include <linux/types.h>
- #include <linux/libc-compat.h>
-@@ -97,7 +97,7 @@ struct in6_flowlabel_req {
-
-
- /*
-- * Bitmask constant declarations to help applications select out the
-+ * Bitmask constant declarations to help applications select out the
- * flow label and priority fields.
- *
- * Note that this are in host byte order while the flowinfo field of
-@@ -298,4 +298,4 @@ struct in6_flowlabel_req {
- * ...
- * MRT6_MAX
- */
--#endif /* _UAPI_LINUX_IN6_H */
-+#endif /* _LINUX_IN6_H */
---- a/src/network/networkd-route.c
-+++ b/src/network/networkd-route.c
-@@ -1,5 +1,6 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
-
-+#include <netinet/in.h>
- #include <linux/icmpv6.h>
- #include <linux/ipv6_route.h>
- #include <linux/nexthop.h>
---- a/src/network/networkd-setlink.c
-+++ b/src/network/networkd-setlink.c
-@@ -1,8 +1,8 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
-
- #include <netinet/in.h>
-+#include <net/if_arp.h>
- #include <linux/if.h>
--#include <linux/if_arp.h>
-
- #include "missing_network.h"
- #include "netlink-util.h"
diff --git a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
index 4a60ee32ef..28846935e0 100644
--- a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
@@ -1,4 +1,4 @@
-From bca73ff2fbff2dc311040a87a4f536f89af07ad6 Mon Sep 17 00:00:00 2001
+From e2d70a1735fc6b9d3c079814831ab0b1b2a9d1e0 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 14:56:21 +0800
Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined
@@ -23,6 +23,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
src/tmpfiles/tmpfiles.c | 10 ++++++++++
3 files changed, 38 insertions(+)
+diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
+index e026b29478..815e56ef68 100644
--- a/src/basic/glob-util.c
+++ b/src/basic/glob-util.c
@@ -12,6 +12,12 @@
@@ -46,7 +48,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
/* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
assert(!(flags & GLOB_ALTDIRFUNC));
-@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flag
+@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
pglob->gl_lstat = lstat;
if (!pglob->gl_stat)
pglob->gl_stat = stat;
@@ -61,6 +63,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (k == GLOB_NOMATCH)
return -ENOENT;
if (k == GLOB_NOSPACE)
+diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
+index 50b4924679..09c0a20aee 100644
--- a/src/test/test-glob-util.c
+++ b/src/test/test-glob-util.c
@@ -12,6 +12,12 @@
@@ -110,6 +114,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
assert_se(r == GLOB_NOMATCH);
(void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
+diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
+index 7e85c50634..145c48a685 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -66,6 +66,12 @@
@@ -135,7 +141,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
};
int r = 0, k;
char **fn;
-@@ -2010,7 +2018,9 @@ static int glob_item(Item *i, action_t a
+@@ -2010,7 +2018,9 @@ static int glob_item(Item *i, action_t action) {
static int glob_item_recursively(Item *i, fdaction_t action) {
_cleanup_globfree_ glob_t g = {
diff --git a/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
index 142ca01345..1de7ccf150 100644
--- a/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
@@ -1,4 +1,4 @@
-From e0d1912f0246c97e5e7b4177691363d2d077e11d Mon Sep 17 00:00:00 2001
+From 3410d82c9d07aee3e951fc6ae0b41fc1a594e00d Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:00:06 +0800
Subject: [PATCH] add missing FTW_ macros for musl
diff --git a/poky/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/poky/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
index 53f0a1ba62..4670c232a5 100644
--- a/poky/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
@@ -1,4 +1,4 @@
-From bb41fe773881a8f1d9615d388320b9c6fc47bfe5 Mon Sep 17 00:00:00 2001
+From 1e3bc870ded807cff0d3771dd89a850d020df032 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:03:47 +0800
Subject: [PATCH] fix missing of __register_atfork for non-glibc builds
@@ -12,7 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
1 file changed, 7 insertions(+)
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index 7d4301eadb..caa9dfe3a3 100644
+index 14259ea8df..18681838ef 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -18,6 +18,9 @@
@@ -25,7 +25,7 @@ index 7d4301eadb..caa9dfe3a3 100644
#include "alloc-util.h"
#include "architecture.h"
-@@ -1121,11 +1124,15 @@ void reset_cached_pid(void) {
+@@ -1202,11 +1205,15 @@ void reset_cached_pid(void) {
cached_pid = CACHED_PID_UNSET;
}
diff --git a/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
index 940db4c5c6..e6bb37a65e 100644
--- a/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
@@ -1,4 +1,4 @@
-From dc40487e0ac26e3ca317429b9c3e8f01772de60a Mon Sep 17 00:00:00 2001
+From eeacb75025d8f537d54c35256c5730c9aab15cde Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:12:41 +0800
Subject: [PATCH] Use uintmax_t for handling rlim_t
@@ -23,9 +23,9 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
src/basic/format-util.h | 8 +-------
- src/basic/rlimit-util.c | 10 +++++-----
+ src/basic/rlimit-util.c | 12 ++++++------
src/core/execute.c | 4 ++--
- 3 files changed, 8 insertions(+), 14 deletions(-)
+ 3 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/src/basic/format-util.h b/src/basic/format-util.h
index b7e18768e3..3195ab205d 100644
@@ -47,7 +47,7 @@ index b7e18768e3..3195ab205d 100644
#if SIZEOF_DEV_T == 8
# define DEV_FMT "%" PRIu64
diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
-index 23d108d5df..b037734ee3 100644
+index 23d108d5df..3e6fb438d7 100644
--- a/src/basic/rlimit-util.c
+++ b/src/basic/rlimit-util.c
@@ -43,7 +43,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) {
@@ -87,10 +87,10 @@ index 23d108d5df..b037734ee3 100644
return 1;
}
diff --git a/src/core/execute.c b/src/core/execute.c
-index f82fc294c0..4696d055a8 100644
+index 2a64675c5f..dca1e0e3b6 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
-@@ -5370,9 +5370,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
+@@ -5391,9 +5391,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
for (unsigned i = 0; i < RLIM_NLIMITS; i++)
if (c->rlimit[i]) {
fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
diff --git a/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
index b1d782719c..897e332f33 100644
--- a/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
@@ -1,4 +1,4 @@
-From f8be7b283309e4332eedc088774daac637afef7b Mon Sep 17 00:00:00 2001
+From fa29a572faaeb6fb9ed0bc6802d17139773e1908 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 28 Feb 2018 21:25:22 -0800
Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl
diff --git a/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
index cf06572b82..3bf706fc55 100644
--- a/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -1,4 +1,4 @@
-From 06915b70735caa66987af758ebdc4207757ae758 Mon Sep 17 00:00:00 2001
+From 88c8922f9e4d221402d9cb2e04b9c82e89125827 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 10 Oct 2017 14:33:30 -0700
Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
@@ -31,9 +31,11 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
src/shared/base-filesystem.c | 6 +++---
2 files changed, 24 insertions(+), 5 deletions(-)
+diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
+index 7f15b558ca..4263298cad 100644
--- a/src/basic/fs-util.h
+++ b/src/basic/fs-util.h
-@@ -47,8 +47,27 @@ int futimens_opath(int fd, const struct
+@@ -47,8 +47,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
int fd_warn_permissions(const char *path, int fd);
int stat_warn_permissions(const char *path, const struct stat *st);
@@ -63,9 +65,11 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
int touch(const char *path);
+diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
+index 016eb7b82a..b1967f9f2f 100644
--- a/src/shared/base-filesystem.c
+++ b/src/shared/base-filesystem.c
-@@ -53,7 +53,7 @@ int base_filesystem_create(const char *r
+@@ -53,7 +53,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
return log_error_errno(errno, "Failed to open root file system: %m");
for (size_t i = 0; i < ELEMENTSOF(table); i++) {
@@ -74,7 +78,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
continue;
if (table[i].target) {
-@@ -61,7 +61,7 @@ int base_filesystem_create(const char *r
+@@ -61,7 +61,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
/* check if one of the targets exists */
NULSTR_FOREACH(s, table[i].target) {
@@ -83,7 +87,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
continue;
/* check if a specific file exists at the target path */
-@@ -72,7 +72,7 @@ int base_filesystem_create(const char *r
+@@ -72,7 +72,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
if (!p)
return log_oom();
diff --git a/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
index 51b145729d..74008714c1 100644
--- a/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -1,4 +1,4 @@
-From 0c44af262cfa07c57db4b32de1f7610af47797f4 Mon Sep 17 00:00:00 2001
+From e07e9b998ad61b09555bc809aa15de9d2516787a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 27 May 2018 08:36:44 -0700
Subject: [PATCH] Define glibc compatible basename() for non-glibc systems
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 5 insertions(+)
diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
-index 3a1e4f9072..ab87b9882c 100644
+index fc22e51409..1fed07b941 100644
--- a/src/machine/machine-dbus.c
+++ b/src/machine/machine-dbus.c
@@ -11,6 +11,11 @@
diff --git a/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index 7444d4375f..c5e20cbb80 100644
--- a/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -1,4 +1,4 @@
-From 0f4b60e34a806055c678eb97a7ec7e21291bcf48 Mon Sep 17 00:00:00 2001
+From 2f048d13e100158320bda248635b3c533ac9717b Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 4 Jul 2018 15:00:44 +0800
Subject: [PATCH] Do not disable buffering when writing to oom_score_adj
@@ -25,10 +25,10 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index caa9dfe3a3..6101f43db5 100644
+index 18681838ef..0fa71ccce0 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
-@@ -1523,7 +1523,7 @@ int set_oom_score_adjust(int value) {
+@@ -1606,7 +1606,7 @@ int set_oom_score_adjust(int value) {
sprintf(t, "%i", value);
return write_string_file("/proc/self/oom_score_adj", t,
diff --git a/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
index 90cc70d216..39804bd364 100644
--- a/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -1,4 +1,4 @@
-From c30ab62d18ce88187f5eb6c236e0977c9337f68d Mon Sep 17 00:00:00 2001
+From 45148529792c0cda32fdd61610c8d5a700d541fa Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Tue, 10 Jul 2018 15:40:17 +0800
Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi
@@ -25,10 +25,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
2 files changed, 10 insertions(+)
diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
-index 8da2024a50..9605a9b869 100644
+index 7483b46a11..c49be29e46 100644
--- a/src/libsystemd/sd-bus/bus-error.c
+++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -392,7 +392,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
+@@ -404,7 +404,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
return;
errno = 0;
diff --git a/poky/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/poky/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
index de7f9ecfa2..365e2a36f1 100644
--- a/poky/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
@@ -1,4 +1,4 @@
-From fa86e5578256dddb296fd30128929ea7c4b792a4 Mon Sep 17 00:00:00 2001
+From 02a2772889d6cb08c9ca0561b52e7a9a80e50497 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:18:00 +0800
Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
@@ -17,7 +17,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
-index 9605a9b869..38b6cf90c3 100644
+index c49be29e46..90731bd7e7 100644
--- a/src/libsystemd/sd-bus/bus-error.c
+++ b/src/libsystemd/sd-bus/bus-error.c
@@ -55,8 +55,8 @@ BUS_ERROR_MAP_ELF_REGISTER const sd_bus_error_map bus_standard_errors[] = {
diff --git a/poky/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch b/poky/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
index d9ef2b8a47..8a6c03f312 100644
--- a/poky/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
@@ -1,4 +1,4 @@
-From 11e730694706fa354a0e43c588ef66677a777d9a Mon Sep 17 00:00:00 2001
+From 47c4ac80689077b1eb86cf05b4326b1ac345aedf Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:27:54 +0800
Subject: [PATCH] missing_type.h: add __compar_d_fn_t definition
diff --git a/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch b/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
index 3b60854233..e75935a280 100644
--- a/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -1,4 +1,4 @@
-From 45bae28d3da6607d33d54f4b30a500f5249aadde Mon Sep 17 00:00:00 2001
+From 2cb33d8896a4ad2d3b489fed51f17d5e45dfb4fc Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:44:54 +0800
Subject: [PATCH] avoid redefinition of prctl_mm_map structure
diff --git a/poky/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch b/poky/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
index 7d6433f317..629c103627 100644
--- a/poky/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
@@ -1,4 +1,4 @@
-From 6e593ff2afbe4bfe15eee2ec34e51490a38462f5 Mon Sep 17 00:00:00 2001
+From 200a2a2e4f04a7b7078dd455fafbd6774240e30b Mon Sep 17 00:00:00 2001
From: Alex Kiernan <alex.kiernan@gmail.com>
Date: Fri, 7 Aug 2020 15:19:27 +0000
Subject: [PATCH] Handle missing LOCK_EX
diff --git a/poky/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch b/poky/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
index 1faee1c055..ea6e82f466 100644
--- a/poky/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
@@ -1,4 +1,4 @@
-From ac579b296aa29c2f1dad9425c6d795e154ec8f7c Mon Sep 17 00:00:00 2001
+From 6445b7737a89256f35adc56701a5c47b48618ced Mon Sep 17 00:00:00 2001
From: Alex Kiernan <alex.kiernan@gmail.com>
Date: Fri, 7 Aug 2020 15:20:17 +0000
Subject: [PATCH] Fix incompatible pointer type struct sockaddr_un *
@@ -24,10 +24,10 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index a4ac8ed2bb..0c41a48d4b 100644
+index 04685fecba..90b12bb5bd 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
-@@ -5125,7 +5125,7 @@ static int cant_be_in_netns(void) {
+@@ -5354,7 +5354,7 @@ static int cant_be_in_netns(void) {
if (fd < 0)
return log_error_errno(errno, "Failed to allocate udev control socket: %m");
diff --git a/poky/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch b/poky/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
index 14c8ff73a0..60c12b0740 100644
--- a/poky/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
@@ -1,4 +1,4 @@
-From 6bc78df50adb48d24a2abfdf65b44b932cc5a571 Mon Sep 17 00:00:00 2001
+From ae71bf2b97dc9d4760defd83463c1d305f332f22 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 16:53:06 +0800
Subject: [PATCH] test-json.c: define M_PIl
diff --git a/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
index 44c3ff0532..6998bf0dd0 100644
--- a/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
@@ -1,4 +1,4 @@
-From 7cb6579572b50ef44bc0a321a4c73cce55b0c2f2 Mon Sep 17 00:00:00 2001
+From 3198690c2dbb4b457a04ef21914dc4d531540273 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Fri, 1 Mar 2019 15:22:15 +0800
Subject: [PATCH] do not disable buffer in writing files
@@ -22,7 +22,6 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
src/basic/cgroup-util.c | 10 +++++-----
src/basic/procfs-util.c | 4 ++--
- src/basic/smack-util.c | 2 +-
src/basic/sysctl-util.c | 2 +-
src/basic/util.c | 2 +-
src/binfmt/binfmt.c | 6 +++---
@@ -30,17 +29,20 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
src/core/smack-setup.c | 8 ++++----
src/hibernate-resume/hibernate-resume.c | 2 +-
src/libsystemd/sd-device/sd-device.c | 2 +-
- src/login/logind-dbus.c | 2 +-
src/nspawn/nspawn-cgroup.c | 2 +-
src/nspawn/nspawn.c | 6 +++---
src/shared/cgroup-setup.c | 4 ++--
+ src/shared/mount-util.c | 4 ++--
+ src/shared/smack-util.c | 2 +-
src/sleep/sleep.c | 8 ++++----
src/vconsole/vconsole-setup.c | 2 +-
- 16 files changed, 33 insertions(+), 33 deletions(-)
+ 16 files changed, 34 insertions(+), 34 deletions(-)
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index c9efd862a2..b3708ea925 100644
--- a/src/basic/cgroup-util.c
+++ b/src/basic/cgroup-util.c
-@@ -766,7 +766,7 @@ int cg_install_release_agent(const char
+@@ -766,7 +766,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
sc = strstrip(contents);
if (isempty(sc)) {
@@ -49,7 +51,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
return r;
} else if (!path_equal(sc, agent))
-@@ -784,7 +784,7 @@ int cg_install_release_agent(const char
+@@ -784,7 +784,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
sc = strstrip(contents);
if (streq(sc, "0")) {
@@ -58,7 +60,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
return r;
-@@ -811,7 +811,7 @@ int cg_uninstall_release_agent(const cha
+@@ -811,7 +811,7 @@ int cg_uninstall_release_agent(const char *controller) {
if (r < 0)
return r;
@@ -67,7 +69,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
return r;
-@@ -821,7 +821,7 @@ int cg_uninstall_release_agent(const cha
+@@ -821,7 +821,7 @@ int cg_uninstall_release_agent(const char *controller) {
if (r < 0)
return r;
@@ -76,7 +78,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
return r;
-@@ -1651,7 +1651,7 @@ int cg_set_attribute(const char *control
+@@ -1651,7 +1651,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
if (r < 0)
return r;
@@ -85,9 +87,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
}
int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
+diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
+index 8c57094225..0cf6ec752b 100644
--- a/src/basic/procfs-util.c
+++ b/src/basic/procfs-util.c
-@@ -86,13 +86,13 @@ int procfs_tasks_set_limit(uint64_t limi
+@@ -86,13 +86,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
* decrease it, as threads-max is the much more relevant sysctl. */
if (limit > pid_max-1) {
sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */
@@ -103,9 +107,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0) {
uint64_t threads_max;
+diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
+index 8913e6ff85..29e6ec0755 100644
--- a/src/basic/sysctl-util.c
+++ b/src/basic/sysctl-util.c
-@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, con
+@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
log_debug("Setting '%s' to '%s'", p, value);
@@ -114,6 +120,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
}
int sysctl_read(const char *property, char **ret) {
+diff --git a/src/basic/util.c b/src/basic/util.c
+index 955b18bd2a..6d89c90176 100644
--- a/src/basic/util.c
+++ b/src/basic/util.c
@@ -234,7 +234,7 @@ void disable_coredumps(void) {
@@ -125,9 +133,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
}
+diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
+index 29530bb691..3ecf6a45a2 100644
--- a/src/binfmt/binfmt.c
+++ b/src/binfmt/binfmt.c
-@@ -48,7 +48,7 @@ static int delete_rule(const char *rule)
+@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
if (!fn)
return log_oom();
@@ -136,7 +146,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
}
static int apply_rule(const char *rule) {
-@@ -56,7 +56,7 @@ static int apply_rule(const char *rule)
+@@ -56,7 +56,7 @@ static int apply_rule(const char *rule) {
(void) delete_rule(rule);
@@ -154,9 +164,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
STRV_FOREACH(f, files) {
k = apply_file(*f, true);
+diff --git a/src/core/main.c b/src/core/main.c
+index b32a19a1d8..4e1238853e 100644
--- a/src/core/main.c
+++ b/src/core/main.c
-@@ -1402,7 +1402,7 @@ static int bump_unix_max_dgram_qlen(void
+@@ -1402,7 +1402,7 @@ static int bump_unix_max_dgram_qlen(void) {
if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
return 0;
@@ -165,7 +177,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
"Failed to bump AF_UNIX datagram queue length, ignoring: %m");
-@@ -1679,7 +1679,7 @@ static void initialize_core_pattern(bool
+@@ -1679,7 +1679,7 @@ static void initialize_core_pattern(bool skip_setup) {
if (getpid_cached() != 1)
return;
@@ -174,9 +186,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
}
+diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
+index 79c4808473..b111ce0a11 100644
--- a/src/core/smack-setup.c
+++ b/src/core/smack-setup.c
-@@ -323,17 +323,17 @@ int mac_smack_setup(bool *loaded_policy)
+@@ -323,17 +323,17 @@ int mac_smack_setup(bool *loaded_policy) {
}
#ifdef SMACK_RUN_LABEL
@@ -198,6 +212,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
#endif
+diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
+index 58e35e403e..1d0beb4008 100644
--- a/src/hibernate-resume/hibernate-resume.c
+++ b/src/hibernate-resume/hibernate-resume.c
@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
@@ -209,9 +225,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0) {
log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
return EXIT_FAILURE;
+diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
+index 388128bf33..695f535ff4 100644
--- a/src/libsystemd/sd-device/sd-device.c
+++ b/src/libsystemd/sd-device/sd-device.c
-@@ -2096,7 +2096,7 @@ _public_ int sd_device_set_sysattr_value
+@@ -2096,7 +2096,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
if (!value)
return -ENOMEM;
@@ -220,9 +238,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0) {
/* On failure, clear cache entry, as we do not know how it fails. */
device_remove_cached_sysattr_value(device, sysattr);
+diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
+index cb01b25bc6..e92051268b 100644
--- a/src/nspawn/nspawn-cgroup.c
+++ b/src/nspawn/nspawn-cgroup.c
-@@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified
+@@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
fn = strjoina(tree, cgroup, "/cgroup.procs");
sprintf(pid_string, PID_FMT, pid);
@@ -231,6 +251,8 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0) {
log_error_errno(r, "Failed to move process: %m");
goto finish;
+diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
+index 90b12bb5bd..6a1dafa094 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -2751,7 +2751,7 @@ static int reset_audit_loginuid(void) {
@@ -260,9 +282,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
return log_error_errno(r, "Failed to write GID map: %m");
+diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c
+index f197f715c7..077f893177 100644
--- a/src/shared/cgroup-setup.c
+++ b/src/shared/cgroup-setup.c
-@@ -267,7 +267,7 @@ int cg_attach(const char *controller, co
+@@ -267,7 +267,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
xsprintf(c, PID_FMT "\n", pid);
@@ -280,9 +304,44 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0) {
log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
+diff --git a/src/shared/mount-util.c b/src/shared/mount-util.c
+index 594efea989..d243b45bc4 100644
+--- a/src/shared/mount-util.c
++++ b/src/shared/mount-util.c
+@@ -1019,13 +1019,13 @@ static int make_userns(uid_t uid_shift, uid_t uid_range) {
+ xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, uid_shift, uid_range);
+
+ xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
+- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(uid_map, line, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write UID map: %m");
+
+ /* We always assign the same UID and GID ranges */
+ xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
+- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(uid_map, line, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write GID map: %m");
+
+diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c
+index 3362ee3924..80c0f2a52e 100644
+--- a/src/shared/smack-util.c
++++ b/src/shared/smack-util.c
+@@ -114,7 +114,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
+ return 0;
+
+ p = procfs_file_alloca(pid, "attr/current");
+- r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, label, 0);
+ if (r < 0)
+ return r;
+
+diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
+index a3aeb24633..d3e68e1b94 100644
--- a/src/sleep/sleep.c
+++ b/src/sleep/sleep.c
-@@ -46,7 +46,7 @@ static int write_hibernate_location_info
+@@ -46,7 +46,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
assert(hibernate_location->swap);
xsprintf(resume_str, "%u:%u", major(hibernate_location->devno), minor(hibernate_location->devno));
@@ -291,7 +350,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
return log_debug_errno(r, "Failed to write partition device to /sys/power/resume for '%s': '%s': %m",
hibernate_location->swap->device, resume_str);
-@@ -73,7 +73,7 @@ static int write_hibernate_location_info
+@@ -73,7 +73,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
}
xsprintf(offset_str, "%" PRIu64, hibernate_location->offset);
@@ -309,7 +368,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (k >= 0)
return 0;
-@@ -112,7 +112,7 @@ static int write_state(FILE **f, char **
+@@ -112,7 +112,7 @@ static int write_state(FILE **f, char **states) {
STRV_FOREACH(state, states) {
int k;
@@ -318,9 +377,11 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (k >= 0)
return 0;
log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index d1c3febdd5..1cc68694d1 100644
--- a/src/vconsole/vconsole-setup.c
+++ b/src/vconsole/vconsole-setup.c
-@@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *na
+@@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
static int toggle_utf8_sysfs(bool utf8) {
int r;
@@ -329,32 +390,3 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
if (r < 0)
return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
---- a/src/shared/mount-util.c
-+++ b/src/shared/mount-util.c
-@@ -1019,13 +1019,13 @@ static int make_userns(uid_t uid_shift,
- xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, uid_shift, uid_range);
-
- xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
-- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(uid_map, line, 0);
- if (r < 0)
- return log_error_errno(r, "Failed to write UID map: %m");
-
- /* We always assign the same UID and GID ranges */
- xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
-- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(uid_map, line, 0);
- if (r < 0)
- return log_error_errno(r, "Failed to write GID map: %m");
-
---- a/src/shared/smack-util.c
-+++ b/src/shared/smack-util.c
-@@ -114,7 +114,7 @@ int mac_smack_apply_pid(pid_t pid, const
- return 0;
-
- p = procfs_file_alloca(pid, "attr/current");
-- r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(p, label, 0);
- if (r < 0)
- return r;
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch b/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
index 7d1bd60255..06702765ee 100644
--- a/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
@@ -1,4 +1,4 @@
-From d73755cc60f401f0f20f357752e45aeeeef8e83f Mon Sep 17 00:00:00 2001
+From b04518c464b526f8b9adc9ce3c08b1881db47989 Mon Sep 17 00:00:00 2001
From: Scott Murray <scott.murray@konsulko.com>
Date: Fri, 13 Sep 2019 19:26:27 -0400
Subject: [PATCH] Handle __cpu_mask usage
diff --git a/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch b/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
index 9394eeb450..dc63305825 100644
--- a/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
@@ -1,4 +1,4 @@
-From 04e94f9a15101daa8f65a9af269d26cda2a24056 Mon Sep 17 00:00:00 2001
+From 0c8935128b39864b07dfee39cfa9d35d48f056aa Mon Sep 17 00:00:00 2001
From: Alex Kiernan <alex.kiernan@gmail.com>
Date: Tue, 10 Mar 2020 11:05:20 +0000
Subject: [PATCH] Handle missing gshadow
@@ -14,9 +14,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
---
src/shared/user-record-nss.c | 20 ++++++++++++++++++++
src/shared/user-record-nss.h | 4 ++++
- src/shared/userdb.c | 6 ++++++
- 3 files changed, 30 insertions(+)
+ src/shared/userdb.c | 7 ++++++-
+ 3 files changed, 30 insertions(+), 1 deletion(-)
+diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c
+index 88b8fc2f8f..a819d41bac 100644
--- a/src/shared/user-record-nss.c
+++ b/src/shared/user-record-nss.c
@@ -331,8 +331,10 @@ int nss_group_to_group_record(
@@ -46,7 +48,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
r = json_build(&g->json, JSON_BUILD_OBJECT(
JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)),
-@@ -388,6 +392,7 @@ int nss_sgrp_for_group(const struct grou
+@@ -388,6 +392,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
assert(ret_sgrp);
assert(ret_buffer);
@@ -54,7 +56,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
for (;;) {
_cleanup_free_ char *buf = NULL;
struct sgrp sgrp, *result;
-@@ -416,6 +421,9 @@ int nss_sgrp_for_group(const struct grou
+@@ -416,6 +421,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
buflen *= 2;
buf = mfree(buf);
}
@@ -120,6 +122,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
if (r < 0)
return r;
+diff --git a/src/shared/user-record-nss.h b/src/shared/user-record-nss.h
+index 22ab04d6ee..4e52e7a911 100644
--- a/src/shared/user-record-nss.h
+++ b/src/shared/user-record-nss.h
@@ -2,7 +2,11 @@
@@ -134,9 +138,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#include <pwd.h>
#include <shadow.h>
+diff --git a/src/shared/userdb.c b/src/shared/userdb.c
+index 91ac7c3832..20881ece84 100644
--- a/src/shared/userdb.c
+++ b/src/shared/userdb.c
-@@ -1047,13 +1047,15 @@ int groupdb_iterator_get(UserDBIterator
+@@ -1047,13 +1047,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
if (gr) {
_cleanup_free_ char *buffer = NULL;
bool incomplete = false;
@@ -153,7 +159,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) {
r = nss_sgrp_for_group(gr, &sgrp, &buffer);
if (r < 0) {
-@@ -1066,6 +1068,9 @@ int groupdb_iterator_get(UserDBIterator
+@@ -1066,6 +1068,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
}
r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
diff --git a/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
index 2289404d8d..ff96a720c5 100644
--- a/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
@@ -1,4 +1,4 @@
-From 366cd28f5f93ba7c861cd32a718251770d74830e Mon Sep 17 00:00:00 2001
+From f5d7fee9620cbcf52be8f8ba477890d28cadfbc8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 12 Apr 2021 23:44:53 -0700
Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl
@@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 6 insertions(+)
diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
-index 1384324804..0202d00372 100644
+index 9e3a165857..4d59b3e7b0 100644
--- a/src/basic/missing_syscall.h
+++ b/src/basic/missing_syscall.h
@@ -20,6 +20,12 @@
diff --git a/poky/meta/recipes-core/systemd/systemd_249.1.bb b/poky/meta/recipes-core/systemd/systemd_249.3.bb
index a6759c7a35..c2d4343f10 100644
--- a/poky/meta/recipes-core/systemd/systemd_249.1.bb
+++ b/poky/meta/recipes-core/systemd/systemd_249.3.bb
@@ -132,6 +132,7 @@ PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi"
PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
+PACKAGECONFIG[repart] = "-Drepart=true,-Drepart=false"
# Sign the journal for anti-tampering
PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt"
PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
@@ -713,6 +714,9 @@ INITSCRIPT_PARAMS:udev = "start 03 S ."
python __anonymous() {
if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
+
+ if bb.utils.contains('PACKAGECONFIG', 'repart', True, False, d) and not bb.utils.contains('PACKAGECONFIG', 'openssl', True, False, d):
+ bb.error("PACKAGECONFIG[repart] requires PACKAGECONFIG[openssl]")
}
python do_warn_musl() {
diff --git a/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.1.bb b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.2.bb
index 5d759aed94..5d759aed94 100644
--- a/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.1.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux-libuuid_2.37.2.bb
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index 0f17c73e86..1e3cd28801 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -35,7 +35,6 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
file://run-ptest \
file://display_testname_for_subtest.patch \
file://avoid_parallel_tests.patch \
- file://CVE-2021-37600.patch \
"
-SRC_URI[sha256sum] = "8e4bd42053b726cf86eb4d13a73bc1d9225a2c2e1a2e0d2a891f1020f83e6b76"
+SRC_URI[sha256sum] = "6a0764c1aae7fb607ef8a6dd2c0f6c47d5e5fd27aa08820abaad9ec14e28e9d9"
diff --git a/poky/meta/recipes-core/util-linux/util-linux/CVE-2021-37600.patch b/poky/meta/recipes-core/util-linux/util-linux/CVE-2021-37600.patch
deleted file mode 100644
index 2b306c435b..0000000000
--- a/poky/meta/recipes-core/util-linux/util-linux/CVE-2021-37600.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 1c9143d0c1f979c3daf10e1c37b5b1e916c22a1c Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak@redhat.com>
-Date: Tue, 27 Jul 2021 11:58:31 +0200
-Subject: [PATCH] sys-utils/ipcutils: be careful when call calloc() for uint64
- nmembs
-
-Fix: https://github.com/karelzak/util-linux/issues/1395
-Signed-off-by: Karel Zak <kzak@redhat.com>
-
-CVE: CVE-2021-37600
-Upstream-Status: Backport [1c9143d0c1f979c3daf10e1c37b5b1e916c22a1c]
-
-Signed-off-by: Dragos-Marian Panait <dragos.panait@windriver.com>
----
- sys-utils/ipcutils.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sys-utils/ipcutils.c b/sys-utils/ipcutils.c
-index e784c4dcb..18868cfd3 100644
---- a/sys-utils/ipcutils.c
-+++ b/sys-utils/ipcutils.c
-@@ -218,7 +218,7 @@ static void get_sem_elements(struct sem_data *p)
- {
- size_t i;
-
-- if (!p || !p->sem_nsems || p->sem_perm.id < 0)
-+ if (!p || !p->sem_nsems || p->sem_nsems > SIZE_MAX || p->sem_perm.id < 0)
- return;
-
- p->elements = xcalloc(p->sem_nsems, sizeof(struct sem_elem));
---
-2.25.1
-
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.37.1.bb b/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb
index 9351595144..9351595144 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.37.1.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.37.inc b/poky/meta/recipes-devtools/binutils/binutils-2.37.inc
index 4218c0a616..6093558e4b 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.37.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.37.inc
@@ -35,5 +35,6 @@ SRC_URI = "\
file://0014-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
file://0015-sync-with-OE-libtool-changes.patch \
file://0016-Check-for-clang-before-checking-gcc-version.patch \
+ file://0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch b/poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch
new file mode 100644
index 0000000000..9becee39a2
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0017-bfd-Close-the-file-descriptor-if-there-is-no-archive.patch
@@ -0,0 +1,234 @@
+From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Mon, 26 Jul 2021 05:59:55 -0700
+Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd
+
+Close the file descriptor if there is no archive plugin file descriptor
+to avoid running out of file descriptors on thin archives with many
+archive members.
+
+bfd/
+
+ PR ld/28138
+ * plugin.c (bfd_plugin_close_file_descriptor): Close the file
+ descriptor there is no archive plugin file descriptor.
+
+ld/
+
+ PR ld/28138
+ * testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for
+ native build.
+
+ PR ld/28138
+ * testsuite/ld-plugin/lto.exp: Run ld/28138 tests.
+ * testsuite/ld-plugin/pr28138.c: New file.
+ * testsuite/ld-plugin/pr28138-1.c: Likewise.
+ * testsuite/ld-plugin/pr28138-2.c: Likewise.
+ * testsuite/ld-plugin/pr28138-3.c: Likewise.
+ * testsuite/ld-plugin/pr28138-4.c: Likewise.
+ * testsuite/ld-plugin/pr28138-5.c: Likewise.
+ * testsuite/ld-plugin/pr28138-6.c: Likewise.
+ * testsuite/ld-plugin/pr28138-7.c: Likewise.
+
+(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742)
+(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2)
+
+Upstream-Status: Accepted[https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=1c611b40e6bfc8029bff7696814330b5bc0ee5c0]
+---
+ bfd/plugin.c | 8 +++++++
+ ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++
+ ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++
+ ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++
+ ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++
+ ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++
+ ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++
+ ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++
+ ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++
+ ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++
+ 10 files changed, 104 insertions(+)
+ create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c
+ create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c
+ create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c
+ create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c
+ create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c
+ create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c
+ create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c
+ create mode 100644 ld/testsuite/ld-plugin/pr28138.c
+
+diff --git a/bfd/plugin.c b/bfd/plugin.c
+index 6cfa2b66470..3bab8febe88 100644
+--- a/bfd/plugin.c
++++ b/bfd/plugin.c
+@@ -291,6 +291,14 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd)
+ && !bfd_is_thin_archive (abfd->my_archive))
+ abfd = abfd->my_archive;
+
++ /* Close the file descriptor if there is no archive plugin file
++ descriptor. */
++ if (abfd->archive_plugin_fd == -1)
++ {
++ close (fd);
++ return;
++ }
++
+ abfd->archive_plugin_fd_open_count--;
+ /* Dup the archive plugin file descriptor for later use, which
+ will be closed by _bfd_archive_close_and_cleanup. */
+diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp
+index def69e43ab3..999d911ce6a 100644
+--- a/ld/testsuite/ld-plugin/lto.exp
++++ b/ld/testsuite/ld-plugin/lto.exp
+@@ -687,6 +687,40 @@ if { [is_elf_format] && [check_lto_shared_available] } {
+ }
+ }
+
++run_cc_link_tests [list \
++ [list \
++ "Build pr28138.a" \
++ "-T" "" \
++ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \
++ pr28138-6.c pr28138-7.c} {} "pr28138.a" \
++ ] \
++ [list \
++ "Build pr28138.o" \
++ "" "" \
++ {pr28138.c} {} \
++ ] \
++]
++
++set exec_output [run_host_cmd "sh" \
++ "-c \"ulimit -n 20; \
++ $CC -Btmpdir/ld -o tmpdir/pr28138 \
++ tmpdir/pr28138.o tmpdir/pr28138.a\""]
++set exec_output [prune_warnings $exec_output]
++if [string match "" $exec_output] then {
++ if { [isnative] } {
++ set exec_output [run_host_cmd "tmpdir/pr28138" ""]
++ if [string match "PASS" $exec_output] then {
++ pass "PR ld/28138"
++ } else {
++ fail "PR ld/28138"
++ }
++ } else {
++ pass "PR ld/28138"
++ }
++} else {
++ fail "PR ld/28138"
++}
++
+ set testname "Build liblto-11.a"
+ remote_file host delete "tmpdir/liblto-11.a"
+ set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"]
+diff --git a/ld/testsuite/ld-plugin/pr28138-1.c b/ld/testsuite/ld-plugin/pr28138-1.c
+new file mode 100644
+index 00000000000..51d119e1642
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr28138-1.c
+@@ -0,0 +1,6 @@
++extern int a0(void);
++int
++a1(void)
++{
++ return 1 + a0();
++}
+diff --git a/ld/testsuite/ld-plugin/pr28138-2.c b/ld/testsuite/ld-plugin/pr28138-2.c
+new file mode 100644
+index 00000000000..1120cd797e9
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr28138-2.c
+@@ -0,0 +1,6 @@
++extern int a1(void);
++int
++a2(void)
++{
++ return 1 + a1();
++}
+diff --git a/ld/testsuite/ld-plugin/pr28138-3.c b/ld/testsuite/ld-plugin/pr28138-3.c
+new file mode 100644
+index 00000000000..ec464947ee6
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr28138-3.c
+@@ -0,0 +1,6 @@
++extern int a2(void);
++int
++a3(void)
++{
++ return 1 + a2();
++}
+diff --git a/ld/testsuite/ld-plugin/pr28138-4.c b/ld/testsuite/ld-plugin/pr28138-4.c
+new file mode 100644
+index 00000000000..475701b2c5c
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr28138-4.c
+@@ -0,0 +1,6 @@
++extern int a3(void);
++int
++a4(void)
++{
++ return 1 + a3();
++}
+diff --git a/ld/testsuite/ld-plugin/pr28138-5.c b/ld/testsuite/ld-plugin/pr28138-5.c
+new file mode 100644
+index 00000000000..e24f86c363e
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr28138-5.c
+@@ -0,0 +1,6 @@
++extern int a4(void);
++int
++a5(void)
++{
++ return 1 + a4();
++}
+diff --git a/ld/testsuite/ld-plugin/pr28138-6.c b/ld/testsuite/ld-plugin/pr28138-6.c
+new file mode 100644
+index 00000000000..b5b938bdb21
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr28138-6.c
+@@ -0,0 +1,6 @@
++extern int a5(void);
++int
++a6(void)
++{
++ return 1 + a5();
++}
+diff --git a/ld/testsuite/ld-plugin/pr28138-7.c b/ld/testsuite/ld-plugin/pr28138-7.c
+new file mode 100644
+index 00000000000..4ef75bf0f0c
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr28138-7.c
+@@ -0,0 +1,6 @@
++extern int a6(void);
++int
++a7(void)
++{
++ return 1 + a6();
++}
+diff --git a/ld/testsuite/ld-plugin/pr28138.c b/ld/testsuite/ld-plugin/pr28138.c
+new file mode 100644
+index 00000000000..68252c9f382
+--- /dev/null
++++ b/ld/testsuite/ld-plugin/pr28138.c
+@@ -0,0 +1,20 @@
++#include <stdio.h>
++
++extern int a7(void);
++
++int
++a0(void)
++{
++ return 0;
++}
++
++int
++main()
++{
++ if (a7() == 7)
++ {
++ printf ("PASS\n");
++ return 0;
++ }
++ return 1;
++}
+--
+2.31.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.37.bb b/poky/meta/recipes-devtools/binutils/binutils_2.37.bb
index ff9377049b..7430bf1342 100644
--- a/poky/meta/recipes-devtools/binutils/binutils_2.37.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils_2.37.bb
@@ -1,7 +1,7 @@
require binutils.inc
require binutils-${PV}.inc
-DEPENDS += "flex bison zlib"
+DEPENDS += "zlib"
EXTRA_OECONF += "--with-sysroot=/ \
--enable-install-libbfd \
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-fix-error-for-undeclared-macro-on-musl.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-fix-error-for-undeclared-macro-on-musl.patch
deleted file mode 100644
index 251f5d2b0e..0000000000
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-fix-error-for-undeclared-macro-on-musl.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a9802902d37b83c2c992cfe34179312f7209a962 Mon Sep 17 00:00:00 2001
-From: Wang Mingyu <wangmy@fujitsu.com>
-Date: Mon, 19 Jul 2021 10:12:12 +0900
-Subject: [PATCH] fix error for undeclared macro on musl
-
-Fixes the following compilation errors with musl that does not have
-NAME_MAX declared:
-'NAME_MAX' undeclared (first use in this function)
-
-Upstream-Status: Pending
-
-Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
----
- cmds/filesystem-usage.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/cmds/filesystem-usage.c b/cmds/filesystem-usage.c
-index 50d8995e..856e9d7b 100644
---- a/cmds/filesystem-usage.c
-+++ b/cmds/filesystem-usage.c
-@@ -24,6 +24,7 @@
- #include <stdarg.h>
- #include <getopt.h>
- #include <fcntl.h>
-+#include <limits.h>
-
- #include "common/utils.h"
- #include "kerncompat.h"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.1.bb
index 5f8621faf1..5288978943 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.13.1.bb
@@ -19,9 +19,8 @@ DEPENDS:append:class-target = " udev"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
file://0001-btrfs-tools-include-linux-const.h-to-fix-build-with-.patch \
- file://0001-fix-error-for-undeclared-macro-on-musl.patch \
"
-SRCREV = "de4914dbfd7e419d1c534b3d2ec8728e702114bf"
+SRCREV = "e4ac7d4f67b330a3b27a4a50f73e94b1e072ae56"
S = "${WORKDIR}/git"
PACKAGECONFIG ??= " \
diff --git a/poky/meta/recipes-devtools/cargo/cargo-cross-canadian.inc b/poky/meta/recipes-devtools/cargo/cargo-cross-canadian.inc
new file mode 100644
index 0000000000..840793c50b
--- /dev/null
+++ b/poky/meta/recipes-devtools/cargo/cargo-cross-canadian.inc
@@ -0,0 +1,74 @@
+SUMMARY = "Cargo, a package manager for Rust cross canadian flavor."
+
+RUST_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
+
+HOST_SYS = "${HOST_ARCH}-unknown-linux-gnu"
+CARGO_RUST_TARGET_CCLD = "${RUST_BUILD_CCLD}"
+
+require recipes-devtools/rust/rust-common.inc
+require cargo.inc
+
+CARGO = "${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo"
+BASEDEPENDS:remove = "cargo-native"
+
+export RUST_TARGET_PATH="${WORKDIR}/targets/"
+
+RUSTLIB = " \
+ -L ${STAGING_DIR_NATIVE}/${SDKPATHNATIVE}/usr/lib/${TARGET_SYS}/rustlib/${HOST_SYS}/lib \
+"
+
+DEPENDS += "rust-native \
+ rust-cross-canadian-${TRANSLATED_TARGET_ARCH} \
+ virtual/nativesdk-${HOST_PREFIX}compilerlibs \
+ nativesdk-openssl nativesdk-zlib \
+ virtual/nativesdk-libc \
+"
+
+inherit cross-canadian
+
+PN = "cargo-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+
+LLVM_TARGET[x86_64] = "${RUST_HOST_SYS}"
+
+python do_rust_gen_targets () {
+ wd = d.getVar('WORKDIR') + '/targets/'
+
+ rust_gen_target(d, 'BUILD', wd, "", "generic", d.getVar('BUILD_ARCH'))
+ rust_gen_target(d, 'HOST', wd, "", "generic", d.getVar('HOST_ARCH'))
+}
+
+do_compile:prepend () {
+ PKG_CONFIG_PATH="${RECIPE_SYSROOT_NATIVE}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"
+}
+
+do_install () {
+ SYS_BINDIR=$(dirname ${D}${bindir})
+ install -d "${SYS_BINDIR}"
+ install -m 755 "${B}/target/${CARGO_TARGET_SUBDIR}/cargo" "${SYS_BINDIR}"
+ for i in ${SYS_BINDIR}/*; do
+ chrpath -r "\$ORIGIN/../lib" ${i}
+ done
+
+ ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
+ mkdir "${ENV_SETUP_DIR}"
+ ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
+ cat <<- EOF > "${ENV_SETUP_SH}"
+ export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
+ mkdir -p "\$CARGO_HOME"
+ # Init the default target once, it might be otherwise user modified.
+ if [ ! -f "\$CARGO_HOME/config" ]; then
+ touch "\$CARGO_HOME/config"
+ echo "[build]" >> "\$CARGO_HOME/config"
+ echo 'target = "'${TARGET_SYS}'"' >> "\$CARGO_HOME/config"
+ fi
+
+ # Keep the below off as long as HTTP/2 is disabled.
+ export CARGO_HTTP_MULTIPLEXING=false
+
+ export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
+ EOF
+}
+
+PKG_SYS_BINDIR = "${SDKPATHNATIVE}/usr/bin"
+FILES:${PN} += "${base_prefix}/environment-setup.d ${PKG_SYS_BINDIR}"
+
diff --git a/poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb b/poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb
new file mode 100644
index 0000000000..dba400bcfb
--- /dev/null
+++ b/poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb
@@ -0,0 +1,6 @@
+require recipes-devtools/rust/rust-source-${PV}.inc
+require recipes-devtools/rust/rust-snapshot-${PV}.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/cargo-${PV}:"
+
+require cargo-cross-canadian.inc
diff --git a/poky/meta/recipes-devtools/cargo/cargo.inc b/poky/meta/recipes-devtools/cargo/cargo.inc
new file mode 100644
index 0000000000..1cf7dd6214
--- /dev/null
+++ b/poky/meta/recipes-devtools/cargo/cargo.inc
@@ -0,0 +1,54 @@
+SUMMARY ?= "Cargo, a package manager for Rust."
+HOMEPAGE = "https://crates.io"
+LICENSE = "MIT | Apache-2.0"
+SECTION = "devel"
+
+DEPENDS = "openssl zlib curl ca-certificates libssh2"
+
+LIC_FILES_CHKSUM = " \
+ file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \
+ file://LICENSE-APACHE;md5=71b224ca933f0676e26d5c2e2271331c \
+ file://LICENSE-THIRD-PARTY;md5=f257ad009884cb88a3a87d6920e7180a \
+"
+
+
+S = "${RUSTSRC}/src/tools/cargo"
+CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"
+EXCLUDE_FROM_WORLD = "1"
+
+inherit cargo
+
+do_cargo_setup_snapshot () {
+ ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig
+ # Need to use uninative's loader if enabled/present since the library paths
+ # are used internally by rust and result in symbol mismatches if we don't
+ if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then
+ patchelf-uninative ${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo --set-interpreter ${UNINATIVE_LOADER}
+ fi
+}
+
+addtask cargo_setup_snapshot after do_unpack before do_configure
+do_cargo_setup_snapshot[dirs] += "${WORKDIR}/${CARGO_SNAPSHOT}"
+
+do_compile:prepend () {
+ export RUSTC_BOOTSTRAP="1"
+}
+
+do_install () {
+ install -d "${D}${bindir}"
+ install -m 755 "${B}/target/${CARGO_TARGET_SUBDIR}/cargo" "${D}${bindir}"
+}
+
+# Disabled due to incompatibility with libgit2 0.28.x (https://github.com/rust-lang/git2-rs/issues/458, https://bugs.gentoo.org/707746#c1)
+# as shipped by Yocto Dunfell.
+# According to https://github.com/rust-lang/git2-rs/issues/458#issuecomment-522567539, there are no compatibility guarantees between
+# libgit2-sys and arbitrary system libgit2 versions, so better keep this turned off.
+#export LIBGIT2_SYS_USE_PKG_CONFIG = "1"
+
+# Needed for pkg-config to be used
+export LIBSSH2_SYS_USE_PKG_CONFIG = "1"
+
+# When building cargo-native we don't have cargo-native to use and depend on,
+# so we must use the locally set up snapshot to bootstrap the build.
+BASEDEPENDS:remove:class-native = "cargo-native"
+CARGO:class-native = "${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo"
diff --git a/poky/meta/recipes-devtools/cargo/cargo_1.54.0.bb b/poky/meta/recipes-devtools/cargo/cargo_1.54.0.bb
new file mode 100644
index 0000000000..175f544d66
--- /dev/null
+++ b/poky/meta/recipes-devtools/cargo/cargo_1.54.0.bb
@@ -0,0 +1,4 @@
+require recipes-devtools/rust/rust-source-${PV}.inc
+require recipes-devtools/rust/rust-snapshot-${PV}.inc
+require cargo.inc
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.3.bb b/poky/meta/recipes-devtools/ccache/ccache_4.4.bb
index 53a0bcf7ae..203be8c92d 100644
--- a/poky/meta/recipes-devtools/ccache/ccache_4.3.bb
+++ b/poky/meta/recipes-devtools/ccache/ccache_4.4.bb
@@ -7,12 +7,12 @@ HOMEPAGE = "http://ccache.samba.org"
SECTION = "devel"
LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=698a26b57e513d678e1e7727bf56395b"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=73963d63171ecbdf2d25274de67c68c5"
DEPENDS = "zstd"
SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "b9789c42e52c73e99428f311a34def9ffec3462736439afd12dbacc7987c1533"
+SRC_URI[sha256sum] = "61a993d62216aff35722a8d0e8ffef9b677fc3f6accd8944ffc2a6db98fb3142"
UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/"
@@ -23,3 +23,4 @@ PATCHTOOL = "patch"
BBCLASSEXTEND = "native nativesdk"
PACKAGECONFIG[docs] = "-DENABLE_DOCUMENTATION=ON,-DENABLE_DOCUMENTATION=OFF,asciidoc"
+PACKAGECONFIG[redis] = "-DREDIS_STORAGE_BACKEND=ON,-DREDIS_STORAGE_BACKEND=OFF,hiredis"
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
index c80b93c802..bcffa77db9 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
@@ -3,7 +3,7 @@ DESCRIPTION = "The Ext2 Filesystem Utilities (e2fsprogs) contain all of the stan
fixing, configuring , and debugging ext2 filesystems."
HOMEPAGE = "http://e2fsprogs.sourceforge.net/"
-LICENSE = "GPLv2 & LGPLv2 & BSD & MIT"
+LICENSE = "GPLv2 & LGPLv2 & BSD-3-Clause & MIT"
LICENSE:e2fsprogs-dumpe2fs = "GPLv2"
LICENSE:e2fsprogs-e2fsck = "GPLv2"
LICENSE:e2fsprogs-mke2fs = "GPLv2"
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch
deleted file mode 100644
index 26f972b313..0000000000
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 42ba67f9a51ef959e7fd8dac29b5398c121c6976 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 30 Apr 2021 23:45:56 +0200
-Subject: [PATCH] lib/ext2fs/unix_io.c: do unlock on error
-
-Upstream-Status: Submitted [https://github.com/tytso/e2fsprogs/pull/68]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- lib/ext2fs/unix_io.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c
-index 64eee342..528c2fbc 100644
---- a/lib/ext2fs/unix_io.c
-+++ b/lib/ext2fs/unix_io.c
-@@ -398,7 +398,7 @@ static errcode_t raw_write_blk(io_channel channel,
- mutex_lock(data, BOUNCE_MTX);
- if (ext2fs_llseek(data->dev, location, SEEK_SET) < 0) {
- retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
-- goto error_out;
-+ goto error_unlock;
- }
- actual = write(data->dev, buf, size);
- mutex_unlock(data, BOUNCE_MTX);
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch
deleted file mode 100644
index 2452f7e08e..0000000000
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 3593063f735f453d43f461292e26913436c11ca3 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Sat, 1 May 2021 13:06:12 +0200
-Subject: [PATCH] lib/ext2fs/unix_io.c: revert parts of "libext2fs: fix
- potential races in unix_io"
-
-Upstream-Status: Submitted [https://github.com/tytso/e2fsprogs/pull/68]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- lib/ext2fs/unix_io.c | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/lib/ext2fs/unix_io.c b/lib/ext2fs/unix_io.c
-index 528c2fbc..f4916b21 100644
---- a/lib/ext2fs/unix_io.c
-+++ b/lib/ext2fs/unix_io.c
-@@ -311,10 +311,10 @@ bounce_read:
- size += really_read;
- goto short_read;
- }
-- actual = size;
-- if (actual > align_size)
-- actual = align_size;
-- actual -= offset;
-+ if ((actual + offset) > align_size)
-+ actual = align_size - offset;
-+ if (actual > size)
-+ actual = size;
- memcpy(buf, data->bounce + offset, actual);
-
- really_read += actual;
-@@ -455,9 +455,10 @@ bounce_write:
- }
- }
- actual = size;
-- if (actual > align_size)
-- actual = align_size;
-- actual -= offset;
-+ if ((actual + offset) > align_size)
-+ actual = align_size - offset;
-+ if (actual > size)
-+ actual = size;
- memcpy(((char *)data->bounce) + offset, buf, actual);
- if (ext2fs_llseek(data->dev, aligned_blk * align_size, SEEK_SET) < 0) {
- retval = errno ? errno : EXT2_ET_LLSEEK_FAILED;
---
-2.24.0
-
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-tests-u_direct_io-expect-correct-expected-output.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-tests-u_direct_io-expect-correct-expected-output.patch
new file mode 100644
index 0000000000..f198df83eb
--- /dev/null
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-tests-u_direct_io-expect-correct-expected-output.patch
@@ -0,0 +1,69 @@
+From ea5adf259e01c790f9ba69d6fe88d691de410b6f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sun, 22 Aug 2021 14:37:32 +0200
+Subject: [PATCH] tests/u_direct_io/expect: correct expected output
+
+This is likely the right fix, but upstream needs to confirm.
+
+Upstream-Status: Inappropriate [issue reported https://github.com/tytso/e2fsprogs/issues/80]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tests/u_direct_io/expect | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/tests/u_direct_io/expect b/tests/u_direct_io/expect
+index b0cdc730..830cbd75 100644
+--- a/tests/u_direct_io/expect
++++ b/tests/u_direct_io/expect
+@@ -19,8 +19,8 @@ Filesystem OS type: Linux
+ Inode count: 32768
+ Block count: 32768
+ Reserved block count: 1638
+-Overhead clusters: 5131
+-Free blocks: 27631
++Overhead clusters: 6155
++Free blocks: 26607
+ Free inodes: 32757
+ First block: 0
+ Block size: 4096
+@@ -29,27 +29,29 @@ Reserved GDT blocks: 7
+ Blocks per group: 32768
+ Fragments per group: 32768
+ Inodes per group: 32768
+-Inode blocks per group: 1024
++Inode blocks per group: 2048
+ Flex block group size: 16
+ Mount count: 0
+ Check interval: 15552000 (6 months)
+ Reserved blocks uid: 0
+ Reserved blocks gid: 0
+ First inode: 11
+-Inode size: 128
++Inode size: 256
++Required extra isize: 32
++Desired extra isize: 32
+ Journal inode: 8
+ Default directory hash: half_md4
+ Journal backup: inode blocks
+ Directories: 2
+ Group 0: block bitmap at 9, inode bitmap at 25, inode table at 41
+- 27631 free blocks, 32757 free inodes, 2 used directories
++ 26607 free blocks, 32757 free inodes, 2 used directories
+ e2fsck -fn -N test_filesys $LOOP
+ Pass 1: Checking inodes, blocks, and sizes
+ Pass 2: Checking directory structure
+ Pass 3: Checking directory connectivity
+ Pass 4: Checking reference counts
+ Pass 5: Checking group summary information
+-test_filesys: 11/32768 files (9.1% non-contiguous), 5137/32768 blocks
++test_filesys: 11/32768 files (9.1% non-contiguous), 6161/32768 blocks
+ Exit status is 0
+ e2fsck -fn -N test_filesys $TMPFILE
+ Pass 1: Checking inodes, blocks, and sizes
+@@ -57,5 +59,5 @@ Pass 2: Checking directory structure
+ Pass 3: Checking directory connectivity
+ Pass 4: Checking reference counts
+ Pass 5: Checking group summary information
+-test_filesys: 11/32768 files (9.1% non-contiguous), 5137/32768 blocks
++test_filesys: 11/32768 files (9.1% non-contiguous), 6161/32768 blocks
+ Exit status is 0
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/big-inodes-for-small-fs.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/big-inodes-for-small-fs.patch
deleted file mode 100644
index caeb560d32..0000000000
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/big-inodes-for-small-fs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Ensure "small" file systems also have the default inode size (256 bytes) so that
-can store 64-bit timestamps and work past 2038.
-
-The "small" type is any size >3MB and <512MB, which covers a lot of relatively
-small filesystems built by OE, especially when they're sized to fit the contents
-and expand to the storage on boot.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in
-index 01e35cf8..29f41dc0 100644
---- a/misc/mke2fs.conf.in
-+++ b/misc/mke2fs.conf.in
-@@ -16,7 +16,6 @@
- }
- small = {
- blocksize = 1024
-- inode_size = 128
- inode_ratio = 4096
- }
- floppy = {
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch
index e8b2aafbf3..a4f98246bb 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch
@@ -1,4 +1,4 @@
-From 8957443bcbea43685c76eb3cbc5009f7fd529283 Mon Sep 17 00:00:00 2001
+From f1e161a48f74b46ae3c99921971c4b5ae8d587c9 Mon Sep 17 00:00:00 2001
From: Jackie Huang <jackie.huang@windriver.com>
Date: Wed, 10 Aug 2016 11:19:44 +0800
Subject: [PATCH] Fix missing check for permission denied.
@@ -19,7 +19,7 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/support/profile.c b/lib/support/profile.c
-index 585ed595..810dd66b 100644
+index f54739e7..53ea68f1 100644
--- a/lib/support/profile.c
+++ b/lib/support/profile.c
@@ -335,7 +335,7 @@ profile_init(const char * const *files, profile_t *ret_profile)
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch
index 96eb7f20df..41a4047622 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch
@@ -1,4 +1,4 @@
-From 3b75308cc75adc249db6ca36e42fe93309b9a018 Mon Sep 17 00:00:00 2001
+From 550b5fbece84dde16ce9910c2cad390ea4a2f5d5 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Mon, 23 Dec 2013 13:38:34 +0000
Subject: [PATCH] e2fsprogs: silence debugfs
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.4.bb
index 8cc046c794..f42cefcaf9 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.4.bb
@@ -4,17 +4,14 @@ SRC_URI += "file://remove.ldconfig.call.patch \
file://run-ptest \
file://ptest.patch \
file://mkdir_p.patch \
- file://0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch \
- file://0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch \
+ file://0001-tests-u_direct_io-expect-correct-expected-output.patch \
"
SRC_URI:append:class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
file://quiet-debugfs.patch \
- file://big-inodes-for-small-fs.patch \
"
-
-SRCREV = "1eea0e2bd9a6760ebad834d5d2cf700fffe5ebe2"
+SRCREV = "849005eac51ea2097bd9e5f2b0adc16b53c5486d"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+(\.\d+)*)$"
EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb
index 7a88c5259f..9ea4de8e40 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb
@@ -32,6 +32,10 @@ SRC_URI:append:libc-musl = " \
"
SRC_URI[sha256sum] = "dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6"
+# remove at next version upgrade or when output changes
+PR = "r1"
+HASHEQUIV_HASH_VERSION .= ".2"
+
inherit autotools gettext ptest pkgconfig
EXTRA_OECONF = "--program-prefix=eu-"
@@ -42,14 +46,16 @@ DEPENDS_BZIP2:class-target = "bzip2"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'debuginfod', 'debuginfod libdebuginfod', '', d)}"
PACKAGECONFIG[bzip2] = "--with-bzlib,--without-bzlib,${DEPENDS_BZIP2}"
PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz"
+PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
PACKAGECONFIG[libdebuginfod] = "--enable-libdebuginfod,--disable-libdebuginfod,curl"
PACKAGECONFIG[debuginfod] = "--enable-debuginfod,--disable-debuginfod,libarchive sqlite3 libmicrohttpd"
-RDEPENDS:${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils iproute2-ss bsdtar"
+RDEPENDS:${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils iproute2-ss bsdtar gcc-symlinks binutils-symlinks libgcc-dev"
EXTRA_OECONF:append:class-target = " --disable-tests-rpath"
-RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-dbg glibc-dev"
+INSANE_SKIP:${PN}-ptest = "debug-deps dev-deps"
do_compile_ptest() {
cd ${B}/tests
diff --git a/poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc
index e90580d1cd..26bfed9507 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-multilib-config.inc
@@ -31,7 +31,9 @@ python gcc_multilib_setup() {
'%s/*/linux64.h' % src_conf_dir,
'%s/aarch64/t-aarch64' % src_conf_dir,
'%s/aarch64/aarch64.h' % src_conf_dir,
+ '%s/aarch64/aarch64-linux.h' % src_conf_dir,
'%s/aarch64/aarch64-cores.def' % src_conf_dir,
+ '%s/arm/linux-eabi.h' % src_conf_dir,
'%s/*/linux.h' % src_conf_dir,
'%s/linux.h' % src_conf_dir)
@@ -102,6 +104,8 @@ python gcc_multilib_setup() {
r'\1' + wrap_libdir(libdir64) + r'\3'),
(r'^(#define\s*GLIBC_DYNAMIC_LINKER64\s*\"\S+\"\s*)(\S+)(\s*\"\S+\"\s*)(\S+)(\s*\".*\")$',
r'\1' + wrap_libdir(libdir64) + r'\3' + wrap_libdir(libdir64) + r'\5'),
+ (r'^(#define\s*GLIBC_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$',
+ r'\1' + wrap_libdir(libdir32) + r'\3'),
(r'^(#define\s*GLIBC_DYNAMIC_LINKERX32\s*)(\S+)(\s*\".*\")$',
r'\1' + wrap_libdir(libdirx32) + r'\3'),
(r'^(#define\s*GLIBC_DYNAMIC_LINKERN32\s*)(\S+)(\s*\".*\")$',
@@ -112,8 +116,18 @@ python gcc_multilib_setup() {
r'\1' + wrap_libdir(libdir64) + r'\3'),
(r'^(#define\s*UCLIBC_DYNAMIC_LINKERN32\s*)(\S+)(\s*\".*\")$',
r'\1' + wrap_libdir(libdirn32) + r'\3'),
+ (r'^(#define\s*UCLIBC_DYNAMIC_LINKERX32\s*)(\S+)(\s*\".*\")$',
+ r'\1' + wrap_libdir(libdirx32) + r'\3'),
(r'^(#define\s*UCLIBC_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$',
r'\1' + wrap_libdir(libdir32) + r'\3'),
+ (r'^(#define\s*MUSL_DYNAMIC_LINKER32\s*)(\S+)(\s*\".*\")$',
+ r'\1' + wrap_libdir(libdir32) + r'\3'),
+ (r'^(#define\s*MUSL_DYNAMIC_LINKER64\s*)(\S+)(\s*\".*\")$',
+ r'\1' + wrap_libdir(libdir64) + r'\3'),
+ (r'^(#define\s*MUSL_DYNAMIC_LINKERX32\s*)(\S+)(\s*\".*\")$',
+ r'\1' + wrap_libdir(libdirx32) + r'\3'),
+ (r'^(#define\s*MUSL_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$',
+ r'\1' + wrap_libdir(libdir32) + r'\3'),
]
for (i, line) in enumerate(filelines):
@@ -138,15 +152,15 @@ python gcc_multilib_setup() {
}
gcc_header_config_files = {
- 'x86_64' : ['gcc/config/i386/linux64.h'],
- 'i586' : ['gcc/config/i386/linux64.h'],
- 'i686' : ['gcc/config/i386/linux64.h'],
- 'mips' : ['gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'],
- 'mips64' : ['gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'],
- 'powerpc' : ['gcc/config/rs6000/linux64.h'],
- 'powerpc64' : ['gcc/config/rs6000/linux64.h'],
- 'aarch64' : ['gcc/config/aarch64/aarch64.h'],
- 'arm' : ['gcc/config/aarch64/aarch64.h'],
+ 'x86_64' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'],
+ 'i586' : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 'gcc/config/i386/linux64.h'],
+ 'i686' : ['gcc/config/linux.h', 'gcc/config/i386/linux64.h'],
+ 'mips' : ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'],
+ 'mips64' : ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'],
+ 'powerpc' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'],
+ 'powerpc64' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'],
+ 'aarch64' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
+ 'arm' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
}
libdir32 = 'SYSTEMLIBS_DIR'
diff --git a/poky/meta/recipes-devtools/git/git_2.32.0.bb b/poky/meta/recipes-devtools/git/git_2.33.0.bb
index f45737b096..f8d4dacdbf 100644
--- a/poky/meta/recipes-devtools/git/git_2.32.0.bb
+++ b/poky/meta/recipes-devtools/git/git_2.33.0.bb
@@ -5,5 +5,5 @@ EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
"
EXTRA_OEMAKE += "NO_GETTEXT=1"
-SRC_URI[tarball.sha256sum] = "6038f06d396ba9dab2eee541c7db6e7f9f847f181ec62f3d8441893f8c469398"
-SRC_URI[manpages.sha256sum] = "b5533c40ea1688231c0e2df51cc0d1c0272e17fe78a45ba6e60cb8f61fa4a53c"
+SRC_URI[tarball.sha256sum] = "02d909d0bba560d3a1008bd00dd577621ffb57401b09175fab2bf6da0e9704ae"
+SRC_URI[manpages.sha256sum] = "ba9cd0f29a3632a3b78f8ed2389f0780aa6e8fcbe258259d7c584920d19ed1f7"
diff --git a/poky/meta/recipes-devtools/help2man/help2man_1.48.3.bb b/poky/meta/recipes-devtools/help2man/help2man_1.48.4.bb
index d24e6c446e..cdc2056e6f 100644
--- a/poky/meta/recipes-devtools/help2man/help2man_1.48.3.bb
+++ b/poky/meta/recipes-devtools/help2man/help2man_1.48.4.bb
@@ -6,7 +6,7 @@ LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "8361ff3c643fbd391064e97e5f54592ca28b880eaffbf566a68e0ad800d1a8ac"
+SRC_URI[sha256sum] = "937194af8e31e97467768ec2e3ce8d396bd1e32e8ea56df23f634485b5f14e09"
inherit autotools
diff --git a/poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20210714-3.1.bb
index 72392dd190..8d68d6874a 100644
--- a/poky/meta/recipes-devtools/libedit/libedit_20210522-3.1.bb
+++ b/poky/meta/recipes-devtools/libedit/libedit_20210714-3.1.bb
@@ -13,7 +13,7 @@ inherit autotools
SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \
file://stdc-predef.patch \
"
-SRC_URI[sha256sum] = "0220bc2047e927c0c1984ef5f7b4eb2a9469a5b7bf12ba573ca3b23ca02bbb6f"
+SRC_URI[sha256sum] = "3023b498ad593fd7745ae3b20abad546de506b67b8fbb5579637ca69ab82dbc9"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/log4cplus/log4cplus_2.0.6.bb b/poky/meta/recipes-devtools/log4cplus/log4cplus_2.0.7.bb
index 4b7c76ab46..3798b93f76 100644
--- a/poky/meta/recipes-devtools/log4cplus/log4cplus_2.0.6.bb
+++ b/poky/meta/recipes-devtools/log4cplus/log4cplus_2.0.7.bb
@@ -9,8 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz \
"
-SRC_URI[md5sum] = "71051de4c2c3ef67f66ce3bbb083cf43"
-SRC_URI[sha256sum] = "5fb26433b0f200ebfc2e6effb7e2e5131185862a2ea9a621a8e7f3f725a72b08"
+SRC_URI[sha256sum] = "086451c7e7c582862cbd6c60d87bb6d9d63c4b65321dba85fa71766382f7ec6d"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/"
UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P<pver>\d+(\.\d+)+)/"
diff --git a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
index c78f73d255..8041b13ae0 100644
--- a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
+++ b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
@@ -1,4 +1,4 @@
-From bd2ec723326b6d57350da73b444dd43e923011e8 Mon Sep 17 00:00:00 2001
+From dc11f3e7bdfa524a3e395a0f9d5e035dbc40c047 Mon Sep 17 00:00:00 2001
From: Ed Bartosh <ed.bartosh@linux.intel.com>
Date: Tue, 13 Jun 2017 14:55:52 +0300
Subject: [PATCH] Disabled reading host configs.
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.34.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.35.bb
index e64015c13f..61e98bb0fe 100644
--- a/poky/meta/recipes-devtools/mtools/mtools_4.0.34.bb
+++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.35.bb
@@ -24,7 +24,7 @@ RRECOMMENDS:${PN}:libc-glibc = "\
glibc-gconv-ibm866 \
glibc-gconv-ibm869 \
"
-SRC_URI[sha256sum] = "ada543eb1b0ffe5440d4ee42634309ea1e286d7ebb80c99ba50db5cb2c360cab"
+SRC_URI[sha256sum] = "34769e173751d2f0d891a08c76c80427e929b8ee43438019b8666cc3d7a44749"
SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
file://mtools-makeinfo.patch \
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch b/poky/meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch
deleted file mode 100644
index ba35ec6ffc..0000000000
--- a/poky/meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 6edec83653ce1b5fc201ff6db93b966394766814 Mon Sep 17 00:00:00 2001
-From: rmnull <rmnull@users.noreply.github.com>
-Date: Tue, 18 Aug 2020 20:22:52 +0530
-Subject: [PATCH] mark phdrs synced with sections, avoid rechecking it when
- syncing note sections to segments.
-
-This also serves as a bug fix when a previously synced note segment
-overlaps with another section and creates a false alarm.
-
-Upstream-Status: Backport
----
- src/patchelf.cc | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/patchelf.cc b/src/patchelf.cc
-index 05ec793..622f0b6 100644
---- a/src/patchelf.cc
-+++ b/src/patchelf.cc
-@@ -669,6 +669,7 @@ void ElfFile<ElfFileParamNames>::writeReplacedSections(Elf_Off & curOff,
- memset(contents + rdi(shdr.sh_offset), 'X', rdi(shdr.sh_size));
- }
-
-+ std::set<unsigned int> noted_phdrs = {};
- for (auto & i : replacedSections) {
- std::string sectionName = i.first;
- auto & shdr = findSection(sectionName);
-@@ -721,7 +722,7 @@ void ElfFile<ElfFileParamNames>::writeReplacedSections(Elf_Off & curOff,
- shdr.sh_addralign = orig_shdr.sh_addralign;
-
- for (unsigned int j = 0; j < phdrs.size(); ++j)
-- if (rdi(phdrs[j].p_type) == PT_NOTE) {
-+ if (rdi(phdrs[j].p_type) == PT_NOTE && noted_phdrs.find(j) == noted_phdrs.end()) {
- Elf_Off p_start = rdi(phdrs[j].p_offset);
- Elf_Off p_end = p_start + rdi(phdrs[j].p_filesz);
- Elf_Off s_start = rdi(orig_shdr.sh_offset);
-@@ -739,6 +740,8 @@ void ElfFile<ElfFileParamNames>::writeReplacedSections(Elf_Off & curOff,
- phdrs[j].p_offset = shdr.sh_offset;
- phdrs[j].p_vaddr = phdrs[j].p_paddr = shdr.sh_addr;
- phdrs[j].p_filesz = phdrs[j].p_memsz = shdr.sh_size;
-+
-+ noted_phdrs.insert(j);
- }
- }
-
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch b/poky/meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch
deleted file mode 100644
index a06876e50a..0000000000
--- a/poky/meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-If a binary has multiple SHT_NOTE sections and corresponding PT_NOTE
-headers, we can see the error:
-
-patchelf: cannot normalize PT_NOTE segment: non-contiguous SHT_NOTE sections
-
-if the SHT_NOTE sections aren't sized to end on aligned boundaries. An example
-would be a binary with:
-
- [ 2] .note.ABI-tag NOTE 00000000000002f4 000002f4
- 0000000000000020 0000000000000000 A 0 0 4
- [ 3] .note.gnu.propert NOTE 0000000000000318 00000318
- 0000000000000030 0000000000000000 A 0 0 8
- [ 4] .note.gnu.build-i NOTE 0000000000000348 00000348
- 0000000000000024 0000000000000000 A 0 0 4
-
- NOTE 0x0000000000000318 0x0000000000000318 0x0000000000000318
- 0x0000000000000030 0x0000000000000030 R 0x8
- NOTE 0x00000000000002f4 0x00000000000002f4 0x00000000000002f4
- 0x0000000000000078 0x0000000000000074 R 0x4
-
-since the PT_NOTE section at 2f4 covers [2] and [3] but the code
-calclates curr_off should be 314, not the 318 in the binary. This
-is an alignment issue.
-
-To fix this, we need to round curr_off to the next section alignment.
-
-Upstream-Status: Submitted [https://github.com/NixOS/patchelf/pull/274]
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Index: git/src/patchelf.cc
-===================================================================
---- git.orig/src/patchelf.cc
-+++ git/src/patchelf.cc
-@@ -1010,8 +1010,9 @@ void ElfFile<ElfFileParamNames>::normali
- size_t size = 0;
- for (const auto & shdr : shdrs) {
- if (rdi(shdr.sh_type) != SHT_NOTE) continue;
-- if (rdi(shdr.sh_offset) != curr_off) continue;
-+ if (rdi(shdr.sh_offset) != roundUp(curr_off, rdi(shdr.sh_addralign))) continue;
- size = rdi(shdr.sh_size);
-+ curr_off = roundUp(curr_off, rdi(shdr.sh_addralign));
- break;
- }
- if (size == 0)
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch b/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
index bf721c1af8..63080a42d4 100644
--- a/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
+++ b/poky/meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch
@@ -1,4 +1,4 @@
-From 7f1fd10cfebd5ea2f3e1938abe1bd1c4828164a7 Mon Sep 17 00:00:00 2001
+From 682fb48c137b687477008b68863c2a0b73ed47d1 Mon Sep 17 00:00:00 2001
From: Fabio Berton <fabio.berton@ossystems.com.br>
Date: Fri, 9 Sep 2016 16:00:42 -0300
Subject: [PATCH] handle read-only files
@@ -14,13 +14,13 @@ Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
src/patchelf.cc | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
-Index: git/src/patchelf.cc
-===================================================================
---- git.orig/src/patchelf.cc
-+++ git/src/patchelf.cc
-@@ -499,9 +499,19 @@ void ElfFile<ElfFileParamNames>::sortShd
+diff --git a/src/patchelf.cc b/src/patchelf.cc
+index fd1e7b7..a941da1 100644
+--- a/src/patchelf.cc
++++ b/src/patchelf.cc
+@@ -527,9 +527,19 @@ void ElfFile<ElfFileParamNames>::sortShdrs()
- static void writeFile(std::string fileName, FileContents contents)
+ static void writeFile(const std::string & fileName, const FileContents & contents)
{
+ struct stat st;
+ int fd;
@@ -39,7 +39,7 @@ Index: git/src/patchelf.cc
if (fd == -1)
error("open");
-@@ -515,6 +525,10 @@ static void writeFile(std::string fileNa
+@@ -543,6 +553,10 @@ static void writeFile(const std::string & fileName, const FileContents & content
if (close(fd) != 0)
error("close");
diff --git a/poky/meta/recipes-devtools/patchelf/patchelf_0.12.bb b/poky/meta/recipes-devtools/patchelf/patchelf_0.13.bb
index 7c97ea0789..1b0561b8ba 100644
--- a/poky/meta/recipes-devtools/patchelf/patchelf_0.12.bb
+++ b/poky/meta/recipes-devtools/patchelf/patchelf_0.13.bb
@@ -6,10 +6,8 @@ LICENSE = "GPLv3"
SRC_URI = "git://github.com/NixOS/patchelf;protocol=https \
file://handle-read-only-files.patch \
- file://6edec83653ce1b5fc201ff6db93b966394766814.patch \
- file://alignmentfix.patch \
"
-SRCREV = "8d3a16e97294e3c5521c61b4c8835499c9918264"
+SRCREV = "a949ff23315bbb5863627c4655fe216ecbf341a2"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb
index 04991b1f01..29cf4a6a94 100644
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb
@@ -20,7 +20,7 @@ SRC_URI = "\
file://pkg-config-native.in \
file://pkg-config-esdk.in \
"
-SRC_URI[sha256sum] = "d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab"
+SRC_URI[sha256sum] = "ef9c7e61822b7cb8356e6e9e1dca58d9556f3200d78acab35e4347e9d4c2bbaf"
inherit autotools
diff --git a/poky/meta/recipes-devtools/prelink/prelink_git.bb b/poky/meta/recipes-devtools/prelink/prelink_git.bb
index 78d4c71817..24713b61f8 100644
--- a/poky/meta/recipes-devtools/prelink/prelink_git.bb
+++ b/poky/meta/recipes-devtools/prelink/prelink_git.bb
@@ -48,9 +48,11 @@ inherit autotools
BBCLASSEXTEND = "native"
-EXTRA_OECONF = "--disable-selinux --with-pkgversion=${PV}-${PR} \
+EXTRA_OECONF = "--with-pkgversion=${PV}-${PR} \
--with-bugurl=http://bugzilla.yoctoproject.org/"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
#
# For target prelink we need to ensure paths match the lib path layout
diff --git a/poky/meta/recipes-devtools/pseudo/files/build-oldlibc b/poky/meta/recipes-devtools/pseudo/files/build-oldlibc
new file mode 100755
index 0000000000..85c438de4e
--- /dev/null
+++ b/poky/meta/recipes-devtools/pseudo/files/build-oldlibc
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# Script to re-generate pseudo-prebuilt-2.33.tar.xz
+#
+# Copyright (C) 2021 Richard Purdie
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+for i in x86_64 aarch64 i686; do
+ if [ ! -e $i-nativesdk-libc.tar.xz ]; then
+ wget http://downloads.yoctoproject.org/releases/uninative/3.2/$i-nativesdk-libc.tar.xz
+ fi
+ tar -xf $i-nativesdk-libc.tar.xz --wildcards \*/lib/libpthread\* \*/lib/libdl\*
+ cd $i-linux/lib
+ ln -s libdl.so.2 libdl.so
+ ln -s libpthread.so.0 libpthread.so
+ cd ../..
+done
+tar -cJf pseudo-prebuilt-2.33.tar.xz *-linux \ No newline at end of file
diff --git a/poky/meta/recipes-devtools/pseudo/files/older-glibc-symbols.patch b/poky/meta/recipes-devtools/pseudo/files/older-glibc-symbols.patch
new file mode 100644
index 0000000000..c453b5f735
--- /dev/null
+++ b/poky/meta/recipes-devtools/pseudo/files/older-glibc-symbols.patch
@@ -0,0 +1,57 @@
+If we link against a newer glibc 2.34 and then try and our LD_PRELOAD is run against a
+binary on a host with an older libc, we see symbol errors since in glibc 2.34, pthread
+and dl are merged into libc itself.
+
+We need to use the older form of linking so use glibc binaries from an older release
+to force this. We only use minimal symbols from these anyway.
+
+pthread_atfork is problematic, particularly on arm so use the internal glibc routine
+it maps too. This was always present in the main libc from 2.3.2 onwards.
+
+Yes this is horrible. Better solutions welcome.
+
+There is more info in the bug: [YOCTO #14521]
+
+Upstream-Status: Inappropriate [this patch is native and nativesdk]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Tweak library search order, make prebuilt lib ahead of recipe lib
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.in | 2 +-
+ pseudo_wrappers.c | 5 ++++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -120,7 +120,7 @@ $(PSEUDODB): pseudodb.o $(SHOBJS) $(DBOBJS) pseudo_ipc.o | $(BIN)
+ libpseudo: $(LIBPSEUDO)
+
+ $(LIBPSEUDO): $(WRAPOBJS) pseudo_client.o pseudo_ipc.o $(SHOBJS) | $(LIB)
+- $(CC) $(CFLAGS) $(CFLAGS_PSEUDO) -shared -o $(LIBPSEUDO) \
++ $(CC) $(CFLAGS) -Lprebuilt/$(shell uname -m)-linux/lib/ $(CFLAGS_PSEUDO) -shared -o $(LIBPSEUDO) \
+ pseudo_client.o pseudo_ipc.o \
+ $(WRAPOBJS) $(SHOBJS) $(LDFLAGS) $(CLIENT_LDFLAGS)
+
+diff --git a/pseudo_wrappers.c b/pseudo_wrappers.c
+--- a/pseudo_wrappers.c
++++ b/pseudo_wrappers.c
+@@ -100,10 +100,13 @@ static void libpseudo_atfork_child(void)
+ pseudo_mutex_holder = 0;
+ }
+
++extern void *__dso_handle;
++extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *);
++
+ static void
+ _libpseudo_init(void) {
+ if (!_libpseudo_initted)
+- pthread_atfork(NULL, NULL, libpseudo_atfork_child);
++ __register_atfork (NULL, NULL, libpseudo_atfork_child, &__dso_handle == NULL ? NULL : __dso_handle);
+
+ pseudo_getlock();
+ pseudo_antimagic();
+--
+2.27.0
+
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index dacaef1a66..328177c9bf 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -5,6 +5,13 @@ SRC_URI = "git://git.yoctoproject.org/pseudo;branch=oe-core \
file://fallback-passwd \
file://fallback-group \
"
+SRC_URI:append:class-native = " \
+ http://downloads.yoctoproject.org/mirror/sources/pseudo-prebuilt-2.33.tar.xz;subdir=git/prebuilt;name=prebuilt \
+ file://older-glibc-symbols.patch"
+SRC_URI:append:class-nativesdk = " \
+ http://downloads.yoctoproject.org/mirror/sources/pseudo-prebuilt-2.33.tar.xz;subdir=git/prebuilt;name=prebuilt \
+ file://older-glibc-symbols.patch"
+SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa"
SRCREV = "b988b0a6b8afd8d459bc9a2528e834f63a3d59b2"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.2.bb
index a4d222c3aa..2d4c62af81 100644
--- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.0.bb
+++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.21.2.bb
@@ -12,7 +12,7 @@ SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${S
file://0001-numpy-core-Define-RISCV-32-support.patch \
file://run-ptest \
"
-SRC_URI[sha256sum] = "b662c841b29848c04d9134f31dbaa7d4c8e673f45bb3a5f28d02f49c424d558a"
+SRC_URI[sha256sum] = "76af194fbc117934ec5bbe2ff15177adbd05aeed23f18ee209ed88edcd777e05"
UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 1082fe79be..2b1f899eaf 100644
--- a/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From f6afc18e08a6c428ce8becd114c535a6840f1b9f Mon Sep 17 00:00:00 2001
+From 4e2c87105884af6dfc3bc9f8c65b199ecc3b5186 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 17 Jul 2018 10:13:38 +0800
Subject: [PATCH] conditionally do not fetch code by easy_install
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index e3f14fc49b..5a8ec2a0ff 100644
--- a/poky/meta/recipes-devtools/python/python-cython.inc
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
PYPI_PACKAGE = "Cython"
BBCLASSEXTEND = "native nativesdk"
-SRC_URI[sha256sum] = "6a0d31452f0245daacb14c979c77e093eb1a546c760816b5eed0047686baad8e"
+SRC_URI[sha256sum] = "cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443"
UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.23.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.24.bb
index 296fb39b6f..b1d21bd15c 100644
--- a/poky/meta/recipes-devtools/python/python3-cython_0.29.23.bb
+++ b/poky/meta/recipes-devtools/python/python3-cython_0.29.24.bb
@@ -34,3 +34,4 @@ cython_fix_sources () {
fi
done
}
+
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.18.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.20.bb
index d1c50d4322..2c20d3952f 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.18.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.20.bb
@@ -12,7 +12,7 @@ PYPI_PACKAGE = "GitPython"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "b838a895977b45ab6f0cc926a9045c8d1c44e2b653c1fcc39fe91f42c6e8f05b"
+SRC_URI[sha256sum] = "df0e072a200703a65387b0cfdf0466e3bab729c0458cf6b7349d0e9877636519"
DEPENDS += " ${PYTHON_PN}-gitdb"
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis/run-ptest b/poky/meta/recipes-devtools/python/python3-hypothesis/run-ptest
new file mode 100644
index 0000000000..8d44d7c49a
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# Upstream "fast" tests take about 5 minutes and currently do not run cleanly
+# (tests/cover and tests/pytest)
+# https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python/tests
+# https://github.com/HypothesisWorks/hypothesis/blob/master/hypothesis-python/scripts/basic-test.sh#L18
+#
+# Instead we run two test suites imported from examples/
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis/test_binary_search.py b/poky/meta/recipes-devtools/python/python3-hypothesis/test_binary_search.py
new file mode 100644
index 0000000000..21267c4ac2
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis/test_binary_search.py
@@ -0,0 +1,135 @@
+# This file is part of Hypothesis, which may be found at
+# https://github.com/HypothesisWorks/hypothesis/
+#
+# Most of this work is copyright (C) 2013-2021 David R. MacIver
+# (david@drmaciver.com), but it contains contributions by others. See
+# CONTRIBUTING.rst for a full list of people who may hold copyright, and
+# consult the git log if you need to determine who owns an individual
+# contribution.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public License,
+# v. 2.0. If a copy of the MPL was not distributed with this file, You can
+# obtain one at https://mozilla.org/MPL/2.0/.
+#
+# END HEADER
+#
+# SPDX-License-Identifier: MPL-2.0
+
+"""This file demonstrates testing a binary search.
+
+It's a useful example because the result of the binary search is so clearly
+determined by the invariants it must satisfy, so we can simply test for those
+invariants.
+
+It also demonstrates the useful testing technique of testing how the answer
+should change (or not) in response to movements in the underlying data.
+"""
+
+from hypothesis import given, strategies as st
+
+
+def binary_search(ls, v):
+ """Take a list ls and a value v such that ls is sorted and v is comparable
+ with the elements of ls.
+
+ Return an index i such that 0 <= i <= len(v) with the properties:
+
+ 1. ls.insert(i, v) is sorted
+ 2. ls.insert(j, v) is not sorted for j < i
+ """
+ # Without this check we will get an index error on the next line when the
+ # list is empty.
+ if not ls:
+ return 0
+
+ # Without this check we will miss the case where the insertion point should
+ # be zero: The invariant we maintain in the next section is that lo is
+ # always strictly lower than the insertion point.
+ if v <= ls[0]:
+ return 0
+
+ # Invariant: There is no insertion point i with i <= lo
+ lo = 0
+
+ # Invariant: There is an insertion point i with i <= hi
+ hi = len(ls)
+ while lo + 1 < hi:
+ mid = (lo + hi) // 2
+ if v > ls[mid]:
+ # Inserting v anywhere below mid would result in an unsorted list
+ # because it's > the value at mid. Therefore mid is a valid new lo
+ lo = mid
+ # Uncommenting the following lines will cause this to return a valid
+ # insertion point which is not always minimal.
+ # elif v == ls[mid]:
+ # return mid
+ else:
+ # Either v == ls[mid] in which case mid is a valid insertion point
+ # or v < ls[mid], in which case all valid insertion points must be
+ # < hi. Either way, mid is a valid new hi.
+ hi = mid
+ assert lo + 1 == hi
+ # We now know that there is a valid insertion point <= hi and there is no
+ # valid insertion point < hi because hi - 1 is lo. Therefore hi is the
+ # answer we were seeking
+ return hi
+
+
+def is_sorted(ls):
+ """Is this list sorted?"""
+ for i in range(len(ls) - 1):
+ if ls[i] > ls[i + 1]:
+ return False
+ return True
+
+
+Values = st.integers()
+
+# We generate arbitrary lists and turn this into generating sorting lists
+# by just sorting them.
+SortedLists = st.lists(Values).map(sorted)
+
+# We could also do it this way, but that would be a bad idea:
+# SortedLists = st.lists(Values).filter(is_sorted)
+# The problem is that Hypothesis will only generate long sorted lists with very
+# low probability, so we are much better off post-processing values into the
+# form we want than filtering them out.
+
+
+@given(ls=SortedLists, v=Values)
+def test_insert_is_sorted(ls, v):
+ """We test the first invariant: binary_search should return an index such
+ that inserting the value provided at that index would result in a sorted
+ set."""
+ ls.insert(binary_search(ls, v), v)
+ assert is_sorted(ls)
+
+
+@given(ls=SortedLists, v=Values)
+def test_is_minimal(ls, v):
+ """We test the second invariant: binary_search should return an index such
+ that no smaller index is a valid insertion point for v."""
+ for i in range(binary_search(ls, v)):
+ ls2 = list(ls)
+ ls2.insert(i, v)
+ assert not is_sorted(ls2)
+
+
+@given(ls=SortedLists, v=Values)
+def test_inserts_into_same_place_twice(ls, v):
+ """In this we test a *consequence* of the second invariant: When we insert
+ a value into a list twice, the insertion point should be the same both
+ times. This is because we know that v is > the previous element and == the
+ next element.
+
+ In theory if the former passes, this should always pass. In practice,
+ failures are detected by this test with much higher probability because it
+ deliberately puts the data into a shape that is likely to trigger a
+ failure.
+
+ This is an instance of a good general category of test: Testing how the
+ function moves in responses to changes in the underlying data.
+ """
+ i = binary_search(ls, v)
+ ls.insert(i, v)
+ assert binary_search(ls, v) == i
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis/test_rle.py b/poky/meta/recipes-devtools/python/python3-hypothesis/test_rle.py
new file mode 100644
index 0000000000..4d618865ac
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis/test_rle.py
@@ -0,0 +1,101 @@
+# This file is part of Hypothesis, which may be found at
+# https://github.com/HypothesisWorks/hypothesis/
+#
+# Most of this work is copyright (C) 2013-2021 David R. MacIver
+# (david@drmaciver.com), but it contains contributions by others. See
+# CONTRIBUTING.rst for a full list of people who may hold copyright, and
+# consult the git log if you need to determine who owns an individual
+# contribution.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public License,
+# v. 2.0. If a copy of the MPL was not distributed with this file, You can
+# obtain one at https://mozilla.org/MPL/2.0/.
+#
+# END HEADER
+#
+# SPDX-License-Identifier: MPL-2.0
+
+"""This example demonstrates testing a run length encoding scheme. That is, we
+take a sequence and represent it by a shorter sequence where each 'run' of
+consecutive equal elements is represented as a single element plus a count. So
+e.g.
+
+[1, 1, 1, 1, 2, 1] is represented as [[1, 4], [2, 1], [1, 1]]
+
+This demonstrates the useful decode(encode(x)) == x invariant that is often
+a fruitful source of testing with Hypothesis.
+
+It also has an example of testing invariants in response to changes in the
+underlying data.
+"""
+
+from hypothesis import assume, given, strategies as st
+
+
+def run_length_encode(seq):
+ """Encode a sequence as a new run-length encoded sequence."""
+ if not seq:
+ return []
+ # By starting off the count at zero we simplify the iteration logic
+ # slightly.
+ result = [[seq[0], 0]]
+ for s in seq:
+ if (
+ # If you uncomment this line this branch will be skipped and we'll
+ # always append a new run of length 1. Note which tests fail.
+ # False and
+ s
+ == result[-1][0]
+ # Try uncommenting this line and see what problems occur:
+ # and result[-1][-1] < 2
+ ):
+ result[-1][1] += 1
+ else:
+ result.append([s, 1])
+ return result
+
+
+def run_length_decode(seq):
+ """Take a previously encoded sequence and reconstruct the original from
+ it."""
+ result = []
+ for s, i in seq:
+ for _ in range(i):
+ result.append(s)
+ return result
+
+
+# We use lists of a type that should have a relatively high duplication rate,
+# otherwise we'd almost never get any runs.
+Lists = st.lists(st.integers(0, 10))
+
+
+@given(Lists)
+def test_decodes_to_starting_sequence(ls):
+ """If we encode a sequence and then decode the result, we should get the
+ original sequence back.
+
+ Otherwise we've done something very wrong.
+ """
+ assert run_length_decode(run_length_encode(ls)) == ls
+
+
+@given(Lists, st.data())
+def test_duplicating_an_element_does_not_increase_length(ls, data):
+ """The previous test could be passed by simply returning the input sequence
+ so we need something that tests the compression property of our encoding.
+
+ In this test we deliberately introduce or extend a run and assert
+ that this does not increase the length of our encoding, because they
+ should be part of the same run in the final result.
+ """
+ # We use assume to get a valid index into the list. We could also have used
+ # e.g. flatmap, but this is relatively straightforward and will tend to
+ # perform better.
+ assume(ls)
+ i = data.draw(st.integers(0, len(ls) - 1))
+ ls2 = list(ls)
+ # duplicating the value at i right next to it guarantees they are part of
+ # the same run in the resulting compression.
+ ls2.insert(i, ls2[i])
+ assert len(run_length_encode(ls2)) == len(run_length_encode(ls))
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.5.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.5.bb
deleted file mode 100644
index 0460a43198..0000000000
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.14.5.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "A library for property-based testing"
-HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python"
-LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c"
-
-PYPI_PACKAGE = "hypothesis"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "0563b9711fd9bf478cb591580a575c369d2c396f283efa85d0f9a75b26db65b5"
-
-RDEPENDS:${PN} += " \
- python3-attrs \
- python3-compression \
- python3-core \
- python3-json \
- python3-sortedcontainers \
- python3-statistics \
- python3-unittest \
- "
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.15.0.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.15.0.bb
new file mode 100644
index 0000000000..1ea6bb56e6
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.15.0.bb
@@ -0,0 +1,38 @@
+SUMMARY = "A library for property-based testing"
+HOMEPAGE = "https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4ee62c16ebd0f4f99d906f36b7de8c3c"
+
+PYPI_PACKAGE = "hypothesis"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI += " \
+ file://run-ptest \
+ file://test_binary_search.py \
+ file://test_rle.py \
+ "
+
+SRC_URI[sha256sum] = "10699f595eebb9410fd902908aa13aece19be5c437b405092be34f60f69f7999"
+
+RDEPENDS:${PN} += " \
+ python3-attrs \
+ python3-compression \
+ python3-core \
+ python3-json \
+ python3-sortedcontainers \
+ python3-statistics \
+ python3-unittest \
+ "
+
+RDEPENDS:${PN}-ptest += " \
+ ${PYTHON_PN}-pytest \
+ "
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/examples
+ install -m 0755 ${WORKDIR}/test_binary_search.py ${D}${PTEST_PATH}/examples/
+ install -m 0755 ${WORKDIR}/test_rle.py ${D}${PTEST_PATH}/examples/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.3.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.4.bb
index 198138af7b..e5aad991e4 100644
--- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.6.4.bb
@@ -8,7 +8,7 @@ inherit pypi setuptools3
PYPI_PACKAGE = "importlib_metadata"
UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P<pver>(\d+[\.\-_]*)+)/"
-SRC_URI[sha256sum] = "0645585859e9a6689c523927a5032f2ba5919f1f7d0e84bd4533312320de1ff9"
+SRC_URI[sha256sum] = "7b30a78db2922d78a6f47fb30683156a14f3c6aa5cc23f77cc8967e9ab2d002f"
S = "${WORKDIR}/importlib_metadata-${PV}"
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.1.4.bb b/poky/meta/recipes-devtools/python/python3-mako_1.1.5.bb
index 21ce33b808..f8be44a837 100644
--- a/poky/meta/recipes-devtools/python/python3-mako_1.1.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-mako_1.1.5.bb
@@ -8,7 +8,7 @@ PYPI_PACKAGE = "Mako"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "17831f0b7087c313c0ffae2bcbbd3c1d5ba9eeac9c38f2eb7b50e8c99fe9d5ab"
+SRC_URI[sha256sum] = "169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3"
RDEPENDS:${PN} = "${PYTHON_PN}-html \
${PYTHON_PN}-netclient \
diff --git a/poky/meta/recipes-devtools/python/python3-pip_21.2.1.bb b/poky/meta/recipes-devtools/python/python3-pip_21.2.4.bb
index f16f1e2a03..1f0f707f4b 100644
--- a/poky/meta/recipes-devtools/python/python3-pip_21.2.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pip_21.2.4.bb
@@ -10,7 +10,7 @@ inherit pypi distutils3
SRC_URI += "file://0001-change-shebang-to-python3.patch"
-SRC_URI[sha256sum] = "303a82aaa24cdc01f7ebbd1afc7d1b871a4aa0a88bb5bedef1fa86a3ee44ca0a"
+SRC_URI[sha256sum] = "0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b"
do_install:append() {
# Install as pip3 and leave pip2 as default
diff --git a/poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb
index 479c10fcdc..14a7ccb0b0 100644
--- a/poky/meta/recipes-devtools/python/python3-pluggy_0.13.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb
@@ -3,8 +3,7 @@ HOMEPAGE = "https://github.com/pytest-dev/pluggy"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2"
-SRC_URI[md5sum] = "7f610e28b8b34487336b585a3dfb803d"
-SRC_URI[sha256sum] = "15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"
+SRC_URI[sha256sum] = "4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"
DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
RDEPENDS:${PN} += "${PYTHON_PN}-importlib-metadata \
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.10.0.bb
index 7fedcb5a88..3c1b5d15c3 100644
--- a/poky/meta/recipes-devtools/python/python3-pygments_2.9.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.10.0.bb
@@ -5,7 +5,7 @@ LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=98419e351433ac106a24e3ad435930bc"
inherit setuptools3
-SRC_URI[sha256sum] = "a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f"
+SRC_URI[sha256sum] = "f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"
DEPENDS += "\
${PYTHON_PN} \
diff --git a/poky/meta/recipes-devtools/python/python3-pytest/0001-Allow-pluggy-1.0.patch b/poky/meta/recipes-devtools/python/python3-pytest/0001-Allow-pluggy-1.0.patch
new file mode 100644
index 0000000000..175ef987ad
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pytest/0001-Allow-pluggy-1.0.patch
@@ -0,0 +1,65 @@
+From 637d4400d2bab0457688f950ea18cc4a04147c11 Mon Sep 17 00:00:00 2001
+From: Bruno Oliveira <nicoddemus@gmail.com>
+Date: Thu, 26 Aug 2021 09:26:51 -0300
+Subject: [PATCH] Allow pluggy >=1.0
+
+Now that pluggy 1.0 has been released, we can allow pluggy 1.0 with new pytest versions.
+
+Upstream-Status: Backport [commit: fbba504]
+
+Modify to use toml and not tomli. We will create a
+python3-tomli recipe when we do an python3-pytest
+upgrade.
+
+Signed-off-by: Tim Orling <timothy.t.orling@intel.com>
+---
+ setup.cfg | 36 ++++++++++++++++++------------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/setup.cfg b/setup.cfg
+index f919a9491..a8aeab813 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -32,24 +32,24 @@ project_urls =
+ Tracker=https://github.com/pytest-dev/pytest/issues
+
+ [options]
+-packages =
+- _pytest
+- _pytest._code
+- _pytest._io
+- _pytest.assertion
+- _pytest.config
+- _pytest.mark
+- pytest
+-install_requires =
+- attrs>=19.2.0
+- iniconfig
+- packaging
+- pluggy>=0.12,<1.0.0a1
+- py>=1.8.2
+- toml
+- atomicwrites>=1.0;sys_platform=="win32"
+- colorama;sys_platform=="win32"
+- importlib-metadata>=0.12;python_version<"3.8"
++packages =
++ _pytest
++ _pytest._code
++ _pytest._io
++ _pytest.assertion
++ _pytest.config
++ _pytest.mark
++ pytest
++install_requires =
++ attrs>=19.2.0
++ iniconfig
++ packaging
++ pluggy>=0.12,<2.0
++ py>=1.8.2
++ toml
++ atomicwrites>=1.0;sys_platform=="win32"
++ colorama;sys_platform=="win32"
++ importlib-metadata>=0.12;python_version<"3.8"
+ python_requires = >=3.6
+ package_dir =
+ =src
diff --git a/poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb b/poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb
index f0fd30aeda..2e90acaf36 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest_6.2.4.bb
@@ -5,6 +5,7 @@ DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scal
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=81eb9f71d006c6b268cf4388e3c98f7b"
+SRC_URI += "file://0001-Allow-pluggy-1.0.patch"
SRC_URI[sha256sum] = "50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"
DEPENDS = "python3-setuptools-scm-native"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_57.4.0.bb
index 63c0fe97ff..ae45936c39 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_57.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_57.4.0.bb
@@ -10,7 +10,7 @@ SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-e
SRC_URI += "file://0001-change-shebang-to-python3.patch"
-SRC_URI[sha256sum] = "cfca9c97e7eebbc8abe18d5e5e962a08dcad55bb63afddd82d681de4d22a597b"
+SRC_URI[sha256sum] = "6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465"
DEPENDS += "${PYTHON_PN}"
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 0bbc4b1187..76e8da159c 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -39,6 +39,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch \
file://CVE-2021-3527-1.patch \
file://CVE-2021-3527-2.patch \
+ file://CVE-2021-3682.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3682.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3682.patch
new file mode 100644
index 0000000000..50a49233d3
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2021-3682.patch
@@ -0,0 +1,41 @@
+From 5e796671e6b8d5de4b0b423dce1b3eba144a92c9 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Thu, 22 Jul 2021 09:27:56 +0200
+Subject: [PATCH] usbredir: fix free call
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+data might point into the middle of a larger buffer, there is a separate
+free_on_destroy pointer passed into bufp_alloc() to handle that. It is
+only used in the normal workflow though, not when dropping packets due
+to the queue being full. Fix that.
+
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/491
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
+Message-Id: <20210722072756.647673-1-kraxel@redhat.com>
+
+CVE: CVE-2021-3682
+Upstream-Status: Backport [5e796671e6b8d5de4b0b423dce1b3eba144a92c9]
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+---
+ hw/usb/redirect.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
+index 4ec9326e05..1ec909a63a 100644
+--- a/hw/usb/redirect.c
++++ b/hw/usb/redirect.c
+@@ -476,7 +476,7 @@ static int bufp_alloc(USBRedirDevice *dev, uint8_t *data, uint16_t len,
+ if (dev->endpoint[EP2I(ep)].bufpq_dropping_packets) {
+ if (dev->endpoint[EP2I(ep)].bufpq_size >
+ dev->endpoint[EP2I(ep)].bufpq_target_size) {
+- free(data);
++ free(free_on_destroy);
+ return -1;
+ }
+ dev->endpoint[EP2I(ep)].bufpq_dropping_packets = 0;
+--
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/rust/README-rust.md b/poky/meta/recipes-devtools/rust/README-rust.md
new file mode 100644
index 0000000000..b87637c3b0
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/README-rust.md
@@ -0,0 +1,58 @@
+## Introduction
+
+This provides the Rust compiler, tools for building packages (cargo), and
+a few example projects.
+
+## What works:
+
+ - Building `rust-native` and `cargo-native`
+ - Building Rust based projects with Cargo for the TARGET
+ - e.g. `rustfmt` which is used by the CI system
+ - `-buildsdk` and `-crosssdk` packages
+
+## What doesn't:
+
+ - Using anything but x86_64 or arm64 as the build environment
+ - rust (built for target) [issue #81](https://github.com/meta-rust/meta-rust/issues/81)
+
+## What's untested:
+
+ - cargo (built for target)
+
+## Building a rust package
+
+When building a rust package in bitbake, it's usually easiest to build with
+cargo using cargo.bbclass. If the package already has a Cargo.toml file (most
+rust packages do), then it's especially easy. Otherwise you should probably
+get the code building in cargo first.
+
+Once your package builds in cargo, you can use
+[cargo-bitbake](https://github.com/cardoe/cargo-bitbake) to generate a bitbake
+recipe for it. This allows bitbake to fetch all the necessary dependent
+crates, as well as a pegged version of the crates.io index, to ensure maximum
+reproducibility. Once the Rust SDK support is added to oe-core, cargo-bitbake
+may also be added to the SDK.
+
+NOTE: You will have to edit the generated recipe based on the comments
+contained within it
+
+## TODO
+
+## Pitfalls
+
+ - TARGET_SYS _must_ be different from BUILD_SYS. This is due to the way Rust configuration options are tracked for different targets. This is the reason we use the Yocto triples instead of the native Rust triples. See rust-lang/cargo#3349.
+
+## Dependencies
+
+On the host:
+ - Any `-sys` packages your project might need must have RDEPENDs for
+ the native library.
+
+On the target:
+ - Any `-sys` packages your project might need must have RDEPENDs for
+ the native library.
+
+## Copyright
+
+MIT OR Apache-2.0 - Same as rust
+
diff --git a/poky/meta/recipes-devtools/rust/files/riscv-march.patch b/poky/meta/recipes-devtools/rust/files/riscv-march.patch
new file mode 100644
index 0000000000..a10b3a4d93
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/files/riscv-march.patch
@@ -0,0 +1,73 @@
+Add suppor for riscv64 and riscv32 musl targets
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/vendor/cc/src/lib.rs
++++ b/vendor/cc/src/lib.rs
+@@ -2361,6 +2361,7 @@ impl Build {
+ "riscv-none-embed",
+ ]),
+ "riscv64gc-unknown-linux-gnu" => Some("riscv64-linux-gnu"),
++ "riscv64gc-unknown-linux-musl" => Some("riscv64-linux-musl"),
+ "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
+ "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
+ "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
+--- a/compiler/rustc_target/src/spec/mod.rs
++++ b/compiler/rustc_target/src/spec/mod.rs
+@@ -641,9 +641,11 @@ supported_targets! {
+ ("riscv32imc-unknown-none-elf", riscv32imc_unknown_none_elf),
+ ("riscv32imac-unknown-none-elf", riscv32imac_unknown_none_elf),
+ ("riscv32gc-unknown-linux-gnu", riscv32gc_unknown_linux_gnu),
++ ("riscv32gc-unknown-linux-musl", riscv32gc_unknown_linux_musl),
+ ("riscv64imac-unknown-none-elf", riscv64imac_unknown_none_elf),
+ ("riscv64gc-unknown-none-elf", riscv64gc_unknown_none_elf),
+ ("riscv64gc-unknown-linux-gnu", riscv64gc_unknown_linux_gnu),
++ ("riscv64gc-unknown-linux-musl", riscv64gc_unknown_linux_musl),
+
+ ("aarch64-unknown-none", aarch64_unknown_none),
+ ("aarch64-unknown-none-softfloat", aarch64_unknown_none_softfloat),
+--- /dev/null
++++ b/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_musl.rs
+@@ -0,0 +1,19 @@
++use crate::spec::{CodeModel, Target, TargetOptions};
++
++pub fn target() -> Target {
++ Target {
++ llvm_target: "riscv32-unknown-linux-musl".to_string(),
++ pointer_width: 32,
++ data_layout: "e-m:e-p:32:32-i64:64-n32-S128".to_string(),
++ arch: "riscv32".to_string(),
++ options: TargetOptions {
++ unsupported_abis: super::riscv_base::unsupported_abis(),
++ code_model: Some(CodeModel::Medium),
++ cpu: "generic-rv32".to_string(),
++ features: "+m,+a,+f,+d,+c".to_string(),
++ llvm_abiname: "ilp32d".to_string(),
++ max_atomic_width: Some(32),
++ ..super::linux_musl_base::opts()
++ },
++ }
++}
+--- /dev/null
++++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
+@@ -0,0 +1,19 @@
++use crate::spec::{CodeModel, Target, TargetOptions};
++
++pub fn target() -> Target {
++ Target {
++ llvm_target: "riscv64-unknown-linux-musl".to_string(),
++ pointer_width: 64,
++ data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".to_string(),
++ arch: "riscv64".to_string(),
++ options: TargetOptions {
++ unsupported_abis: super::riscv_base::unsupported_abis(),
++ code_model: Some(CodeModel::Medium),
++ cpu: "generic-rv64".to_string(),
++ features: "+m,+a,+f,+d,+c".to_string(),
++ llvm_abiname: "lp64d".to_string(),
++ max_atomic_width: Some(64),
++ ..super::linux_musl_base::opts()
++ },
++ }
++}
diff --git a/poky/meta/recipes-devtools/rust/files/rv64gc.patch b/poky/meta/recipes-devtools/rust/files/rv64gc.patch
new file mode 100644
index 0000000000..aab1e18453
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/files/rv64gc.patch
@@ -0,0 +1,37 @@
+--- a/vendor/cc-1.0.60/.cargo-checksum.json
++++ b/vendor/cc-1.0.60/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"Cargo.lock":"30b9e23f97015aea3eed3e17c6d76d565c2924efec8bdae64c899080847afe89","Cargo.toml":"f6f22b69df3df57c58373cdee72b22218ffa030bc375b36632660037dd72c866","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"51405d284d2e0620db62c655c652fc0ec84f20c1cb30529227355c9575a9e6dd","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"903c5f2f5dd0cc7d04f99f605a95e6abde8b38156fd4e73eefc58493f55a4e5a","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"52afe8554f577c87841c48ddee3ba7ffe70a00129e1d6eeb2ec0efb3d2b9aa11","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"16274867f23871e9b07614eda4c7344da13d1751fed63d4f633857e40be86394","tests/test.rs":"65c073e0e2cf4aa0433066102788e9f57442719e6f32f5ad5248aa7132bb4597"},"package":"ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"}
+\ No newline at end of file
++{"files":{"Cargo.lock":"30b9e23f97015aea3eed3e17c6d76d565c2924efec8bdae64c899080847afe89","Cargo.toml":"f6f22b69df3df57c58373cdee72b22218ffa030bc375b36632660037dd72c866","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"51405d284d2e0620db62c655c652fc0ec84f20c1cb30529227355c9575a9e6dd","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"2788af2bdf425f267b33bc524f3e627851b52422e38f480a7e39eb834264fd73","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"52afe8554f577c87841c48ddee3ba7ffe70a00129e1d6eeb2ec0efb3d2b9aa11","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"16274867f23871e9b07614eda4c7344da13d1751fed63d4f633857e40be86394","tests/test.rs":"65c073e0e2cf4aa0433066102788e9f57442719e6f32f5ad5248aa7132bb4597"},"package":"ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"}
+--- a/vendor/cc-1.0.60/src/lib.rs
++++ b/vendor/cc-1.0.60/src/lib.rs
+@@ -1639,14 +1639,17 @@ impl Build {
+ let mut parts = target.split('-');
+ if let Some(arch) = parts.next() {
+ let arch = &arch[5..];
+- cmd.args.push(("-march=rv".to_owned() + arch).into());
+ if target.contains("linux") && arch.starts_with("64") {
++ cmd.args.push(("-march=rv64gc").into());
+ cmd.args.push("-mabi=lp64d".into());
+ } else if target.contains("linux") && arch.starts_with("32") {
++ cmd.args.push(("-march=rv32gc").into());
+ cmd.args.push("-mabi=ilp32d".into());
+ } else if arch.starts_with("64") {
++ cmd.args.push(("-march=rv".to_owned() + arch).into());
+ cmd.args.push("-mabi=lp64".into());
+ } else {
++ cmd.args.push(("-march=rv".to_owned() + arch).into());
+ cmd.args.push("-mabi=ilp32".into());
+ }
+ cmd.args.push("-mcmodel=medany".into());
+@@ -2332,6 +2335,9 @@ impl Build {
+ "riscv-none-embed",
+ ]),
+ "riscv64gc-unknown-linux-gnu" => Some("riscv64-linux-gnu"),
++ "riscv32gc-unknown-linux-gnu" => Some("riscv32-linux-gnu"),
++ "riscv64gc-unknown-linux-musl" => Some("riscv64-linux-musl"),
++ "riscv32gc-unknown-linux-musl" => Some("riscv32-linux-musl"),
+ "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
+ "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
+ "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch b/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch
new file mode 100644
index 0000000000..7529c4ddd7
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch
@@ -0,0 +1,905 @@
+From 4e188d047dee33a19902113a3c90cdf1d8310a9e Mon Sep 17 00:00:00 2001
+From: Ralf Anton Beier <ralf_beier@me.com>
+Date: Sun, 8 Aug 2021 11:05:06 +0200
+Subject: [PATCH 5/8] Add base definitions for riscv64 + musl - libc-0.2.93
+
+https://github.com/rust-lang/libc/pull/1994/commits/030a07761f61f3293d53752e60edbd330a9d718d
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
+---
+ .../src/unix/linux_like/linux/musl/b64/mod.rs | 3 +
+ .../linux_like/linux/musl/b64/riscv64/mod.rs | 867 ++++++++++++++++++
+ 2 files changed, 870 insertions(+)
+ create mode 100644 vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+
+diff --git a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs
+index cfcdaaecf..7261b95d2 100644
+--- a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs
++++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs
+@@ -163,6 +163,9 @@ cfg_if! {
+ } else if #[cfg(any(target_arch = "x86_64"))] {
+ mod x86_64;
+ pub use self::x86_64::*;
++ } else if #[cfg(any(target_arch = "riscv64"))] {
++ mod riscv64;
++ pub use self::riscv64::*;
+ } else {
+ // Unknown target_arch
+ }
+diff --git a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+new file mode 100644
+index 000000000..14bae11d0
+--- /dev/null
++++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+@@ -0,0 +1,867 @@
++//! RISC-V-specific definitions for 64-bit linux-like values
++
++pub type c_char = u8;
++pub type c_long = i64;
++pub type c_ulong = u64;
++pub type wchar_t = ::c_int;
++
++pub type nlink_t = ::c_uint;
++pub type blksize_t = ::c_int;
++pub type fsblkcnt64_t = ::c_ulong;
++pub type fsfilcnt64_t = ::c_ulong;
++pub type suseconds_t = i64;
++pub type __u64 = ::c_ulonglong;
++
++s! {
++ pub struct pthread_attr_t {
++ __size: [::c_ulong; 7],
++ }
++
++ pub struct stat {
++ pub st_dev: ::dev_t,
++ pub st_ino: ::ino_t,
++ pub st_mode: ::mode_t,
++ pub st_nlink: ::nlink_t,
++ pub st_uid: ::uid_t,
++ pub st_gid: ::gid_t,
++ pub st_rdev: ::dev_t,
++ pub __pad1: ::dev_t,
++ pub st_size: ::off_t,
++ pub st_blksize: ::blksize_t,
++ pub __pad2: ::c_int,
++ pub st_blocks: ::blkcnt_t,
++ pub st_atime: ::time_t,
++ pub st_atime_nsec: ::c_long,
++ pub st_mtime: ::time_t,
++ pub st_mtime_nsec: ::c_long,
++ pub st_ctime: ::time_t,
++ pub st_ctime_nsec: ::c_long,
++ __unused: [::c_int; 2usize],
++ }
++
++ pub struct stat64 {
++ pub st_dev: ::dev_t,
++ pub st_ino: ::ino64_t,
++ pub st_mode: ::mode_t,
++ pub st_nlink: ::nlink_t,
++ pub st_uid: ::uid_t,
++ pub st_gid: ::gid_t,
++ pub st_rdev: ::dev_t,
++ pub __pad1: ::dev_t,
++ pub st_size: ::off64_t,
++ pub st_blksize: ::blksize_t,
++ pub __pad2: ::c_int,
++ pub st_blocks: ::blkcnt_t,
++ pub st_atime: ::time_t,
++ pub st_atime_nsec: ::c_long,
++ pub st_mtime: ::time_t,
++ pub st_mtime_nsec: ::c_long,
++ pub st_ctime: ::time_t,
++ pub st_ctime_nsec: ::c_long,
++ __unused: [::c_int; 2],
++ }
++
++ pub struct statfs {
++ pub f_type: ::c_long,
++ pub f_bsize: ::c_long,
++ pub f_blocks: ::fsblkcnt_t,
++ pub f_bfree: ::fsblkcnt_t,
++ pub f_bavail: ::fsblkcnt_t,
++ pub f_files: ::fsfilcnt_t,
++ pub f_ffree: ::fsfilcnt_t,
++ pub f_fsid: ::fsid_t,
++ pub f_namelen: ::c_long,
++ pub f_frsize: ::c_long,
++ pub f_flags: ::c_long,
++ pub f_spare: [::c_long; 4],
++ }
++
++ pub struct statfs64 {
++ pub f_type: ::c_long,
++ pub f_bsize: ::c_long,
++ pub f_blocks: ::fsblkcnt64_t,
++ pub f_bfree: ::fsblkcnt64_t,
++ pub f_bavail: ::fsblkcnt64_t,
++ pub f_files: ::fsfilcnt64_t,
++ pub f_ffree: ::fsfilcnt64_t,
++ pub f_fsid: ::fsid_t,
++ pub f_namelen: ::c_long,
++ pub f_frsize: ::c_long,
++ pub f_flags: ::c_long,
++ pub f_spare: [::c_long; 4],
++ }
++
++ pub struct statvfs {
++ pub f_bsize: ::c_ulong,
++ pub f_frsize: ::c_ulong,
++ pub f_blocks: ::fsblkcnt_t,
++ pub f_bfree: ::fsblkcnt_t,
++ pub f_bavail: ::fsblkcnt_t,
++ pub f_files: ::fsfilcnt_t,
++ pub f_ffree: ::fsfilcnt_t,
++ pub f_favail: ::fsfilcnt_t,
++ pub f_fsid: ::c_ulong,
++ pub f_flag: ::c_ulong,
++ pub f_namemax: ::c_ulong,
++ pub __f_spare: [::c_int; 6],
++ }
++
++ pub struct statvfs64 {
++ pub f_bsize: ::c_ulong,
++ pub f_frsize: ::c_ulong,
++ pub f_blocks: ::fsblkcnt64_t,
++ pub f_bfree: ::fsblkcnt64_t,
++ pub f_bavail: ::fsblkcnt64_t,
++ pub f_files: ::fsfilcnt64_t,
++ pub f_ffree: ::fsfilcnt64_t,
++ pub f_favail: ::fsfilcnt64_t,
++ pub f_fsid: ::c_ulong,
++ pub f_flag: ::c_ulong,
++ pub f_namemax: ::c_ulong,
++ pub __f_spare: [::c_int; 6],
++ }
++
++ pub struct siginfo_t {
++ pub si_signo: ::c_int,
++ pub si_errno: ::c_int,
++ pub si_code: ::c_int,
++ #[doc(hidden)]
++ #[deprecated(
++ since="0.2.54",
++ note="Please leave a comment on \
++ https://github.com/rust-lang/libc/pull/1316 if you're using \
++ this field"
++ )]
++ pub _pad: [::c_int; 29],
++ _align: [u64; 0],
++ }
++
++ pub struct stack_t {
++ pub ss_sp: *mut ::c_void,
++ pub ss_flags: ::c_int,
++ pub ss_size: ::size_t,
++ }
++
++ pub struct sigaction {
++ pub sa_sigaction: ::sighandler_t,
++ pub sa_mask: ::sigset_t,
++ pub sa_flags: ::c_int,
++ pub sa_restorer: ::Option<unsafe extern "C" fn()>,
++ }
++
++ pub struct ipc_perm {
++ pub __key: ::key_t,
++ pub uid: ::uid_t,
++ pub gid: ::gid_t,
++ pub cuid: ::uid_t,
++ pub cgid: ::gid_t,
++ pub mode: ::c_ushort,
++ __pad1: ::c_ushort,
++ pub __seq: ::c_ushort,
++ __pad2: ::c_ushort,
++ __unused1: ::c_ulong,
++ __unused2: ::c_ulong,
++ }
++
++ pub struct shmid_ds {
++ pub shm_perm: ::ipc_perm,
++ pub shm_segsz: ::size_t,
++ pub shm_atime: ::time_t,
++ pub shm_dtime: ::time_t,
++ pub shm_ctime: ::time_t,
++ pub shm_cpid: ::pid_t,
++ pub shm_lpid: ::pid_t,
++ pub shm_nattch: ::shmatt_t,
++ __unused5: ::c_ulong,
++ __unused6: ::c_ulong,
++ }
++
++ pub struct flock {
++ pub l_type: ::c_short,
++ pub l_whence: ::c_short,
++ pub l_start: ::off_t,
++ pub l_len: ::off_t,
++ pub l_pid: ::pid_t,
++ }
++
++ pub struct flock64 {
++ pub l_type: ::c_short,
++ pub l_whence: ::c_short,
++ pub l_start: ::off64_t,
++ pub l_len: ::off64_t,
++ pub l_pid: ::pid_t,
++ }
++
++ pub struct ip_mreqn {
++ pub imr_multiaddr: ::in_addr,
++ pub imr_address: ::in_addr,
++ pub imr_ifindex: ::c_int,
++ }
++}
++
++pub const POSIX_FADV_DONTNEED: ::c_int = 4;
++pub const POSIX_FADV_NOREUSE: ::c_int = 5;
++pub const VEOF: usize = 4;
++pub const RTLD_DEEPBIND: ::c_int = 0x8;
++pub const RTLD_GLOBAL: ::c_int = 0x100;
++pub const RTLD_NOLOAD: ::c_int = 0x4;
++pub const TIOCGSOFTCAR: ::c_ulong = 21529;
++pub const TIOCSSOFTCAR: ::c_ulong = 21530;
++pub const TIOCGRS485: ::c_int = 21550;
++pub const TIOCSRS485: ::c_int = 21551;
++pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
++pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
++pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
++pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
++pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
++pub const O_APPEND: ::c_int = 1024;
++pub const O_CREAT: ::c_int = 64;
++pub const O_EXCL: ::c_int = 128;
++pub const O_NOCTTY: ::c_int = 256;
++pub const O_NONBLOCK: ::c_int = 2048;
++pub const O_SYNC: ::c_int = 1052672;
++pub const O_RSYNC: ::c_int = 1052672;
++pub const O_DSYNC: ::c_int = 4096;
++pub const O_FSYNC: ::c_int = 1052672;
++pub const O_NOATIME: ::c_int = 262144;
++pub const O_PATH: ::c_int = 2097152;
++pub const O_TMPFILE: ::c_int = 4259840;
++pub const MAP_GROWSDOWN: ::c_int = 256;
++pub const EDEADLK: ::c_int = 35;
++pub const ENAMETOOLONG: ::c_int = 36;
++pub const ENOLCK: ::c_int = 37;
++pub const ENOSYS: ::c_int = 38;
++pub const ENOTEMPTY: ::c_int = 39;
++pub const ELOOP: ::c_int = 40;
++pub const ENOMSG: ::c_int = 42;
++pub const EIDRM: ::c_int = 43;
++pub const ECHRNG: ::c_int = 44;
++pub const EL2NSYNC: ::c_int = 45;
++pub const EL3HLT: ::c_int = 46;
++pub const EL3RST: ::c_int = 47;
++pub const ELNRNG: ::c_int = 48;
++pub const EUNATCH: ::c_int = 49;
++pub const ENOCSI: ::c_int = 50;
++pub const EL2HLT: ::c_int = 51;
++pub const EBADE: ::c_int = 52;
++pub const EBADR: ::c_int = 53;
++pub const EXFULL: ::c_int = 54;
++pub const ENOANO: ::c_int = 55;
++pub const EBADRQC: ::c_int = 56;
++pub const EBADSLT: ::c_int = 57;
++pub const EMULTIHOP: ::c_int = 72;
++pub const EOVERFLOW: ::c_int = 75;
++pub const ENOTUNIQ: ::c_int = 76;
++pub const EBADFD: ::c_int = 77;
++pub const EBADMSG: ::c_int = 74;
++pub const EREMCHG: ::c_int = 78;
++pub const ELIBACC: ::c_int = 79;
++pub const ELIBBAD: ::c_int = 80;
++pub const ELIBSCN: ::c_int = 81;
++pub const ELIBMAX: ::c_int = 82;
++pub const ELIBEXEC: ::c_int = 83;
++pub const EILSEQ: ::c_int = 84;
++pub const ERESTART: ::c_int = 85;
++pub const ESTRPIPE: ::c_int = 86;
++pub const EUSERS: ::c_int = 87;
++pub const ENOTSOCK: ::c_int = 88;
++pub const EDESTADDRREQ: ::c_int = 89;
++pub const EMSGSIZE: ::c_int = 90;
++pub const EPROTOTYPE: ::c_int = 91;
++pub const ENOPROTOOPT: ::c_int = 92;
++pub const EPROTONOSUPPORT: ::c_int = 93;
++pub const ESOCKTNOSUPPORT: ::c_int = 94;
++pub const EOPNOTSUPP: ::c_int = 95;
++pub const EPFNOSUPPORT: ::c_int = 96;
++pub const EAFNOSUPPORT: ::c_int = 97;
++pub const EADDRINUSE: ::c_int = 98;
++pub const EADDRNOTAVAIL: ::c_int = 99;
++pub const ENETDOWN: ::c_int = 100;
++pub const ENETUNREACH: ::c_int = 101;
++pub const ENETRESET: ::c_int = 102;
++pub const ECONNABORTED: ::c_int = 103;
++pub const ECONNRESET: ::c_int = 104;
++pub const ENOBUFS: ::c_int = 105;
++pub const EISCONN: ::c_int = 106;
++pub const ENOTCONN: ::c_int = 107;
++pub const ESHUTDOWN: ::c_int = 108;
++pub const ETOOMANYREFS: ::c_int = 109;
++pub const ETIMEDOUT: ::c_int = 110;
++pub const ECONNREFUSED: ::c_int = 111;
++pub const EHOSTDOWN: ::c_int = 112;
++pub const EHOSTUNREACH: ::c_int = 113;
++pub const EALREADY: ::c_int = 114;
++pub const EINPROGRESS: ::c_int = 115;
++pub const ESTALE: ::c_int = 116;
++pub const EDQUOT: ::c_int = 122;
++pub const ENOMEDIUM: ::c_int = 123;
++pub const EMEDIUMTYPE: ::c_int = 124;
++pub const ECANCELED: ::c_int = 125;
++pub const ENOKEY: ::c_int = 126;
++pub const EKEYEXPIRED: ::c_int = 127;
++pub const EKEYREVOKED: ::c_int = 128;
++pub const EKEYREJECTED: ::c_int = 129;
++pub const EOWNERDEAD: ::c_int = 130;
++pub const ENOTRECOVERABLE: ::c_int = 131;
++pub const EHWPOISON: ::c_int = 133;
++pub const ERFKILL: ::c_int = 132;
++pub const SOL_SOCKET: ::c_int = 1;
++pub const SO_REUSEADDR: ::c_int = 2;
++pub const SO_TYPE: ::c_int = 3;
++pub const SO_ERROR: ::c_int = 4;
++pub const SO_DONTROUTE: ::c_int = 5;
++pub const SO_BROADCAST: ::c_int = 6;
++pub const SO_SNDBUF: ::c_int = 7;
++pub const SO_RCVBUF: ::c_int = 8;
++pub const SO_SNDBUFFORCE: ::c_int = 32;
++pub const SO_RCVBUFFORCE: ::c_int = 33;
++pub const SO_KEEPALIVE: ::c_int = 9;
++pub const SO_OOBINLINE: ::c_int = 10;
++pub const SO_NO_CHECK: ::c_int = 11;
++pub const SO_PRIORITY: ::c_int = 12;
++pub const SO_LINGER: ::c_int = 13;
++pub const SO_BSDCOMPAT: ::c_int = 14;
++pub const SO_REUSEPORT: ::c_int = 15;
++pub const SO_PASSCRED: ::c_int = 16;
++pub const SO_PEERCRED: ::c_int = 17;
++pub const SO_RCVLOWAT: ::c_int = 18;
++pub const SO_SNDLOWAT: ::c_int = 19;
++pub const SO_RCVTIMEO: ::c_int = 20;
++pub const SO_SNDTIMEO: ::c_int = 21;
++pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
++pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
++pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
++pub const SO_BINDTODEVICE: ::c_int = 25;
++pub const SO_ATTACH_FILTER: ::c_int = 26;
++pub const SO_DETACH_FILTER: ::c_int = 27;
++pub const SO_GET_FILTER: ::c_int = 26;
++pub const SO_PEERNAME: ::c_int = 28;
++pub const SO_TIMESTAMP: ::c_int = 29;
++pub const SO_ACCEPTCONN: ::c_int = 30;
++pub const SO_PEERSEC: ::c_int = 31;
++pub const SO_PASSSEC: ::c_int = 34;
++pub const SO_TIMESTAMPNS: ::c_int = 35;
++pub const SCM_TIMESTAMPNS: ::c_int = 35;
++pub const SO_MARK: ::c_int = 36;
++pub const SO_PROTOCOL: ::c_int = 38;
++pub const SO_DOMAIN: ::c_int = 39;
++pub const SO_RXQ_OVFL: ::c_int = 40;
++pub const SO_WIFI_STATUS: ::c_int = 41;
++pub const SCM_WIFI_STATUS: ::c_int = 41;
++pub const SO_PEEK_OFF: ::c_int = 42;
++pub const SO_NOFCS: ::c_int = 43;
++pub const SO_LOCK_FILTER: ::c_int = 44;
++pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
++pub const SO_BUSY_POLL: ::c_int = 46;
++pub const SO_MAX_PACING_RATE: ::c_int = 47;
++pub const SO_BPF_EXTENSIONS: ::c_int = 48;
++pub const SO_INCOMING_CPU: ::c_int = 49;
++pub const SO_ATTACH_BPF: ::c_int = 50;
++pub const SO_DETACH_BPF: ::c_int = 27;
++pub const SOCK_STREAM: ::c_int = 1;
++pub const SOCK_DGRAM: ::c_int = 2;
++pub const SA_ONSTACK: ::c_int = 134217728;
++pub const SA_SIGINFO: ::c_int = 4;
++pub const SA_NOCLDWAIT: ::c_int = 2;
++pub const SIGTTIN: ::c_int = 21;
++pub const SIGTTOU: ::c_int = 22;
++pub const SIGXCPU: ::c_int = 24;
++pub const SIGXFSZ: ::c_int = 25;
++pub const SIGVTALRM: ::c_int = 26;
++pub const SIGPROF: ::c_int = 27;
++pub const SIGWINCH: ::c_int = 28;
++pub const SIGCHLD: ::c_int = 17;
++pub const SIGBUS: ::c_int = 7;
++pub const SIGUSR1: ::c_int = 10;
++pub const SIGUSR2: ::c_int = 12;
++pub const SIGCONT: ::c_int = 18;
++pub const SIGSTOP: ::c_int = 19;
++pub const SIGTSTP: ::c_int = 20;
++pub const SIGURG: ::c_int = 23;
++pub const SIGIO: ::c_int = 29;
++pub const SIGSYS: ::c_int = 31;
++pub const SIGSTKFLT: ::c_int = 16;
++pub const SIGPOLL: ::c_int = 29;
++pub const SIGPWR: ::c_int = 30;
++pub const SIG_SETMASK: ::c_int = 2;
++pub const SIG_BLOCK: ::c_int = 0;
++pub const SIG_UNBLOCK: ::c_int = 1;
++pub const POLLWRNORM: ::c_short = 256;
++pub const POLLWRBAND: ::c_short = 512;
++pub const O_ASYNC: ::c_int = 8192;
++pub const O_NDELAY: ::c_int = 2048;
++pub const PTRACE_DETACH: ::c_uint = 17;
++pub const EFD_NONBLOCK: ::c_int = 2048;
++pub const F_GETLK: ::c_int = 5;
++pub const F_GETOWN: ::c_int = 9;
++pub const F_SETOWN: ::c_int = 8;
++pub const F_SETLK: ::c_int = 6;
++pub const F_SETLKW: ::c_int = 7;
++pub const F_RDLCK: ::c_int = 0;
++pub const F_WRLCK: ::c_int = 1;
++pub const F_UNLCK: ::c_int = 2;
++pub const F_OFD_GETLK: ::c_int = 36;
++pub const F_OFD_SETLK: ::c_int = 37;
++pub const F_OFD_SETLKW: ::c_int = 38;
++pub const SFD_NONBLOCK: ::c_int = 2048;
++pub const TCSANOW: ::c_int = 0;
++pub const TCSADRAIN: ::c_int = 1;
++pub const TCSAFLUSH: ::c_int = 2;
++pub const TIOCLINUX: ::c_ulong = 21532;
++pub const TIOCGSERIAL: ::c_ulong = 21534;
++pub const TIOCEXCL: ::c_ulong = 21516;
++pub const TIOCNXCL: ::c_ulong = 21517;
++pub const TIOCSCTTY: ::c_ulong = 21518;
++pub const TIOCSTI: ::c_ulong = 21522;
++pub const TIOCMGET: ::c_ulong = 21525;
++pub const TIOCMBIS: ::c_ulong = 21526;
++pub const TIOCMBIC: ::c_ulong = 21527;
++pub const TIOCMSET: ::c_ulong = 21528;
++pub const TIOCCONS: ::c_ulong = 21533;
++pub const TIOCM_ST: ::c_int = 8;
++pub const TIOCM_SR: ::c_int = 16;
++pub const TIOCM_CTS: ::c_int = 32;
++pub const TIOCM_CAR: ::c_int = 64;
++pub const TIOCM_RNG: ::c_int = 128;
++pub const TIOCM_DSR: ::c_int = 256;
++pub const SFD_CLOEXEC: ::c_int = 524288;
++pub const NCCS: usize = 32;
++pub const O_TRUNC: ::c_int = 512;
++pub const O_CLOEXEC: ::c_int = 524288;
++pub const EBFONT: ::c_int = 59;
++pub const ENOSTR: ::c_int = 60;
++pub const ENODATA: ::c_int = 61;
++pub const ETIME: ::c_int = 62;
++pub const ENOSR: ::c_int = 63;
++pub const ENONET: ::c_int = 64;
++pub const ENOPKG: ::c_int = 65;
++pub const EREMOTE: ::c_int = 66;
++pub const ENOLINK: ::c_int = 67;
++pub const EADV: ::c_int = 68;
++pub const ESRMNT: ::c_int = 69;
++pub const ECOMM: ::c_int = 70;
++pub const EPROTO: ::c_int = 71;
++pub const EDOTDOT: ::c_int = 73;
++pub const SA_NODEFER: ::c_int = 1073741824;
++pub const SA_RESETHAND: ::c_int = -2147483648;
++pub const SA_RESTART: ::c_int = 268435456;
++pub const SA_NOCLDSTOP: ::c_int = 1;
++pub const EPOLL_CLOEXEC: ::c_int = 524288;
++pub const EFD_CLOEXEC: ::c_int = 524288;
++pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
++pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
++pub const O_DIRECT: ::c_int = 16384;
++pub const O_DIRECTORY: ::c_int = 65536;
++pub const O_NOFOLLOW: ::c_int = 131072;
++pub const MAP_HUGETLB: ::c_int = 262144;
++pub const MAP_LOCKED: ::c_int = 8192;
++pub const MAP_NORESERVE: ::c_int = 16384;
++pub const MAP_ANON: ::c_int = 32;
++pub const MAP_ANONYMOUS: ::c_int = 32;
++pub const MAP_DENYWRITE: ::c_int = 2048;
++pub const MAP_EXECUTABLE: ::c_int = 4096;
++pub const MAP_POPULATE: ::c_int = 32768;
++pub const MAP_NONBLOCK: ::c_int = 65536;
++pub const MAP_STACK: ::c_int = 131072;
++pub const MAP_SYNC : ::c_int = 0x080000;
++pub const EDEADLOCK: ::c_int = 35;
++pub const EUCLEAN: ::c_int = 117;
++pub const ENOTNAM: ::c_int = 118;
++pub const ENAVAIL: ::c_int = 119;
++pub const EISNAM: ::c_int = 120;
++pub const EREMOTEIO: ::c_int = 121;
++pub const FIOCLEX: ::c_ulong = 21585;
++pub const FIONCLEX: ::c_ulong = 21584;
++pub const FIONBIO: ::c_ulong = 21537;
++pub const MCL_CURRENT: ::c_int = 1;
++pub const MCL_FUTURE: ::c_int = 2;
++pub const SIGSTKSZ: ::size_t = 8192;
++pub const MINSIGSTKSZ: ::size_t = 2048;
++pub const CBAUD: ::tcflag_t = 4111;
++pub const TAB1: ::tcflag_t = 2048;
++pub const TAB2: ::tcflag_t = 4096;
++pub const TAB3: ::tcflag_t = 6144;
++pub const CR1: ::tcflag_t = 512;
++pub const CR2: ::tcflag_t = 1024;
++pub const CR3: ::tcflag_t = 1536;
++pub const FF1: ::tcflag_t = 32768;
++pub const BS1: ::tcflag_t = 8192;
++pub const VT1: ::tcflag_t = 16384;
++pub const VWERASE: usize = 14;
++pub const VREPRINT: usize = 12;
++pub const VSUSP: usize = 10;
++pub const VSTART: usize = 8;
++pub const VSTOP: usize = 9;
++pub const VDISCARD: usize = 13;
++pub const VTIME: usize = 5;
++pub const IXON: ::tcflag_t = 1024;
++pub const IXOFF: ::tcflag_t = 4096;
++pub const ONLCR: ::tcflag_t = 4;
++pub const CSIZE: ::tcflag_t = 48;
++pub const CS6: ::tcflag_t = 16;
++pub const CS7: ::tcflag_t = 32;
++pub const CS8: ::tcflag_t = 48;
++pub const CSTOPB: ::tcflag_t = 64;
++pub const CREAD: ::tcflag_t = 128;
++pub const PARENB: ::tcflag_t = 256;
++pub const PARODD: ::tcflag_t = 512;
++pub const HUPCL: ::tcflag_t = 1024;
++pub const CLOCAL: ::tcflag_t = 2048;
++pub const ECHOKE: ::tcflag_t = 2048;
++pub const ECHOE: ::tcflag_t = 16;
++pub const ECHOK: ::tcflag_t = 32;
++pub const ECHONL: ::tcflag_t = 64;
++pub const ECHOPRT: ::tcflag_t = 1024;
++pub const ECHOCTL: ::tcflag_t = 512;
++pub const ISIG: ::tcflag_t = 1;
++pub const ICANON: ::tcflag_t = 2;
++pub const PENDIN: ::tcflag_t = 16384;
++pub const NOFLSH: ::tcflag_t = 128;
++pub const CIBAUD: ::tcflag_t = 269418496;
++pub const CBAUDEX: ::tcflag_t = 4096;
++pub const VSWTC: usize = 7;
++pub const OLCUC: ::tcflag_t = 2;
++pub const NLDLY: ::tcflag_t = 256;
++pub const CRDLY: ::tcflag_t = 1536;
++pub const TABDLY: ::tcflag_t = 6144;
++pub const BSDLY: ::tcflag_t = 8192;
++pub const FFDLY: ::tcflag_t = 32768;
++pub const VTDLY: ::tcflag_t = 16384;
++pub const XTABS: ::tcflag_t = 6144;
++pub const B0: ::speed_t = 0;
++pub const B50: ::speed_t = 1;
++pub const B75: ::speed_t = 2;
++pub const B110: ::speed_t = 3;
++pub const B134: ::speed_t = 4;
++pub const B150: ::speed_t = 5;
++pub const B200: ::speed_t = 6;
++pub const B300: ::speed_t = 7;
++pub const B600: ::speed_t = 8;
++pub const B1200: ::speed_t = 9;
++pub const B1800: ::speed_t = 10;
++pub const B2400: ::speed_t = 11;
++pub const B4800: ::speed_t = 12;
++pub const B9600: ::speed_t = 13;
++pub const B19200: ::speed_t = 14;
++pub const B38400: ::speed_t = 15;
++pub const EXTA: ::speed_t = 14;
++pub const EXTB: ::speed_t = 15;
++pub const B57600: ::speed_t = 4097;
++pub const B115200: ::speed_t = 4098;
++pub const B230400: ::speed_t = 4099;
++pub const B460800: ::speed_t = 4100;
++pub const B500000: ::speed_t = 4101;
++pub const B576000: ::speed_t = 4102;
++pub const B921600: ::speed_t = 4103;
++pub const B1000000: ::speed_t = 4104;
++pub const B1152000: ::speed_t = 4105;
++pub const B1500000: ::speed_t = 4106;
++pub const B2000000: ::speed_t = 4107;
++pub const B2500000: ::speed_t = 4108;
++pub const B3000000: ::speed_t = 4109;
++pub const B3500000: ::speed_t = 4110;
++pub const B4000000: ::speed_t = 4111;
++pub const VEOL: usize = 11;
++pub const VEOL2: usize = 16;
++pub const VMIN: usize = 6;
++pub const IEXTEN: ::tcflag_t = 32768;
++pub const TOSTOP: ::tcflag_t = 256;
++pub const FLUSHO: ::tcflag_t = 4096;
++pub const EXTPROC: ::tcflag_t = 65536;
++pub const TCGETS: ::c_ulong = 21505;
++pub const TCSETS: ::c_ulong = 21506;
++pub const TCSETSW: ::c_ulong = 21507;
++pub const TCSETSF: ::c_ulong = 21508;
++pub const TCGETA: ::c_ulong = 21509;
++pub const TCSETA: ::c_ulong = 21510;
++pub const TCSETAW: ::c_ulong = 21511;
++pub const TCSETAF: ::c_ulong = 21512;
++pub const TCSBRK: ::c_ulong = 21513;
++pub const TCXONC: ::c_ulong = 21514;
++pub const TCFLSH: ::c_ulong = 21515;
++pub const TIOCINQ: ::c_ulong = 21531;
++pub const TIOCGPGRP: ::c_ulong = 21519;
++pub const TIOCSPGRP: ::c_ulong = 21520;
++pub const TIOCOUTQ: ::c_ulong = 21521;
++pub const TIOCGWINSZ: ::c_ulong = 21523;
++pub const TIOCSWINSZ: ::c_ulong = 21524;
++pub const FIONREAD: ::c_ulong = 21531;
++pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
++pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
++pub const SYS_read: ::c_long = 63;
++pub const SYS_write: ::c_long = 64;
++pub const SYS_close: ::c_long = 57;
++pub const SYS_fstat: ::c_long = 80;
++pub const SYS_lseek: ::c_long = 62;
++pub const SYS_mmap: ::c_long = 222;
++pub const SYS_mprotect: ::c_long = 226;
++pub const SYS_munmap: ::c_long = 215;
++pub const SYS_brk: ::c_long = 214;
++pub const SYS_rt_sigaction: ::c_long = 134;
++pub const SYS_rt_sigprocmask: ::c_long = 135;
++pub const SYS_rt_sigreturn: ::c_long = 139;
++pub const SYS_ioctl: ::c_long = 29;
++pub const SYS_pread64: ::c_long = 67;
++pub const SYS_pwrite64: ::c_long = 68;
++pub const SYS_readv: ::c_long = 65;
++pub const SYS_writev: ::c_long = 66;
++pub const SYS_sched_yield: ::c_long = 124;
++pub const SYS_mremap: ::c_long = 216;
++pub const SYS_msync: ::c_long = 227;
++pub const SYS_mincore: ::c_long = 232;
++pub const SYS_madvise: ::c_long = 233;
++pub const SYS_shmget: ::c_long = 194;
++pub const SYS_shmat: ::c_long = 196;
++pub const SYS_shmctl: ::c_long = 195;
++pub const SYS_dup: ::c_long = 23;
++pub const SYS_nanosleep: ::c_long = 101;
++pub const SYS_getitimer: ::c_long = 102;
++pub const SYS_setitimer: ::c_long = 103;
++pub const SYS_getpid: ::c_long = 172;
++pub const SYS_sendfile: ::c_long = 71;
++pub const SYS_socket: ::c_long = 198;
++pub const SYS_connect: ::c_long = 203;
++pub const SYS_accept: ::c_long = 202;
++pub const SYS_sendto: ::c_long = 206;
++pub const SYS_recvfrom: ::c_long = 207;
++pub const SYS_sendmsg: ::c_long = 211;
++pub const SYS_recvmsg: ::c_long = 212;
++pub const SYS_shutdown: ::c_long = 210;
++pub const SYS_bind: ::c_long = 200;
++pub const SYS_listen: ::c_long = 201;
++pub const SYS_getsockname: ::c_long = 204;
++pub const SYS_getpeername: ::c_long = 205;
++pub const SYS_socketpair: ::c_long = 199;
++pub const SYS_setsockopt: ::c_long = 208;
++pub const SYS_getsockopt: ::c_long = 209;
++pub const SYS_clone: ::c_long = 220;
++pub const SYS_execve: ::c_long = 221;
++pub const SYS_exit: ::c_long = 93;
++pub const SYS_wait4: ::c_long = 260;
++pub const SYS_kill: ::c_long = 129;
++pub const SYS_uname: ::c_long = 160;
++pub const SYS_semget: ::c_long = 190;
++pub const SYS_semop: ::c_long = 193;
++pub const SYS_semctl: ::c_long = 191;
++pub const SYS_shmdt: ::c_long = 197;
++pub const SYS_msgget: ::c_long = 186;
++pub const SYS_msgsnd: ::c_long = 189;
++pub const SYS_msgrcv: ::c_long = 188;
++pub const SYS_msgctl: ::c_long = 187;
++pub const SYS_fcntl: ::c_long = 25;
++pub const SYS_flock: ::c_long = 32;
++pub const SYS_fsync: ::c_long = 82;
++pub const SYS_fdatasync: ::c_long = 83;
++pub const SYS_truncate: ::c_long = 45;
++pub const SYS_ftruncate: ::c_long = 46;
++pub const SYS_getcwd: ::c_long = 17;
++pub const SYS_chdir: ::c_long = 49;
++pub const SYS_fchdir: ::c_long = 50;
++pub const SYS_fchmod: ::c_long = 52;
++pub const SYS_fchown: ::c_long = 55;
++pub const SYS_umask: ::c_long = 166;
++pub const SYS_gettimeofday: ::c_long = 169;
++pub const SYS_getrlimit: ::c_long = 163;
++pub const SYS_getrusage: ::c_long = 165;
++pub const SYS_sysinfo: ::c_long = 179;
++pub const SYS_times: ::c_long = 153;
++pub const SYS_ptrace: ::c_long = 117;
++pub const SYS_getuid: ::c_long = 174;
++pub const SYS_syslog: ::c_long = 116;
++pub const SYS_getgid: ::c_long = 176;
++pub const SYS_setuid: ::c_long = 146;
++pub const SYS_setgid: ::c_long = 144;
++pub const SYS_geteuid: ::c_long = 175;
++pub const SYS_getegid: ::c_long = 177;
++pub const SYS_setpgid: ::c_long = 154;
++pub const SYS_getppid: ::c_long = 173;
++pub const SYS_setsid: ::c_long = 157;
++pub const SYS_setreuid: ::c_long = 145;
++pub const SYS_setregid: ::c_long = 143;
++pub const SYS_getgroups: ::c_long = 158;
++pub const SYS_setgroups: ::c_long = 159;
++pub const SYS_setresuid: ::c_long = 147;
++pub const SYS_getresuid: ::c_long = 148;
++pub const SYS_setresgid: ::c_long = 149;
++pub const SYS_getresgid: ::c_long = 150;
++pub const SYS_getpgid: ::c_long = 155;
++pub const SYS_setfsuid: ::c_long = 151;
++pub const SYS_setfsgid: ::c_long = 152;
++pub const SYS_getsid: ::c_long = 156;
++pub const SYS_capget: ::c_long = 90;
++pub const SYS_capset: ::c_long = 91;
++pub const SYS_rt_sigpending: ::c_long = 136;
++pub const SYS_rt_sigtimedwait: ::c_long = 137;
++pub const SYS_rt_sigqueueinfo: ::c_long = 138;
++pub const SYS_rt_sigsuspend: ::c_long = 133;
++pub const SYS_sigaltstack: ::c_long = 132;
++pub const SYS_personality: ::c_long = 92;
++pub const SYS_statfs: ::c_long = 43;
++pub const SYS_fstatfs: ::c_long = 44;
++pub const SYS_getpriority: ::c_long = 141;
++pub const SYS_setpriority: ::c_long = 140;
++pub const SYS_sched_setparam: ::c_long = 118;
++pub const SYS_sched_getparam: ::c_long = 121;
++pub const SYS_sched_setscheduler: ::c_long = 119;
++pub const SYS_sched_getscheduler: ::c_long = 120;
++pub const SYS_sched_get_priority_max: ::c_long = 125;
++pub const SYS_sched_get_priority_min: ::c_long = 126;
++pub const SYS_sched_rr_get_interval: ::c_long = 127;
++pub const SYS_mlock: ::c_long = 228;
++pub const SYS_munlock: ::c_long = 229;
++pub const SYS_mlockall: ::c_long = 230;
++pub const SYS_munlockall: ::c_long = 231;
++pub const SYS_vhangup: ::c_long = 58;
++pub const SYS_pivot_root: ::c_long = 41;
++pub const SYS_prctl: ::c_long = 167;
++pub const SYS_adjtimex: ::c_long = 171;
++pub const SYS_setrlimit: ::c_long = 164;
++pub const SYS_chroot: ::c_long = 51;
++pub const SYS_sync: ::c_long = 81;
++pub const SYS_acct: ::c_long = 89;
++pub const SYS_settimeofday: ::c_long = 170;
++pub const SYS_mount: ::c_long = 40;
++pub const SYS_umount2: ::c_long = 39;
++pub const SYS_swapon: ::c_long = 224;
++pub const SYS_swapoff: ::c_long = 225;
++pub const SYS_reboot: ::c_long = 142;
++pub const SYS_sethostname: ::c_long = 161;
++pub const SYS_setdomainname: ::c_long = 162;
++pub const SYS_init_module: ::c_long = 105;
++pub const SYS_delete_module: ::c_long = 106;
++pub const SYS_quotactl: ::c_long = 60;
++pub const SYS_nfsservctl: ::c_long = 42;
++pub const SYS_gettid: ::c_long = 178;
++pub const SYS_readahead: ::c_long = 213;
++pub const SYS_setxattr: ::c_long = 5;
++pub const SYS_lsetxattr: ::c_long = 6;
++pub const SYS_fsetxattr: ::c_long = 7;
++pub const SYS_getxattr: ::c_long = 8;
++pub const SYS_lgetxattr: ::c_long = 9;
++pub const SYS_fgetxattr: ::c_long = 10;
++pub const SYS_listxattr: ::c_long = 11;
++pub const SYS_llistxattr: ::c_long = 12;
++pub const SYS_flistxattr: ::c_long = 13;
++pub const SYS_removexattr: ::c_long = 14;
++pub const SYS_lremovexattr: ::c_long = 15;
++pub const SYS_fremovexattr: ::c_long = 16;
++pub const SYS_tkill: ::c_long = 130;
++pub const SYS_futex: ::c_long = 98;
++pub const SYS_sched_setaffinity: ::c_long = 122;
++pub const SYS_sched_getaffinity: ::c_long = 123;
++pub const SYS_io_setup: ::c_long = 0;
++pub const SYS_io_destroy: ::c_long = 1;
++pub const SYS_io_getevents: ::c_long = 4;
++pub const SYS_io_submit: ::c_long = 2;
++pub const SYS_io_cancel: ::c_long = 3;
++pub const SYS_lookup_dcookie: ::c_long = 18;
++pub const SYS_remap_file_pages: ::c_long = 234;
++pub const SYS_getdents64: ::c_long = 61;
++pub const SYS_set_tid_address: ::c_long = 96;
++pub const SYS_restart_syscall: ::c_long = 128;
++pub const SYS_semtimedop: ::c_long = 192;
++pub const SYS_fadvise64: ::c_long = 223;
++pub const SYS_timer_create: ::c_long = 107;
++pub const SYS_timer_settime: ::c_long = 110;
++pub const SYS_timer_gettime: ::c_long = 108;
++pub const SYS_timer_getoverrun: ::c_long = 109;
++pub const SYS_timer_delete: ::c_long = 111;
++pub const SYS_clock_settime: ::c_long = 112;
++pub const SYS_clock_gettime: ::c_long = 113;
++pub const SYS_clock_getres: ::c_long = 114;
++pub const SYS_clock_nanosleep: ::c_long = 115;
++pub const SYS_exit_group: ::c_long = 94;
++pub const SYS_epoll_ctl: ::c_long = 21;
++pub const SYS_tgkill: ::c_long = 131;
++pub const SYS_mbind: ::c_long = 235;
++pub const SYS_set_mempolicy: ::c_long = 237;
++pub const SYS_get_mempolicy: ::c_long = 236;
++pub const SYS_mq_open: ::c_long = 180;
++pub const SYS_mq_unlink: ::c_long = 181;
++pub const SYS_mq_timedsend: ::c_long = 182;
++pub const SYS_mq_timedreceive: ::c_long = 183;
++pub const SYS_mq_notify: ::c_long = 184;
++pub const SYS_mq_getsetattr: ::c_long = 185;
++pub const SYS_kexec_load: ::c_long = 104;
++pub const SYS_waitid: ::c_long = 95;
++pub const SYS_add_key: ::c_long = 217;
++pub const SYS_request_key: ::c_long = 218;
++pub const SYS_keyctl: ::c_long = 219;
++pub const SYS_ioprio_set: ::c_long = 30;
++pub const SYS_ioprio_get: ::c_long = 31;
++pub const SYS_inotify_add_watch: ::c_long = 27;
++pub const SYS_inotify_rm_watch: ::c_long = 28;
++pub const SYS_migrate_pages: ::c_long = 238;
++pub const SYS_openat: ::c_long = 56;
++pub const SYS_mkdirat: ::c_long = 34;
++pub const SYS_mknodat: ::c_long = 33;
++pub const SYS_fchownat: ::c_long = 54;
++pub const SYS_newfstatat: ::c_long = 79;
++pub const SYS_unlinkat: ::c_long = 35;
++pub const SYS_linkat: ::c_long = 37;
++pub const SYS_symlinkat: ::c_long = 36;
++pub const SYS_readlinkat: ::c_long = 78;
++pub const SYS_fchmodat: ::c_long = 53;
++pub const SYS_faccessat: ::c_long = 48;
++pub const SYS_pselect6: ::c_long = 72;
++pub const SYS_ppoll: ::c_long = 73;
++pub const SYS_unshare: ::c_long = 97;
++pub const SYS_set_robust_list: ::c_long = 99;
++pub const SYS_get_robust_list: ::c_long = 100;
++pub const SYS_splice: ::c_long = 76;
++pub const SYS_tee: ::c_long = 77;
++pub const SYS_sync_file_range: ::c_long = 84;
++pub const SYS_vmsplice: ::c_long = 75;
++pub const SYS_move_pages: ::c_long = 239;
++pub const SYS_utimensat: ::c_long = 88;
++pub const SYS_epoll_pwait: ::c_long = 22;
++pub const SYS_timerfd_create: ::c_long = 85;
++pub const SYS_fallocate: ::c_long = 47;
++pub const SYS_timerfd_settime: ::c_long = 86;
++pub const SYS_timerfd_gettime: ::c_long = 87;
++pub const SYS_accept4: ::c_long = 242;
++pub const SYS_signalfd4: ::c_long = 74;
++pub const SYS_eventfd2: ::c_long = 19;
++pub const SYS_epoll_create1: ::c_long = 20;
++pub const SYS_dup3: ::c_long = 24;
++pub const SYS_pipe2: ::c_long = 59;
++pub const SYS_inotify_init1: ::c_long = 26;
++pub const SYS_preadv: ::c_long = 69;
++pub const SYS_pwritev: ::c_long = 70;
++pub const SYS_rt_tgsigqueueinfo: ::c_long = 240;
++pub const SYS_perf_event_open: ::c_long = 241;
++pub const SYS_recvmmsg: ::c_long = 243;
++pub const SYS_fanotify_init: ::c_long = 262;
++pub const SYS_fanotify_mark: ::c_long = 263;
++pub const SYS_prlimit64: ::c_long = 261;
++pub const SYS_name_to_handle_at: ::c_long = 264;
++pub const SYS_open_by_handle_at: ::c_long = 265;
++pub const SYS_clock_adjtime: ::c_long = 266;
++pub const SYS_syncfs: ::c_long = 267;
++pub const SYS_sendmmsg: ::c_long = 269;
++pub const SYS_setns: ::c_long = 268;
++pub const SYS_getcpu: ::c_long = 168;
++pub const SYS_process_vm_readv: ::c_long = 270;
++pub const SYS_process_vm_writev: ::c_long = 271;
++pub const SYS_kcmp: ::c_long = 272;
++pub const SYS_finit_module: ::c_long = 273;
++pub const SYS_sched_setattr: ::c_long = 274;
++pub const SYS_sched_getattr: ::c_long = 275;
++pub const SYS_renameat2: ::c_long = 276;
++pub const SYS_seccomp: ::c_long = 277;
++pub const SYS_getrandom: ::c_long = 278;
++pub const SYS_memfd_create: ::c_long = 279;
++pub const SYS_bpf: ::c_long = 280;
++pub const SYS_execveat: ::c_long = 281;
++pub const SYS_userfaultfd: ::c_long = 282;
++pub const SYS_membarrier: ::c_long = 283;
++pub const SYS_mlock2: ::c_long = 284;
++pub const SYS_copy_file_range: ::c_long = 285;
++pub const SYS_preadv2: ::c_long = 286;
++pub const SYS_pwritev2: ::c_long = 287;
++pub const SYS_pkey_mprotect: ::c_long = 288;
++pub const SYS_pkey_alloc: ::c_long = 289;
++pub const SYS_pkey_free: ::c_long = 290;
++pub const SYS_statx: ::c_long = 291;
++pub const SYS_pidfd_open: ::c_long = 434;
++pub const SYS_clone3: ::c_long = 435;
+--
+2.27.0
+
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch b/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch
new file mode 100644
index 0000000000..d0ddb3cbe7
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch
@@ -0,0 +1,31 @@
+From 4319893ebb7fca8bbd2bffc4bddb8d3ecdc08cc2 Mon Sep 17 00:00:00 2001
+From: Ralf Anton Beier <ralf_beier@me.com>
+Date: Sun, 8 Aug 2021 11:07:21 +0200
+Subject: [PATCH 6/8] FIXUP: linux/musl/mod.rs: add riscv64 to b64 set -
+ libc-0.2.93
+
+https://github.com/rust-lang/libc/pull/1994/commits/30070c822be2ef399b2ba38cdc1d72ac694d65a3
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
+---
+ vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs
+index 00f26475d..a37f410fd 100644
+--- a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs
++++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs
+@@ -716,7 +716,8 @@ cfg_if! {
+ target_arch = "aarch64",
+ target_arch = "mips64",
+ target_arch = "powerpc64",
+- target_arch = "s390x"))] {
++ target_arch = "s390x",
++ target_arch = "riscv64"))] {
+ mod b64;
+ pub use self::b64::*;
+ } else if #[cfg(any(target_arch = "x86",
+--
+2.27.0
+
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch b/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch
new file mode 100644
index 0000000000..8be8104f40
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch
@@ -0,0 +1,741 @@
+From 9d240d05c6e6620f36e4ddbcbcb5862fb3269d9f Mon Sep 17 00:00:00 2001
+From: Ralf Anton Beier <ralf_beier@me.com>
+Date: Sun, 8 Aug 2021 11:09:17 +0200
+Subject: [PATCH 7/8] FIXUP Correct definitions to match musl - libc-0.2.93
+
+https://github.com/rust-lang/libc/pull/1994/commits/5f6a4d9745c79c81be63c708515ab116786554a3
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
+---
+ .../linux_like/linux/musl/b64/riscv64/mod.rs | 708 ++++++++----------
+ 1 file changed, 311 insertions(+), 397 deletions(-)
+
+diff --git a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+index 14bae11d0..c37190cca 100644
+--- a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
++++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+@@ -191,403 +191,8 @@ s! {
+ pub l_len: ::off64_t,
+ pub l_pid: ::pid_t,
+ }
+-
+- pub struct ip_mreqn {
+- pub imr_multiaddr: ::in_addr,
+- pub imr_address: ::in_addr,
+- pub imr_ifindex: ::c_int,
+- }
+ }
+
+-pub const POSIX_FADV_DONTNEED: ::c_int = 4;
+-pub const POSIX_FADV_NOREUSE: ::c_int = 5;
+-pub const VEOF: usize = 4;
+-pub const RTLD_DEEPBIND: ::c_int = 0x8;
+-pub const RTLD_GLOBAL: ::c_int = 0x100;
+-pub const RTLD_NOLOAD: ::c_int = 0x4;
+-pub const TIOCGSOFTCAR: ::c_ulong = 21529;
+-pub const TIOCSSOFTCAR: ::c_ulong = 21530;
+-pub const TIOCGRS485: ::c_int = 21550;
+-pub const TIOCSRS485: ::c_int = 21551;
+-pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
+-pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
+-pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
+-pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
+-pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
+-pub const O_APPEND: ::c_int = 1024;
+-pub const O_CREAT: ::c_int = 64;
+-pub const O_EXCL: ::c_int = 128;
+-pub const O_NOCTTY: ::c_int = 256;
+-pub const O_NONBLOCK: ::c_int = 2048;
+-pub const O_SYNC: ::c_int = 1052672;
+-pub const O_RSYNC: ::c_int = 1052672;
+-pub const O_DSYNC: ::c_int = 4096;
+-pub const O_FSYNC: ::c_int = 1052672;
+-pub const O_NOATIME: ::c_int = 262144;
+-pub const O_PATH: ::c_int = 2097152;
+-pub const O_TMPFILE: ::c_int = 4259840;
+-pub const MAP_GROWSDOWN: ::c_int = 256;
+-pub const EDEADLK: ::c_int = 35;
+-pub const ENAMETOOLONG: ::c_int = 36;
+-pub const ENOLCK: ::c_int = 37;
+-pub const ENOSYS: ::c_int = 38;
+-pub const ENOTEMPTY: ::c_int = 39;
+-pub const ELOOP: ::c_int = 40;
+-pub const ENOMSG: ::c_int = 42;
+-pub const EIDRM: ::c_int = 43;
+-pub const ECHRNG: ::c_int = 44;
+-pub const EL2NSYNC: ::c_int = 45;
+-pub const EL3HLT: ::c_int = 46;
+-pub const EL3RST: ::c_int = 47;
+-pub const ELNRNG: ::c_int = 48;
+-pub const EUNATCH: ::c_int = 49;
+-pub const ENOCSI: ::c_int = 50;
+-pub const EL2HLT: ::c_int = 51;
+-pub const EBADE: ::c_int = 52;
+-pub const EBADR: ::c_int = 53;
+-pub const EXFULL: ::c_int = 54;
+-pub const ENOANO: ::c_int = 55;
+-pub const EBADRQC: ::c_int = 56;
+-pub const EBADSLT: ::c_int = 57;
+-pub const EMULTIHOP: ::c_int = 72;
+-pub const EOVERFLOW: ::c_int = 75;
+-pub const ENOTUNIQ: ::c_int = 76;
+-pub const EBADFD: ::c_int = 77;
+-pub const EBADMSG: ::c_int = 74;
+-pub const EREMCHG: ::c_int = 78;
+-pub const ELIBACC: ::c_int = 79;
+-pub const ELIBBAD: ::c_int = 80;
+-pub const ELIBSCN: ::c_int = 81;
+-pub const ELIBMAX: ::c_int = 82;
+-pub const ELIBEXEC: ::c_int = 83;
+-pub const EILSEQ: ::c_int = 84;
+-pub const ERESTART: ::c_int = 85;
+-pub const ESTRPIPE: ::c_int = 86;
+-pub const EUSERS: ::c_int = 87;
+-pub const ENOTSOCK: ::c_int = 88;
+-pub const EDESTADDRREQ: ::c_int = 89;
+-pub const EMSGSIZE: ::c_int = 90;
+-pub const EPROTOTYPE: ::c_int = 91;
+-pub const ENOPROTOOPT: ::c_int = 92;
+-pub const EPROTONOSUPPORT: ::c_int = 93;
+-pub const ESOCKTNOSUPPORT: ::c_int = 94;
+-pub const EOPNOTSUPP: ::c_int = 95;
+-pub const EPFNOSUPPORT: ::c_int = 96;
+-pub const EAFNOSUPPORT: ::c_int = 97;
+-pub const EADDRINUSE: ::c_int = 98;
+-pub const EADDRNOTAVAIL: ::c_int = 99;
+-pub const ENETDOWN: ::c_int = 100;
+-pub const ENETUNREACH: ::c_int = 101;
+-pub const ENETRESET: ::c_int = 102;
+-pub const ECONNABORTED: ::c_int = 103;
+-pub const ECONNRESET: ::c_int = 104;
+-pub const ENOBUFS: ::c_int = 105;
+-pub const EISCONN: ::c_int = 106;
+-pub const ENOTCONN: ::c_int = 107;
+-pub const ESHUTDOWN: ::c_int = 108;
+-pub const ETOOMANYREFS: ::c_int = 109;
+-pub const ETIMEDOUT: ::c_int = 110;
+-pub const ECONNREFUSED: ::c_int = 111;
+-pub const EHOSTDOWN: ::c_int = 112;
+-pub const EHOSTUNREACH: ::c_int = 113;
+-pub const EALREADY: ::c_int = 114;
+-pub const EINPROGRESS: ::c_int = 115;
+-pub const ESTALE: ::c_int = 116;
+-pub const EDQUOT: ::c_int = 122;
+-pub const ENOMEDIUM: ::c_int = 123;
+-pub const EMEDIUMTYPE: ::c_int = 124;
+-pub const ECANCELED: ::c_int = 125;
+-pub const ENOKEY: ::c_int = 126;
+-pub const EKEYEXPIRED: ::c_int = 127;
+-pub const EKEYREVOKED: ::c_int = 128;
+-pub const EKEYREJECTED: ::c_int = 129;
+-pub const EOWNERDEAD: ::c_int = 130;
+-pub const ENOTRECOVERABLE: ::c_int = 131;
+-pub const EHWPOISON: ::c_int = 133;
+-pub const ERFKILL: ::c_int = 132;
+-pub const SOL_SOCKET: ::c_int = 1;
+-pub const SO_REUSEADDR: ::c_int = 2;
+-pub const SO_TYPE: ::c_int = 3;
+-pub const SO_ERROR: ::c_int = 4;
+-pub const SO_DONTROUTE: ::c_int = 5;
+-pub const SO_BROADCAST: ::c_int = 6;
+-pub const SO_SNDBUF: ::c_int = 7;
+-pub const SO_RCVBUF: ::c_int = 8;
+-pub const SO_SNDBUFFORCE: ::c_int = 32;
+-pub const SO_RCVBUFFORCE: ::c_int = 33;
+-pub const SO_KEEPALIVE: ::c_int = 9;
+-pub const SO_OOBINLINE: ::c_int = 10;
+-pub const SO_NO_CHECK: ::c_int = 11;
+-pub const SO_PRIORITY: ::c_int = 12;
+-pub const SO_LINGER: ::c_int = 13;
+-pub const SO_BSDCOMPAT: ::c_int = 14;
+-pub const SO_REUSEPORT: ::c_int = 15;
+-pub const SO_PASSCRED: ::c_int = 16;
+-pub const SO_PEERCRED: ::c_int = 17;
+-pub const SO_RCVLOWAT: ::c_int = 18;
+-pub const SO_SNDLOWAT: ::c_int = 19;
+-pub const SO_RCVTIMEO: ::c_int = 20;
+-pub const SO_SNDTIMEO: ::c_int = 21;
+-pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
+-pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
+-pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
+-pub const SO_BINDTODEVICE: ::c_int = 25;
+-pub const SO_ATTACH_FILTER: ::c_int = 26;
+-pub const SO_DETACH_FILTER: ::c_int = 27;
+-pub const SO_GET_FILTER: ::c_int = 26;
+-pub const SO_PEERNAME: ::c_int = 28;
+-pub const SO_TIMESTAMP: ::c_int = 29;
+-pub const SO_ACCEPTCONN: ::c_int = 30;
+-pub const SO_PEERSEC: ::c_int = 31;
+-pub const SO_PASSSEC: ::c_int = 34;
+-pub const SO_TIMESTAMPNS: ::c_int = 35;
+-pub const SCM_TIMESTAMPNS: ::c_int = 35;
+-pub const SO_MARK: ::c_int = 36;
+-pub const SO_PROTOCOL: ::c_int = 38;
+-pub const SO_DOMAIN: ::c_int = 39;
+-pub const SO_RXQ_OVFL: ::c_int = 40;
+-pub const SO_WIFI_STATUS: ::c_int = 41;
+-pub const SCM_WIFI_STATUS: ::c_int = 41;
+-pub const SO_PEEK_OFF: ::c_int = 42;
+-pub const SO_NOFCS: ::c_int = 43;
+-pub const SO_LOCK_FILTER: ::c_int = 44;
+-pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
+-pub const SO_BUSY_POLL: ::c_int = 46;
+-pub const SO_MAX_PACING_RATE: ::c_int = 47;
+-pub const SO_BPF_EXTENSIONS: ::c_int = 48;
+-pub const SO_INCOMING_CPU: ::c_int = 49;
+-pub const SO_ATTACH_BPF: ::c_int = 50;
+-pub const SO_DETACH_BPF: ::c_int = 27;
+-pub const SOCK_STREAM: ::c_int = 1;
+-pub const SOCK_DGRAM: ::c_int = 2;
+-pub const SA_ONSTACK: ::c_int = 134217728;
+-pub const SA_SIGINFO: ::c_int = 4;
+-pub const SA_NOCLDWAIT: ::c_int = 2;
+-pub const SIGTTIN: ::c_int = 21;
+-pub const SIGTTOU: ::c_int = 22;
+-pub const SIGXCPU: ::c_int = 24;
+-pub const SIGXFSZ: ::c_int = 25;
+-pub const SIGVTALRM: ::c_int = 26;
+-pub const SIGPROF: ::c_int = 27;
+-pub const SIGWINCH: ::c_int = 28;
+-pub const SIGCHLD: ::c_int = 17;
+-pub const SIGBUS: ::c_int = 7;
+-pub const SIGUSR1: ::c_int = 10;
+-pub const SIGUSR2: ::c_int = 12;
+-pub const SIGCONT: ::c_int = 18;
+-pub const SIGSTOP: ::c_int = 19;
+-pub const SIGTSTP: ::c_int = 20;
+-pub const SIGURG: ::c_int = 23;
+-pub const SIGIO: ::c_int = 29;
+-pub const SIGSYS: ::c_int = 31;
+-pub const SIGSTKFLT: ::c_int = 16;
+-pub const SIGPOLL: ::c_int = 29;
+-pub const SIGPWR: ::c_int = 30;
+-pub const SIG_SETMASK: ::c_int = 2;
+-pub const SIG_BLOCK: ::c_int = 0;
+-pub const SIG_UNBLOCK: ::c_int = 1;
+-pub const POLLWRNORM: ::c_short = 256;
+-pub const POLLWRBAND: ::c_short = 512;
+-pub const O_ASYNC: ::c_int = 8192;
+-pub const O_NDELAY: ::c_int = 2048;
+-pub const PTRACE_DETACH: ::c_uint = 17;
+-pub const EFD_NONBLOCK: ::c_int = 2048;
+-pub const F_GETLK: ::c_int = 5;
+-pub const F_GETOWN: ::c_int = 9;
+-pub const F_SETOWN: ::c_int = 8;
+-pub const F_SETLK: ::c_int = 6;
+-pub const F_SETLKW: ::c_int = 7;
+-pub const F_RDLCK: ::c_int = 0;
+-pub const F_WRLCK: ::c_int = 1;
+-pub const F_UNLCK: ::c_int = 2;
+-pub const F_OFD_GETLK: ::c_int = 36;
+-pub const F_OFD_SETLK: ::c_int = 37;
+-pub const F_OFD_SETLKW: ::c_int = 38;
+-pub const SFD_NONBLOCK: ::c_int = 2048;
+-pub const TCSANOW: ::c_int = 0;
+-pub const TCSADRAIN: ::c_int = 1;
+-pub const TCSAFLUSH: ::c_int = 2;
+-pub const TIOCLINUX: ::c_ulong = 21532;
+-pub const TIOCGSERIAL: ::c_ulong = 21534;
+-pub const TIOCEXCL: ::c_ulong = 21516;
+-pub const TIOCNXCL: ::c_ulong = 21517;
+-pub const TIOCSCTTY: ::c_ulong = 21518;
+-pub const TIOCSTI: ::c_ulong = 21522;
+-pub const TIOCMGET: ::c_ulong = 21525;
+-pub const TIOCMBIS: ::c_ulong = 21526;
+-pub const TIOCMBIC: ::c_ulong = 21527;
+-pub const TIOCMSET: ::c_ulong = 21528;
+-pub const TIOCCONS: ::c_ulong = 21533;
+-pub const TIOCM_ST: ::c_int = 8;
+-pub const TIOCM_SR: ::c_int = 16;
+-pub const TIOCM_CTS: ::c_int = 32;
+-pub const TIOCM_CAR: ::c_int = 64;
+-pub const TIOCM_RNG: ::c_int = 128;
+-pub const TIOCM_DSR: ::c_int = 256;
+-pub const SFD_CLOEXEC: ::c_int = 524288;
+-pub const NCCS: usize = 32;
+-pub const O_TRUNC: ::c_int = 512;
+-pub const O_CLOEXEC: ::c_int = 524288;
+-pub const EBFONT: ::c_int = 59;
+-pub const ENOSTR: ::c_int = 60;
+-pub const ENODATA: ::c_int = 61;
+-pub const ETIME: ::c_int = 62;
+-pub const ENOSR: ::c_int = 63;
+-pub const ENONET: ::c_int = 64;
+-pub const ENOPKG: ::c_int = 65;
+-pub const EREMOTE: ::c_int = 66;
+-pub const ENOLINK: ::c_int = 67;
+-pub const EADV: ::c_int = 68;
+-pub const ESRMNT: ::c_int = 69;
+-pub const ECOMM: ::c_int = 70;
+-pub const EPROTO: ::c_int = 71;
+-pub const EDOTDOT: ::c_int = 73;
+-pub const SA_NODEFER: ::c_int = 1073741824;
+-pub const SA_RESETHAND: ::c_int = -2147483648;
+-pub const SA_RESTART: ::c_int = 268435456;
+-pub const SA_NOCLDSTOP: ::c_int = 1;
+-pub const EPOLL_CLOEXEC: ::c_int = 524288;
+-pub const EFD_CLOEXEC: ::c_int = 524288;
+-pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
+-pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
+-pub const O_DIRECT: ::c_int = 16384;
+-pub const O_DIRECTORY: ::c_int = 65536;
+-pub const O_NOFOLLOW: ::c_int = 131072;
+-pub const MAP_HUGETLB: ::c_int = 262144;
+-pub const MAP_LOCKED: ::c_int = 8192;
+-pub const MAP_NORESERVE: ::c_int = 16384;
+-pub const MAP_ANON: ::c_int = 32;
+-pub const MAP_ANONYMOUS: ::c_int = 32;
+-pub const MAP_DENYWRITE: ::c_int = 2048;
+-pub const MAP_EXECUTABLE: ::c_int = 4096;
+-pub const MAP_POPULATE: ::c_int = 32768;
+-pub const MAP_NONBLOCK: ::c_int = 65536;
+-pub const MAP_STACK: ::c_int = 131072;
+-pub const MAP_SYNC : ::c_int = 0x080000;
+-pub const EDEADLOCK: ::c_int = 35;
+-pub const EUCLEAN: ::c_int = 117;
+-pub const ENOTNAM: ::c_int = 118;
+-pub const ENAVAIL: ::c_int = 119;
+-pub const EISNAM: ::c_int = 120;
+-pub const EREMOTEIO: ::c_int = 121;
+-pub const FIOCLEX: ::c_ulong = 21585;
+-pub const FIONCLEX: ::c_ulong = 21584;
+-pub const FIONBIO: ::c_ulong = 21537;
+-pub const MCL_CURRENT: ::c_int = 1;
+-pub const MCL_FUTURE: ::c_int = 2;
+-pub const SIGSTKSZ: ::size_t = 8192;
+-pub const MINSIGSTKSZ: ::size_t = 2048;
+-pub const CBAUD: ::tcflag_t = 4111;
+-pub const TAB1: ::tcflag_t = 2048;
+-pub const TAB2: ::tcflag_t = 4096;
+-pub const TAB3: ::tcflag_t = 6144;
+-pub const CR1: ::tcflag_t = 512;
+-pub const CR2: ::tcflag_t = 1024;
+-pub const CR3: ::tcflag_t = 1536;
+-pub const FF1: ::tcflag_t = 32768;
+-pub const BS1: ::tcflag_t = 8192;
+-pub const VT1: ::tcflag_t = 16384;
+-pub const VWERASE: usize = 14;
+-pub const VREPRINT: usize = 12;
+-pub const VSUSP: usize = 10;
+-pub const VSTART: usize = 8;
+-pub const VSTOP: usize = 9;
+-pub const VDISCARD: usize = 13;
+-pub const VTIME: usize = 5;
+-pub const IXON: ::tcflag_t = 1024;
+-pub const IXOFF: ::tcflag_t = 4096;
+-pub const ONLCR: ::tcflag_t = 4;
+-pub const CSIZE: ::tcflag_t = 48;
+-pub const CS6: ::tcflag_t = 16;
+-pub const CS7: ::tcflag_t = 32;
+-pub const CS8: ::tcflag_t = 48;
+-pub const CSTOPB: ::tcflag_t = 64;
+-pub const CREAD: ::tcflag_t = 128;
+-pub const PARENB: ::tcflag_t = 256;
+-pub const PARODD: ::tcflag_t = 512;
+-pub const HUPCL: ::tcflag_t = 1024;
+-pub const CLOCAL: ::tcflag_t = 2048;
+-pub const ECHOKE: ::tcflag_t = 2048;
+-pub const ECHOE: ::tcflag_t = 16;
+-pub const ECHOK: ::tcflag_t = 32;
+-pub const ECHONL: ::tcflag_t = 64;
+-pub const ECHOPRT: ::tcflag_t = 1024;
+-pub const ECHOCTL: ::tcflag_t = 512;
+-pub const ISIG: ::tcflag_t = 1;
+-pub const ICANON: ::tcflag_t = 2;
+-pub const PENDIN: ::tcflag_t = 16384;
+-pub const NOFLSH: ::tcflag_t = 128;
+-pub const CIBAUD: ::tcflag_t = 269418496;
+-pub const CBAUDEX: ::tcflag_t = 4096;
+-pub const VSWTC: usize = 7;
+-pub const OLCUC: ::tcflag_t = 2;
+-pub const NLDLY: ::tcflag_t = 256;
+-pub const CRDLY: ::tcflag_t = 1536;
+-pub const TABDLY: ::tcflag_t = 6144;
+-pub const BSDLY: ::tcflag_t = 8192;
+-pub const FFDLY: ::tcflag_t = 32768;
+-pub const VTDLY: ::tcflag_t = 16384;
+-pub const XTABS: ::tcflag_t = 6144;
+-pub const B0: ::speed_t = 0;
+-pub const B50: ::speed_t = 1;
+-pub const B75: ::speed_t = 2;
+-pub const B110: ::speed_t = 3;
+-pub const B134: ::speed_t = 4;
+-pub const B150: ::speed_t = 5;
+-pub const B200: ::speed_t = 6;
+-pub const B300: ::speed_t = 7;
+-pub const B600: ::speed_t = 8;
+-pub const B1200: ::speed_t = 9;
+-pub const B1800: ::speed_t = 10;
+-pub const B2400: ::speed_t = 11;
+-pub const B4800: ::speed_t = 12;
+-pub const B9600: ::speed_t = 13;
+-pub const B19200: ::speed_t = 14;
+-pub const B38400: ::speed_t = 15;
+-pub const EXTA: ::speed_t = 14;
+-pub const EXTB: ::speed_t = 15;
+-pub const B57600: ::speed_t = 4097;
+-pub const B115200: ::speed_t = 4098;
+-pub const B230400: ::speed_t = 4099;
+-pub const B460800: ::speed_t = 4100;
+-pub const B500000: ::speed_t = 4101;
+-pub const B576000: ::speed_t = 4102;
+-pub const B921600: ::speed_t = 4103;
+-pub const B1000000: ::speed_t = 4104;
+-pub const B1152000: ::speed_t = 4105;
+-pub const B1500000: ::speed_t = 4106;
+-pub const B2000000: ::speed_t = 4107;
+-pub const B2500000: ::speed_t = 4108;
+-pub const B3000000: ::speed_t = 4109;
+-pub const B3500000: ::speed_t = 4110;
+-pub const B4000000: ::speed_t = 4111;
+-pub const VEOL: usize = 11;
+-pub const VEOL2: usize = 16;
+-pub const VMIN: usize = 6;
+-pub const IEXTEN: ::tcflag_t = 32768;
+-pub const TOSTOP: ::tcflag_t = 256;
+-pub const FLUSHO: ::tcflag_t = 4096;
+-pub const EXTPROC: ::tcflag_t = 65536;
+-pub const TCGETS: ::c_ulong = 21505;
+-pub const TCSETS: ::c_ulong = 21506;
+-pub const TCSETSW: ::c_ulong = 21507;
+-pub const TCSETSF: ::c_ulong = 21508;
+-pub const TCGETA: ::c_ulong = 21509;
+-pub const TCSETA: ::c_ulong = 21510;
+-pub const TCSETAW: ::c_ulong = 21511;
+-pub const TCSETAF: ::c_ulong = 21512;
+-pub const TCSBRK: ::c_ulong = 21513;
+-pub const TCXONC: ::c_ulong = 21514;
+-pub const TCFLSH: ::c_ulong = 21515;
+-pub const TIOCINQ: ::c_ulong = 21531;
+-pub const TIOCGPGRP: ::c_ulong = 21519;
+-pub const TIOCSPGRP: ::c_ulong = 21520;
+-pub const TIOCOUTQ: ::c_ulong = 21521;
+-pub const TIOCGWINSZ: ::c_ulong = 21523;
+-pub const TIOCSWINSZ: ::c_ulong = 21524;
+-pub const FIONREAD: ::c_ulong = 21531;
+-pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
+-pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
+ pub const SYS_read: ::c_long = 63;
+ pub const SYS_write: ::c_long = 64;
+ pub const SYS_close: ::c_long = 57;
+@@ -863,5 +468,314 @@ pub const SYS_pkey_mprotect: ::c_long = 288;
+ pub const SYS_pkey_alloc: ::c_long = 289;
+ pub const SYS_pkey_free: ::c_long = 290;
+ pub const SYS_statx: ::c_long = 291;
+-pub const SYS_pidfd_open: ::c_long = 434;
+-pub const SYS_clone3: ::c_long = 435;
++
++pub const O_APPEND: ::c_int = 1024;
++pub const O_DIRECT: ::c_int = 0x4000;
++pub const O_DIRECTORY: ::c_int = 0x10000;
++pub const O_LARGEFILE: ::c_int = 0;
++pub const O_NOFOLLOW: ::c_int = 0x20000;
++pub const O_CREAT: ::c_int = 64;
++pub const O_EXCL: ::c_int = 128;
++pub const O_NOCTTY: ::c_int = 256;
++pub const O_NONBLOCK: ::c_int = 2048;
++pub const O_SYNC: ::c_int = 1052672;
++pub const O_RSYNC: ::c_int = 1052672;
++pub const O_DSYNC: ::c_int = 4096;
++pub const O_ASYNC: ::c_int = 0x2000;
++
++pub const TIOCGRS485: ::c_int = 0x542E;
++pub const TIOCSRS485: ::c_int = 0x542F;
++
++pub const SIGSTKSZ: ::size_t = 8192;
++pub const MINSIGSTKSZ: ::size_t = 2048;
++
++pub const ENAMETOOLONG: ::c_int = 36;
++pub const ENOLCK: ::c_int = 37;
++pub const ENOSYS: ::c_int = 38;
++pub const ENOTEMPTY: ::c_int = 39;
++pub const ELOOP: ::c_int = 40;
++pub const ENOMSG: ::c_int = 42;
++pub const EIDRM: ::c_int = 43;
++pub const ECHRNG: ::c_int = 44;
++pub const EL2NSYNC: ::c_int = 45;
++pub const EL3HLT: ::c_int = 46;
++pub const EL3RST: ::c_int = 47;
++pub const ELNRNG: ::c_int = 48;
++pub const EUNATCH: ::c_int = 49;
++pub const ENOCSI: ::c_int = 50;
++pub const EL2HLT: ::c_int = 51;
++pub const EBADE: ::c_int = 52;
++pub const EBADR: ::c_int = 53;
++pub const EXFULL: ::c_int = 54;
++pub const ENOANO: ::c_int = 55;
++pub const EBADRQC: ::c_int = 56;
++pub const EBADSLT: ::c_int = 57;
++pub const EMULTIHOP: ::c_int = 72;
++pub const EOVERFLOW: ::c_int = 75;
++pub const ENOTUNIQ: ::c_int = 76;
++pub const EBADFD: ::c_int = 77;
++pub const EBADMSG: ::c_int = 74;
++pub const EREMCHG: ::c_int = 78;
++pub const ELIBACC: ::c_int = 79;
++pub const ELIBBAD: ::c_int = 80;
++pub const ELIBSCN: ::c_int = 81;
++pub const ELIBMAX: ::c_int = 82;
++pub const ELIBEXEC: ::c_int = 83;
++pub const EILSEQ: ::c_int = 84;
++pub const ERESTART: ::c_int = 85;
++pub const ESTRPIPE: ::c_int = 86;
++pub const EUSERS: ::c_int = 87;
++pub const ENOTSOCK: ::c_int = 88;
++pub const EDESTADDRREQ: ::c_int = 89;
++pub const EMSGSIZE: ::c_int = 90;
++pub const EPROTOTYPE: ::c_int = 91;
++pub const ENOPROTOOPT: ::c_int = 92;
++pub const EPROTONOSUPPORT: ::c_int = 93;
++pub const ESOCKTNOSUPPORT: ::c_int = 94;
++pub const EOPNOTSUPP: ::c_int = 95;
++pub const EPFNOSUPPORT: ::c_int = 96;
++pub const EAFNOSUPPORT: ::c_int = 97;
++pub const EADDRINUSE: ::c_int = 98;
++pub const EADDRNOTAVAIL: ::c_int = 99;
++pub const ENETDOWN: ::c_int = 100;
++pub const ENETUNREACH: ::c_int = 101;
++pub const ENETRESET: ::c_int = 102;
++pub const ECONNABORTED: ::c_int = 103;
++pub const ECONNRESET: ::c_int = 104;
++pub const ENOBUFS: ::c_int = 105;
++pub const EISCONN: ::c_int = 106;
++pub const ENOTCONN: ::c_int = 107;
++pub const ESHUTDOWN: ::c_int = 108;
++pub const ETOOMANYREFS: ::c_int = 109;
++pub const ETIMEDOUT: ::c_int = 110;
++pub const ECONNREFUSED: ::c_int = 111;
++pub const EHOSTDOWN: ::c_int = 112;
++pub const EHOSTUNREACH: ::c_int = 113;
++pub const EALREADY: ::c_int = 114;
++pub const EINPROGRESS: ::c_int = 115;
++pub const ESTALE: ::c_int = 116;
++pub const EDQUOT: ::c_int = 122;
++pub const ENOMEDIUM: ::c_int = 123;
++pub const EMEDIUMTYPE: ::c_int = 124;
++pub const ECANCELED: ::c_int = 125;
++pub const ENOKEY: ::c_int = 126;
++pub const EKEYEXPIRED: ::c_int = 127;
++pub const EKEYREVOKED: ::c_int = 128;
++pub const EKEYREJECTED: ::c_int = 129;
++pub const EOWNERDEAD: ::c_int = 130;
++pub const ENOTRECOVERABLE: ::c_int = 131;
++pub const EHWPOISON: ::c_int = 133;
++pub const ERFKILL: ::c_int = 132;
++
++pub const SA_ONSTACK: ::c_int = 0x08000000;
++pub const SA_SIGINFO: ::c_int = 0x00000004;
++pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
++
++pub const SIGCHLD: ::c_int = 17;
++pub const SIGBUS: ::c_int = 7;
++pub const SIGTTIN: ::c_int = 21;
++pub const SIGTTOU: ::c_int = 22;
++pub const SIGXCPU: ::c_int = 24;
++pub const SIGXFSZ: ::c_int = 25;
++pub const SIGVTALRM: ::c_int = 26;
++pub const SIGPROF: ::c_int = 27;
++pub const SIGWINCH: ::c_int = 28;
++pub const SIGUSR1: ::c_int = 10;
++pub const SIGUSR2: ::c_int = 12;
++pub const SIGCONT: ::c_int = 18;
++pub const SIGSTOP: ::c_int = 19;
++pub const SIGTSTP: ::c_int = 20;
++pub const SIGURG: ::c_int = 23;
++pub const SIGIO: ::c_int = 29;
++pub const SIGSYS: ::c_int = 31;
++pub const SIGSTKFLT: ::c_int = 16;
++pub const SIGPOLL: ::c_int = 29;
++pub const SIGPWR: ::c_int = 30;
++pub const SIG_SETMASK: ::c_int = 2;
++pub const SIG_BLOCK: ::c_int = 0x000000;
++pub const SIG_UNBLOCK: ::c_int = 0x01;
++
++pub const F_GETLK: ::c_int = 5;
++pub const F_GETOWN: ::c_int = 9;
++pub const F_SETLK: ::c_int = 6;
++pub const F_SETLKW: ::c_int = 7;
++pub const F_SETOWN: ::c_int = 8;
++pub const F_OFD_GETLK: ::c_int = 36;
++pub const F_OFD_SETLK: ::c_int = 37;
++pub const F_OFD_SETLKW: ::c_int = 38;
++
++pub const VEOF: usize = 4;
++
++pub const POLLWRNORM: ::c_short = 0x100;
++pub const POLLWRBAND: ::c_short = 0x200;
++
++pub const SOCK_STREAM: ::c_int = 1;
++pub const SOCK_DGRAM: ::c_int = 2;
++pub const SOL_SOCKET: ::c_int = 1;
++pub const SO_REUSEADDR: ::c_int = 2;
++pub const SO_TYPE: ::c_int = 3;
++pub const SO_ERROR: ::c_int = 4;
++pub const SO_DONTROUTE: ::c_int = 5;
++pub const SO_BROADCAST: ::c_int = 6;
++pub const SO_SNDBUF: ::c_int = 7;
++pub const SO_RCVBUF: ::c_int = 8;
++pub const SO_KEEPALIVE: ::c_int = 9;
++pub const SO_OOBINLINE: ::c_int = 10;
++pub const SO_NO_CHECK: ::c_int = 11;
++pub const SO_PRIORITY: ::c_int = 12;
++pub const SO_LINGER: ::c_int = 13;
++pub const SO_BSDCOMPAT: ::c_int = 14;
++pub const SO_REUSEPORT: ::c_int = 15;
++pub const SO_ACCEPTCONN: ::c_int = 30;
++pub const SO_SNDBUFFORCE: ::c_int = 32;
++pub const SO_RCVBUFFORCE: ::c_int = 33;
++pub const SO_PROTOCOL: ::c_int = 38;
++pub const SO_DOMAIN: ::c_int = 39;
++
++pub const MAP_ANON: ::c_int = 0x0020;
++pub const MAP_GROWSDOWN: ::c_int = 0x0100;
++pub const MAP_DENYWRITE: ::c_int = 0x0800;
++pub const MAP_EXECUTABLE: ::c_int = 0x01000;
++pub const MAP_LOCKED: ::c_int = 0x02000;
++pub const MAP_NORESERVE: ::c_int = 0x04000;
++pub const MAP_POPULATE: ::c_int = 0x08000;
++pub const MAP_NONBLOCK: ::c_int = 0x010000;
++pub const MAP_STACK: ::c_int = 0x020000;
++pub const MAP_HUGETLB: ::c_int = 0x040000;
++pub const MAP_SYNC : ::c_int = 0x080000;
++
++pub const RLIMIT_NLIMITS: ::c_int = 15;
++pub const TIOCINQ: ::c_int = ::FIONREAD;
++pub const MCL_CURRENT: ::c_int = 0x0001;
++pub const MCL_FUTURE: ::c_int = 0x0002;
++pub const CBAUD: ::tcflag_t = 0o0010017;
++pub const TAB1: ::c_int = 0x00000800;
++pub const TAB2: ::c_int = 0x00001000;
++pub const TAB3: ::c_int = 0x00001800;
++pub const CR1: ::c_int = 0x00000200;
++pub const CR2: ::c_int = 0x00000400;
++pub const CR3: ::c_int = 0x00000600;
++pub const FF1: ::c_int = 0x00008000;
++pub const BS1: ::c_int = 0x00002000;
++pub const VT1: ::c_int = 0x00004000;
++pub const VWERASE: usize = 14;
++pub const VREPRINT: usize = 12;
++pub const VSUSP: usize = 10;
++pub const VSTART: usize = 8;
++pub const VSTOP: usize = 9;
++pub const VDISCARD: usize = 13;
++pub const VTIME: usize = 5;
++pub const IXON: ::tcflag_t = 0x00000400;
++pub const IXOFF: ::tcflag_t = 0x00001000;
++pub const ONLCR: ::tcflag_t = 0x4;
++pub const CSIZE: ::tcflag_t = 0x00000030;
++pub const CS6: ::tcflag_t = 0x00000010;
++pub const CS7: ::tcflag_t = 0x00000020;
++pub const CS8: ::tcflag_t = 0x00000030;
++pub const CSTOPB: ::tcflag_t = 0x00000040;
++pub const CREAD: ::tcflag_t = 0x00000080;
++pub const PARENB: ::tcflag_t = 0x00000100;
++pub const PARODD: ::tcflag_t = 0x00000200;
++pub const HUPCL: ::tcflag_t = 0x00000400;
++pub const CLOCAL: ::tcflag_t = 0x00000800;
++pub const ECHOKE: ::tcflag_t = 0x00000800;
++pub const ECHOE: ::tcflag_t = 0x00000010;
++pub const ECHOK: ::tcflag_t = 0x00000020;
++pub const ECHONL: ::tcflag_t = 0x00000040;
++pub const ECHOPRT: ::tcflag_t = 0x00000400;
++pub const ECHOCTL: ::tcflag_t = 0x00000200;
++pub const ISIG: ::tcflag_t = 0x00000001;
++pub const ICANON: ::tcflag_t = 0x00000002;
++pub const PENDIN: ::tcflag_t = 0x00004000;
++pub const NOFLSH: ::tcflag_t = 0x00000080;
++pub const CIBAUD: ::tcflag_t = 0o02003600000;
++pub const CBAUDEX: ::tcflag_t = 0o010000;
++pub const VSWTC: usize = 7;
++pub const OLCUC: ::tcflag_t = 0o000002;
++pub const NLDLY: ::tcflag_t = 0o000400;
++pub const CRDLY: ::tcflag_t = 0o003000;
++pub const TABDLY: ::tcflag_t = 0o014000;
++pub const BSDLY: ::tcflag_t = 0o020000;
++pub const FFDLY: ::tcflag_t = 0o100000;
++pub const VTDLY: ::tcflag_t = 0o040000;
++pub const XTABS: ::tcflag_t = 0o014000;
++pub const B57600: ::speed_t = 0o010001;
++pub const B115200: ::speed_t = 0o010002;
++pub const B230400: ::speed_t = 0o010003;
++pub const B460800: ::speed_t = 0o010004;
++pub const B500000: ::speed_t = 0o010005;
++pub const B576000: ::speed_t = 0o010006;
++pub const B921600: ::speed_t = 0o010007;
++pub const B1000000: ::speed_t = 0o010010;
++pub const B1152000: ::speed_t = 0o010011;
++pub const B1500000: ::speed_t = 0o010012;
++pub const B2000000: ::speed_t = 0o010013;
++pub const B2500000: ::speed_t = 0o010014;
++pub const B3000000: ::speed_t = 0o010015;
++pub const B3500000: ::speed_t = 0o010016;
++pub const B4000000: ::speed_t = 0o010017;
++
++pub const FIOCLEX: ::c_int = 0x5451;
++pub const FIONCLEX: ::c_int = 0x5450;
++pub const FIONBIO: ::c_int = 0x5421;
++pub const EDEADLK: ::c_int = 35;
++pub const EDEADLOCK: ::c_int = EDEADLK;
++pub const SO_PASSCRED: ::c_int = 16;
++pub const SO_PEERCRED: ::c_int = 17;
++pub const SO_RCVLOWAT: ::c_int = 18;
++pub const SO_SNDLOWAT: ::c_int = 19;
++pub const SO_RCVTIMEO: ::c_int = 20;
++pub const SO_SNDTIMEO: ::c_int = 21;
++pub const EXTPROC: ::tcflag_t = 0x00010000;
++pub const VEOL: usize = 11;
++pub const VEOL2: usize = 16;
++pub const VMIN: usize = 6;
++pub const IEXTEN: ::tcflag_t = 0x00008000;
++pub const TOSTOP: ::tcflag_t = 0x00000100;
++pub const FLUSHO: ::tcflag_t = 0x00001000;
++pub const TCGETS: ::c_int = 0x5401;
++pub const TCSETS: ::c_int = 0x5402;
++pub const TCSETSW: ::c_int = 0x5403;
++pub const TCSETSF: ::c_int = 0x5404;
++pub const TCGETA: ::c_int = 0x5405;
++pub const TCSETA: ::c_int = 0x5406;
++pub const TCSETAW: ::c_int = 0x5407;
++pub const TCSETAF: ::c_int = 0x5408;
++pub const TCSBRK: ::c_int = 0x5409;
++pub const TCXONC: ::c_int = 0x540A;
++pub const TCFLSH: ::c_int = 0x540B;
++pub const TIOCGSOFTCAR: ::c_int = 0x5419;
++pub const TIOCSSOFTCAR: ::c_int = 0x541A;
++pub const TIOCLINUX: ::c_int = 0x541C;
++pub const TIOCGSERIAL: ::c_int = 0x541E;
++pub const TIOCEXCL: ::c_int = 0x540C;
++pub const TIOCNXCL: ::c_int = 0x540D;
++pub const TIOCSCTTY: ::c_int = 0x540E;
++pub const TIOCGPGRP: ::c_int = 0x540F;
++pub const TIOCSPGRP: ::c_int = 0x5410;
++pub const TIOCOUTQ: ::c_int = 0x5411;
++pub const TIOCSTI: ::c_int = 0x5412;
++pub const TIOCGWINSZ: ::c_int = 0x5413;
++pub const TIOCSWINSZ: ::c_int = 0x5414;
++pub const TIOCMGET: ::c_int = 0x5415;
++pub const TIOCMBIS: ::c_int = 0x5416;
++pub const TIOCMBIC: ::c_int = 0x5417;
++pub const TIOCMSET: ::c_int = 0x5418;
++pub const FIONREAD: ::c_int = 0x541B;
++pub const TIOCCONS: ::c_int = 0x541D;
++
++pub const TIOCM_LE: ::c_int = 0x001;
++pub const TIOCM_DTR: ::c_int = 0x002;
++pub const TIOCM_RTS: ::c_int = 0x004;
++pub const TIOCM_ST: ::c_int = 0x008;
++pub const TIOCM_SR: ::c_int = 0x010;
++pub const TIOCM_CTS: ::c_int = 0x020;
++pub const TIOCM_CAR: ::c_int = 0x040;
++pub const TIOCM_RNG: ::c_int = 0x080;
++pub const TIOCM_DSR: ::c_int = 0x100;
++pub const TIOCM_CD: ::c_int = TIOCM_CAR;
++pub const TIOCM_RI: ::c_int = TIOCM_RNG;
++
++extern "C" {
++ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
++}
+--
+2.27.0
+
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch b/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch
new file mode 100644
index 0000000000..23bb3aff38
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch
@@ -0,0 +1,23 @@
+From 2b1c373f9a3341e8926d6be8d7cdcedc1fc6fca3 Mon Sep 17 00:00:00 2001
+From: Ralf Anton Beier <ralf_beier@me.com>
+Date: Sun, 8 Aug 2021 11:19:24 +0200
+Subject: [PATCH 8/8] Update checksums for modified files for rust 1.54.0 and
+ libc-0.2.93
+
+Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
+---
+ vendor/libc-0.2.93/.cargo-checksum.json | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vendor/libc-0.2.93/.cargo-checksum.json b/vendor/libc-0.2.93/.cargo-checksum.json
+index 104eaa0ea..48576fb81 100644
+--- a/vendor/libc-0.2.93/.cargo-checksum.json
++++ b/vendor/libc-0.2.93/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"c65ce090d2ce0144faeb8d9ed9039d698ab19d92eee1121ef234238041ec6153","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"770bf9c7c799dd3536b1e716cb42e7b5569cb4721f02e1d67dd2b932718dea2c","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"e992965c141308f1ab38c9646b6197b308143dedd2771b6df2f12eb5909ce663","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"d4f7452c0fe720f3a961b918b74ec86d19cef33e6b4aac08efbbad6f6d818e09","src/macros.rs":"7844312c233a6889fa15395fe3106f6a8f6229211104a92f33ea3c9536eef763","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"46d5d061c7a74cbc09cbdfb3bee9a600867bf4e04c0e4d0ca6c817e6033b32e1","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"cc6878dd130c3f255418e4da74992ae9ba6a3cdb0530772de76c518077d3b12a","src/unix/bsd/apple/mod.rs":"3fe42dd50ccc476255ebe7c1f5bf65950f3d1b5a62fbf8ac91c8c29c945781bc","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"06e3e4a8972f367275c7d1226a47cf86db13afad74a22344d91d1ec2ab043bd9","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"6523af60c0e4937ad374003c1653e9e721f5b6f11572c747732f76522d07d034","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"e777354db19a183fba4c616cb8c72ac88839528c5e2095bbdf7e47e8e5d2148e","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"f3dc5dc3ca3e9cf999ee73222c4fc2200a06f92ce6e9dd6fc357d019bb4999a5","src/unix/bsd/freebsdlike/freebsd/mod.rs":"154dfc0825d39fb19fcf87ccc43bb3923d7faec1eac7b50464a6106dc44a32a8","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"52a793977374d138c46e62b967e97dc5df06ef143701ffd8f4563658cbe77cf2","src/unix/bsd/mod.rs":"33df9bc4e6f92f78842defe59d9ac2c2afa0942ba990134ec0bf57aa76faa798","src/unix/bsd/netbsdlike/mod.rs":"c640eb7106c8af2ffee0644ea715528da3a8124fd2c9ca6ac617ab9eebc88787","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"ff10f80b8182dc3a8fa5739bddd5362a2280f396b09d2da6c8adbf596d9643b0","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"04372b08f57319b08002c1a5e1b200723ed1293754ea5b7d12beafa735c0c2db","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"34d74b3f86953c4bdba363b7b629fd3fc72d3842260ba208f91b9dc6024634ff","src/unix/haiku/native.rs":"7f43160df105a83a8527c59ad99b2578f479837a7c7d8bcdd5ee6607803e49f4","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"d611801c875a1066ff596ba813a80c1689aa54489bbd5bd8af4610c786d97a36","src/unix/linux_like/android/b32/mod.rs":"87c46d1ce6899df80b5eea1ca4fd30bc437028e281ea16b658209c2a9b4edbec","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"db23f94bc3ed46a0967dde748f0d4566fc885cc6171d0555007f3398ff99a708","src/unix/linux_like/android/b64/mod.rs":"e3078e856e43fde9b57d8a5aa840a590f2e18517a3e8de23e9c2a3d798596f43","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"ead1d5880fa288e11470e560e119c29b16198a0a1bbd853c51e10b1bf4db7583","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"d4c59585ca4802029a41e269092ccfa20f982b352a74abc54d3e7edc3102fb05","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/arch/generic/mod.rs":"ff1fe8fad4ea15d9bec3db25efcfcb4939190c5189f86cfa4d05825aa8c10956","src/unix/linux_like/linux/arch/mips/mod.rs":"e4a980b002105aaa057eb6568e1e2c6168ade5c00e13a31ef67e316ddffdb900","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"1789eb5b41f75c29239795124a4a7cdcf7c8d213b88cf581b2f5bda08d7cf15b","src/unix/linux_like/linux/arch/sparc/mod.rs":"ded708124ee610267d011dee31fb02d1ec697c334aa822776ec95a7ddf6fc541","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"07adf9f4b96854062db518aaf08521fde0ad4a21a5c049efccba437bd97b2b5a","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"1cb5c0c9df3af2bbe131a91593583259fac9118931744c8435e197a394eb0462","src/unix/linux_like/linux/gnu/b32/mod.rs":"1e05278ab6295e95165d0fab1698bdc82a511bcbda3250093af4e5edf08991f8","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"0cd7348badb9c4f8a0db31a2503b30c456a2bfcc7a0e5919762b1e12f912c5ad","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"9c628cd97806181dc4d34b072f63fe1eb42f08108712002e0628ffe27f2fa93f","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"1bcec269a8416ccc48a384ca5765eaaa23f30f39f32311f50008ef4eeadafb2f","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"5317dbf2323577b89370bbee3894882b89d8333176db4f7b271ddc2f036ef43c","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"c3730792dabcc166d8fd22929ef2633d49bc626875382dfcd401e8e125fb7a84","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"68bcb71bbfccb4e8648948e494366d94767ce96f36daab9c1329375cdd32a459","src/unix/linux_like/linux/gnu/b64/mod.rs":"7bf5c9813032db77b964ccb90bdce15236ae9ea06ea185595278ea4565c21b7b","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"dbb8905e363ed4a2dfb984554ad9b6389d27f6a2d599ec2d80e38a6c7551a019","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"18edaa89c9746125863ff53182e0ef32cb1e1612e1ed9a2672558a9de85440e9","src/unix/linux_like/linux/gnu/b64/s390x.rs":"d9bb4e524e70d6fef49e0f77d89a92f478fd95d9a1aea32f4dc845275a7465d4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"26fda11bdce99372c2c246e60866b56d98beb9fb49a2f6b69347ecfd03d18255","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"5a5ce7c5c92f60d8900dce63d363a38f3126aaf5be981710e172bec96ef95ac6","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"f775ac2b754f90b63053fe22afe1d19d306b5404995568d6805baa9249fb617f","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"4ba1b58468f55254717366f50fdfd3e4114fde6dc442a56681926c4d7e5b6b0d","src/unix/linux_like/linux/gnu/mod.rs":"08c8e94116dd5bc3e78bd9118647169d6decfbab4b15c6d4f2fc378c2d802cd1","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"8fbd8e1d91f9e748755e11be5c385d9ba2c03acff741b4f75100d679cbcc44bf","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"273f58d7483c7b562725fba71ff0b1f9685258c040f7f4830032aa5f42eced23","src/unix/linux_like/linux/musl/b32/hexagon.rs":"a8811791809672be8338e6e27d1c4fcf383c2f26585be8bf9ab2923b219de032","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"33dfff5266bbc50c36d93e7b15381b9b9245031aa49e3db811b8984dd81851c0","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"bdfed99eb8beb541cc026a86eb99622687eecf603deb35204fee70f5464ad225","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"c34c06d1a2f02a761825a49ad6b37393c4f31afb9a3347de0a0c61979634b9b2","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"3f01dbb2155877208ba58908396f75c7d3f57015662acb46cb19be6b2e81310b","src/unix/linux_like/linux/musl/b64/mips64.rs":"2744895451f3a777fbe54f7f2695be53310b965fd62084c9b7e9121c7fe28346","src/unix/linux_like/linux/musl/b64/mod.rs":"d18abc0aeba2e26342bf3416a4dba0836db2bb0ee013b0a39629475cf8640289","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"028d235cb9d5af1b80e287b52373640532752ddce4812dee831948c6db4d434b","src/unix/linux_like/linux/musl/b64/s390x.rs":"38bbf839c22a07a46fd5b195812cf8a4d2966611a62213a5b4972422a7e5b8cc","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"aeb436f2575e4e34eb88b597923e480e1e8214b1c8be7f1e41d63c8a0dd9c78b","src/unix/linux_like/linux/musl/mod.rs":"1a8ff52e8f3c52ad53a0d423fae3d79a8f7e07a0b83d5ff9b759eb2a421bda9a","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"9b691eeec0a9bf7b2abb87e09062d2c148d18e11c96ecad0edd0b74d1d0509fd","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"18753a99b820d69e062e3ba22a63fa86577b6dcc42f740479c7be1a4c658e1be","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"4320e8731666e30f850d45d51cd59311e23cd22dad5d04b3be98a6419e70e0a1","src/unix/linux_like/linux/uclibc/mod.rs":"0438ffcfa951516cbfdbd7bdc31ccee06614d5150fd271ca6ba9ba06890041ad","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"02e21c0550a423a3f6db0a0af6a0f37cf5937feb2562a490e0ad0e09a8d9fc77","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"35e17aa16019a82bb1667c43a97ecef151c16ecb5f489793adac918e704e21de","src/unix/mod.rs":"a5fbb90b99244f04bb37dc7d79d56261f5c5a41e9a09b7958aed9a2b4882eae8","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"407fe7e3c77f4c4c129788b3888a7da5d4b7b818ed3e96abb8de8cd780f83fb6","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/newlib/xtensa/mod.rs":"08b314a27797ee27989f48f5a0e66e0d73670071ceabd341076cdce7ea67201c","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"aa2fdf95ead6cde2937f2f0e7e0c72fdf2a6827d8b1bac647d3ca79e4d409348","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"e01acc1b176e15268ac0ca4d1de50bf372ba80a465af35cd612c8f7e702baf92","src/unix/solarish/mod.rs":"be9f7a37d17a7616f6dbebd871fe4ae83612af6b582ebf153284cff1e7162334","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"9caf6ff3faad5b39c9deb8eae497a61ef15aa5e03aa409a16299e700240c3b63","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"69460feb515652ec62ff258ccba4ed46738ee472938e78a3c34cbbf7a0e865c1","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"a0752b528fe6239536b9e915806326b20dc06183f078592b7394a10f5f56a621","src/windows/msvc.rs":"ea6d87a6a9cd668261b1c043e7c36cf599e80b5d09f6e4502e85daa4797c7927","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"}
+\ No newline at end of file
++{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"c65ce090d2ce0144faeb8d9ed9039d698ab19d92eee1121ef234238041ec6153","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"770bf9c7c799dd3536b1e716cb42e7b5569cb4721f02e1d67dd2b932718dea2c","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"e992965c141308f1ab38c9646b6197b308143dedd2771b6df2f12eb5909ce663","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"d4f7452c0fe720f3a961b918b74ec86d19cef33e6b4aac08efbbad6f6d818e09","src/macros.rs":"7844312c233a6889fa15395fe3106f6a8f6229211104a92f33ea3c9536eef763","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"46d5d061c7a74cbc09cbdfb3bee9a600867bf4e04c0e4d0ca6c817e6033b32e1","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"cc6878dd130c3f255418e4da74992ae9ba6a3cdb0530772de76c518077d3b12a","src/unix/bsd/apple/mod.rs":"3fe42dd50ccc476255ebe7c1f5bf65950f3d1b5a62fbf8ac91c8c29c945781bc","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"06e3e4a8972f367275c7d1226a47cf86db13afad74a22344d91d1ec2ab043bd9","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"6523af60c0e4937ad374003c1653e9e721f5b6f11572c747732f76522d07d034","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"e777354db19a183fba4c616cb8c72ac88839528c5e2095bbdf7e47e8e5d2148e","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"f3dc5dc3ca3e9cf999ee73222c4fc2200a06f92ce6e9dd6fc357d019bb4999a5","src/unix/bsd/freebsdlike/freebsd/mod.rs":"154dfc0825d39fb19fcf87ccc43bb3923d7faec1eac7b50464a6106dc44a32a8","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"52a793977374d138c46e62b967e97dc5df06ef143701ffd8f4563658cbe77cf2","src/unix/bsd/mod.rs":"33df9bc4e6f92f78842defe59d9ac2c2afa0942ba990134ec0bf57aa76faa798","src/unix/bsd/netbsdlike/mod.rs":"c640eb7106c8af2ffee0644ea715528da3a8124fd2c9ca6ac617ab9eebc88787","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"ff10f80b8182dc3a8fa5739bddd5362a2280f396b09d2da6c8adbf596d9643b0","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"04372b08f57319b08002c1a5e1b200723ed1293754ea5b7d12beafa735c0c2db","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"34d74b3f86953c4bdba363b7b629fd3fc72d3842260ba208f91b9dc6024634ff","src/unix/haiku/native.rs":"7f43160df105a83a8527c59ad99b2578f479837a7c7d8bcdd5ee6607803e49f4","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"d611801c875a1066ff596ba813a80c1689aa54489bbd5bd8af4610c786d97a36","src/unix/linux_like/android/b32/mod.rs":"87c46d1ce6899df80b5eea1ca4fd30bc437028e281ea16b658209c2a9b4edbec","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"db23f94bc3ed46a0967dde748f0d4566fc885cc6171d0555007f3398ff99a708","src/unix/linux_like/android/b64/mod.rs":"e3078e856e43fde9b57d8a5aa840a590f2e18517a3e8de23e9c2a3d798596f43","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"ead1d5880fa288e11470e560e119c29b16198a0a1bbd853c51e10b1bf4db7583","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"d4c59585ca4802029a41e269092ccfa20f982b352a74abc54d3e7edc3102fb05","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/arch/generic/mod.rs":"ff1fe8fad4ea15d9bec3db25efcfcb4939190c5189f86cfa4d05825aa8c10956","src/unix/linux_like/linux/arch/mips/mod.rs":"e4a980b002105aaa057eb6568e1e2c6168ade5c00e13a31ef67e316ddffdb900","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"1789eb5b41f75c29239795124a4a7cdcf7c8d213b88cf581b2f5bda08d7cf15b","src/unix/linux_like/linux/arch/sparc/mod.rs":"ded708124ee610267d011dee31fb02d1ec697c334aa822776ec95a7ddf6fc541","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"07adf9f4b96854062db518aaf08521fde0ad4a21a5c049efccba437bd97b2b5a","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"1cb5c0c9df3af2bbe131a91593583259fac9118931744c8435e197a394eb0462","src/unix/linux_like/linux/gnu/b32/mod.rs":"1e05278ab6295e95165d0fab1698bdc82a511bcbda3250093af4e5edf08991f8","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"0cd7348badb9c4f8a0db31a2503b30c456a2bfcc7a0e5919762b1e12f912c5ad","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"9c628cd97806181dc4d34b072f63fe1eb42f08108712002e0628ffe27f2fa93f","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"1bcec269a8416ccc48a384ca5765eaaa23f30f39f32311f50008ef4eeadafb2f","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"5317dbf2323577b89370bbee3894882b89d8333176db4f7b271ddc2f036ef43c","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"c3730792dabcc166d8fd22929ef2633d49bc626875382dfcd401e8e125fb7a84","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"68bcb71bbfccb4e8648948e494366d94767ce96f36daab9c1329375cdd32a459","src/unix/linux_like/linux/gnu/b64/mod.rs":"7bf5c9813032db77b964ccb90bdce15236ae9ea06ea185595278ea4565c21b7b","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"dbb8905e363ed4a2dfb984554ad9b6389d27f6a2d599ec2d80e38a6c7551a019","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"18edaa89c9746125863ff53182e0ef32cb1e1612e1ed9a2672558a9de85440e9","src/unix/linux_like/linux/gnu/b64/s390x.rs":"d9bb4e524e70d6fef49e0f77d89a92f478fd95d9a1aea32f4dc845275a7465d4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"26fda11bdce99372c2c246e60866b56d98beb9fb49a2f6b69347ecfd03d18255","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"5a5ce7c5c92f60d8900dce63d363a38f3126aaf5be981710e172bec96ef95ac6","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"f775ac2b754f90b63053fe22afe1d19d306b5404995568d6805baa9249fb617f","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"4ba1b58468f55254717366f50fdfd3e4114fde6dc442a56681926c4d7e5b6b0d","src/unix/linux_like/linux/gnu/mod.rs":"08c8e94116dd5bc3e78bd9118647169d6decfbab4b15c6d4f2fc378c2d802cd1","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"8fbd8e1d91f9e748755e11be5c385d9ba2c03acff741b4f75100d679cbcc44bf","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"273f58d7483c7b562725fba71ff0b1f9685258c040f7f4830032aa5f42eced23","src/unix/linux_like/linux/musl/b32/hexagon.rs":"a8811791809672be8338e6e27d1c4fcf383c2f26585be8bf9ab2923b219de032","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"33dfff5266bbc50c36d93e7b15381b9b9245031aa49e3db811b8984dd81851c0","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"bdfed99eb8beb541cc026a86eb99622687eecf603deb35204fee70f5464ad225","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"c34c06d1a2f02a761825a49ad6b37393c4f31afb9a3347de0a0c61979634b9b2","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"3f01dbb2155877208ba58908396f75c7d3f57015662acb46cb19be6b2e81310b","src/unix/linux_like/linux/musl/b64/mips64.rs":"2744895451f3a777fbe54f7f2695be53310b965fd62084c9b7e9121c7fe28346","src/unix/linux_like/linux/musl/b64/mod.rs":"d847206d9f2d594c8febe780a938cdccf40d985dafc11e90f235947735a09bac","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"028d235cb9d5af1b80e287b52373640532752ddce4812dee831948c6db4d434b","src/unix/linux_like/linux/musl/b64/s390x.rs":"38bbf839c22a07a46fd5b195812cf8a4d2966611a62213a5b4972422a7e5b8cc","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"aeb436f2575e4e34eb88b597923e480e1e8214b1c8be7f1e41d63c8a0dd9c78b","src/unix/linux_like/linux/musl/mod.rs":"bc727b710a7ba23980ad13ad95d360070759074ff5e8ee4522501d256472862e","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"e0591197f0f9ebee3addb1a439f3db4d403712a859e76066d0484ee98a9ff724","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"9b691eeec0a9bf7b2abb87e09062d2c148d18e11c96ecad0edd0b74d1d0509fd","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"18753a99b820d69e062e3ba22a63fa86577b6dcc42f740479c7be1a4c658e1be","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"4320e8731666e30f850d45d51cd59311e23cd22dad5d04b3be98a6419e70e0a1","src/unix/linux_like/linux/uclibc/mod.rs":"0438ffcfa951516cbfdbd7bdc31ccee06614d5150fd271ca6ba9ba06890041ad","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"02e21c0550a423a3f6db0a0af6a0f37cf5937feb2562a490e0ad0e09a8d9fc77","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"35e17aa16019a82bb1667c43a97ecef151c16ecb5f489793adac918e704e21de","src/unix/mod.rs":"a5fbb90b99244f04bb37dc7d79d56261f5c5a41e9a09b7958aed9a2b4882eae8","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"407fe7e3c77f4c4c129788b3888a7da5d4b7b818ed3e96abb8de8cd780f83fb6","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/newlib/xtensa/mod.rs":"08b314a27797ee27989f48f5a0e66e0d73670071ceabd341076cdce7ea67201c","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"aa2fdf95ead6cde2937f2f0e7e0c72fdf2a6827d8b1bac647d3ca79e4d409348","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"e01acc1b176e15268ac0ca4d1de50bf372ba80a465af35cd612c8f7e702baf92","src/unix/solarish/mod.rs":"be9f7a37d17a7616f6dbebd871fe4ae83612af6b582ebf153284cff1e7162334","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"9caf6ff3faad5b39c9deb8eae497a61ef15aa5e03aa409a16299e700240c3b63","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"69460feb515652ec62ff258ccba4ed46738ee472938e78a3c34cbbf7a0e865c1","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"a0752b528fe6239536b9e915806326b20dc06183f078592b7394a10f5f56a621","src/windows/msvc.rs":"ea6d87a6a9cd668261b1c043e7c36cf599e80b5d09f6e4502e85daa4797c7927","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"}
+\ No newline at end of file
+--
+2.27.0
+
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs.inc b/poky/meta/recipes-devtools/rust/libstd-rs.inc
new file mode 100644
index 0000000000..987956344a
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/libstd-rs.inc
@@ -0,0 +1,40 @@
+SUMMARY = "Rust standard libaries"
+HOMEPAGE = "http://www.rust-lang.org"
+SECTION = "devel"
+LICENSE = "MIT | Apache-2.0"
+LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
+
+RUSTLIB_DEP = ""
+inherit cargo
+
+DEPENDS:append:libc-musl = " libunwind"
+# rv32 does not have libunwind ported yet
+DEPENDS:remove:riscv32 = "libunwind"
+DEPENDS:remove:riscv64 = "libunwind"
+
+# Embed bitcode in order to allow compiling both with and without LTO
+RUSTFLAGS += "-Cembed-bitcode=yes"
+# Needed so cargo can find libbacktrace
+RUSTFLAGS += "-L ${STAGING_LIBDIR} -C link-arg=-Wl,-soname,libstd.so"
+
+S = "${RUSTSRC}/src/libstd"
+
+CARGO_FEATURES ?= "panic-unwind backtrace"
+CARGO_BUILD_FLAGS += "--features '${CARGO_FEATURES}'"
+CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"
+
+do_compile:prepend () {
+ export CARGO_TARGET_DIR="${B}"
+ # For Rust 1.13.0 and newer
+ export RUSTC_BOOTSTRAP="1"
+}
+
+do_install () {
+ mkdir -p ${D}${rustlibdir}
+
+ # With the incremental build support added in 1.24, the libstd deps directory also includes dependency
+ # files that get installed. Those are really only needed to incrementally rebuild the libstd library
+ # itself and don't need to be installed.
+ rm -f ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/*.d
+ cp ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir}
+}
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs_1.54.0.bb b/poky/meta/recipes-devtools/rust/libstd-rs_1.54.0.bb
new file mode 100644
index 0000000000..1239f6a176
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/libstd-rs_1.54.0.bb
@@ -0,0 +1,11 @@
+require rust-source-${PV}.inc
+require libstd-rs.inc
+
+SRC_URI += " \
+ file://0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch;patchdir=../../ \
+ file://0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch;patchdir=../../ \
+ file://0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch;patchdir=../../ \
+ file://0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch;patchdir=../../ \
+ "
+# libstd moved from src/libstd to library/std in 1.47+
+S = "${RUSTSRC}/library/std"
diff --git a/poky/meta/recipes-devtools/rust/rust-common.inc b/poky/meta/recipes-devtools/rust/rust-common.inc
new file mode 100644
index 0000000000..153fa3aa97
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-common.inc
@@ -0,0 +1,349 @@
+
+# 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))
+
+
+## arm-unknown-linux-gnueabihf
+DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+LLVM_TARGET[arm] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[arm] = "little"
+TARGET_POINTER_WIDTH[arm] = "32"
+TARGET_C_INT_WIDTH[arm] = "32"
+MAX_ATOMIC_WIDTH[arm] = "64"
+FEATURES[arm] = "+v6,+vfp2"
+
+## armv7-unknown-linux-gnueabihf
+DATA_LAYOUT[armv7] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+LLVM_TARGET[armv7] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[armv7] = "little"
+TARGET_POINTER_WIDTH[armv7] = "32"
+TARGET_C_INT_WIDTH[armv7] = "32"
+MAX_ATOMIC_WIDTH[armv7] = "64"
+FEATURES[armv7] = "+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"
+LLVM_TARGET[aarch64] = "${RUST_TARGET_SYS}"
+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"
+LLVM_TARGET[x86_64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[x86_64] = "little"
+TARGET_POINTER_WIDTH[x86_64] = "64"
+TARGET_C_INT_WIDTH[x86_64] = "32"
+MAX_ATOMIC_WIDTH[x86_64] = "64"
+
+## i686-unknown-linux-{gnu, musl}
+DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+LLVM_TARGET[i686] = "${RUST_TARGET_SYS}"
+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"
+LLVM_TARGET[i586] = "${RUST_TARGET_SYS}"
+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"
+LLVM_TARGET[mips] = "${RUST_TARGET_SYS}"
+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"
+LLVM_TARGET[mipsel] = "${RUST_TARGET_SYS}"
+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"
+LLVM_TARGET[mips64] = "${RUST_TARGET_SYS}"
+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"
+LLVM_TARGET[mips64el] = "${RUST_TARGET_SYS}"
+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"
+LLVM_TARGET[powerpc] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[powerpc] = "big"
+TARGET_POINTER_WIDTH[powerpc] = "32"
+TARGET_C_INT_WIDTH[powerpc] = "32"
+MAX_ATOMIC_WIDTH[powerpc] = "32"
+
+## powerpc64le-unknown-linux-{gnu, musl}
+DATA_LAYOUT[powerpc64le] = "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512"
+LLVM_TARGET[powerpc64le] = "${RUST_TARGET_SYS}"
+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"
+LLVM_TARGET[riscv32] = "${RUST_TARGET_SYS}"
+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"
+LLVM_TARGET[riscv64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[riscv64] = "little"
+TARGET_POINTER_WIDTH[riscv64] = "64"
+TARGET_C_INT_WIDTH[riscv64] = "64"
+MAX_ATOMIC_WIDTH[riscv64] = "64"
+
+def sys_for(d, thing):
+ return d.getVar('{}_SYS'.format(thing))
+
+def prefix_for(d, thing):
+ return d.getVar('{}_PREFIX'.format(thing))
+
+# 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")
+
+TARGET_LLVM_CPU="${@llvm_cpu(d)}"
+TARGET_LLVM_FEATURES = "${@llvm_features(d)}"
+
+# class-native implies TARGET=HOST, and TUNE_FEATURES only describes the real
+# (original) target.
+TARGET_LLVM_FEATURES:class-native = "${@','.join(llvm_features_from_cc_arch(d))}"
+
+def rust_gen_target(d, thing, wd, features, cpu, arch):
+ import json
+ sys = sys_for(d, thing)
+ prefix = prefix_for(d, thing)
+
+ features = features or d.getVarFlag('FEATURES', arch) or ""
+ features = features.strip()
+
+ # build tspec
+ tspec = {}
+ tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch)
+ tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch)
+ tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch))
+ tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch)
+ tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch)
+ tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch)
+ tspec['arch'] = arch_to_rust_target_arch(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['ar'] = "{}ar".format(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)
+
+python do_rust_gen_targets () {
+ wd = d.getVar('WORKDIR') + '/targets/'
+ build_arch = d.getVar('BUILD_ARCH')
+ rust_gen_target(d, 'BUILD', wd, "", "generic", build_arch)
+}
+
+addtask rust_gen_targets after do_patch before do_compile
+do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
+
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc b/poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
new file mode 100644
index 0000000000..827000f7bd
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
@@ -0,0 +1,55 @@
+
+RUST_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
+
+require rust.inc
+
+DEPENDS += "rust-llvm (=${PV})"
+
+inherit cross-canadian
+
+DEPENDS += " \
+ virtual/${HOST_PREFIX}gcc-crosssdk \
+ virtual/nativesdk-libc rust-llvm-native \
+ virtual/${TARGET_PREFIX}compilerlibs \
+ virtual/nativesdk-${HOST_PREFIX}compilerlibs \
+ gcc-cross-${TARGET_ARCH} \
+ "
+
+# The host tools are likely not to be able to do the necessary operation on
+# the target architecturea. Alternatively one could check compatibility
+# between host/target.
+EXCLUDE_FROM_SHLIBS_${RUSTLIB_TARGET_PN} = "1"
+
+DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${STAGING_DIR_HOST}= \
+ -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
+ "
+
+LLVM_TARGET[x86_64] = "${RUST_HOST_SYS}"
+python do_rust_gen_targets () {
+ wd = d.getVar('WORKDIR') + '/targets/'
+ rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_LLVM_FEATURES') or "", d.getVar('TARGET_LLVM_CPU'), d.getVar('TARGET_ARCH'))
+ rust_gen_target(d, 'HOST', wd, "", "generic", d.getVar('HOST_ARCH'))
+ rust_gen_target(d, 'BUILD', wd, "", "generic", d.getVar('BUILD_ARCH'))
+}
+
+INHIBIT_DEFAULT_RUST_DEPS = "1"
+
+export WRAPPER_TARGET_CC = "${CCACHE}${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
+export WRAPPER_TARGET_CXX = "${CCACHE}${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
+export WRAPPER_TARGET_CCLD = "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
+export WRAPPER_TARGET_LDFLAGS = "${TARGET_LDFLAGS}"
+export WRAPPER_TARGET_AR = "${TARGET_PREFIX}ar"
+
+python do_configure:prepend() {
+ targets = [d.getVar("TARGET_SYS", True), "{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
+ hosts = ["{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
+}
+
+INSANE_SKIP:${RUSTLIB_TARGET_PN} = "file-rdeps arch ldflags"
+SKIP_FILEDEPS:${RUSTLIB_TARGET_PN} = "1"
+
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc b/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc
new file mode 100644
index 0000000000..8bbbd61bdc
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-cross-canadian.inc
@@ -0,0 +1,78 @@
+
+require rust-cross-canadian-common.inc
+
+RUSTLIB_TARGET_PN = "rust-cross-canadian-rustlib-target-${TRANSLATED_TARGET_ARCH}"
+RUSTLIB_HOST_PN = "rust-cross-canadian-rustlib-host-${TRANSLATED_TARGET_ARCH}"
+RUSTLIB_SRC_PN = "rust-cross-canadian-src"
+RUSTLIB_PKGS = "${RUSTLIB_SRC_PN} ${RUSTLIB_TARGET_PN} ${RUSTLIB_HOST_PN}"
+PN = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+
+PACKAGES = "${RUSTLIB_PKGS} ${PN}"
+RDEPENDS:${PN} += "${RUSTLIB_PKGS}"
+
+# The default behaviour of x.py changed in 1.47+ so now we need to
+# explicitly ask for the stage 2 compiler to be assembled.
+do_compile () {
+ rust_runx build --stage 2
+}
+
+do_install () {
+ # Rust requires /usr/lib to contain the libs.
+ # Similar story is with /usr/bin ruquiring `lib` to be at the same level.
+ # The required structure is retained for simplicity.
+ SYS_LIBDIR=$(dirname ${D}${libdir})
+ SYS_BINDIR=$(dirname ${D}${bindir})
+ RUSTLIB_DIR=${SYS_LIBDIR}/${TARGET_SYS}/rustlib
+
+ install -d "${SYS_BINDIR}"
+ cp build/${SNAPSHOT_BUILD_SYS}/stage2/bin/* ${SYS_BINDIR}
+ for i in ${SYS_BINDIR}/*; do
+ chrpath -r "\$ORIGIN/../lib" ${i}
+ done
+
+ install -d "${D}${libdir}"
+ cp -pRd build/${SNAPSHOT_BUILD_SYS}/stage2/lib/${TARGET_SYS}/*.so ${SYS_LIBDIR}
+ cp -pRd build/${SNAPSHOT_BUILD_SYS}/stage2/lib/${TARGET_SYS}/rustlib ${RUSTLIB_DIR}
+
+ for i in ${SYS_LIBDIR}/*.so; do
+ chrpath -r "\$ORIGIN/../lib" ${i}
+ done
+ for i in ${RUSTLIB_DIR}/*/lib/*.so; do
+ chrpath -d ${i}
+ done
+
+ install -m 0644 "${WORKDIR}/targets/${TARGET_SYS}.json" "${RUSTLIB_DIR}"
+
+ SRC_DIR=${RUSTLIB_DIR}/src/rust
+ install -d ${SRC_DIR}/src/llvm-project
+ cp -R --no-dereference build/${SNAPSHOT_BUILD_SYS}/stage2/lib/rustlib/src/rust/src/llvm-project/libunwind ${SRC_DIR}/src/llvm-project
+ cp -R --no-dereference build/${SNAPSHOT_BUILD_SYS}/stage2/lib/rustlib/src/rust/library ${SRC_DIR}
+ cp --no-dereference build/${SNAPSHOT_BUILD_SYS}/stage2/lib/rustlib/src/rust/Cargo.lock ${SRC_DIR}
+ # Remove executable bit from any files so then SDK doesn't try to relocate.
+ chmod -R -x+X ${SRC_DIR}
+
+ ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
+ mkdir "${ENV_SETUP_DIR}"
+ ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
+
+ cat <<- EOF > "${ENV_SETUP_SH}"
+ export RUSTFLAGS="--sysroot=\$OECORE_NATIVE_SYSROOT/usr -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT -L\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib/${TARGET_SYS}/lib"
+ export RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib"
+ EOF
+
+ chown -R root.root ${D}
+}
+
+PKG_SYS_LIBDIR = "${SDKPATHNATIVE}/usr/lib"
+PKG_SYS_BINDIR = "${SDKPATHNATIVE}/usr/bin"
+PKG_RUSTLIB_DIR = "${PKG_SYS_LIBDIR}/${TARGET_SYS}/rustlib"
+FILES:${PN} = "${PKG_SYS_LIBDIR}/*.so ${PKG_SYS_BINDIR} ${base_prefix}/environment-setup.d"
+FILES:${RUSTLIB_TARGET_PN} = "${PKG_RUSTLIB_DIR}/${TARGET_SYS} ${PKG_RUSTLIB_DIR}/${TARGET_SYS}.json"
+FILES:${RUSTLIB_HOST_PN} = "${PKG_RUSTLIB_DIR}/${BUILD_ARCH}-unknown-linux-gnu"
+FILES:${RUSTLIB_SRC_PN} = "${PKG_RUSTLIB_DIR}/src"
+
+SUMMARY:${RUSTLIB_TARGET_PN} = "Rust cross canadian libaries for ${TARGET_SYS}"
+SUMMARY:${RUSTLIB_HOST_PN} = "Rust cross canadian libaries for ${HOST_SYS}"
+SUMMARY:${RUSTLIB_SRC_PN} = "Rust standard library sources for cross canadian toolchain"
+SUMMARY:${PN} = "Rust crost canadian compiler"
+
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb b/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb
new file mode 100644
index 0000000000..a5d02eb8d7
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb
@@ -0,0 +1,6 @@
+require rust-cross-canadian.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/rust:"
+
diff --git a/poky/meta/recipes-devtools/rust/rust-cross.inc b/poky/meta/recipes-devtools/rust/rust-cross.inc
new file mode 100644
index 0000000000..bee7c9f12f
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-cross.inc
@@ -0,0 +1,71 @@
+require rust.inc
+inherit cross
+
+python do_rust_gen_targets () {
+ wd = d.getVar('WORKDIR') + '/targets/'
+ # It is important 'TARGET' is last here so that it overrides our less
+ # informed choices for BUILD & HOST if TARGET happens to be the same as
+ # either of them.
+ for thing in ['BUILD', 'HOST', 'TARGET']:
+ bb.debug(1, "rust_gen_target for " + thing)
+ features = ""
+ cpu = "generic"
+ arch = d.getVar('{}_ARCH'.format(thing))
+ if thing is "TARGET":
+ # arm and armv7 have different targets in llvm
+ if arch == "arm" and target_is_armv7(d):
+ arch = 'armv7'
+ features = d.getVar('TARGET_LLVM_FEATURES') or ""
+ cpu = d.getVar('TARGET_LLVM_CPU')
+ rust_gen_target(d, thing, wd, features, cpu, arch)
+}
+
+# Otherwise we'll depend on what we provide
+INHIBIT_DEFAULT_RUST_DEPS = "1"
+
+# Unlike native (which nicely maps it's DEPENDS) cross wipes them out completely.
+# Generally, we (and cross in general) need the same things that native needs,
+# so it might make sense to take it's mapping. For now, though, we just mention
+# the bits we need explicitly.
+DEPENDS += "rust-llvm-native"
+DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc"
+DEPENDS += "rust-native"
+
+PROVIDES = "virtual/${TARGET_PREFIX}rust"
+PN = "rust-cross-${TARGET_ARCH}"
+
+# In the cross compilation case, rustc doesn't seem to get the rpath quite
+# right. It manages to include '../../lib/${TARGET_PREFIX}', but doesn't
+# include the '../../lib' (ie: relative path from cross_bindir to normal
+# libdir. As a result, we end up not being able to properly reference files in normal ${libdir}.
+# Most of the time this happens to work fine as the systems libraries are
+# subsituted, but sometimes a host system will lack a library, or the right
+# version of a library (libtinfo was how I noticed this).
+#
+# FIXME: this should really be fixed in rust itself.
+# FIXME: using hard-coded relative paths is wrong, we should ask bitbake for
+# the relative path between 2 of it's vars.
+HOST_POST_LINK_ARGS:append = " -Wl,-rpath=../../lib"
+BUILD_POST_LINK_ARGS:append = " -Wl,-rpath=../../lib"
+
+# We need the same thing for the calls to the compiler when building the runtime crap
+TARGET_CC_ARCH:append = " --sysroot=${STAGING_DIR_TARGET}"
+
+do_rust_setup_snapshot () {
+}
+
+do_configure () {
+}
+
+do_compile () {
+}
+
+do_install () {
+ mkdir -p ${D}${prefix}/${base_libdir_native}/rustlib
+ cp ${WORKDIR}/targets/${TARGET_SYS}.json ${D}${prefix}/${base_libdir_native}/rustlib
+}
+
+rust_cross_sysroot_preprocess() {
+ sysroot_stage_dir ${D}${prefix}/${base_libdir_native}/rustlib ${SYSROOT_DESTDIR}${prefix}/${base_libdir_native}/rustlib
+}
+SYSROOT_PREPROCESS_FUNCS += "rust_cross_sysroot_preprocess"
diff --git a/poky/meta/recipes-devtools/rust/rust-cross_1.54.0.bb b/poky/meta/recipes-devtools/rust/rust-cross_1.54.0.bb
new file mode 100644
index 0000000000..ddc25d36b5
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-cross_1.54.0.bb
@@ -0,0 +1,2 @@
+require rust-cross.inc
+require rust-source-${PV}.inc
diff --git a/poky/meta/recipes-devtools/rust/rust-llvm.inc b/poky/meta/recipes-devtools/rust/rust-llvm.inc
new file mode 100644
index 0000000000..d7f445385b
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-llvm.inc
@@ -0,0 +1,64 @@
+SUMMARY = "LLVM compiler framework (packaged with rust)"
+LICENSE ?= "Apache-2.0-with-LLVM-exception"
+HOMEPAGE = "http://www.rust-lang.org"
+
+SRC_URI += "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2"
+
+S = "${RUSTSRC}/src/llvm-project/llvm"
+
+LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
+
+inherit cmake python3native
+
+DEPENDS += "ninja-native rust-llvm-native"
+
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4t = "arm"
+
+LLVM_DIR = "llvm${LLVM_RELEASE}"
+
+EXTRA_OECMAKE = " \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DLLVM_TARGETS_TO_BUILD='ARM;AArch64;Mips;PowerPC;RISCV;X86' \
+ -DLLVM_BUILD_DOCS=OFF \
+ -DLLVM_ENABLE_TERMINFO=OFF \
+ -DLLVM_ENABLE_ZLIB=OFF \
+ -DLLVM_ENABLE_LIBXML2=OFF \
+ -DLLVM_ENABLE_FFI=OFF \
+ -DLLVM_INSTALL_UTILS=ON \
+ -DLLVM_BUILD_EXAMPLES=OFF \
+ -DLLVM_INCLUDE_EXAMPLES=OFF \
+ -DLLVM_BUILD_TESTS=OFF \
+ -DLLVM_INCLUDE_TESTS=OFF \
+ -DLLVM_TARGET_ARCH=${TARGET_ARCH} \
+ -DCMAKE_INSTALL_PREFIX:PATH=${libdir}/llvm-rust \
+"
+EXTRA_OECMAKE:append:class-target = "\
+ -DCMAKE_CROSSCOMPILING:BOOL=ON \
+ -DLLVM_BUILD_TOOLS=OFF \
+ -DLLVM_TABLEGEN=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-tblgen \
+ -DLLVM_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config \
+"
+
+# The debug symbols are huge here (>2GB) so suppress them since they
+# provide almost no value. If you really need them then override this
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
+
+do_install:append () {
+ # we don't need any of this stuff to build Rust
+ rm -rf "${D}/usr/lib/cmake"
+}
+
+PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liblto"
+
+# Add the extra locations to avoid the complaints about unpackaged files
+FILES:${PN}-bugpointpasses = "${libdir}/llvm-rust/lib/BugpointPasses.so"
+FILES:${PN}-llvmhello = "${libdir}/llvm-rust/lib/LLVMHello.so"
+FILES:${PN}-liblto = "${libdir}/llvm-rust/lib/libLTO.so.*"
+FILES:${PN}-staticdev =+ "${libdir}/llvm-rust/*/*.a"
+FILES:${PN} += "${libdir}/libLLVM*.so.* ${libdir}/llvm-rust/lib/*.so.* ${libdir}/llvm-rust/bin"
+FILES:${PN}-dev += "${datadir}/llvm ${libdir}/llvm-rust/lib/*.so ${libdir}/llvm-rust/include ${libdir}/llvm-rust/share ${libdir}/llvm-rust/lib/cmake"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch b/poky/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch
new file mode 100644
index 0000000000..943c2118bb
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch
@@ -0,0 +1,32 @@
+From 7111770e8290082530d920e120995bf81431b0aa Mon Sep 17 00:00:00 2001
+From: Martin Kelly <mkelly@xevo.com>
+Date: Fri, 19 May 2017 00:22:57 -0700
+Subject: [PATCH 12/18] llvm: allow env override of exe path
+
+When using a native llvm-config from inside a sysroot, we need llvm-config to
+return the libraries, include directories, etc. from inside the sysroot rather
+than from the native sysroot. Thus provide an env override for calling
+llvm-config from a target sysroot.
+
+Signed-off-by: Martin Kelly <mkelly@xevo.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ llvm/tools/llvm-config/llvm-config.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/llvm/tools/llvm-config/llvm-config.cpp
++++ b/llvm/tools/llvm-config/llvm-config.cpp
+@@ -226,6 +226,13 @@ Typical components:\n\
+
+ /// Compute the path to the main executable.
+ std::string GetExecutablePath(const char *Argv0) {
++ // Hack for Yocto: we need to override the root path when we are using
++ // llvm-config from within a target sysroot.
++ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH");
++ if (Sysroot != nullptr) {
++ return Sysroot;
++ }
++
+ // This just needs to be some symbol in the binary; C++ doesn't
+ // allow taking the address of ::main however.
+ void *P = (void *)(intptr_t)GetExecutablePath;
diff --git a/poky/meta/recipes-devtools/rust/rust-llvm_1.54.0.bb b/poky/meta/recipes-devtools/rust/rust-llvm_1.54.0.bb
new file mode 100644
index 0000000000..81b2bd12b7
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-llvm_1.54.0.bb
@@ -0,0 +1,5 @@
+# check src/llvm-project/llvm/CMakeLists.txt for llvm version in use
+#
+LLVM_RELEASE = "12.0.1"
+require rust-source-${PV}.inc
+require rust-llvm.inc
diff --git a/poky/meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc b/poky/meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc
new file mode 100644
index 0000000000..598f4ed109
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc
@@ -0,0 +1,18 @@
+require rust-snapshot.inc
+
+## This is information on the rust-snapshot (binary) used to build our current release.
+## snapshot info is taken from rust/src/stage0.txt
+## TODO: find a way to add additional SRC_URIs based on the contents of an
+## earlier SRC_URI.
+RS_VERSION = "1.53.0"
+CARGO_VERSION = "1.53.0"
+
+# TODO: Add hashes for other architecture toolchains as well. Make a script?
+SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "66d5257bbd194db08e67ca63a74cc80cdc4a36eaa30bf7dfe65861d9deaff7f7"
+SRC_URI[rustc-snapshot-x86_64.sha256sum] = "9c2f0443a546dd18f1f020c7711a7b9864432545ceb812e79315c1e76508b193"
+SRC_URI[cargo-snapshot-x86_64.sha256sum] = "e4437f6c83574fc60e183f4df439190f7610e4a669476802795645da66fbb83b"
+
+SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "fc261d0ff057c58b36057c30217bad1a29a9a3f257c70f5df88ad3f1d982386e"
+SRC_URI[rustc-snapshot-aarch64.sha256sum] = "a857e5c615f6b5b3afc6b707ae007b3b4624585b0b2ba9b38b553114db37f8d5"
+SRC_URI[cargo-snapshot-aarch64.sha256sum] = "4fa425a2d4633aeca67fa42695b3b9100f8b988dd1c21e60d6b2aa1164e55c0c"
+
diff --git a/poky/meta/recipes-devtools/rust/rust-snapshot.inc b/poky/meta/recipes-devtools/rust/rust-snapshot.inc
new file mode 100644
index 0000000000..79d03afd1b
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-snapshot.inc
@@ -0,0 +1,9 @@
+SRC_URI += " \
+ https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
+ https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.xz;name=rustc-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
+ https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.xz;name=cargo-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
+"
+
+RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
+RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
+CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
diff --git a/poky/meta/recipes-devtools/rust/rust-source-1.54.0.inc b/poky/meta/recipes-devtools/rust/rust-source-1.54.0.inc
new file mode 100644
index 0000000000..335c7ceb45
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-source-1.54.0.inc
@@ -0,0 +1,3 @@
+require rust-source.inc
+
+SRC_URI[rust.sha256sum] = "a2934f85f76a35a3796c0fefd31e91f5b6dd8377cd8c3769c1c10e7ce7a495f4"
diff --git a/poky/meta/recipes-devtools/rust/rust-source.inc b/poky/meta/recipes-devtools/rust/rust-source.inc
new file mode 100644
index 0000000000..1529ecfafe
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-source.inc
@@ -0,0 +1,6 @@
+SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
+
+RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
+
+UPSTREAM_CHECK_URI = "https://forge.rust-lang.org/infra/other-installation-methods.html"
+UPSTREAM_CHECK_REGEX = "rustc-(?P<pver>\d+(\.\d+)+)-src"
diff --git a/poky/meta/recipes-devtools/rust/rust-target.inc b/poky/meta/recipes-devtools/rust/rust-target.inc
new file mode 100644
index 0000000000..3f637b3ba5
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-target.inc
@@ -0,0 +1,10 @@
+require rust.inc
+
+DEPENDS += "rust-llvm (=${PV})"
+
+# Otherwise we'll depend on what we provide
+INHIBIT_DEFAULT_RUST_DEPS:class-native = "1"
+# We don't need to depend on gcc-native because yocto assumes it exists
+PROVIDES:class-native = "virtual/${TARGET_PREFIX}rust"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc b/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc
new file mode 100644
index 0000000000..f0358551ae
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc
@@ -0,0 +1,38 @@
+
+require rust-cross-canadian-common.inc
+
+RUST_TOOLS_CLIPPY_PN = "rust-tools-clippy-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+RUST_TOOLS_RUSTFMT_PN = "rust-tools-rustfmt-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+RUST_TOOLS_PKGS = "${RUST_TOOLS_CLIPPY_PN} ${RUST_TOOLS_RUSTFMT_PN}"
+PN = "rust-tools-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+
+PACKAGES = "${RUST_TOOLS_CLIPPY_PN} ${RUST_TOOLS_RUSTFMT_PN} ${PN}"
+RDEPENDS:${PN} += "${RUST_TOOLS_PKGS}"
+
+do_compile () {
+ rust_runx build --stage 2 src/tools/clippy
+ rust_runx build --stage 2 src/tools/rustfmt
+}
+
+do_install () {
+ SYS_BINDIR=$(dirname ${D}${bindir})
+
+ install -d "${SYS_BINDIR}"
+ cp build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/* ${SYS_BINDIR}
+ for i in ${SYS_BINDIR}/*; do
+ chrpath -r "\$ORIGIN/../lib" ${i}
+ done
+
+ chown -R root.root ${D}
+}
+
+ALLOW_EMPTY:${PN} = "1"
+
+PKG_SYS_BINDIR = "${SDKPATHNATIVE}/usr/bin"
+FILES:${RUST_TOOLS_CLIPPY_PN} = "${PKG_SYS_BINDIR}/cargo-clippy ${PKG_SYS_BINDIR}/clippy-driver"
+FILES:${RUST_TOOLS_RUSTFMT_PN} = "${PKG_SYS_BINDIR}/rustfmt"
+
+SUMMARY:${PN} = "Rust helper tools"
+SUMMARY:${RUST_TOOLS_CLIPPY_PN} = "A collection of lints to catch common mistakes and improve your Rust code"
+SUMMARY:${RUST_TOOLS_RUSTFMT_PN} = "A tool for formatting Rust code according to style guidelines"
+
diff --git a/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb b/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb
new file mode 100644
index 0000000000..053147ba46
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb
@@ -0,0 +1,6 @@
+require rust-tools-cross-canadian.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/rust:"
+
diff --git a/poky/meta/recipes-devtools/rust/rust.inc b/poky/meta/recipes-devtools/rust/rust.inc
new file mode 100644
index 0000000000..dc92cf5fd0
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust.inc
@@ -0,0 +1,201 @@
+SUMMARY = "Rust compiler and runtime libaries"
+HOMEPAGE = "http://www.rust-lang.org"
+SECTION = "devel"
+LICENSE = "MIT | Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
+
+inherit rust
+inherit cargo_common
+
+DEPENDS += "file-native python3-native"
+DEPENDS:append:class-native = " rust-llvm-native"
+
+S = "${RUSTSRC}"
+
+# We generate local targets, and need to be able to locate them
+export RUST_TARGET_PATH="${WORKDIR}/targets/"
+
+export FORCE_CRATE_HASH="${BB_TASKHASH}"
+
+RUST_ALTERNATE_EXE_PATH ?= "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
+export YOCTO_ALTERNATE_EXE_PATH = "${RUST_ALTERNATE_EXE_PATH}"
+export YOCTO_ALTERNATE_MULTILIB_NAME = "/${BASELIB}"
+
+# We don't want to use bitbakes vendoring because the rust sources do their
+# own vendoring.
+CARGO_DISABLE_BITBAKE_VENDORING = "1"
+
+# We can't use RUST_BUILD_SYS here because that may be "musl" if
+# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
+SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
+setup_cargo_environment () {
+ # The first step is to build bootstrap and some early stage tools,
+ # these are build for the same target as the snapshot, e.g.
+ # x86_64-unknown-linux-gnu.
+ # Later stages are build for the native target (i.e. target.x86_64-linux)
+ cargo_common_do_configure
+
+ printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
+ printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
+}
+
+include rust-common.inc
+
+do_rust_setup_snapshot () {
+ for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
+ "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
+ done
+
+ # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
+ # and fail without it there.
+ mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
+ ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
+
+ # Need to use uninative's loader if enabled/present since the library paths
+ # are used internally by rust and result in symbol mismatches if we don't
+ if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then
+ for bin in cargo rustc rustdoc; do
+ patchelf-uninative ${WORKDIR}/rust-snapshot/bin/$bin --set-interpreter ${UNINATIVE_LOADER}
+ done
+ fi
+}
+addtask rust_setup_snapshot after do_unpack before do_configure
+do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
+
+python do_configure() {
+ import json
+ try:
+ import configparser
+ except ImportError:
+ import ConfigParser as configparser
+
+ # toml is rather similar to standard ini like format except it likes values
+ # that look more JSON like. So for our purposes simply escaping all values
+ # as JSON seem to work fine.
+
+ e = lambda s: json.dumps(s)
+
+ config = configparser.RawConfigParser()
+
+ # [target.ARCH-poky-linux]
+ target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
+ config.add_section(target_section)
+
+ llvm_config = d.expand("${YOCTO_ALTERNATE_EXE_PATH}")
+ config.set(target_section, "llvm-config", e(llvm_config))
+
+ config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+ config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+
+ # If we don't do this rust-native will compile it's own llvm for BUILD.
+ # [target.${BUILD_ARCH}-unknown-linux-gnu]
+ target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
+ config.add_section(target_section)
+
+ config.set(target_section, "llvm-config", e(llvm_config))
+
+ config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
+ config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+
+ # [rust]
+ config.add_section("rust")
+ config.set("rust", "rpath", e(True))
+ config.set("rust", "channel", e("stable"))
+
+ # Whether or not to optimize the compiler and standard library
+ config.set("rust", "optimize", e(True))
+
+ # [build]
+ config.add_section("build")
+ config.set("build", "submodules", e(False))
+ config.set("build", "docs", e(False))
+
+ rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
+ config.set("build", "rustc", e(rustc))
+
+ # Support for the profiler runtime to generate e.g. coverage report,
+ # PGO etc.
+ config.set("build", "profiler", e(True))
+
+ cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
+ config.set("build", "cargo", e(cargo))
+
+ config.set("build", "vendor", e(True))
+
+ if not "targets" in locals():
+ targets = [d.getVar("TARGET_SYS", True)]
+ config.set("build", "target", e(targets))
+
+ if not "hosts" in locals():
+ hosts = [d.getVar("HOST_SYS", True)]
+ config.set("build", "host", e(hosts))
+
+ # We can't use BUILD_SYS since that is something the rust snapshot knows
+ # nothing about when trying to build some stage0 tools (like fabricate)
+ config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
+
+ # [install]
+ config.add_section("install")
+ # ./x.py install doesn't have any notion of "destdir"
+ # but we can prepend ${D} to all the directories instead
+ config.set("install", "prefix", e(d.getVar("D", True) + d.getVar("prefix", True)))
+ config.set("install", "bindir", e(d.getVar("D", True) + d.getVar("bindir", True)))
+ config.set("install", "libdir", e(d.getVar("D", True) + d.getVar("libdir", True)))
+ config.set("install", "datadir", e(d.getVar("D", True) + d.getVar("datadir", True)))
+ config.set("install", "mandir", e(d.getVar("D", True) + d.getVar("mandir", True)))
+
+ with open("config.toml", "w") as f:
+ f.write('changelog-seen = 2\n\n')
+ config.write(f)
+
+ # set up ${WORKDIR}/cargo_home
+ bb.build.exec_func("setup_cargo_environment", d)
+}
+
+
+rust_runx () {
+ echo "COMPILE ${PN}" "$@"
+
+ # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
+ # wide range of targets (not just TARGET). Yocto's settings for them will
+ # be inappropriate, avoid using.
+ unset CFLAGS
+ unset LDFLAGS
+ unset CXXFLAGS
+ unset CPPFLAGS
+
+ oe_cargo_fix_env
+
+ python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
+}
+rust_runx[vardepsexclude] += "PARALLEL_MAKE"
+
+do_compile () {
+ rust_runx build
+}
+
+rust_do_install () {
+ mkdir -p ${D}${bindir}
+ cp build/${HOST_SYS}/stage2/bin/* ${D}${bindir}
+
+ mkdir -p ${D}${libdir}/rustlib
+ cp -pRd build/${HOST_SYS}/stage2/lib/* ${D}${libdir}
+ # Remove absolute symlink so bitbake doesn't complain
+ rm -f ${D}${libdir}/rustlib/src/rust
+}
+
+rust_install_targets() {
+ # Install our custom target.json files
+ local td="${D}${libdir}/rustlib/"
+ install -d "$td"
+ for tgt in "${WORKDIR}/targets/"* ; do
+ install -m 0644 "$tgt" "$td"
+ done
+}
+
+
+do_install () {
+ rust_do_install
+ rust_install_targets
+}
+# ex: sts=4 et sw=4 ts=8
diff --git a/poky/meta/recipes-devtools/rust/rust_1.54.0.bb b/poky/meta/recipes-devtools/rust/rust_1.54.0.bb
new file mode 100644
index 0000000000..e7d8d70c26
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust_1.54.0.bb
@@ -0,0 +1,20 @@
+require rust-target.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
+
+INSANE_SKIP:${PN}:class-native = "already-stripped"
+
+do_compile () {
+ rust_runx build --stage 2
+}
+
+rust_do_install() {
+ rust_runx install
+}
+
+python () {
+ pn = d.getVar('PN')
+
+ if not pn.endswith("-native"):
+ raise bb.parse.SkipRecipe("Rust recipe doesn't work for target builds at this time. Fixes welcome.")
+}
diff --git a/poky/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch b/poky/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch
deleted file mode 100644
index fc881862ea..0000000000
--- a/poky/meta/recipes-devtools/squashfs-tools/files/0001-squashfs-tools-fix-build-failure-against-gcc-10.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 94e1911ca24726b7cb3efe2f8b9eb7a784757e18 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Sun, 26 Jan 2020 18:35:13 +0000
-Subject: [PATCH] squashfs-tools: fix build failure against gcc-10
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-On gcc-10 (and gcc-9 -fno-common) build fails as:
-
-```
-cc ... -o mksquashfs
-ld: read_fs.o:(.bss+0x0):
- multiple definition of `fwriter_buffer'; mksquashfs.o:(.bss+0x400c90): first defined here
-ld: read_fs.o:(.bss+0x8):
- multiple definition of `bwriter_buffer'; mksquashfs.o:(.bss+0x400c98): first defined here
-```
-
-gcc-10 will change the default from -fcommon to fno-common:
-https://gcc.gnu.org/PR85678.
-
-The error also happens if CFLAGS=-fno-common passed explicitly.
-
-Reported-by: Toralf Förster
-Bug: https://bugs.gentoo.org/706456
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
-Upstream-Status: Backport [https://github.com/plougher/squashfs-tools/commit/fe2f5da4b0f8994169c53e84b7cb8a0feefc97b5]
----
- squashfs-tools/mksquashfs.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/squashfs-tools/mksquashfs.h b/squashfs-tools/mksquashfs.h
-index 1beefef..b650306 100644
---- a/squashfs-tools/mksquashfs.h
-+++ b/squashfs-tools/mksquashfs.h
-@@ -143,7 +143,7 @@ struct append_file {
- #endif
-
- extern struct cache *reader_buffer, *fragment_buffer, *reserve_cache;
--struct cache *bwriter_buffer, *fwriter_buffer;
-+extern struct cache *bwriter_buffer, *fwriter_buffer;
- extern struct queue *to_reader, *to_deflate, *to_writer, *from_writer,
- *to_frag, *locked_fragment, *to_process_frag;
- extern struct append_file **file_mapping;
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
new file mode 100644
index 0000000000..b505f05735
--- /dev/null
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch
@@ -0,0 +1,34 @@
+From c9e263a7add76df1ed92e879d964264067c0f6e8 Mon Sep 17 00:00:00 2001
+From: Patrick McCarty <patrick.mccarty@intel.com>
+Date: Mon, 26 Jul 2021 11:38:43 -0700
+Subject: [PATCH] Avoid use of INSTALL_DIR for symlink targets
+
+In case INSTALL_DIR is overridden with a staged install location, using
+INSTALL_DIR for the symlink target path prefix will yield an incorrect location
+for the final installation.
+
+Because the symlink itself is already installed to INSTALL_DIR, simply removing
+the INSTALL_DIR prefix suffices as a fix.
+
+Note that using $DESTDIR/$INSTALL_DIR where appropriate can avoid this type of
+issue, but that can be considered a future enhancement.
+
+Upstream-Status: Backport
+Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ squashfs-tools/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/squashfs-tools/Makefile b/squashfs-tools/Makefile
+index 5795d0d..998c5fd 100755
+--- a/Makefile
++++ b/Makefile
+@@ -406,5 +406,5 @@ install: mksquashfs unsquashfs
+ mkdir -p $(INSTALL_DIR)
+ cp mksquashfs $(INSTALL_DIR)
+ cp unsquashfs $(INSTALL_DIR)
+- ln -fs $(INSTALL_DIR)/unsquashfs $(INSTALL_DIR)/sqfscat
+- ln -fs $(INSTALL_DIR)/mksquashfs $(INSTALL_DIR)/sqfstar
++ ln -fs unsquashfs $(INSTALL_DIR)/sqfscat
++ ln -fs mksquashfs $(INSTALL_DIR)/sqfstar
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index 1a9e8f108b..c78f446711 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -7,17 +7,17 @@ SECTION = "base"
LICENSE = "GPL-2"
LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-PV = "4.4"
-SRCREV = "52eb4c279cd283ed9802dd1ceb686560b22ffb67"
+PV = "4.5"
+SRCREV = "0496d7c3de3e09da37ba492081c86159806ebb07"
SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https \
- file://0001-squashfs-tools-fix-build-failure-against-gcc-10.patch;striplevel=2 \
-"
+ file://0001-Avoid-use-of-INSTALL_DIR-for-symlink-targets.patch \
+ "
S = "${WORKDIR}/git/squashfs-tools"
EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
-PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr reproducible"
+PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd reproducible"
PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib"
PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz"
PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo"
diff --git a/poky/meta/recipes-devtools/swig/swig.inc b/poky/meta/recipes-devtools/swig/swig.inc
index eb8d723158..e8562a91bb 100644
--- a/poky/meta/recipes-devtools/swig/swig.inc
+++ b/poky/meta/recipes-devtools/swig/swig.inc
@@ -3,7 +3,7 @@ DESCRIPTION = "SWIG is a compiler that makes it easy to integrate C and C++ \
code with other languages including Perl, Tcl, Ruby, Python, Java, Guile, \
Mzscheme, Chicken, OCaml, Pike, and C#."
HOMEPAGE = "http://swig.sourceforge.net/"
-LICENSE = "BSD & GPLv3"
+LICENSE = "BSD-3-Clause & GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \
file://LICENSE-GPL;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE-UNIVERSITIES;md5=8ce9dcc8f7c994de4a408b205c72ba08"
diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
index 48e6e02f05..c186db6814 100644
--- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
+++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
@@ -10,7 +10,7 @@ SRCREV = "a022ef2f1acfd9209a1bf792dda14ae4b0d1b60f"
PV = "1.7.0+git${SRCPV}"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
-SRC_URI = "git://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent \
+SRC_URI = "git://git.eclipse.org/r/tcf/org.eclipse.tcf.agent.git;protocol=https \
file://fix_ranlib.patch \
file://ldflags.patch \
file://tcf-agent.init \
diff --git a/poky/meta/recipes-devtools/vala/vala_0.52.4.bb b/poky/meta/recipes-devtools/vala/vala_0.52.5.bb
index 8e2869d408..2f78c4a447 100644
--- a/poky/meta/recipes-devtools/vala/vala_0.52.4.bb
+++ b/poky/meta/recipes-devtools/vala/vala_0.52.5.bb
@@ -2,4 +2,4 @@ require ${BPN}.inc
SRC_URI += " file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch"
-SRC_URI[sha256sum] = "ecde520e5160e659ee699f8b1cdc96065edbd44bbd08eb48ef5f2506751fdf31"
+SRC_URI[sha256sum] = "84a1bb312b3e5dcae4b7b25c45598d375e2cb69233cefb59a15d2350c76bdd91"
diff --git a/poky/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch b/poky/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch
new file mode 100644
index 0000000000..56ef9e73e6
--- /dev/null
+++ b/poky/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch
@@ -0,0 +1,23 @@
+From fa40b874f6470ec11a8fd7b0c9909d0cdd2d6feb Mon Sep 17 00:00:00 2001
+From: Dan Callaghan <dan.callaghan@opengear.com>
+Date: Fri, 5 Feb 2021 08:56:34 +1000
+Subject: [PATCH] enable LTO
+
+---
+ Cargo.toml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index 7a2f6c8..cdb6b5d 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -3,3 +3,6 @@
+ name = "rust-hello-world"
+ version = "0.0.1"
+ authors = ["Cody P Schafer <dev@codyps.com>"]
++
++[profile.release]
++lto = true
+--
+2.28.0
+
diff --git a/poky/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb b/poky/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb
new file mode 100644
index 0000000000..3ebd9cc661
--- /dev/null
+++ b/poky/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb
@@ -0,0 +1,19 @@
+inherit cargo
+
+SRC_URI = "git://github.com/meta-rust/rust-hello-world.git;protocol=https"
+SRCREV="e0fa23f1a3cb1eb1407165bd2fc36d2f6e6ad728"
+LIC_FILES_CHKSUM="file://COPYRIGHT;md5=e6b2207ac3740d2d01141c49208c2147"
+
+SRC_URI += "\
+ file://0001-enable-LTO.patch \
+ "
+
+UPSTREAM_CHECK_COMMITS = "1"
+
+SUMMARY = "Hello World by Cargo for Rust"
+HOMEPAGE = "https://github.com/meta-rust/rust-hello-world"
+LICENSE = "MIT | Apache-2.0"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-example/rustfmt/rustfmt_1.4.2.bb b/poky/meta/recipes-example/rustfmt/rustfmt_1.4.2.bb
new file mode 100644
index 0000000000..2e4a47eb00
--- /dev/null
+++ b/poky/meta/recipes-example/rustfmt/rustfmt_1.4.2.bb
@@ -0,0 +1,171 @@
+# Auto-Generated by cargo-bitbake 0.3.13
+#
+inherit cargo
+
+# If this is git based prefer versioned ones if they exist
+# DEFAULT_PREFERENCE = "-1"
+
+# how to get rustfmt-nightly could be as easy as but default to a git checkout:
+# SRC_URI += "crate://crates.io/rustfmt-nightly/1.4.2"
+SRC_URI += "git://github.com/rust-lang/rustfmt.git;protocol=https;nobranch=1"
+SRCREV = "aeb3496f31a0dfa90fc511520d2023634e885260"
+S = "${WORKDIR}/git"
+CARGO_SRC_DIR = ""
+EXCLUDE_FROM_WORLD = "1"
+
+# please note if you have entries that do not begin with crate://
+# you must change them to how that package can be fetched
+SRC_URI += " \
+ crate://crates.io/aho-corasick/0.7.4 \
+ crate://crates.io/annotate-snippets/0.6.1 \
+ crate://crates.io/ansi_term/0.11.0 \
+ crate://crates.io/argon2rs/0.2.5 \
+ crate://crates.io/arrayvec/0.4.11 \
+ crate://crates.io/atty/0.2.13 \
+ crate://crates.io/autocfg/0.1.5 \
+ crate://crates.io/backtrace-sys/0.1.31 \
+ crate://crates.io/backtrace/0.3.33 \
+ crate://crates.io/bitflags/1.1.0 \
+ crate://crates.io/blake2-rfc/0.2.18 \
+ crate://crates.io/bstr/0.2.6 \
+ crate://crates.io/bytecount/0.5.1 \
+ crate://crates.io/byteorder/1.3.2 \
+ crate://crates.io/c2-chacha/0.2.2 \
+ crate://crates.io/cargo_metadata/0.8.1 \
+ crate://crates.io/cc/1.0.38 \
+ crate://crates.io/cfg-if/0.1.9 \
+ crate://crates.io/clap/2.33.0 \
+ crate://crates.io/cloudabi/0.0.3 \
+ crate://crates.io/constant_time_eq/0.1.3 \
+ crate://crates.io/crossbeam-channel/0.3.9 \
+ crate://crates.io/crossbeam-deque/0.2.0 \
+ crate://crates.io/crossbeam-epoch/0.3.1 \
+ crate://crates.io/crossbeam-utils/0.2.2 \
+ crate://crates.io/crossbeam-utils/0.6.6 \
+ crate://crates.io/derive-new/0.5.7 \
+ crate://crates.io/diff/0.1.11 \
+ crate://crates.io/dirs-sys/0.3.3 \
+ crate://crates.io/dirs/2.0.1 \
+ crate://crates.io/either/1.5.2 \
+ crate://crates.io/ena/0.13.0 \
+ crate://crates.io/env_logger/0.6.2 \
+ crate://crates.io/failure/0.1.5 \
+ crate://crates.io/failure_derive/0.1.5 \
+ crate://crates.io/fnv/1.0.6 \
+ crate://crates.io/fuchsia-cprng/0.1.1 \
+ crate://crates.io/getopts/0.2.19 \
+ crate://crates.io/getrandom/0.1.6 \
+ crate://crates.io/globset/0.4.4 \
+ crate://crates.io/heck/0.3.1 \
+ crate://crates.io/humantime/1.2.0 \
+ crate://crates.io/ignore/0.4.8 \
+ crate://crates.io/indexmap/1.0.2 \
+ crate://crates.io/itertools/0.8.0 \
+ crate://crates.io/itoa/0.4.4 \
+ crate://crates.io/jobserver/0.1.16 \
+ crate://crates.io/lazy_static/1.3.0 \
+ crate://crates.io/libc/0.2.60 \
+ crate://crates.io/lock_api/0.1.5 \
+ crate://crates.io/log/0.4.7 \
+ crate://crates.io/memchr/2.2.1 \
+ crate://crates.io/memoffset/0.2.1 \
+ crate://crates.io/nodrop/0.1.13 \
+ crate://crates.io/num_cpus/1.10.1 \
+ crate://crates.io/owning_ref/0.4.0 \
+ crate://crates.io/packed_simd/0.3.3 \
+ crate://crates.io/parking_lot/0.7.1 \
+ crate://crates.io/parking_lot_core/0.4.0 \
+ crate://crates.io/ppv-lite86/0.2.5 \
+ crate://crates.io/proc-macro2/0.4.30 \
+ crate://crates.io/quick-error/1.2.2 \
+ crate://crates.io/quote/0.6.13 \
+ crate://crates.io/rand/0.6.5 \
+ crate://crates.io/rand/0.7.0 \
+ crate://crates.io/rand_chacha/0.1.1 \
+ crate://crates.io/rand_chacha/0.2.1 \
+ crate://crates.io/rand_core/0.3.1 \
+ crate://crates.io/rand_core/0.4.0 \
+ crate://crates.io/rand_core/0.5.0 \
+ crate://crates.io/rand_hc/0.1.0 \
+ crate://crates.io/rand_hc/0.2.0 \
+ crate://crates.io/rand_isaac/0.1.1 \
+ crate://crates.io/rand_jitter/0.1.4 \
+ crate://crates.io/rand_os/0.1.3 \
+ crate://crates.io/rand_pcg/0.1.2 \
+ crate://crates.io/rand_xorshift/0.1.1 \
+ crate://crates.io/rdrand/0.4.0 \
+ crate://crates.io/redox_syscall/0.1.56 \
+ crate://crates.io/redox_users/0.3.0 \
+ crate://crates.io/regex-syntax/0.6.10 \
+ crate://crates.io/regex/1.2.0 \
+ crate://crates.io/rustc-ap-arena/542.0.0 \
+ crate://crates.io/rustc-ap-graphviz/542.0.0 \
+ crate://crates.io/rustc-ap-rustc_data_structures/542.0.0 \
+ crate://crates.io/rustc-ap-rustc_errors/542.0.0 \
+ crate://crates.io/rustc-ap-rustc_lexer/542.0.0 \
+ crate://crates.io/rustc-ap-rustc_macros/542.0.0 \
+ crate://crates.io/rustc-ap-rustc_target/542.0.0 \
+ crate://crates.io/rustc-ap-serialize/542.0.0 \
+ crate://crates.io/rustc-ap-syntax/542.0.0 \
+ crate://crates.io/rustc-ap-syntax_pos/542.0.0 \
+ crate://crates.io/rustc-demangle/0.1.15 \
+ crate://crates.io/rustc-hash/1.0.1 \
+ crate://crates.io/rustc-rayon-core/0.2.0 \
+ crate://crates.io/rustc-rayon/0.2.0 \
+ crate://crates.io/rustc-workspace-hack/1.0.0 \
+ crate://crates.io/rustc_version/0.2.3 \
+ crate://crates.io/ryu/1.0.0 \
+ crate://crates.io/same-file/1.0.5 \
+ crate://crates.io/scoped-tls/1.0.0 \
+ crate://crates.io/scoped_threadpool/0.1.9 \
+ crate://crates.io/scopeguard/0.3.3 \
+ crate://crates.io/semver-parser/0.7.0 \
+ crate://crates.io/semver/0.9.0 \
+ crate://crates.io/serde/1.0.97 \
+ crate://crates.io/serde_derive/1.0.97 \
+ crate://crates.io/serde_json/1.0.40 \
+ crate://crates.io/smallvec/0.6.10 \
+ crate://crates.io/spin/0.5.0 \
+ crate://crates.io/stable_deref_trait/1.1.1 \
+ crate://crates.io/strsim/0.8.0 \
+ crate://crates.io/structopt-derive/0.2.18 \
+ crate://crates.io/structopt/0.2.18 \
+ crate://crates.io/syn/0.15.42 \
+ crate://crates.io/synstructure/0.10.2 \
+ crate://crates.io/term/0.6.0 \
+ crate://crates.io/termcolor/1.0.5 \
+ crate://crates.io/textwrap/0.11.0 \
+ crate://crates.io/thread_local/0.3.6 \
+ crate://crates.io/toml/0.5.1 \
+ crate://crates.io/ucd-util/0.1.5 \
+ crate://crates.io/unicode-segmentation/1.3.0 \
+ crate://crates.io/unicode-width/0.1.5 \
+ crate://crates.io/unicode-xid/0.1.0 \
+ crate://crates.io/unicode_categories/0.1.1 \
+ crate://crates.io/utf8-ranges/1.0.3 \
+ crate://crates.io/vec_map/0.8.1 \
+ crate://crates.io/walkdir/2.2.9 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-util/0.1.2 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi/0.3.7 \
+ crate://crates.io/wincolor/1.0.1 \
+"
+
+
+
+# FIXME: update generateme with the real MD5 of the license file
+LIC_FILES_CHKSUM = " \
+ file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
+ file://LICENSE-MIT;md5=0b29d505d9225d1f0815cbdcf602b901 \
+"
+
+SUMMARY = "Tool to find and fix Rust formatting issues"
+HOMEPAGE = "https://github.com/rust-lang/rustfmt"
+LICENSE = "Apache-2.0 | MIT"
+
+# includes this file if it exists but does not fail
+# this is useful for anything you may want to override from
+# what cargo-bitbake generates.
+include rustfmt-nightly-${PV}.inc
+include rustfmt-nightly.inc
diff --git a/poky/meta/recipes-extended/acpica/acpica_20210331.bb b/poky/meta/recipes-extended/acpica/acpica_20210730.bb
index 35f8ecd85c..490e812434 100644
--- a/poky/meta/recipes-extended/acpica/acpica_20210331.bb
+++ b/poky/meta/recipes-extended/acpica/acpica_20210730.bb
@@ -17,7 +17,7 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
DEPENDS = "m4-native flex-native bison-native"
SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz"
-SRC_URI[sha256sum] = "b49237a2c3df58b57310612ec3a6ebee69e1a525b5efeec7152faf32a03b7068"
+SRC_URI[sha256sum] = "4a0c14d5148666612aa0555c5179eaa86230602394fd1bc3d16b506fcf49b5de"
UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
diff --git a/poky/meta/recipes-extended/cpio/cpio-2.13/CVE-2021-38185.patch b/poky/meta/recipes-extended/cpio/cpio-2.13/CVE-2021-38185.patch
new file mode 100644
index 0000000000..6ceafeee49
--- /dev/null
+++ b/poky/meta/recipes-extended/cpio/cpio-2.13/CVE-2021-38185.patch
@@ -0,0 +1,581 @@
+GNU cpio through 2.13 allows attackers to execute arbitrary code via a crafted
+pattern file, because of a dstring.c ds_fgetstr integer overflow that triggers
+an out-of-bounds heap write.
+
+CVE: CVE-2021-38185
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From e494c68a3a0951b1eaba77e2db93f71a890e15d8 Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray@gnu.org>
+Date: Sat, 7 Aug 2021 12:52:21 +0300
+Subject: [PATCH 1/3] Rewrite dynamic string support.
+
+* src/dstring.c (ds_init): Take a single argument.
+(ds_free): New function.
+(ds_resize): Take a single argument. Use x2nrealloc to expand
+the storage.
+(ds_reset,ds_append,ds_concat,ds_endswith): New function.
+(ds_fgetstr): Rewrite. In particular, this fixes integer overflow.
+* src/dstring.h (dynamic_string): Keep both the allocated length
+(ds_size) and index of the next free byte in the string (ds_idx).
+(ds_init,ds_resize): Change signature.
+(ds_len): New macro.
+(ds_free,ds_reset,ds_append,ds_concat,ds_endswith): New protos.
+* src/copyin.c: Use new ds_ functions.
+* src/copyout.c: Likewise.
+* src/copypass.c: Likewise.
+* src/util.c: Likewise.
+---
+ src/copyin.c | 40 +++++++++++------------
+ src/copyout.c | 16 ++++-----
+ src/copypass.c | 34 +++++++++----------
+ src/dstring.c | 88 ++++++++++++++++++++++++++++++++++++--------------
+ src/dstring.h | 31 +++++++++---------
+ src/util.c | 6 ++--
+ 6 files changed, 123 insertions(+), 92 deletions(-)
+
+diff --git a/src/copyin.c b/src/copyin.c
+index b29f348..37e503a 100644
+--- a/src/copyin.c
++++ b/src/copyin.c
+@@ -55,11 +55,12 @@ query_rename(struct cpio_file_stat* file_hdr, FILE *tty_in, FILE *tty_out,
+ char *str_res; /* Result for string function. */
+ static dynamic_string new_name; /* New file name for rename option. */
+ static int initialized_new_name = false;
++
+ if (!initialized_new_name)
+- {
+- ds_init (&new_name, 128);
+- initialized_new_name = true;
+- }
++ {
++ ds_init (&new_name);
++ initialized_new_name = true;
++ }
+
+ if (rename_flag)
+ {
+@@ -779,37 +780,36 @@ long_format (struct cpio_file_stat *file_hdr, char const *link_name)
+ already in `save_patterns' (from the command line) are preserved. */
+
+ static void
+-read_pattern_file ()
++read_pattern_file (void)
+ {
+- int max_new_patterns;
+- char **new_save_patterns;
+- int new_num_patterns;
++ char **new_save_patterns = NULL;
++ size_t max_new_patterns;
++ size_t new_num_patterns;
+ int i;
+- dynamic_string pattern_name;
++ dynamic_string pattern_name = DYNAMIC_STRING_INITIALIZER;
+ FILE *pattern_fp;
+
+ if (num_patterns < 0)
+ num_patterns = 0;
+- max_new_patterns = 1 + num_patterns;
+- new_save_patterns = (char **) xmalloc (max_new_patterns * sizeof (char *));
+ new_num_patterns = num_patterns;
+- ds_init (&pattern_name, 128);
++ max_new_patterns = num_patterns;
++ new_save_patterns = xcalloc (max_new_patterns, sizeof (new_save_patterns[0]));
+
+ pattern_fp = fopen (pattern_file_name, "r");
+ if (pattern_fp == NULL)
+ open_fatal (pattern_file_name);
+ while (ds_fgetstr (pattern_fp, &pattern_name, '\n') != NULL)
+ {
+- if (new_num_patterns >= max_new_patterns)
+- {
+- max_new_patterns += 1;
+- new_save_patterns = (char **)
+- xrealloc ((char *) new_save_patterns,
+- max_new_patterns * sizeof (char *));
+- }
++ if (new_num_patterns == max_new_patterns)
++ new_save_patterns = x2nrealloc (new_save_patterns,
++ &max_new_patterns,
++ sizeof (new_save_patterns[0]));
+ new_save_patterns[new_num_patterns] = xstrdup (pattern_name.ds_string);
+ ++new_num_patterns;
+ }
++
++ ds_free (&pattern_name);
++
+ if (ferror (pattern_fp) || fclose (pattern_fp) == EOF)
+ close_error (pattern_file_name);
+
+@@ -1196,7 +1196,7 @@ swab_array (char *ptr, int count)
+ in the file system. */
+
+ void
+-process_copy_in ()
++process_copy_in (void)
+ {
+ char done = false; /* True if trailer reached. */
+ FILE *tty_in = NULL; /* Interactive file for rename option. */
+diff --git a/src/copyout.c b/src/copyout.c
+index 8b0beb6..26e3dda 100644
+--- a/src/copyout.c
++++ b/src/copyout.c
+@@ -594,9 +594,10 @@ assign_string (char **pvar, char *value)
+ The format of the header depends on the compatibility (-c) flag. */
+
+ void
+-process_copy_out ()
++process_copy_out (void)
+ {
+- dynamic_string input_name; /* Name of file read from stdin. */
++ dynamic_string input_name = DYNAMIC_STRING_INITIALIZER;
++ /* Name of file read from stdin. */
+ struct stat file_stat; /* Stat record for file. */
+ struct cpio_file_stat file_hdr = CPIO_FILE_STAT_INITIALIZER;
+ /* Output header information. */
+@@ -605,7 +606,6 @@ process_copy_out ()
+ char *orig_file_name = NULL;
+
+ /* Initialize the copy out. */
+- ds_init (&input_name, 128);
+ file_hdr.c_magic = 070707;
+
+ /* Check whether the output file might be a tape. */
+@@ -657,14 +657,9 @@ process_copy_out ()
+ {
+ if (file_hdr.c_mode & CP_IFDIR)
+ {
+- int len = strlen (input_name.ds_string);
+ /* Make sure the name ends with a slash */
+- if (input_name.ds_string[len-1] != '/')
+- {
+- ds_resize (&input_name, len + 2);
+- input_name.ds_string[len] = '/';
+- input_name.ds_string[len+1] = 0;
+- }
++ if (!ds_endswith (&input_name, '/'))
++ ds_append (&input_name, '/');
+ }
+ }
+
+@@ -875,6 +870,7 @@ process_copy_out ()
+ (unsigned long) blocks), (unsigned long) blocks);
+ }
+ cpio_file_stat_free (&file_hdr);
++ ds_free (&input_name);
+ }
+
+
+diff --git a/src/copypass.c b/src/copypass.c
+index dc13b5b..62f31c6 100644
+--- a/src/copypass.c
++++ b/src/copypass.c
+@@ -48,10 +48,12 @@ set_copypass_perms (int fd, const char *name, struct stat *st)
+ If `link_flag', link instead of copying. */
+
+ void
+-process_copy_pass ()
++process_copy_pass (void)
+ {
+- dynamic_string input_name; /* Name of file from stdin. */
+- dynamic_string output_name; /* Name of new file. */
++ dynamic_string input_name = DYNAMIC_STRING_INITIALIZER;
++ /* Name of file from stdin. */
++ dynamic_string output_name = DYNAMIC_STRING_INITIALIZER;
++ /* Name of new file. */
+ size_t dirname_len; /* Length of `directory_name'. */
+ int res; /* Result of functions. */
+ char *slash; /* For moving past slashes in input name. */
+@@ -65,25 +67,18 @@ process_copy_pass ()
+ created files */
+
+ /* Initialize the copy pass. */
+- ds_init (&input_name, 128);
+
+ dirname_len = strlen (directory_name);
+ if (change_directory_option && !ISSLASH (directory_name[0]))
+ {
+ char *pwd = xgetcwd ();
+-
+- dirname_len += strlen (pwd) + 1;
+- ds_init (&output_name, dirname_len + 2);
+- strcpy (output_name.ds_string, pwd);
+- strcat (output_name.ds_string, "/");
+- strcat (output_name.ds_string, directory_name);
++
++ ds_concat (&output_name, pwd);
++ ds_append (&output_name, '/');
+ }
+- else
+- {
+- ds_init (&output_name, dirname_len + 2);
+- strcpy (output_name.ds_string, directory_name);
+- }
+- output_name.ds_string[dirname_len] = '/';
++ ds_concat (&output_name, directory_name);
++ ds_append (&output_name, '/');
++ dirname_len = ds_len (&output_name);
+ output_is_seekable = true;
+
+ change_dir ();
+@@ -116,8 +111,8 @@ process_copy_pass ()
+ /* Make the name of the new file. */
+ for (slash = input_name.ds_string; *slash == '/'; ++slash)
+ ;
+- ds_resize (&output_name, dirname_len + strlen (slash) + 2);
+- strcpy (output_name.ds_string + dirname_len + 1, slash);
++ ds_reset (&output_name, dirname_len);
++ ds_concat (&output_name, slash);
+
+ existing_dir = false;
+ if (lstat (output_name.ds_string, &out_file_stat) == 0)
+@@ -333,6 +328,9 @@ process_copy_pass ()
+ (unsigned long) blocks),
+ (unsigned long) blocks);
+ }
++
++ ds_free (&input_name);
++ ds_free (&output_name);
+ }
+
+ /* Try and create a hard link from FILE_NAME to another file
+diff --git a/src/dstring.c b/src/dstring.c
+index e9c063f..358f356 100644
+--- a/src/dstring.c
++++ b/src/dstring.c
+@@ -20,8 +20,8 @@
+ #if defined(HAVE_CONFIG_H)
+ # include <config.h>
+ #endif
+-
+ #include <stdio.h>
++#include <stdlib.h>
+ #if defined(HAVE_STRING_H) || defined(STDC_HEADERS)
+ #include <string.h>
+ #else
+@@ -33,24 +33,41 @@
+ /* Initialiaze dynamic string STRING with space for SIZE characters. */
+
+ void
+-ds_init (dynamic_string *string, int size)
++ds_init (dynamic_string *string)
++{
++ memset (string, 0, sizeof *string);
++}
++
++/* Free the dynamic string storage. */
++
++void
++ds_free (dynamic_string *string)
+ {
+- string->ds_length = size;
+- string->ds_string = (char *) xmalloc (size);
++ free (string->ds_string);
+ }
+
+-/* Expand dynamic string STRING, if necessary, to hold SIZE characters. */
++/* Expand dynamic string STRING, if necessary. */
+
+ void
+-ds_resize (dynamic_string *string, int size)
++ds_resize (dynamic_string *string)
+ {
+- if (size > string->ds_length)
++ if (string->ds_idx == string->ds_size)
+ {
+- string->ds_length = size;
+- string->ds_string = (char *) xrealloc ((char *) string->ds_string, size);
++ string->ds_string = x2nrealloc (string->ds_string, &string->ds_size,
++ 1);
+ }
+ }
+
++/* Reset the index of the dynamic string S to LEN. */
++
++void
++ds_reset (dynamic_string *s, size_t len)
++{
++ while (len > s->ds_size)
++ ds_resize (s);
++ s->ds_idx = len;
++}
++
+ /* Dynamic string S gets a string terminated by the EOS character
+ (which is removed) from file F. S will increase
+ in size during the function if the string from F is longer than
+@@ -61,34 +78,50 @@ ds_resize (dynamic_string *string, int size)
+ char *
+ ds_fgetstr (FILE *f, dynamic_string *s, char eos)
+ {
+- int insize; /* Amount needed for line. */
+- int strsize; /* Amount allocated for S. */
+ int next_ch;
+
+ /* Initialize. */
+- insize = 0;
+- strsize = s->ds_length;
++ s->ds_idx = 0;
+
+ /* Read the input string. */
+- next_ch = getc (f);
+- while (next_ch != eos && next_ch != EOF)
++ while ((next_ch = getc (f)) != eos && next_ch != EOF)
+ {
+- if (insize >= strsize - 1)
+- {
+- ds_resize (s, strsize * 2 + 2);
+- strsize = s->ds_length;
+- }
+- s->ds_string[insize++] = next_ch;
+- next_ch = getc (f);
++ ds_resize (s);
++ s->ds_string[s->ds_idx++] = next_ch;
+ }
+- s->ds_string[insize++] = '\0';
++ ds_resize (s);
++ s->ds_string[s->ds_idx] = '\0';
+
+- if (insize == 1 && next_ch == EOF)
++ if (s->ds_idx == 0 && next_ch == EOF)
+ return NULL;
+ else
+ return s->ds_string;
+ }
+
++void
++ds_append (dynamic_string *s, int c)
++{
++ ds_resize (s);
++ s->ds_string[s->ds_idx] = c;
++ if (c)
++ {
++ s->ds_idx++;
++ ds_resize (s);
++ s->ds_string[s->ds_idx] = 0;
++ }
++}
++
++void
++ds_concat (dynamic_string *s, char const *str)
++{
++ size_t len = strlen (str);
++ while (len + 1 > s->ds_size)
++ ds_resize (s);
++ memcpy (s->ds_string + s->ds_idx, str, len);
++ s->ds_idx += len;
++ s->ds_string[s->ds_idx] = 0;
++}
++
+ char *
+ ds_fgets (FILE *f, dynamic_string *s)
+ {
+@@ -100,3 +133,10 @@ ds_fgetname (FILE *f, dynamic_string *s)
+ {
+ return ds_fgetstr (f, s, '\0');
+ }
++
++/* Return true if the dynamic string S ends with character C. */
++int
++ds_endswith (dynamic_string *s, int c)
++{
++ return (s->ds_idx > 0 && s->ds_string[s->ds_idx - 1] == c);
++}
+diff --git a/src/dstring.h b/src/dstring.h
+index b5135fe..f5b04ef 100644
+--- a/src/dstring.h
++++ b/src/dstring.h
+@@ -17,10 +17,6 @@
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301 USA. */
+
+-#ifndef NULL
+-#define NULL 0
+-#endif
+-
+ /* A dynamic string consists of record that records the size of an
+ allocated string and the pointer to that string. The actual string
+ is a normal zero byte terminated string that can be used with the
+@@ -30,22 +26,25 @@
+
+ typedef struct
+ {
+- int ds_length; /* Actual amount of storage allocated. */
+- char *ds_string; /* String. */
++ size_t ds_size; /* Actual amount of storage allocated. */
++ size_t ds_idx; /* Index of the next free byte in the string. */
++ char *ds_string; /* String storage. */
+ } dynamic_string;
+
++#define DYNAMIC_STRING_INITIALIZER { 0, 0, NULL }
+
+-/* Macros that look similar to the original string functions.
+- WARNING: These macros work only on pointers to dynamic string records.
+- If used with a real record, an "&" must be used to get the pointer. */
+-#define ds_strlen(s) strlen ((s)->ds_string)
+-#define ds_strcmp(s1, s2) strcmp ((s1)->ds_string, (s2)->ds_string)
+-#define ds_strncmp(s1, s2, n) strncmp ((s1)->ds_string, (s2)->ds_string, n)
+-#define ds_index(s, c) index ((s)->ds_string, c)
+-#define ds_rindex(s, c) rindex ((s)->ds_string, c)
++void ds_init (dynamic_string *string);
++void ds_free (dynamic_string *string);
++void ds_reset (dynamic_string *s, size_t len);
+
+-void ds_init (dynamic_string *string, int size);
+-void ds_resize (dynamic_string *string, int size);
++/* All functions below guarantee that s->ds_string[s->ds_idx] == '\0' */
+ char *ds_fgetname (FILE *f, dynamic_string *s);
+ char *ds_fgets (FILE *f, dynamic_string *s);
+ char *ds_fgetstr (FILE *f, dynamic_string *s, char eos);
++void ds_append (dynamic_string *s, int c);
++void ds_concat (dynamic_string *s, char const *str);
++
++#define ds_len(s) ((s)->ds_idx)
++
++int ds_endswith (dynamic_string *s, int c);
++
+diff --git a/src/util.c b/src/util.c
+index 4421b20..6d6bbaa 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -846,11 +846,9 @@ get_next_reel (int tape_des)
+ FILE *tty_out; /* File for interacting with user. */
+ int old_tape_des;
+ char *next_archive_name;
+- dynamic_string new_name;
++ dynamic_string new_name = DYNAMIC_STRING_INITIALIZER;
+ char *str_res;
+
+- ds_init (&new_name, 128);
+-
+ /* Open files for interactive communication. */
+ tty_in = fopen (TTY_NAME, "r");
+ if (tty_in == NULL)
+@@ -925,7 +923,7 @@ get_next_reel (int tape_des)
+ error (PAXEXIT_FAILURE, 0, _("internal error: tape descriptor changed from %d to %d"),
+ old_tape_des, tape_des);
+
+- free (new_name.ds_string);
++ ds_free (&new_name);
+ fclose (tty_in);
+ fclose (tty_out);
+ }
+--
+2.25.1
+
+
+From fb7a51bf85b8e6f045cacb4fb783db4a414741bf Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray@gnu.org>
+Date: Wed, 11 Aug 2021 18:10:38 +0300
+Subject: [PATCH 2/3] Fix previous commit
+
+* src/dstring.c (ds_reset,ds_concat): Don't call ds_resize in a
+loop.
+---
+ src/dstring.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/dstring.c b/src/dstring.c
+index 358f356..90c691c 100644
+--- a/src/dstring.c
++++ b/src/dstring.c
+@@ -64,7 +64,7 @@ void
+ ds_reset (dynamic_string *s, size_t len)
+ {
+ while (len > s->ds_size)
+- ds_resize (s);
++ s->ds_string = x2nrealloc (s->ds_string, &s->ds_size, 1);
+ s->ds_idx = len;
+ }
+
+@@ -116,7 +116,7 @@ ds_concat (dynamic_string *s, char const *str)
+ {
+ size_t len = strlen (str);
+ while (len + 1 > s->ds_size)
+- ds_resize (s);
++ s->ds_string = x2nrealloc (s->ds_string, &s->ds_size, 1);
+ memcpy (s->ds_string + s->ds_idx, str, len);
+ s->ds_idx += len;
+ s->ds_string[s->ds_idx] = 0;
+--
+2.25.1
+
+
+From 86b37d74b15f9bb5fe62fd1642cc126d3ace0189 Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray@gnu.org>
+Date: Wed, 18 Aug 2021 09:41:39 +0300
+Subject: [PATCH 3/3] Fix dynamic string reallocations
+
+* src/dstring.c (ds_resize): Take additional argument: number of
+bytes to leave available after ds_idx. All uses changed.
+---
+ src/dstring.c | 18 ++++++++----------
+ 1 file changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/src/dstring.c b/src/dstring.c
+index 90c691c..0f597cc 100644
+--- a/src/dstring.c
++++ b/src/dstring.c
+@@ -49,9 +49,9 @@ ds_free (dynamic_string *string)
+ /* Expand dynamic string STRING, if necessary. */
+
+ void
+-ds_resize (dynamic_string *string)
++ds_resize (dynamic_string *string, size_t len)
+ {
+- if (string->ds_idx == string->ds_size)
++ while (len + string->ds_idx >= string->ds_size)
+ {
+ string->ds_string = x2nrealloc (string->ds_string, &string->ds_size,
+ 1);
+@@ -63,8 +63,7 @@ ds_resize (dynamic_string *string)
+ void
+ ds_reset (dynamic_string *s, size_t len)
+ {
+- while (len > s->ds_size)
+- s->ds_string = x2nrealloc (s->ds_string, &s->ds_size, 1);
++ ds_resize (s, len);
+ s->ds_idx = len;
+ }
+
+@@ -86,10 +85,10 @@ ds_fgetstr (FILE *f, dynamic_string *s, char eos)
+ /* Read the input string. */
+ while ((next_ch = getc (f)) != eos && next_ch != EOF)
+ {
+- ds_resize (s);
++ ds_resize (s, 0);
+ s->ds_string[s->ds_idx++] = next_ch;
+ }
+- ds_resize (s);
++ ds_resize (s, 0);
+ s->ds_string[s->ds_idx] = '\0';
+
+ if (s->ds_idx == 0 && next_ch == EOF)
+@@ -101,12 +100,12 @@ ds_fgetstr (FILE *f, dynamic_string *s, char eos)
+ void
+ ds_append (dynamic_string *s, int c)
+ {
+- ds_resize (s);
++ ds_resize (s, 0);
+ s->ds_string[s->ds_idx] = c;
+ if (c)
+ {
+ s->ds_idx++;
+- ds_resize (s);
++ ds_resize (s, 0);
+ s->ds_string[s->ds_idx] = 0;
+ }
+ }
+@@ -115,8 +114,7 @@ void
+ ds_concat (dynamic_string *s, char const *str)
+ {
+ size_t len = strlen (str);
+- while (len + 1 > s->ds_size)
+- s->ds_string = x2nrealloc (s->ds_string, &s->ds_size, 1);
++ ds_resize (s, len);
+ memcpy (s->ds_string + s->ds_idx, str, len);
+ s->ds_idx += len;
+ s->ds_string[s->ds_idx] = 0;
+--
+2.25.1
+
diff --git a/poky/meta/recipes-extended/cpio/cpio_2.13.bb b/poky/meta/recipes-extended/cpio/cpio_2.13.bb
index 20ea3c25e3..38c17f7cf5 100644
--- a/poky/meta/recipes-extended/cpio/cpio_2.13.bb
+++ b/poky/meta/recipes-extended/cpio/cpio_2.13.bb
@@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
file://0002-src-global.c-Remove-superfluous-declaration-of-progr.patch \
+ file://CVE-2021-38185.patch \
"
SRC_URI[md5sum] = "389c5452d667c23b5eceb206f5000810"
diff --git a/poky/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch b/poky/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch
deleted file mode 100644
index 50e627fa30..0000000000
--- a/poky/meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 87b3a8f9ceb2cf0a5c8b72e460465fb9ff2d62d9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 30 Apr 2021 17:40:36 -0700
-Subject: [PATCH] c-stack: stop using SIGSTKSZ
-
-This patch is required with glibc 2.34+
-based on gnulib [1]
-
-[1] https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=f9e2b20a12a230efa30f1d479563ae07d276a94b
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/c-stack.c | 22 +++++++++++++---------
- 1 file changed, 13 insertions(+), 9 deletions(-)
-
-diff --git a/lib/c-stack.c b/lib/c-stack.c
-index 9bbe6fe..e0874c9 100644
---- a/lib/c-stack.c
-+++ b/lib/c-stack.c
-@@ -51,13 +51,14 @@
- typedef struct sigaltstack stack_t;
- #endif
- #ifndef SIGSTKSZ
--# define SIGSTKSZ 16384
--#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
-+#define get_sigstksz() (16384)
-+#elif HAVE_LIBSIGSEGV
- /* libsigsegv 2.6 through 2.8 have a bug where some architectures use
- more than the Linux default of an 8k alternate stack when deciding
- if a fault was caused by stack overflow. */
--# undef SIGSTKSZ
--# define SIGSTKSZ 16384
-+#define get_sigstksz() ((SIGSTKSZ) < 16384 ? 16384 : (SIGSTKSZ))
-+#else
-+#define get_sigstksz() ((SIGSTKSZ))
- #endif
-
- #include <stdlib.h>
-@@ -136,7 +137,8 @@ die (int signo)
- /* Storage for the alternate signal stack. */
- static union
- {
-- char buffer[SIGSTKSZ];
-+ /* allocate buffer with size from get_sigstksz() */
-+ char *buffer;
-
- /* These other members are for proper alignment. There's no
- standard way to guarantee stack alignment, but this seems enough
-@@ -208,10 +210,11 @@ c_stack_action (void (*action) (int))
- program_error_message = _("program error");
- stack_overflow_message = _("stack overflow");
-
-+ alternate_signal_stack.buffer = malloc(get_sigstksz());
- /* Always install the overflow handler. */
- if (stackoverflow_install_handler (overflow_handler,
- alternate_signal_stack.buffer,
-- sizeof alternate_signal_stack.buffer))
-+ get_sigstksz()))
- {
- errno = ENOTSUP;
- return -1;
-@@ -284,14 +287,15 @@ c_stack_action (void (*action) (int))
- stack_t st;
- struct sigaction act;
- st.ss_flags = 0;
-+ alternate_signal_stack.buffer = malloc(get_sigstksz());
- # if SIGALTSTACK_SS_REVERSED
- /* Irix mistakenly treats ss_sp as the upper bound, rather than
- lower bound, of the alternate stack. */
-- st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ - sizeof (void *);
-- st.ss_size = sizeof alternate_signal_stack.buffer - sizeof (void *);
-+ st.ss_sp = alternate_signal_stack.buffer + get_sigstksz() - sizeof (void *);
-+ st.ss_size = get_sigstksz() - sizeof (void *);
- # else
- st.ss_sp = alternate_signal_stack.buffer;
-- st.ss_size = sizeof alternate_signal_stack.buffer;
-+ st.ss_size = get_sigstksz();
- # endif
- r = sigaltstack (&st, NULL);
- if (r != 0)
---
-2.31.1
-
diff --git a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb b/poky/meta/recipes-extended/diffutils/diffutils_3.8.bb
index 7b4ae160f9..a6522967d4 100644
--- a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb
+++ b/poky/meta/recipes-extended/diffutils/diffutils_3.8.bb
@@ -6,14 +6,15 @@ require diffutils.inc
SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
file://run-ptest \
file://0001-Skip-strip-trailing-cr-test-case.patch \
- file://0001-c-stack-stop-using-SIGSTKSZ.patch \
-"
+ "
-SRC_URI[md5sum] = "4824adc0e95dbbf11dfbdfaad6a1e461"
-SRC_URI[sha256sum] = "b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26"
+SRC_URI[sha256sum] = "a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec"
EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix"
+# latest gnulib is no longer able to handle this - I dare not try to fix that maze of abstractions and generators
+CFLAGS:mingw32 = " -DSA_RESTART=0"
+
# Fix "Argument list too long" error when len(TMPDIR) = 410
acpaths = "-I ./m4"
diff --git a/poky/meta/recipes-extended/grep/grep_3.6.bb b/poky/meta/recipes-extended/grep/grep_3.7.bb
index 750575ec22..b0b89de83d 100644
--- a/poky/meta/recipes-extended/grep/grep_3.6.bb
+++ b/poky/meta/recipes-extended/grep/grep_3.7.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz"
-SRC_URI[sha256sum] = "667e15e8afe189e93f9f21a7cd3a7b3f776202f417330b248c2ad4f997d9373e"
+SRC_URI[sha256sum] = "5c10da312460aec721984d5d83246d24520ec438dd48d7ab5a05dbc0d6d6823c"
inherit autotools gettext texinfo pkgconfig
diff --git a/poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb b/poky/meta/recipes-extended/libidn/libidn2_2.3.2.bb
index 07781940af..f1f6fcba05 100644
--- a/poky/meta/recipes-extended/libidn/libidn2_2.3.1.bb
+++ b/poky/meta/recipes-extended/libidn/libidn2_2.3.2.bb
@@ -10,8 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2d834ea7d480438ada04e5d846152395 \
file://lib/idn2.h.in;endline=27;md5=d0fc8ec628be130a1d5b889107e92477"
SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "cda07f5ac55fccfafdf7ee01828adad5"
-SRC_URI[sha256sum] = "8af684943836b8b53965d5f5b6714ef13c26c91eaa36ce7d242e3d21f5d40f2d"
+SRC_URI[sha256sum] = "76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91"
DEPENDS = "virtual/libiconv libunistring"
diff --git a/poky/meta/recipes-extended/libnsl/libnsl2_git.bb b/poky/meta/recipes-extended/libnsl/libnsl2_git.bb
index badb71d977..53be67fe85 100644
--- a/poky/meta/recipes-extended/libnsl/libnsl2_git.bb
+++ b/poky/meta/recipes-extended/libnsl/libnsl2_git.bb
@@ -10,9 +10,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS = "libtirpc"
-PV = "1.3.0"
+PV = "2.0.0"
-SRCREV = "fbad7b36acaa89a54023930af70805649f962999"
+SRCREV = "82245c0c58add79a8e34ab0917358217a70e5100"
SRC_URI = "git://github.com/thkukuk/libnsl \
"
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd/0001-meson-add-with_zstd-to-meson_options.txt.patch b/poky/meta/recipes-extended/lighttpd/lighttpd/0001-meson-add-with_zstd-to-meson_options.txt.patch
new file mode 100644
index 0000000000..ceedccbd11
--- /dev/null
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd/0001-meson-add-with_zstd-to-meson_options.txt.patch
@@ -0,0 +1,27 @@
+From f24bd105388c305beeead5d3fa0a028b82354f18 Mon Sep 17 00:00:00 2001
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Date: Wed, 3 Feb 2021 00:35:34 -0500
+Subject: [PATCH] [meson] add with_zstd to meson_options.txt
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ meson_options.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 51bea44d..f6687159 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -148,6 +148,11 @@ option('with_zlib',
+ value: true,
+ description: 'with deflate-support for mod_deflate [default: on]',
+ )
++option('with_zstd',
++ type: 'boolean',
++ value: false,
++ description: 'with zstd-support for mod_deflate [default: off]',
++)
+
+ option('build_extra_warnings',
+ type: 'boolean',
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
index f97c5913b8..f74016f834 100644
--- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb
@@ -14,40 +14,38 @@ RRECOMMENDS:${PN} = "lighttpd-module-access \
lighttpd-module-accesslog"
SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
- file://index.html.lighttpd \
- file://lighttpd.conf \
- file://lighttpd \
- file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
- "
+ file://index.html.lighttpd \
+ file://lighttpd.conf \
+ file://lighttpd \
+ file://0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch \
+ file://0001-meson-add-with_zstd-to-meson_options.txt.patch \
+ "
SRC_URI[sha256sum] = "fb953db273daef08edb6e202556cae8a3d07eed6081c96bd9903db957d1084d5"
+DEPENDS = "virtual/crypt"
+
PACKAGECONFIG ??= "openssl pcre zlib \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
-PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
-PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
-PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
-PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
-PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
-PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux"
-PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
-PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
-PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
-
-EXTRA_OECONF += "--enable-lfs --without-fam"
-
-inherit autotools pkgconfig update-rc.d gettext systemd
+PACKAGECONFIG[libev] = "-Dwith_libev=true,-Dwith_libev=false,libev"
+PACKAGECONFIG[mysql] = "-Dwith_mysql=true,-Dwith_mysql=false,mariadb"
+PACKAGECONFIG[ldap] = "-Dwith_ldap=true,-Dwith_ldap=false,openldap"
+PACKAGECONFIG[attr] = "-Dwith_xattr=true,-Dwith_xattr=false,attr"
+PACKAGECONFIG[openssl] = "-Dwith_openssl=true,-Dwith_openssl=false,openssl"
+PACKAGECONFIG[krb5] = "-Dwith_krb5=true,-Dwith_krb5=false,krb5"
+PACKAGECONFIG[pcre] = "-Dwith_pcre=true,-Dwith_pcre=false,libpcre"
+PACKAGECONFIG[zlib] = "-Dwith_zlib=true,-Dwith_zlib=false,zlib"
+PACKAGECONFIG[bzip2] = "-Dwith_bzip=true,-Dwith_bzip=false,bzip2"
+PACKAGECONFIG[webdav-props] = "-Dwith_webdav_props=true,-Dwith_webdav_props=false,libxml2 sqlite3"
+PACKAGECONFIG[webdav-locks] = "-Dwith_webdav_locks=true,-Dwith_webdav_locks=false,util-linux"
+PACKAGECONFIG[gdbm] = "-Dwith_gdbm=true,-Dwith_gdbm=false,gdbm"
+PACKAGECONFIG[memcache] = "-Dwith_memcached=true,-Dwith_memcached=false,libmemcached"
+PACKAGECONFIG[lua] = "-Dwith_lua=true,-Dwith_lua=false,lua"
+PACKAGECONFIG[zstd] = "-Dwith_zstd=true,-Dwith_zstd=false,zstd"
+
+inherit meson pkgconfig update-rc.d gettext systemd
INITSCRIPT_NAME = "lighttpd"
INITSCRIPT_PARAMS = "defaults 70"
@@ -71,13 +69,15 @@ do_install:append() {
ln -sf ${localstatedir}/tmp ${D}/www/var
}
-FILES:${PN} += "${sysconfdir} /www"
+# bitbake.conf sets ${libdir}/${BPN}/* in FILES, which messes up the module split.
+# So we re-do the variable.
+FILES:${PN} = "${sysconfdir} /www ${sbindir}"
CONFFILES:${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
PACKAGES_DYNAMIC += "^lighttpd-module-.*"
python populate_packages:prepend () {
- lighttpd_libdir = d.expand('${libdir}')
+ lighttpd_libdir = d.expand('${prefix}/lib/lighttpd')
do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
}
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-ioctl_ns05.c-ioctl_ns06.c-Fix-too-small-buf.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-ioctl_ns05.c-ioctl_ns06.c-Fix-too-small-buf.patch
new file mode 100644
index 0000000000..08b88a38f3
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-ioctl_ns05.c-ioctl_ns06.c-Fix-too-small-buf.patch
@@ -0,0 +1,59 @@
+From af2b6f5ee6b171078b18246dd73f71cf6e350859 Mon Sep 17 00:00:00 2001
+From: Marius Hillenbrand <mhillen@linux.ibm.com>
+Date: Mon, 19 Jul 2021 13:58:35 +0800
+Subject: [PATCH] syscalls/ioctl_ns05.c, ioctl_ns06.c: Fix too small buffer for
+ path
+
+commit af2b6f5ee6b171078b18246dd73f71cf6e350859 upstream.
+
+Resize the buffer used for paths into /proc/ to grant enough space
+for long PIDs. While at it, replace sprintf with snprintf to avoid
+buffer overflows if we ever ran out of space again.
+
+Fixes: #847
+Signed-off-by: Marius Hillenbrand <mhillen@linux.ibm.com>
+Reviewed-by: Yang Xu <xuyang2018.jy@fujitsu.com>
+Upstream-Status: Backport
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
+
+diff --git a/testcases/kernel/syscalls/ioctl/ioctl_ns05.c b/testcases/kernel/syscalls/ioctl/ioctl_ns05.c
+index a67ddbe2c66f..52613810c7ce 100644
+--- a/testcases/kernel/syscalls/ioctl/ioctl_ns05.c
++++ b/testcases/kernel/syscalls/ioctl/ioctl_ns05.c
+@@ -59,10 +59,10 @@ static void run(void)
+ if (pid == -1)
+ tst_brk(TBROK | TERRNO, "ltp_clone failed");
+
+- char child_namespace[20];
++ char child_namespace[30];
+ int my_fd, child_fd, parent_fd;
+
+- sprintf(child_namespace, "/proc/%i/ns/pid", pid);
++ snprintf(child_namespace, sizeof(child_namespace), "/proc/%i/ns/pid", pid);
+ my_fd = SAFE_OPEN("/proc/self/ns/pid", O_RDONLY);
+ child_fd = SAFE_OPEN(child_namespace, O_RDONLY);
+ parent_fd = ioctl(child_fd, NS_GET_PARENT);
+diff --git a/testcases/kernel/syscalls/ioctl/ioctl_ns06.c b/testcases/kernel/syscalls/ioctl/ioctl_ns06.c
+index b6ac80208d02..c30f7de91e09 100644
+--- a/testcases/kernel/syscalls/ioctl/ioctl_ns06.c
++++ b/testcases/kernel/syscalls/ioctl/ioctl_ns06.c
+@@ -51,14 +51,14 @@ static int child(void *arg LTP_ATTRIBUTE_UNUSED)
+
+ static void run(void)
+ {
+- char child_namespace[20];
++ char child_namespace[30];
+
+ pid_t pid = ltp_clone(CLONE_NEWUSER | SIGCHLD, &child, 0,
+ STACK_SIZE, child_stack);
+ if (pid == -1)
+ tst_brk(TBROK | TERRNO, "ltp_clone failed");
+
+- sprintf(child_namespace, "/proc/%i/ns/user", pid);
++ snprintf(child_namespace, sizeof(child_namespace), "/proc/%i/ns/user", pid);
+ int my_fd, child_fd, parent_fd;
+
+ my_fd = SAFE_OPEN("/proc/self/ns/user", O_RDONLY);
+--
+2.32.0
+
diff --git a/poky/meta/recipes-extended/ltp/ltp_20210524.bb b/poky/meta/recipes-extended/ltp/ltp_20210524.bb
index 702fa62b66..20e2deffa5 100644
--- a/poky/meta/recipes-extended/ltp/ltp_20210524.bb
+++ b/poky/meta/recipes-extended/ltp/ltp_20210524.bb
@@ -31,6 +31,7 @@ SRCREV = "0fb171f2beddaf64bd27597577c206c0f892b3cd"
SRC_URI = "git://github.com/linux-test-project/ltp.git \
file://0001-Remove-OOM-tests-from-runtest-mm.patch \
+ file://0001-syscalls-ioctl_ns05.c-ioctl_ns06.c-Fix-too-small-buf.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb b/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb
index c4cdbcc3b4..b068af95d8 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.9.4.bb
@@ -10,6 +10,10 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
file://man_db.conf-avoid-multilib-install-file-conflict.patch"
SRC_URI[sha256sum] = "b66c99edfad16ad928c889f87cf76380263c1609323c280b3a9e6963fdb16756"
+# remove at next version upgrade or when output changes
+PR = "r1"
+HASHEQUIV_HASH_VERSION .= ".2"
+
DEPENDS = "libpipeline gdbm groff-native base-passwd"
RDEPENDS:${PN} += "base-passwd"
PACKAGE_WRITE_DEPS += "base-passwd"
@@ -22,6 +26,13 @@ inherit gettext pkgconfig autotools systemd
EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_unitdir}/system"
EXTRA_AUTORECONF += "-I ${S}/gl/m4"
+PACKAGECONFIG[bzip2] = "--with-bzip2=bzip2,ac_cv_prog_have_bzip2='',bzip2"
+PACKAGECONFIG[gzip] = "--with-gzip=gzip,ac_cv_prog_have_gzip='',gzip"
+PACKAGECONFIG[lzip] = "--with-lzip=lzip,ac_cv_prog_have_lzip='',lzip"
+PACKAGECONFIG[lzma] = "--with-lzma=lzma,ac_cv_prog_have_lzma='',xz"
+PACKAGECONFIG[zstd] = "--with-zstd=zstd,ac_cv_prog_have_zstd='',zstd"
+PACKAGECONFIG[xz] = "--with-xz=xz,ac_cv_prog_have_xz='',xz"
+
do_install() {
autotools_do_install
diff --git a/poky/meta/recipes-extended/mc/files/nomandate.patch b/poky/meta/recipes-extended/mc/files/nomandate.patch
index 48bd73b110..c01d065b0e 100644
--- a/poky/meta/recipes-extended/mc/files/nomandate.patch
+++ b/poky/meta/recipes-extended/mc/files/nomandate.patch
@@ -1,6 +1,14 @@
+From f02010965af21db018c4e108b2193c872406a314 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Tue, 4 Feb 2020 18:12:15 +0000
+Subject: [PATCH] mc: Fix manpage date indeterminism
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
The man page date can vary depending upon the host perl, e.g. in Russian
some versions print 'июня', others 'Июнь' or Polish 'czerwca' or 'czerwiec'.
-Rather than depend upon perl-native to fix this, just remove the date from
+Rather than depend upon perl-native to fix this, just remove the date from
the manpages.
RP 2020/2/4
@@ -8,14 +16,18 @@ RP 2020/2/4
Upstream-Status: Inappropriate [OE specficic reproducibility workaround]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Index: mc-4.8.23/doc/man/date-of-man-include.am
-===================================================================
---- mc-4.8.23.orig/doc/man/date-of-man-include.am
-+++ mc-4.8.23/doc/man/date-of-man-include.am
+---
+ doc/man/date-of-man-include.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/man/date-of-man-include.am b/doc/man/date-of-man-include.am
+index 3a4e599..f11e9b3 100644
+--- a/doc/man/date-of-man-include.am
++++ b/doc/man/date-of-man-include.am
@@ -1,5 +1,5 @@
SED_PARAMETERS = \
- -e "s/%DATE_OF_MAN_PAGE%/$${MAN_DATE}/g" \
+ -e "s/%DATE_OF_MAN_PAGE%//g" \
- -e "s/%DISTR_VERSION%/@DISTR_VERSION@/g" \
+ -e "s/%MAN_VERSION%/@MAN_VERSION@/g" \
-e "s{%prefix%{@prefix@{g" \
-e "s{%sysconfdir%{@sysconfdir@{g" \
diff --git a/poky/meta/recipes-extended/mc/mc_4.8.26.bb b/poky/meta/recipes-extended/mc/mc_4.8.27.bb
index d5619675ef..546e615d1d 100644
--- a/poky/meta/recipes-extended/mc/mc_4.8.26.bb
+++ b/poky/meta/recipes-extended/mc/mc_4.8.27.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "GNU Midnight Commander is a visual file manager, licensed under G
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
SECTION = "console/utils"
-DEPENDS = "ncurses glib-2.0 util-linux"
+DEPENDS = "ncurses glib-2.0 util-linux file-replacement-native"
RDEPENDS:${PN} = "ncurses-terminfo-base"
RRECOMMENDS:${PN} = "ncurses-terminfo"
@@ -12,7 +12,11 @@ SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
file://0001-mc-replace-perl-w-with-use-warnings.patch \
file://nomandate.patch \
"
-SRC_URI[sha256sum] = "9d6358d0a351a455a1410aab57f33b6b48b0fcf31344b9a10b0ff497595979d1"
+SRC_URI[sha256sum] = "2f52dd9c75c20d8eac7701bd3a8c6c125aaf8cdd9cf12b78ca50a0102b543407"
+
+# remove at next version upgrade or when output changes
+PR = "r1"
+HASHEQUIV_HASH_VERSION .= ".2"
inherit autotools gettext pkgconfig
@@ -25,6 +29,7 @@ PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
CFLAGS:append:libc-musl = ' -DNCURSES_WIDECHAR=1 '
EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args"
+EXTRANATIVEPATH += "file-native"
CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
CACHED_CONFIGUREVARS += "ac_cv_path_PYTHON='/usr/bin/env python'"
diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb
index 9b5b1e1865..1465c1247d 100644
--- a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb
+++ b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb
@@ -7,7 +7,7 @@ SECTION = "base"
# PAM is dual licensed under GPL and BSD.
# /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time
# libpam-runtime-1.0.1 is GPLv2+), by openembedded
-LICENSE = "GPLv2+ | BSD"
+LICENSE = "GPLv2+ | BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \
file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \
"
diff --git a/poky/meta/recipes-extended/shadow/files/0001-libmisc-fix-default-value-in-SHA_get_salt_rounds.patch b/poky/meta/recipes-extended/shadow/files/0001-libmisc-fix-default-value-in-SHA_get_salt_rounds.patch
new file mode 100644
index 0000000000..2c9b1d06cd
--- /dev/null
+++ b/poky/meta/recipes-extended/shadow/files/0001-libmisc-fix-default-value-in-SHA_get_salt_rounds.patch
@@ -0,0 +1,64 @@
+From 234e8fa7b134d1ebabfdad980a3ae5b63c046c62 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sat, 14 Aug 2021 13:24:34 -0400
+Subject: [PATCH] libmisc: fix default value in SHA_get_salt_rounds()
+
+If SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS are both unspecified,
+use SHA_ROUNDS_DEFAULT.
+
+Previously, the code fell through, calling shadow_random(-1, -1). This
+ultimately set rounds = (unsigned long) -1, which ends up being a very
+large number! This then got capped to SHA_ROUNDS_MAX later in the
+function.
+
+The new behavior matches BCRYPT_get_salt_rounds().
+
+Bug: https://bugs.gentoo.org/808195
+Fixes: https://github.com/shadow-maint/shadow/issues/393
+
+Upstream-Status: Backport [https://github.com/shadow-maint/shadow/commit/234e8fa7b134d1ebabfdad980a3ae5b63c046c62]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ libmisc/salt.c | 21 +++++++++++----------
+ 1 file changed, 11 insertions(+), 10 deletions(-)
+
+diff --git a/libmisc/salt.c b/libmisc/salt.c
+index 91d528fd..30eefb9c 100644
+--- a/libmisc/salt.c
++++ b/libmisc/salt.c
+@@ -223,20 +223,21 @@ static /*@observer@*/const unsigned long SHA_get_salt_rounds (/*@null@*/int *pre
+ if ((-1 == min_rounds) && (-1 == max_rounds)) {
+ rounds = SHA_ROUNDS_DEFAULT;
+ }
++ else {
++ if (-1 == min_rounds) {
++ min_rounds = max_rounds;
++ }
+
+- if (-1 == min_rounds) {
+- min_rounds = max_rounds;
+- }
++ if (-1 == max_rounds) {
++ max_rounds = min_rounds;
++ }
+
+- if (-1 == max_rounds) {
+- max_rounds = min_rounds;
+- }
++ if (min_rounds > max_rounds) {
++ max_rounds = min_rounds;
++ }
+
+- if (min_rounds > max_rounds) {
+- max_rounds = min_rounds;
++ rounds = (unsigned long) shadow_random (min_rounds, max_rounds);
+ }
+-
+- rounds = (unsigned long) shadow_random (min_rounds, max_rounds);
+ } else if (0 == *prefered_rounds) {
+ rounds = SHA_ROUNDS_DEFAULT;
+ } else {
+--
+2.17.1
+
diff --git a/poky/meta/recipes-extended/shadow/files/useradd b/poky/meta/recipes-extended/shadow/files/useradd
new file mode 100644
index 0000000000..782aeef418
--- /dev/null
+++ b/poky/meta/recipes-extended/shadow/files/useradd
@@ -0,0 +1,8 @@
+# useradd defaults file
+GROUP=100
+HOME=/home
+INACTIVE=-1
+EXPIRE=
+SHELL=/bin/sh
+SKEL=/etc/skel
+CREATE_MAIL_SPOOL=no
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 97ffae978a..c91f2739cf 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "http://github.com/shadow-maint/shadow"
DESCRIPTION = "${SUMMARY}"
BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
SECTION = "base/utils"
-LICENSE = "BSD | Artistic-1.0"
+LICENSE = "BSD-3-Clause | Artistic-1.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=ed80ff1c2b40843cf5768e5229cf16e5 \
file://src/passwd.c;beginline=2;endline=30;md5=5720ff729a6ff39ecc9f64555d75f4af"
@@ -16,6 +16,8 @@ SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/v${PV}/${BP}
file://shadow-relaxed-usernames.patch \
file://0001-Fix-out-of-tree-builds-with-respect-to-libsubid-incl.patch \
file://0001-libsubid-link-to-PAM-libraries.patch \
+ file://0001-libmisc-fix-default-value-in-SHA_get_salt_rounds.patch \
+ file://useradd \
"
SRC_URI:append:class-target = " \
@@ -115,6 +117,8 @@ do_install() {
# Use proper encryption for passwords
sed -i 's/^#ENCRYPT_METHOD.*$/ENCRYPT_METHOD SHA512/' ${D}${sysconfdir}/login.defs
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/useradd ${D}${sysconfdir}/default
}
do_install:append() {
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch
deleted file mode 100644
index d275e3d7f9..0000000000
--- a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From f839de283c44ffe46a2d14bfdf854c145abd8ed6 Mon Sep 17 00:00:00 2001
-From: Colin Ian King <colin.king@canonical.com>
-Date: Mon, 19 Jul 2021 20:49:34 +0100
-Subject: [PATCH] Detemine minimal stack size via sysconf, then PTHREAD_STACK_MIN then guess
-
-Don't rely on PTHREAD_STACK_MIN being defined, use sysconf, then
-PTHREAD_STACK_MIN if it is defined, then 8K default.
-
-Upstream-Status: Backport [https://kernel.ubuntu.com/git/cking/stress-ng.git/commit/?id=f839de283c44ffe46a2d14bfdf854c145abd8ed6]
-Signed-off-by: Colin Ian King <colin.king@canonical.com>
----
- core-helper.c | 31 +++++++++++++++++++++++++++++++
- stress-ng.h | 1 +
- stress-pthread.c | 13 ++-----------
- 3 files changed, 34 insertions(+), 11 deletions(-)
-
-diff --git a/core-helper.c b/core-helper.c
-index 508627f2..97a3b869 100644
---- a/core-helper.c
-+++ b/core-helper.c
-@@ -2494,6 +2494,37 @@ size_t stress_min_sig_stack_size(void)
- return (size_t)sz;
- }
-
-+size_t stress_min_pthread_stack_size(void)
-+{
-+ static long sz = -1, min;
-+
-+ /* return cached copy */
-+ if (sz > 0)
-+ return sz;
-+
-+ min = stress_min_aux_sig_stack_size();
-+#if defined(__SC_THREAD_STACK_MIN_VALUE)
-+ sz = sysconf(__SC_THREAD_STACK_MIN_VALUE);
-+ if (sz > min)
-+ min = sz;
-+#endif
-+#if defined(_SC_THREAD_STACK_MIN_VALUE)
-+ sz = sysconf(_SC_THREAD_STACK_MIN_VALUE);
-+ if (sz > min)
-+ min = sz;
-+#endif
-+#if defined(PTHREAD_STACK_MIN)
-+ if (PTHREAD_STACK_MIN > min)
-+ min = PTHREAD_STACK_MIN;
-+#endif
-+ if (8192 > min)
-+ min = 8192;
-+
-+ sz = min;
-+
-+ return (size_t)sz;
-+}
-+
- /*
- * stress_sig_handler_exit()
- * signal handler that exits a process via _exit(0) for
-diff --git a/stress-ng.h b/stress-ng.h
-index 8a8b17ae..cd744756 100644
---- a/stress-ng.h
-+++ b/stress-ng.h
-@@ -4056,6 +4056,7 @@ extern WARN_UNUSED int32_t stress_get_opt_ionice_class(const char *const str);
- /* Misc helper funcs */
- extern WARN_UNUSED size_t stress_sig_stack_size(void);
- extern WARN_UNUSED size_t stress_min_sig_stack_size(void);
-+extern WARN_UNUSED size_t stress_min_pthread_stack_size(void);
-
- #define STRESS_SIGSTKSZ (stress_sig_stack_size())
- #define STRESS_MINSIGSTKSZ (stress_min_sig_stack_size())
-diff --git a/stress-pthread.c b/stress-pthread.c
-index 0da3aeec..27777af8 100644
---- a/stress-pthread.c
-+++ b/stress-pthread.c
-@@ -69,12 +69,7 @@ static const stress_opt_set_func_t opt_set_funcs[] = {
-
- #if defined(HAVE_LIB_PTHREAD)
-
--/* Some systems such as GNU/HURD don't define PTHREAD_STACK_MIN */
--#if !defined(PTHREAD_STACK_MIN)
--#define PTHREAD_STACK_MIN (16 * KB)
--#endif
--
--#define DEFAULT_STACK_MIN (16 * KB)
-+#define DEFAULT_STACK_MIN (8 * KB)
-
- #if defined(HAVE_GET_ROBUST_LIST) && \
- defined(HAVE_LINUX_FUTEX_H)
-@@ -404,11 +399,7 @@ static int stress_pthread(const stress_args_t *args)
- stress_pthread_args_t pargs = { args, NULL, 0 };
- sigset_t set;
- #if defined(HAVE_PTHREAD_ATTR_SETSTACK)
--#if DEFAULT_STACK_MIN == PTHREAD_STACK_MIN
-- const size_t stack_size = PTHREAD_STACK_MIN;
--#else
-- const size_t stack_size = STRESS_MAXIMUM(DEFAULT_STACK_MIN, PTHREAD_STACK_MIN);
--#endif
-+ const size_t stack_size = STRESS_MAXIMUM(DEFAULT_STACK_MIN, stress_min_pthread_stack_size());
- #endif
-
- keep_running_flag = true;
---
-2.32.0
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.13.00.bb
index afc9ddf96c..198f7e87c7 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.12.12.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.13.00.bb
@@ -7,9 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
- file://0001-Detemine-minimal-stack-size-via-sysconf-then-PTHREAD.patch \
"
-SRC_URI[sha256sum] = "f27af50f6f2308e707fef927674bdd209a046b116734281b792aeca35a4e4499"
+SRC_URI[sha256sum] = "1cefe4a3057c1522b146e62f61b80ce6e2e99da2d85ebe25bc03fc45228e58cd"
DEPENDS = "coreutils-native"
diff --git a/poky/meta/recipes-extended/sudo/sudo.inc b/poky/meta/recipes-extended/sudo/sudo.inc
index f109672b7e..6a18609adc 100644
--- a/poky/meta/recipes-extended/sudo/sudo.inc
+++ b/poky/meta/recipes-extended/sudo/sudo.inc
@@ -3,7 +3,7 @@ DESCRIPTION = "Sudo (superuser do) allows a system administrator to give certain
HOMEPAGE = "http://www.sudo.ws"
BUGTRACKER = "http://www.sudo.ws/bugs/"
SECTION = "admin"
-LICENSE = "ISC & BSD & Zlib"
+LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & Zlib"
LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=fdff64d4fd19126330aa81b94d167173 \
file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=03e35317699ba00b496251e0dfe9f109 \
file://lib/util/reallocarray.c;beginline=3;endline=15;md5=397dd45c7683e90b9f8bf24638cf03bf \
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.7p2.bb
index 8d47c01706..9b5b2f3c69 100644
--- a/poky/meta/recipes-extended/sudo/sudo_1.9.7p1.bb
+++ b/poky/meta/recipes-extended/sudo/sudo_1.9.7p2.bb
@@ -7,7 +7,7 @@ SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
PAM_SRC_URI = "file://sudo.pam"
-SRC_URI[sha256sum] = "391431f454e55121b60c6ded0fcf30ddb80d623d7d16a6d1907cfa6a0b91d8cf"
+SRC_URI[sha256sum] = "28b5ee725dbf89a7852f42f309ca877d2810a9531b4eecfe59f3a84b6b4afca8"
DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc
index a89560b424..c7d4965cb8 100644
--- a/poky/meta/recipes-extended/timezone/timezone.inc
+++ b/poky/meta/recipes-extended/timezone/timezone.inc
@@ -3,7 +3,7 @@ DESCRIPTION = "The Time Zone Database contains code and data that represent \
the history of local time for many representative locations around the globe."
HOMEPAGE = "http://www.iana.org/time-zones"
SECTION = "base"
-LICENSE = "PD & BSD & BSD-3-Clause"
+LICENSE = "PD & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
PV = "2021a"
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb b/poky/meta/recipes-gnome/epiphany/epiphany_40.3.bb
index a7ce16259a..c5dc0baefa 100644
--- a/poky/meta/recipes-gnome/epiphany/epiphany_40.2.bb
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_40.3.bb
@@ -20,7 +20,7 @@ SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@oe.utils.trim_version("${PV}", 1)}/${GN
file://migrator.patch \
file://distributor.patch \
"
-SRC_URI[archive.sha256sum] = "75119e22065657cf70ef2b603d4f73835573bd034f1e618c0f662478fd6c6835"
+SRC_URI[archive.sha256sum] = "dad138b9f2d55de271128fca38b61f53fd980c587d29e1ba6b508fff3b19f564"
# Developer mode enables debugging
PACKAGECONFIG[developer-mode] = "-Ddeveloper_mode=true,-Ddeveloper_mode=false"
diff --git a/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb b/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
index 8f33bec8da..f319f96b0e 100644
--- a/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
+++ b/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
@@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://gi-docgen.py;beginline=1;endline=5;md5=2dc0f1f0120247
SRC_URI = "git://gitlab.gnome.org/GNOME/gi-docgen.git;protocol=https;branch=main"
-PV = "2021.6"
-SRCREV = "cb76996ba9ef7a1634ab9bde30c77c3bbb47c8db"
+PV = "2021.7"
+SRCREV = "8401357079fdd2f61bff0e110d7379635b73ead8"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-gnome/json-glib/json-glib_1.6.2.bb b/poky/meta/recipes-gnome/json-glib/json-glib_1.6.4.bb
index 3f3707805b..072c2406c7 100644
--- a/poky/meta/recipes-gnome/json-glib/json-glib_1.6.2.bb
+++ b/poky/meta/recipes-gnome/json-glib/json-glib_1.6.4.bb
@@ -12,15 +12,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
DEPENDS = "glib-2.0"
GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase lib_package gobject-introspection gtk-doc gettext ptest-gnome manpages upstream-version-is-even
+inherit gnomebase lib_package gobject-introspection gi-docgen gettext ptest-gnome manpages upstream-version-is-even
GIR_MESON_ENABLE_FLAG = 'enabled'
GIR_MESON_DISABLE_FLAG = 'disabled'
-GTKDOC_MESON_OPTION = "gtk_doc"
-GTKDOC_MESON_ENABLE_FLAG = 'enabled'
-GTKDOC_MESON_DISABLE_FLAG = 'disabled'
+GIDOCGEN_MESON_ENABLE_FLAG = 'enabled'
+GIDOCGEN_MESON_DISABLE_FLAG = 'disabled'
SRC_URI += " file://run-ptest"
-SRC_URI[archive.sha256sum] = "a33d66c6d038bda46b910c6c6d59c4e15db014e363dc997a0414c2e07d134f24"
+SRC_URI[archive.sha256sum] = "b1f6a7930808f77a827f3b397a04bb89d4c0c0b2550885d4a5e4c411dfa13f5f"
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native"
diff --git a/poky/meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch b/poky/meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch
deleted file mode 100644
index aaec9cd20d..0000000000
--- a/poky/meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 078c0db2bc3adf7c665190ee7a9263d7fd1ec618 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 29 Apr 2021 13:06:12 +0200
-Subject: [PATCH] gudevenumtypes: make deterministic
-
-@filename@ writes the full path to the generated file,
-which can vary in CI systems and make outputs non-reproducible.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/15]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- gudev/gudevenumtypes.c.template | 2 +-
- gudev/gudevenumtypes.h.template | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gudev/gudevenumtypes.c.template b/gudev/gudevenumtypes.c.template
-index fc30b39..4918f7e 100644
---- a/gudev/gudevenumtypes.c.template
-+++ b/gudev/gudevenumtypes.c.template
-@@ -4,7 +4,7 @@
- /*** END file-header ***/
-
- /*** BEGIN file-production ***/
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
-
- /*** BEGIN value-header ***/
-diff --git a/gudev/gudevenumtypes.h.template b/gudev/gudevenumtypes.h.template
-index d0ab339..79bf7c4 100644
---- a/gudev/gudevenumtypes.h.template
-+++ b/gudev/gudevenumtypes.h.template
-@@ -9,7 +9,7 @@ G_BEGIN_DECLS
-
- /*** BEGIN file-production ***/
-
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
-
- /*** BEGIN value-header ***/
---
-2.30.2
-
diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_236.bb b/poky/meta/recipes-gnome/libgudev/libgudev_237.bb
index 169b19e0a9..57417f4e7c 100644
--- a/poky/meta/recipes-gnome/libgudev/libgudev_236.bb
+++ b/poky/meta/recipes-gnome/libgudev/libgudev_237.bb
@@ -5,9 +5,7 @@ other programming languages, such as Javascript, because of GObject \
introspection support."
HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev"
BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues"
-SRC_URI[archive.sha256sum] = "e50369d06d594bae615eb7aeb787de304ebaad07a26d1043cef8e9c7ab7c9524"
-
-SRC_URI:append = " file://0001-gudevenumtypes-make-deterministic.patch"
+SRC_URI[archive.sha256sum] = "0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa"
DEPENDS = "glib-2.0 udev"
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.9.0.bb
index 48b0c7724a..bc91a8c03c 100644
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.2.bb
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.9.0.bb
@@ -12,7 +12,7 @@ UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar"
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7"
+SRC_URI[sha256sum] = "3e1c2e1d2c65d56364fd16d1c41a06b2a35795496f78dfff635c2b7414b54c5a"
inherit meson pkgconfig lib_package gtk-doc gobject-introspection
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.1.bb
index 9d0a338532..fbed6eeca7 100644
--- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb
+++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.1.bb
@@ -14,7 +14,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
file://0001-libjpeg-turbo-fix-package_qa-error.patch \
"
-SRC_URI[sha256sum] = "bef89803e506f27715c5627b1e3219c95b80fc31465d4452de2a909d382e4444"
+SRC_URI[sha256sum] = "b76aaedefb71ba882cbad4e9275b30c2ae493e3195be0a099425b5c6b99bd510"
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb
index dd621b1050..487fc00360 100644
--- a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb
+++ b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.9.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
SRC_URI = "https://github.com/anholt/${BPN}/releases/download/${PV}/${BP}.tar.xz \
file://0001-dispatch_common.h-define-also-EGL_NO_X11.patch \
"
-SRC_URI[sha256sum] = "cf05e4901778c434aef68bb7dc01bea2bce15440c0cecb777fb446f04db6fe0d"
+SRC_URI[sha256sum] = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4"
UPSTREAM_CHECK_URI = "https://github.com/anholt/libepoxy/releases"
inherit meson pkgconfig features_check
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.16.bb
index 86b2fc1b7b..bd7dea275e 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.14.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.16.bb
@@ -8,7 +8,7 @@ BUGTRACKER = "http://bugzilla.libsdl.org/"
SECTION = "libs"
LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=2d4af6adb4d89aad0cdedbcc18c9a32f"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=095c2687a3c3908e26984eaa8ec2d770"
# arm-neon adds MIT license
LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', '& MIT', '', d)}"
@@ -22,7 +22,7 @@ SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
S = "${WORKDIR}/SDL2-${PV}"
-SRC_URI[sha256sum] = "d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc"
+SRC_URI[sha256sum] = "65be9ff6004034b5b2ce9927b5a4db1814930f169c4b2dae0a1e4697075f287b"
inherit autotools lib_package binconfig-disabled pkgconfig
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch b/poky/meta/recipes-graphics/mesa/files/0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch
deleted file mode 100644
index 1a8771028b..0000000000
--- a/poky/meta/recipes-graphics/mesa/files/0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 303c02a31df4e2b8f6090e75982922a9cba33e4c Mon Sep 17 00:00:00 2001
-From: Joshua Watt <JPEWhacker@gmail.com>
-Date: Tue, 27 Jul 2021 11:41:53 -0500
-Subject: [PATCH] v3d, vc4: Fix dmabuf import for non-scanout buffers
-
-Failure to create a buffer for scanout should not be fatal when
-importing a buffer. Buffers allocated from a render-only device may not
-be able to scanned out directly but can still be used for other
-rendering purposes (e.g. as a texture).
-
-Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12081]
----
- src/gallium/drivers/v3d/v3d_resource.c | 13 +++++--------
- src/gallium/drivers/vc4/vc4_resource.c | 3 ---
- 2 files changed, 5 insertions(+), 11 deletions(-)
-
-diff --git a/src/gallium/drivers/v3d/v3d_resource.c b/src/gallium/drivers/v3d/v3d_resource.c
-index 602ba6d8447..02dc29ae6a0 100644
---- a/src/gallium/drivers/v3d/v3d_resource.c
-+++ b/src/gallium/drivers/v3d/v3d_resource.c
-@@ -433,10 +433,11 @@ v3d_resource_get_handle(struct pipe_screen *pscreen,
- return v3d_bo_flink(bo, &whandle->handle);
- case WINSYS_HANDLE_TYPE_KMS:
- if (screen->ro) {
-- assert(rsc->scanout);
-- bool ok = renderonly_get_handle(rsc->scanout, whandle);
-- whandle->stride = rsc->slices[0].stride;
-- return ok;
-+ if (renderonly_get_handle(rsc->scanout, whandle)) {
-+ whandle->stride = rsc->slices[0].stride;
-+ return true;
-+ }
-+ return false;
- }
- whandle->handle = bo->handle;
- return true;
-@@ -929,10 +930,6 @@ v3d_resource_from_handle(struct pipe_screen *pscreen,
- renderonly_create_gpu_import_for_resource(prsc,
- screen->ro,
- NULL);
-- if (!rsc->scanout) {
-- fprintf(stderr, "Failed to create scanout resource.\n");
-- goto fail;
-- }
- }
-
- if (rsc->tiled && whandle->stride != slice->stride) {
-diff --git a/src/gallium/drivers/vc4/vc4_resource.c b/src/gallium/drivers/vc4/vc4_resource.c
-index 61e5fd7e5a6..bf3f7656ff8 100644
---- a/src/gallium/drivers/vc4/vc4_resource.c
-+++ b/src/gallium/drivers/vc4/vc4_resource.c
-@@ -320,7 +320,6 @@ vc4_resource_get_handle(struct pipe_screen *pscreen,
- return vc4_bo_flink(rsc->bo, &whandle->handle);
- case WINSYS_HANDLE_TYPE_KMS:
- if (screen->ro) {
-- assert(rsc->scanout);
- return renderonly_get_handle(rsc->scanout, whandle);
- }
- whandle->handle = rsc->bo->handle;
-@@ -689,8 +688,6 @@ vc4_resource_from_handle(struct pipe_screen *pscreen,
- renderonly_create_gpu_import_for_resource(prsc,
- screen->ro,
- NULL);
-- if (!rsc->scanout)
-- goto fail;
- }
-
- if (rsc->tiled && whandle->stride != slice->stride) {
---
-2.32.0
-
diff --git a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
index eac6d4df89..35ab8d5a72 100644
--- a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -1,4 +1,4 @@
-From d434b9e5d29d614b57c09e164e1d084094bf2150 Mon Sep 17 00:00:00 2001
+From 8f2f48b41aa17eec3c4d63685e3296f28e60b980 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair@alistair23.me>
Date: Thu, 14 Nov 2019 13:08:31 -0800
Subject: [PATCH] meson.build: make TLS ELF optional
@@ -30,10 +30,10 @@ Signed-off-by: Alistair Francis <alistair@alistair23.me>
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
-index 42f448e..02f6e33 100644
+index 23618c1..c8cc5e3 100644
--- a/meson.build
+++ b/meson.build
-@@ -449,7 +449,7 @@ endif
+@@ -476,7 +476,7 @@ endif
use_elf_tls = false
if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and
(not with_platform_android or get_option('platform-sdk-version') >= 29) and
@@ -41,12 +41,12 @@ index 42f448e..02f6e33 100644
+ (not with_platform_windows or not with_shared_glapi) and get_option('elf-tls'))
pre_args += '-DUSE_ELF_TLS'
use_elf_tls = true
- endif
+
diff --git a/meson_options.txt b/meson_options.txt
-index a7030ab..635ec20 100644
+index 29c402c..f70d9b2 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -421,6 +421,12 @@ option(
+@@ -455,6 +455,12 @@ option(
value : true,
description : 'Enable direct rendering in GLX and EGL for DRI',
)
diff --git a/poky/meta/recipes-graphics/mesa/files/without-neon.patch b/poky/meta/recipes-graphics/mesa/files/without-neon.patch
new file mode 100644
index 0000000000..56e4aa7769
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/without-neon.patch
@@ -0,0 +1,53 @@
+Since 80923e8d ("util/format: Add some NEON intrinsics-based u_format_unpack.")
+upstream the build fails on Arm platforms which use the soft-float ABI, such as
+qemuarmv5:
+
+ arm_neon.h:31:2: error: #error "NEON intrinsics not available with the
+ soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard"
+
+Take a patch from upstream to check the ABI being used before trying to
+use NEON instructions.
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12569]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 5dcce985a6dd3b7856d65e21db753e2c7a0f5dd5 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@debian.org>
+Date: Thu, 26 Aug 2021 22:35:49 +0300
+Subject: [PATCH] util/format: NEON is not available with the soft-float ABI
+
+Fixes: 80923e8d58cc ("util/format: Add some NEON intrinsics-based u_format_unpack.")
+---
+ src/util/format/u_format.c | 2 +-
+ src/util/format/u_format_unpack_neon.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c
+index c49b3788c82..31f1f240efc 100644
+--- a/src/util/format/u_format.c
++++ b/src/util/format/u_format.c
+@@ -1138,7 +1138,7 @@ static void
+ util_format_unpack_table_init(void)
+ {
+ for (enum pipe_format format = PIPE_FORMAT_NONE; format < PIPE_FORMAT_COUNT; format++) {
+-#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined NO_FORMAT_ASM
++#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__)
+ const struct util_format_unpack_description *unpack = util_format_unpack_description_neon(format);
+ if (unpack) {
+ util_format_unpack_table[format] = unpack;
+diff --git a/src/util/format/u_format_unpack_neon.c b/src/util/format/u_format_unpack_neon.c
+index 7456d7aaa88..a4a5cb1f723 100644
+--- a/src/util/format/u_format_unpack_neon.c
++++ b/src/util/format/u_format_unpack_neon.c
+@@ -23,7 +23,7 @@
+
+ #include <u_format.h>
+
+-#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined NO_FORMAT_ASM
++#if (defined(PIPE_ARCH_AARCH64) || defined(PIPE_ARCH_ARM)) && !defined(NO_FORMAT_ASM) && !defined(__SOFTFP__)
+
+ /* armhf builds default to vfp, not neon, and refuses to compile neon intrinsics
+ * unless you tell it "no really".
+--
+GitLab
+
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.2.1.bb
index 142bb743b1..142bb743b1 100644
--- a/poky/meta/recipes-graphics/mesa/mesa-gl_21.1.5.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa-gl_21.2.1.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 4f446daaa6..0a7a3ca7bc 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -19,10 +19,10 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0002-meson.build-make-TLS-ELF-optional.patch \
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
- file://0001-v3d-vc4-Fix-dmabuf-import-for-non-scanout-buffers.patch \
+ file://without-neon.patch \
"
-SRC_URI[sha256sum] = "022c7293074aeeced2278c872db4fa693147c70f8595b076cf3f1ef81520766d"
+SRC_URI[sha256sum] = "2c65e6710b419b67456a48beefd0be827b32db416772e0e363d5f7d54dc01787"
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
@@ -132,9 +132,8 @@ PACKAGECONFIG[v3d] = ""
GALLIUMDRIVERS = "swrast"
# gallium swrast was found to crash Xorg on startup in x32 qemu
GALLIUMDRIVERS:x86-x32 = ""
-# Add crocus when 21.2 is out to the list below to support the full range of Intel GPUs
-GALLIUMDRIVERS:append:x86:class-target = ",i915,iris"
-GALLIUMDRIVERS:append:x86-64:class-target = ",i915,iris"
+GALLIUMDRIVERS:append:x86:class-target = ",i915,iris,crocus"
+GALLIUMDRIVERS:append:x86-64:class-target = ",i915,iris,crocus"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
GALLIUMDRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb b/poky/meta/recipes-graphics/mesa/mesa_21.2.1.bb
index 951fe8333b..4cb7e80eb5 100644
--- a/poky/meta/recipes-graphics/mesa/mesa_21.1.5.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa_21.2.1.bb
@@ -2,3 +2,4 @@ require ${BPN}.inc
DRIDRIVERS ??= ""
DRIDRIVERS:append:x86:class-target = ",r100,r200,nouveau,i965"
DRIDRIVERS:append:x86-64:class-target = ",r100,r200,nouveau,i965"
+
diff --git a/poky/meta/recipes-graphics/pango/pango_1.48.7.bb b/poky/meta/recipes-graphics/pango/pango_1.48.9.bb
index 48a77868f8..54e169768c 100644
--- a/poky/meta/recipes-graphics/pango/pango_1.48.7.bb
+++ b/poky/meta/recipes-graphics/pango/pango_1.48.9.bb
@@ -20,7 +20,7 @@ GIR_MESON_DISABLE_FLAG = "disabled"
SRC_URI += "file://run-ptest"
-SRC_URI[archive.sha256sum] = "28a82f6a6cab60aa3b75a90f04197ead2d311fa8fe8b7bfdf8666e2781d506dc"
+SRC_URI[archive.sha256sum] = "a913657d3fe5aa04c03958a3b5d3fc859e891b75cd81b873a819330f6c0872aa"
DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
diff --git a/poky/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch b/poky/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
deleted file mode 100644
index 34c5bfa857..0000000000
--- a/poky/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 58f576d6f240b08957a402960cdf06c74201ac7b Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 12 Dec 2019 22:16:15 -0800
-Subject: [PATCH] Use ASSIMP_LIB_INSTALL_DIR to search library
-
-Use ASSIMP_LIB_INSTALL_DIR rather than hardcoded /lib to search library
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- assimpTargets-release.cmake.in | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in
-index f3db8f1..b8a066a 100644
---- a/assimpTargets-release.cmake.in
-+++ b/assimpTargets-release.cmake.in
-@@ -42,11 +42,11 @@ if(MSVC)
- # Import target "assimp::assimp" for configuration "Release"
- set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- set_target_properties(assimp::assimp PROPERTIES
-- IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}"
-+ IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}"
- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}")
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}")
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
- else()
- set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
-@@ -54,10 +54,10 @@ if(MSVC)
- # Import target "assimp::assimp" for configuration "Release"
- set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- set_target_properties(assimp::assimp PROPERTIES
-- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
-+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}")
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}")
- endif()
-
- else()
-@@ -70,17 +70,17 @@ else()
- endif()
- set_target_properties(assimp::assimp PROPERTIES
- IMPORTED_SONAME_RELEASE "${sharedLibraryName}"
-- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
-+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}" )
- else()
- set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
- set_target_properties(assimp::assimp PROPERTIES
-- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
-+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
-- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" )
-+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}" )
- endif()
- endif()
-
diff --git a/poky/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch b/poky/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch
new file mode 100644
index 0000000000..1078148d6b
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch
@@ -0,0 +1,32 @@
+From: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
+Date: Fri, 13 Aug 2021 16:42:48 +0530
+Subject: [PATCH] assimp: remove shared lib from _IMPORT_CHECK_TARGETS
+
+In the target assimp::assimp shared library verification removed
+as it is giving configuration error when used by 3rd part component to
+configure itself using assimp::assimp target
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
+---
+ assimpTargets-release.cmake.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in
+index cd2fac7e0..52edc7990 100644
+--- a/assimpTargets-release.cmake.in
++++ b/assimpTargets-release.cmake.in
+@@ -72,8 +72,8 @@ else()
+ IMPORTED_SONAME_RELEASE "${sharedLibraryName}"
+ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}"
+ )
+- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
++ #list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
++ #list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
+ else()
+ set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
+ set_target_properties(assimp::assimp PROPERTIES
+--
+2.17.1
diff --git a/poky/meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch b/poky/meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch
new file mode 100644
index 0000000000..e4f5b9ccbd
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch
@@ -0,0 +1,257 @@
+From cbf94fd62ff831879d10f99aa7766d391ae8a9b7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Victor=20Matar=C3=A9?= <matare@fh-aachen.de>
+Date: Tue, 31 Mar 2020 21:30:07 +0200
+Subject: [PATCH] use GNUInstallDirs where possible
+
+Emulate the CMAKE_INSTALL_FULL_* variables on non-Unix systems and
+disable redefining FHS-mandated install locations via user-editable
+ASSIMP_*_INSTALL_DIR variables. Instead, if it REALLY proves necessary,
+Unix users can edit the advanced, canonical CMAKE_INSTALL_* variables.
+---
+ CMakeLists.txt | 36 ++++++++++++++++++++++------------
+ assimp.pc.in | 6 ++----
+ assimpTargets-debug.cmake.in | 20 +++++++++----------
+ assimpTargets-release.cmake.in | 18 ++++++++---------
+ assimpTargets.cmake.in | 15 +-------------
+ 5 files changed, 45 insertions(+), 50 deletions(-)
+
+Upstream-Status: Backport
+Comment: Additionally remove setting of ASSIMP_LIBRARY_DIRS, ASSIMP_INCLUDE_DIRS
+ and INTERFACE_INCLUDE_DIRECTORIES as default cross compile paths are enough
+ and setting them manually adds non-existing paths to CMake modules
+
+Signed-off-by: Ranjitsinh Rathod <ranjitsinh.rathod@kpit.com>
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dcafb649f5..c23c0df33e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -230,11 +230,6 @@ SET(LIBASSIMP-DEV_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_M
+ SET(CPACK_COMPONENTS_ALL assimp-bin ${LIBASSIMP_COMPONENT} ${LIBASSIMP-DEV_COMPONENT} assimp-dev)
+ SET(ASSIMP_LIBRARY_SUFFIX "" CACHE STRING "Suffix to append to library names")
+
+-IF( UNIX )
+- # Use GNUInstallDirs for Unix predefined directories
+- INCLUDE(GNUInstallDirs)
+-ENDIF( UNIX )
+-
+ # Grouped compiler settings
+ IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW)
+ IF(NOT HUNTER_ENABLED)
+@@ -329,14 +324,6 @@ IF ( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
+ SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/bin" )
+ ENDIF ( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
+
+-# Cache these to allow the user to override them manually.
+-SET( ASSIMP_LIB_INSTALL_DIR "lib" CACHE STRING
+- "Path the built library files are installed to." )
+-SET( ASSIMP_INCLUDE_INSTALL_DIR "include" CACHE STRING
+- "Path the header files are installed to." )
+-SET( ASSIMP_BIN_INSTALL_DIR "bin" CACHE STRING
+- "Path the tool executables are installed to." )
+-
+ get_cmake_property(is_multi_config GENERATOR_IS_MULTI_CONFIG)
+
+ IF (INJECT_DEBUG_POSTFIX AND (is_multi_config OR CMAKE_BUILD_TYPE STREQUAL "Debug"))
+@@ -391,6 +378,29 @@ IF(HUNTER_ENABLED)
+ )
+ ELSE(HUNTER_ENABLED)
+ # cmake configuration files
++
++ IF( UNIX )
++ # Use GNUInstallDirs for Unix predefined directories
++ INCLUDE(GNUInstallDirs)
++
++ SET( ASSIMP_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
++ SET( ASSIMP_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
++ SET( ASSIMP_BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
++ ELSE( UNIX )
++ # Cache these to allow the user to override them on non-Unix platforms
++ SET( ASSIMP_LIB_INSTALL_DIR "lib" CACHE STRING
++ "Path the built library files are installed to." )
++ SET( ASSIMP_INCLUDE_INSTALL_DIR "include" CACHE STRING
++ "Path the header files are installed to." )
++ SET( ASSIMP_BIN_INSTALL_DIR "bin" CACHE STRING
++ "Path the tool executables are installed to." )
++
++ SET(CMAKE_INSTALL_FULL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_INCLUDE_INSTALL_DIR})
++ SET(CMAKE_INSTALL_FULL_LIBDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_LIB_INSTALL_DIR})
++ SET(CMAKE_INSTALL_FULL_BINDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_BIN_INSTALL_DIR})
++ ENDIF( UNIX )
++
++
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" @ONLY IMMEDIATE)
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake" @ONLY IMMEDIATE)
+ IF (is_multi_config)
+diff --git a/assimp.pc.in b/assimp.pc.in
+index c659e19f2c..555a3a1d3b 100644
+--- a/assimp.pc.in
++++ b/assimp.pc.in
+@@ -1,7 +1,5 @@
+-prefix=@CMAKE_INSTALL_PREFIX@
+-exec_prefix=@CMAKE_INSTALL_PREFIX@/
+-libdir=@CMAKE_INSTALL_PREFIX@/@ASSIMP_LIB_INSTALL_DIR@
+-includedir=@CMAKE_INSTALL_PREFIX@/../include/@ASSIMP_INCLUDE_INSTALL_DIR@
++libdir=@CMAKE_INSTALL_FULL_LIBDIR@
++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+
+ Name: @CMAKE_PROJECT_NAME@
+ Description: Import various well-known 3D model formats in an uniform manner.
+diff --git a/assimpTargets-debug.cmake.in b/assimpTargets-debug.cmake.in
+index 1ebe2a6081..f5034c9349 100644
+--- a/assimpTargets-debug.cmake.in
++++ b/assimpTargets-debug.cmake.in
+@@ -42,22 +42,22 @@ if(MSVC)
+ # Import target "assimp::assimp" for configuration "Debug"
+ set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ set_target_properties(assimp::assimp PROPERTIES
+- IMPORTED_IMPLIB_DEBUG "${_IMPORT_PREFIX}/lib/${importLibraryName}"
+- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
++ IMPORTED_IMPLIB_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}"
++ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}"
+ )
+ list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}")
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}")
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}" )
+ else()
+ set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@")
+
+ # Import target "assimp::assimp" for configuration "Debug"
+ set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ set_target_properties(assimp::assimp PROPERTIES
+- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
++ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
+ )
+ list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}")
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}")
+ endif()
+
+ else()
+@@ -66,17 +66,17 @@ else()
+ set(sharedLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@.@ASSIMP_VERSION_MAJOR@")
+ set_target_properties(assimp::assimp PROPERTIES
+ IMPORTED_SONAME_DEBUG "${sharedLibraryName}"
+- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
++ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}"
+ )
+ list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
+ else()
+ set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@")
+ set_target_properties(assimp::assimp PROPERTIES
+- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
++ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
+ )
+ list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" )
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}" )
+ endif()
+ endif()
+
+diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in
+index f3db8f12cd..a416e8899b 100644
+--- a/assimpTargets-release.cmake.in
++++ b/assimpTargets-release.cmake.in
+@@ -42,12 +42,12 @@ if(MSVC)
+ # Import target "assimp::assimp" for configuration "Release"
+ set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ set_target_properties(assimp::assimp PROPERTIES
+- IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}"
+- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
++ IMPORTED_IMPLIB_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}"
++ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}"
+ )
+ list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}")
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}")
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}" )
+ else()
+ set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
+
+@@ -57,7 +57,7 @@ if(MSVC)
+ IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
+ )
+ list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}")
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}")
+ endif()
+
+ else()
+@@ -70,17 +70,17 @@ else()
+ endif()
+ set_target_properties(assimp::assimp PROPERTIES
+ IMPORTED_SONAME_RELEASE "${sharedLibraryName}"
+- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
++ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}"
+ )
+ list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
+ else()
+ set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
+ set_target_properties(assimp::assimp PROPERTIES
+- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
++ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
+ )
+ list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
+- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" )
++ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}" )
+ endif()
+ endif()
+
+@@ -91,8 +91,6 @@ get_filename_component(ASSIMP_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" REALPATH)
+
+ set( ASSIMP_CXX_FLAGS ) # dynamically linked library
+ set( ASSIMP_LINK_FLAGS "" )
+-set( ASSIMP_LIBRARY_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_LIB_INSTALL_DIR@")
+-set( ASSIMP_INCLUDE_DIRS "${ASSIMP_ROOT_DIR}/@ASSIMP_INCLUDE_INSTALL_DIR@")
+ if(ASSIMP_BUILD_SHARED_LIBS)
+ set( ASSIMP_LIBRARIES ${sharedLibraryName})
+ else()
+
+diff --git a/assimpTargets.cmake.in b/assimpTargets.cmake.in
+index ab1a8d2c7b..ef90c834a6 100644
+--- a/assimpTargets.cmake.in
++++ b/assimpTargets.cmake.in
+@@ -40,16 +40,6 @@ unset(_targetsDefined)
+ unset(_targetsNotDefined)
+ unset(_expectedTargets)
+
+-
+-# Compute the installation prefix relative to this file.
+-get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
+-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
+-if(_IMPORT_PREFIX STREQUAL "/")
+- set(_IMPORT_PREFIX "")
+-endif()
+-
+ # Create imported target assimp::assimp
+ if(@BUILD_SHARED_LIBS@)
+ add_library(assimp::assimp SHARED IMPORTED)
+@@ -60,7 +50,7 @@ endif()
+ set_target_properties(assimp::assimp PROPERTIES
+ COMPATIBLE_INTERFACE_STRING "assimp_MAJOR_VERSION"
+ INTERFACE_assimp_MAJOR_VERSION "1"
+- INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include"
++ #INTERFACE_INCLUDE_DIRECTORIES "@CMAKE_INSTALL_FULL_INCLUDEDIR@"
+ #INTERFACE_LINK_LIBRARIES "TxtUtils::TxtUtils;MealyMachine::MealyMachine"
+ )
+
+@@ -75,9 +65,6 @@ foreach(f ${CONFIG_FILES})
+ include(${f})
+ endforeach()
+
+-# Cleanup temporary variables.
+-set(_IMPORT_PREFIX)
+-
+ # Loop over all imported files and verify that they actually exist
+ foreach(target ${_IMPORT_CHECK_TARGETS} )
+ foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
+
diff --git a/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb b/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb
index 4eb0cefffc..89c555f08e 100644
--- a/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb
+++ b/poky/meta/recipes-graphics/vulkan/assimp_5.0.1.bb
@@ -10,7 +10,8 @@ DEPENDS = "zlib"
SRC_URI = "git://github.com/assimp/assimp.git;branch=assimp_5.0_release \
file://0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch \
- file://0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch \
+ file://use-GNUInstallDirs-where-possible.patch \
+ file://0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index 6488c00924..c5ead19482 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -11,7 +11,7 @@ SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "43ee480644a20dbc8d4983b22578068f8bed7571"
+SRCREV = "d2187278cb6632ce35920575832eb6f6e2b2e46c"
UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.18.0.bb b/poky/meta/recipes-graphics/wayland/libinput_1.18.1.bb
index 9d1ac811aa..4e9be5e37f 100644
--- a/poky/meta/recipes-graphics/wayland/libinput_1.18.0.bb
+++ b/poky/meta/recipes-graphics/wayland/libinput_1.18.1.bb
@@ -16,7 +16,7 @@ SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
file://run-ptest \
file://determinism.patch \
"
-SRC_URI[sha256sum] = "18c6a286583268d39841348e561fbb4713bde0c643b360f5d8a3f27800afdb9a"
+SRC_URI[sha256sum] = "9ca14021fbc2523bc0610582c51f368321592040b6ca63becc2fa1ea11f1a7cb"
UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch b/poky/meta/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
new file mode 100644
index 0000000000..f8f7589499
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
@@ -0,0 +1,50 @@
+From c8bfa1f8d576cdc6d515dbbac36c48c6166be0d5 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Thu, 1 Apr 2021 00:12:00 +0300
+Subject: [PATCH] libweston/backend-drm: Re-order gbm destruction at DRM-backend tear down
+
+Tearing down the drm-backend when there are no input devices, would call
+for the gbm device destruction before compositor shutdown. The latter
+would call into the renderer detroy function and assume that the
+EGLDisplay, which was created using the before-mentioned gbm device, is
+still available. This patch re-orders the gbm destruction after the
+compositor shutdown when no one would make use of it.
+
+Fixes: #314
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+Suggested-by: Daniel Stone <daniel.stone@collabora.com>
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/weston/-/commit/d171c7b3ba346c4d0bd6494f45ebf0be3c3cc5fb]
+---
+ libweston/backend-drm/drm.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
+index 2780f3b..fbcfeca 100644
+--- a/libweston/backend-drm/drm.c
++++ b/libweston/backend-drm/drm.c
+@@ -3025,10 +3025,6 @@ err_drm_source:
+ err_udev_input:
+ udev_input_destroy(&b->input);
+ err_sprite:
+-#ifdef BUILD_DRM_GBM
+- if (b->gbm)
+- gbm_device_destroy(b->gbm);
+-#endif
+ destroy_sprites(b);
+ err_udev_dev:
+ udev_device_unref(drm_device);
+@@ -3038,6 +3034,10 @@ err_launcher:
+ weston_launcher_destroy(compositor->launcher);
+ err_compositor:
+ weston_compositor_shutdown(compositor);
++#ifdef BUILD_DRM_GBM
++ if (b->gbm)
++ gbm_device_destroy(b->gbm);
++#endif
+ free(b);
+ return NULL;
+ }
+--
+2.33.0
diff --git a/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb
index fbf181b4a6..1f1d62ea7c 100644
--- a/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb
+++ b/poky/meta/recipes-graphics/wayland/weston_9.0.0.bb
@@ -12,6 +12,7 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \
file://0001-meson.build-fix-incorrect-header.patch \
+ file://0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch \
"
SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch "
@@ -32,7 +33,7 @@ LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '',
WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
-EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false"
+EXTRA_OEMESON += "-Dbackend-default=auto -Dpipewire=false"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
@@ -58,6 +59,8 @@ PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx
PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
# Weston on framebuffer
PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev"
+# Weston on RDP
+PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
# weston-launch
PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm"
# VA-API desktop recorder
diff --git a/poky/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb b/poky/meta/recipes-graphics/xorg-app/xeyes_1.2.0.bb
index 06885f8f53..73d09f058d 100644
--- a/poky/meta/recipes-graphics/xorg-app/xeyes_1.1.2.bb
+++ b/poky/meta/recipes-graphics/xorg-app/xeyes_1.2.0.bb
@@ -8,7 +8,6 @@ PE = "1"
LIC_FILES_CHKSUM = "file://COPYING;md5=3ea51b365051ac32d1813a7dbaa4bfc6"
-SRC_URI[md5sum] = "6f0543ec84283df5743eeafc173bea4a"
-SRC_URI[sha256sum] = "57bcec0d2d167af9e5d44d0dbd74c6d7c0f0591cd0608952b23c749fdd910553"
+SRC_URI[sha256sum] = "f8a17e23146bef1ab345a1e303c6749e42aaa7bcf4f25428afad41770721b6db"
-DEPENDS += "libxau libxt libxext libxmu libxrender"
+DEPENDS += "libxau libxt libxext libxmu libxrender libxi"
diff --git a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb b/poky/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
index 8f2d10e25b..f940c5f534 100644
--- a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
+++ b/poky/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
@@ -3,7 +3,7 @@ SUMMARY = "X.Org font package creation/installation utilities"
require xorg-font-common.inc
#Unicode is MIT
-LICENSE = "BSD & MIT"
+LICENSE = "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=5df208ec65eb84ce5bb8d82d8f3b9675 \
file://ucs2any.c;endline=28;md5=8357dc567fc628bd12696f15b2a33bcb \
file://bdftruncate.c;endline=26;md5=4f82ffc101a1b165eae9c6998abff937 \
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb
index c84f33e92c..7ee2a9c16a 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11_1.7.2.bb
@@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "1cfa35e37aaabbe4792e9bb690468efefbfbf6b147d9c69d6f90d13c30
PROVIDES = "virtual/libx11"
XORG_PN = "libX11"
-LICENSE = "MIT & MIT-style & BSD"
+LICENSE = "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7"
DEPENDS += "xorgproto xtrans libxcb"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb
index 1c9cc0a21d..9ad19dc826 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.4.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.5.bb
@@ -6,7 +6,7 @@ such as freetype)."
require xorg-lib-common.inc
-LICENSE = "MIT & MIT-style & BSD"
+LICENSE = "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=a46c8040f2f737bcd0c435feb2ab1c2c"
DEPENDS += "freetype xtrans xorgproto libfontenc zlib"
@@ -15,8 +15,7 @@ XORG_PN = "libXfont2"
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "00516bed7ec1453d56974560379fff2f"
-SRC_URI[sha256sum] = "6d151b3368e5035efede4b6264c0fdc6662c1c99dbc2de425e3480cababc69e6"
+SRC_URI[sha256sum] = "aa7c6f211cf7215c0ab4819ed893dc98034363d7b930b844bb43603c2e10b53e"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb
index 9695afd625..12636914dd 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.3.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxft_2.3.4.bb
@@ -20,8 +20,7 @@ PROVIDES = "xft"
PE = "1"
-SRC_URI[md5sum] = "4a433c24627b4ff60a4dd403a0990796"
-SRC_URI[sha256sum] = "225c68e616dd29dbb27809e45e9eadf18e4d74c50be43020ef20015274529216"
+SRC_URI[sha256sum] = "57dedaab20914002146bdae0cb0c769ba3f75214c4c91bd2613d6ef79fc9abdd"
XORG_PN = "libXft"
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.13.bb
index 01b50b9923..01a54070c7 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.12.bb
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.13.bb
@@ -8,7 +8,7 @@ SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.pat
file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \
file://0001-Fix-segfault-on-probing-a-non-PCI-platform-device-on.patch \
"
-SRC_URI[sha256sum] = "336dc093431d81ecc03fa36af771f1181334f2746b7de7796f3cc6a8fa9e8cac"
+SRC_URI[sha256sum] = "40aa4e96a56a81a301f15a9b10e06a22700f12b42d9e0e453c7f11d354386300"
# These extensions are now integrated into the server, so declare the migration
# path for in-place upgrades.
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210818.bb
index d91a5562ac..0249332fca 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20210818.bb
@@ -97,7 +97,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
file://LICENSE.ice;md5=742ab4850f2670792940e6d15c974b2f \
file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \
- file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \
+ file://LICENCE.iwlwifi_firmware;md5=2ce6786e0fc11ac6e36b54bb9b799f1b \
file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \
file://LICENSE.Lontium;md5=4ec8dc582ff7295f39e2ca6a7b0be2b6 \
file://LICENCE.Marvell;md5=28b6ed8bd04ba105af6e4dcd6e997772 \
@@ -132,7 +132,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
- file://WHENCE;md5=727d0d4e2d420f41d89d098f6322e779 \
+ file://WHENCE;md5=15ad289bf2359e8ecf613f3b04f72fab \
"
# These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -205,7 +205,7 @@ PE = "1"
SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "2aa6ae8b9808408f9811ac38f00c188e53e984a2b3990254f6c9c02c1ab13417"
+SRC_URI[sha256sum] = "bef3d317c348d962b3a1b95cb4e19ea4f282e18112b2c669cff74f9267ce3893"
inherit allarch
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index 3b5fdda773..d39573965f 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -220,10 +220,10 @@ do_install() {
if [ "${ARCH}" = "x86" ]; then
# files for 'make prepare' to succeed with kernel-devel
- cp -a --parents $(find arch/x86 -type f -name "syscall_32.tbl") $kerneldir/build/
- cp -a --parents $(find arch/x86 -type f -name "syscalltbl.sh") $kerneldir/build/
- cp -a --parents $(find arch/x86 -type f -name "syscallhdr.sh") $kerneldir/build/
- cp -a --parents $(find arch/x86 -type f -name "syscall_64.tbl") $kerneldir/build/
+ cp -a --parents $(find arch/x86 -type f -name "syscall_32.tbl") $kerneldir/build/ 2>/dev/null || :
+ cp -a --parents $(find arch/x86 -type f -name "syscalltbl.sh") $kerneldir/build/ 2>/dev/null || :
+ cp -a --parents $(find arch/x86 -type f -name "syscallhdr.sh") $kerneldir/build/ 2>/dev/null || :
+ cp -a --parents $(find arch/x86 -type f -name "syscall_64.tbl") $kerneldir/build/ 2>/dev/null || :
cp -a --parents arch/x86/tools/relocs_32.c $kerneldir/build/
cp -a --parents arch/x86/tools/relocs_64.c $kerneldir/build/
cp -a --parents arch/x86/tools/relocs.c $kerneldir/build/
@@ -322,7 +322,7 @@ RDEPENDS:${PN} = "bc python3 flex bison ${TCLIBC}-utils"
# 4.15+ needs these next two RDEPENDS
RDEPENDS:${PN} += "openssl-dev util-linux"
# and x86 needs a bit more for 4.15+
-RDEPENDS:${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils', '', d)}"
+RDEPENDS:${PN} += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-dev', '', d)}"
# 5.8+ needs gcc-plugins libmpc-dev
RDEPENDS:${PN} += "gcc-plugins libmpc-dev"
# 5.13+ needs awk for arm64
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 28a255a0c0..0911787009 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name
SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
-LINUX_VERSION ?= "5.13+"
+LINUX_VERSION ?= "5.14+"
LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
index ee80836488..d1100817df 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "969fef49cbbc8639e9622e6a0655337fbfcc7627"
-SRCREV_meta ?= "3f38ad49cf38519dc4492a3f802b743fde7b467e"
+SRCREV_machine ?= "c8efa3efd890f35f8037a8c3533ba52e6de83fdf"
+SRCREV_meta ?= "bce2813b162bb472c137fb503951295a931c25b6"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
-LINUX_VERSION ?= "5.10.53"
+LINUX_VERSION ?= "5.10.60"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb
index daf3d41a69..e59536cc3d 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "f7609685b99c816483dd1eb4d3d7cfd236abcd8a"
-SRCREV_meta ?= "45ba17c2208f4b39c36fdb748df5929b8f6b6f83"
+SRCREV_machine ?= "1c1c5e42a518434b8c24d511aae442ac19386977"
+SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3"
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}"
-LINUX_VERSION ?= "5.13.5"
+LINUX_VERSION ?= "5.13.12"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
deleted file mode 100644
index 2590879a42..0000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-KBRANCH ?= "v5.4/standard/preempt-rt/base"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-# Skip processing of this recipe if it is not explicitly specified as the
-# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
-# to build multiple virtual/kernel providers, e.g. as dependency of
-# core-image-rt-sdk, core-image-rt.
-python () {
- if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
- raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
-}
-
-SRCREV_machine ?= "f4e30367bf1e579ff497fc9e7a16010c879048dc"
-SRCREV_meta ?= "231d3a07e10680c7c89ea101cd803b0684482b11"
-
-SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
-
-LINUX_VERSION ?= "5.4.135"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "2"
-
-LINUX_KERNEL_TYPE = "preempt-rt"
-
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
-
-KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
-
-# Functionality flags
-KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
-KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
index 2045944da3..b2af273aa6 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
@@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "5.10.53"
+LINUX_VERSION ?= "5.10.60"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine:qemuarm ?= "d5a79da206965b27043f558739b28a434efca75c"
-SRCREV_machine ?= "f44b5bb716fdb6f804383fa087c9fdb54584cd5b"
-SRCREV_meta ?= "3f38ad49cf38519dc4492a3f802b743fde7b467e"
+SRCREV_machine:qemuarm ?= "ffaf70463da1502399f192470dae2d2fbdc7cfbc"
+SRCREV_machine ?= "f92b026dba8bd4e55a5cc88b6231f9118a6ac26b"
+SRCREV_meta ?= "bce2813b162bb472c137fb503951295a931c25b6"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb
index 4cc0d9409f..201f7efcbb 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb
@@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig"
require recipes-kernel/linux/linux-yocto.inc
-LINUX_VERSION ?= "5.13.5"
+LINUX_VERSION ?= "5.13.12"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native"
KMETA = "kernel-meta"
KCONF_BSP_AUDIT_LEVEL = "2"
-SRCREV_machine:qemuarm ?= "52d457436c83b3ce994a12d5387c532df7859e3d"
-SRCREV_machine ?= "e167b61e5f9f6e6de8d57f72ed022ea6cdf9ba85"
-SRCREV_meta ?= "45ba17c2208f4b39c36fdb748df5929b8f6b6f83"
+SRCREV_machine:qemuarm ?= "c0183d7ce4d9aa263ec9c8f8b7dc8f6df4302095"
+SRCREV_machine ?= "a4458dd292e90a28566ef9283a15c435c11bca2d"
+SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
deleted file mode 100644
index b87a88bbb0..0000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-KBRANCH ?= "v5.4/standard/tiny/base"
-KBRANCH:qemuarm ?= "v5.4/standard/tiny/arm-versatile-926ejs"
-
-LINUX_KERNEL_TYPE = "tiny"
-KCONFIG_MODE = "--allnoconfig"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-LINUX_VERSION ?= "5.4.135"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "2"
-
-SRCREV_machine:qemuarm ?= "fa414639057bbad7acd21a1a70a3847f9be469c0"
-SRCREV_machine ?= "c81f0e376b1fce7a1198eec7b286966d98eae44d"
-SRCREV_meta ?= "231d3a07e10680c7c89ea101cd803b0684482b11"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
-
-COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
-
-# Functionality flags
-KERNEL_FEATURES = ""
-
-KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
index 1f95dcd7f4..f1fe87abda 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
@@ -13,17 +13,17 @@ KBRANCH:qemux86 ?= "v5.10/standard/base"
KBRANCH:qemux86-64 ?= "v5.10/standard/base"
KBRANCH:qemumips64 ?= "v5.10/standard/mti-malta64"
-SRCREV_machine:qemuarm ?= "c74da440f36f7073b1e99f42cb363031bb0c38ca"
-SRCREV_machine:qemuarm64 ?= "e4e52d0a19fba26538218d78c70e54319ae00ca3"
-SRCREV_machine:qemumips ?= "60118f08d49cd825d17f11b078d5848eb5bb7e6d"
-SRCREV_machine:qemuppc ?= "eb3d2abf3d5aab1814d53767193770c282552774"
-SRCREV_machine:qemuriscv64 ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285"
-SRCREV_machine:qemuriscv32 ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285"
-SRCREV_machine:qemux86 ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285"
-SRCREV_machine:qemux86-64 ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285"
-SRCREV_machine:qemumips64 ?= "643c332e487cfa1557d14050d6e1148d1c5d75da"
-SRCREV_machine ?= "0b44b705c4f7d5c83e562dd7036cb5188d622285"
-SRCREV_meta ?= "3f38ad49cf38519dc4492a3f802b743fde7b467e"
+SRCREV_machine:qemuarm ?= "1d02041bcc6eb8969d832e89b5c893d717b7ed04"
+SRCREV_machine:qemuarm64 ?= "2675ef4d9aefc588d16d085718866a33c62c10e6"
+SRCREV_machine:qemumips ?= "b503b2da9b2487453a9d9b0fa99654f00e1ad311"
+SRCREV_machine:qemuppc ?= "4ef9462af524cbbfcb719304a923e51f88cc3e68"
+SRCREV_machine:qemuriscv64 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
+SRCREV_machine:qemuriscv32 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
+SRCREV_machine:qemux86 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
+SRCREV_machine:qemux86-64 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
+SRCREV_machine:qemumips64 ?= "2d0707a62d33b1626329fde6ed9e906f5aba3022"
+SRCREV_machine ?= "65ba2a0d8428c23b7b4375994d417157a35a251b"
+SRCREV_meta ?= "bce2813b162bb472c137fb503951295a931c25b6"
# remap qemuarm to qemuarma15 for the 5.8 kernel
# KMACHINE:qemuarm ?= "qemuarma15"
@@ -32,7 +32,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.10.53"
+LINUX_VERSION ?= "5.10.60"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb
index 9a215bfe11..f20d7b18b3 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb
@@ -13,17 +13,17 @@ KBRANCH:qemux86 ?= "v5.13/standard/base"
KBRANCH:qemux86-64 ?= "v5.13/standard/base"
KBRANCH:qemumips64 ?= "v5.13/standard/mti-malta64"
-SRCREV_machine:qemuarm ?= "d7f11adcd88182a9201a9901f3ccd07e2143bf5b"
-SRCREV_machine:qemuarm64 ?= "8ba49ea4d2954c788b44acf8efd2713d8d69f1e3"
-SRCREV_machine:qemumips ?= "9d92ef75cabdf752e3186aa734ba57866cc512d9"
-SRCREV_machine:qemuppc ?= "6fac7caad94efa0be0e46d04af4e7b5f1300aa92"
-SRCREV_machine:qemuriscv64 ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1"
-SRCREV_machine:qemuriscv32 ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1"
-SRCREV_machine:qemux86 ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1"
-SRCREV_machine:qemux86-64 ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1"
-SRCREV_machine:qemumips64 ?= "c6c25c0c1a64480f255a9c2e86895db0aea8b92b"
-SRCREV_machine ?= "aa7f96bda2be286bc15b1131be30411bb6016ea1"
-SRCREV_meta ?= "45ba17c2208f4b39c36fdb748df5929b8f6b6f83"
+SRCREV_machine:qemuarm ?= "7bf87cf7827b03e8eca31063b118ebc11d5c5ee5"
+SRCREV_machine:qemuarm64 ?= "448966e7f96755f3b735a43c3d3895cb29c0e76e"
+SRCREV_machine:qemumips ?= "6fd77ca515af94b780f49d6403a0bafdee1c60c2"
+SRCREV_machine:qemuppc ?= "14ecf9f266afdcfd8ca9308ed90f4a7a5a2adcd0"
+SRCREV_machine:qemuriscv64 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
+SRCREV_machine:qemuriscv32 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
+SRCREV_machine:qemux86 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
+SRCREV_machine:qemux86-64 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
+SRCREV_machine:qemumips64 ?= "95713ce4053b8acd170fc99503f9b076e5f3cec3"
+SRCREV_machine ?= "49ec738aa7f6a59d11b46f61dea82965018f3124"
+SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3"
# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
# get the <version>/base branch, which is pure upstream -stable, and the same
@@ -31,7 +31,7 @@ SRCREV_meta ?= "45ba17c2208f4b39c36fdb748df5929b8f6b6f83"
# normal PREFERRED_VERSION settings.
BBCLASSEXTEND = "devupstream:target"
DEFAULT_PREFERENCE:class-devupstream = "-1"
-SRCREV_machine:class-devupstream ?= "25423f4bd9a9ac3e6b0ce7ecfe56c36f4e514893"
+SRCREV_machine:class-devupstream ?= "f428e49b8cb1fbd9b4b4b29ea31b6991d2ff7de1"
PN:class-devupstream = "linux-yocto-upstream"
KBRANCH:class-devupstream = "v5.13/base"
@@ -42,7 +42,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.13.5"
+LINUX_VERSION ?= "5.13.12"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
deleted file mode 100644
index 7f22d34ef6..0000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.4.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-KBRANCH ?= "v5.4/standard/base"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-# board specific branches
-KBRANCH:qemuarm ?= "v5.4/standard/arm-versatile-926ejs"
-KBRANCH:qemuarm64 ?= "v5.4/standard/qemuarm64"
-KBRANCH:qemumips ?= "v5.4/standard/mti-malta32"
-KBRANCH:qemuppc ?= "v5.4/standard/qemuppc"
-KBRANCH:qemuriscv64 ?= "v5.4/standard/base"
-KBRANCH:qemux86 ?= "v5.4/standard/base"
-KBRANCH:qemux86-64 ?= "v5.4/standard/base"
-KBRANCH:qemumips64 ?= "v5.4/standard/mti-malta64"
-
-SRCREV_machine:qemuarm ?= "f367cbe6d0c21c65257c66a4c9b1845fd43285f8"
-SRCREV_machine:qemuarm64 ?= "8dcb7ee83e58da8bf51ed8b72165e1ed35beb928"
-SRCREV_machine:qemumips ?= "3d4c6263bfdf95960894b75c76aa450d240e3e8e"
-SRCREV_machine:qemuppc ?= "125a824c8d14c49b640bc0d6e040d495177caa10"
-SRCREV_machine:qemuriscv64 ?= "997c04e7a40084a53bc3d45490949584364697bd"
-SRCREV_machine:qemux86 ?= "997c04e7a40084a53bc3d45490949584364697bd"
-SRCREV_machine:qemux86-64 ?= "997c04e7a40084a53bc3d45490949584364697bd"
-SRCREV_machine:qemumips64 ?= "7082f58984404a5aad90bca1dac4e27773fff26e"
-SRCREV_machine ?= "997c04e7a40084a53bc3d45490949584364697bd"
-SRCREV_meta ?= "231d3a07e10680c7c89ea101cd803b0684482b11"
-
-# remap qemuarm to qemuarma15 for the 5.4 kernel
-# KMACHINE:qemuarm ?= "qemuarma15"
-
-SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
- git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.4.135"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "1"
-
-KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
-
-COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
-
-# Functionality flags
-KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
-KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
-KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch
index 6d81c81efe..76a5787c37 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch
@@ -1,4 +1,4 @@
-From 0287f5c32b9fd99078e71c22ca679343d18f1513 Mon Sep 17 00:00:00 2001
+From 878f89b6136ff7b870a19e04901cc6f316bbe10a Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@gmail.com>
Date: Sat, 15 May 2021 10:26:38 -0400
Subject: [PATCH] src/Kbuild: change missing CONFIG_TRACEPOINTS to warning
@@ -16,22 +16,31 @@ Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
---
- src/Kbuild | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ src/Kbuild | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/Kbuild b/src/Kbuild
-index 7137874f..18a43b50 100644
+index 7137874..04eb5c9 100644
--- a/src/Kbuild
+++ b/src/Kbuild
-@@ -2,7 +2,7 @@
+@@ -2,10 +2,13 @@
ifdef CONFIG_LOCALVERSION # Check if dot-config is included.
ifeq ($(CONFIG_TRACEPOINTS),)
- $(error The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
+ $(warning The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
++ DISABLE_MODULE = y
endif # CONFIG_TRACEPOINTS
endif # ifdef CONFIG_LOCALVERSION
---
-2.19.1
-
++ifneq ($(DISABLE_MODULE),y)
++
+ TOP_LTTNG_MODULES_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))/..
+
+ lttng_check_linux_version = $(shell pwd)/include/linux/version.h
+@@ -150,3 +153,5 @@ lttng-statedump-objs := lttng-statedump-impl.o
+ obj-$(CONFIG_LTTNG) += probes/
+ obj-$(CONFIG_LTTNG) += lib/
+ obj-$(CONFIG_LTTNG) += tests/
++
++endif # DISABLE_MODULE
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch
deleted file mode 100644
index e411242272..0000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 1b0e574d680101105a6c1e8931c78824f5a97a42 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Mon, 5 Sep 2016 17:08:56 +0000
-Subject: [PATCH] Makefile: Do not fail if CONFIG_TRACEPOINTS is not enabled
-Organization: O.S. Systems Software LTDA.
-
-The lttng-modules are being pulled by the tools-profile image feature,
-however, not every kernel has the CONFIG_TRACEPOINTS feature enabled.
-
-This change makes the build do not fail when CONFIG_TRACEPOINTS is not
-available, allowing it to be kept being pulled by default.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- Makefile | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 8602649..75550cc 100644
---- a/Makefile
-+++ b/Makefile
-@@ -8,10 +8,7 @@ ifneq ($(KERNELRELEASE),)
- # and defines the modules to be built.
-
- ifdef CONFIG_LOCALVERSION # Check if dot-config is included.
-- ifeq ($(CONFIG_TRACEPOINTS),)
-- $(error The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
-- endif # CONFIG_TRACEPOINTS
-- endif # ifdef CONFIG_LOCALVERSION
-+ ifneq ($(CONFIG_TRACEPOINTS),)
-
- TOP_LTTNG_MODULES_DIR := $(shell dirname $(lastword $(MAKEFILE_LIST)))
-
-@@ -94,6 +91,10 @@ ifneq ($(KERNELRELEASE),)
- obj-$(CONFIG_LTTNG) += lib/
- obj-$(CONFIG_LTTNG) += tests/
-
-+ else
-+ $(warning The option CONFIG_TRACEPOINTS needs to be enabled in your kernel configuration)
-+ endif # CONFIG_TRACEPOINTS
-+ endif # ifdef CONFIG_LOCALVERSION
- else # KERNELRELEASE
-
- # This part of the Makefile is used when the 'make' command is runned in the
---
-2.1.4
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb
index c46faaee58..72d912eaf6 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb
@@ -3,25 +3,29 @@ SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
HOMEPAGE = "https://lttng.org/"
LICENSE = "LGPLv2.1 & GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4"
inherit module
include lttng-platforms.inc
-SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
- "
+SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2"
+# Use :append here so that the patch is applied also when using devupstream
+SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
-SRC_URI[sha256sum] = "95ac2a2cf92d85d23ffbdaca6a1ec0d7c167211d1e0fb850ab90004a3f475eaa"
+SRC_URI[sha256sum] = "5ebf2b3cd128b3a1c8afaea1e98d5a6f7f0676fd524fcf72361c34d9dc603356"
export INSTALL_MOD_DIR="kernel/lttng-modules"
EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
+MODULES_MODULE_SYMVERS_LOCATION = "src"
+
do_install:append() {
# Delete empty directories to avoid QA failures if no modules were built
- find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
+ if [ -d ${D}/${nonarch_base_libdir} ]; then
+ find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
+ fi
}
python do_package:prepend() {
@@ -32,9 +36,7 @@ python do_package:prepend() {
BBCLASSEXTEND = "devupstream:target"
LIC_FILES_CHKSUM:class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4"
DEFAULT_PREFERENCE:class-devupstream = "-1"
-SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13 \
- file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch \
- "
+SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13"
SRCREV:class-devupstream = "f982b51a98a29cb4aaf607cb9bbf2b509d8e6933"
PV:class-devupstream = "2.13.0-rc2+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.07.14.bb
index 7b54d8c059..a396f15c55 100644
--- a/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb
+++ b/poky/meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.07.14.bb
@@ -5,7 +5,7 @@ LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=07c4f6dea3845b02a18dc00c8c87699c"
SRC_URI = "https://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz"
-SRC_URI[sha256sum] = "9e4c02b2a9710df4dbdb327c39612e8cbbae6495987afeddaebab28c1ea3d8fa"
+SRC_URI[sha256sum] = "2e2dd216a5f1a310b849774af63e6309d94c2207c34771a534c47ae18b162742"
inherit bin_package allarch
diff --git a/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb b/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb
index 57e6bcb244..c796cacd2c 100644
--- a/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb
+++ b/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, a lossless audio compr
HOMEPAGE = "https://xiph.org/flac/"
BUGTRACKER = "http://sourceforge.net/p/flac/bugs/"
SECTION = "libs"
-LICENSE = "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD"
+LICENSE = "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \
file://src/Makefile.am;beginline=1;endline=17;md5=09501c864f89dfc7ead65553129817ca \
file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 2fb107797a..4a1456d407 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -108,7 +108,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5'
"
PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus"
-PACKAGECONFIG[bluez5] = "-Dbluez5=true,-Dbluez5=false,bluez5 sbc"
+PACKAGECONFIG[bluez5] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0-native glib-2.0"
PACKAGECONFIG[ofono] = "-Dbluez5-ofono-headset=true,-Dbluez5-ofono-headset=false,ofono"
PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch
deleted file mode 100644
index d60a9a211f..0000000000
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 6d202833a5ae241eeb648631cf95090c452198f9 Mon Sep 17 00:00:00 2001
-From: Tanu Kaskinen <tanuk@iki.fi>
-Date: Fri, 14 Feb 2020 07:29:33 +0200
-Subject: [PATCH] build-sys: Add an option for enabling/disabling Valgrind
-
-In OpenEmbedded the PulseAudio recipe currently disables Valgrind
-support by passing "ac_cv_header_valgrind_memcheck_h=no" to the
-configure script (this was added to make it deterministic whether
-Valgrdind support gets enabled or not). I'm converting the PulseAudio
-recipe to use Meson, and I needed an option to disable Valgrind.
-
-Upstream-Status: Backport
-
-Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
----
- meson.build | 6 +++++-
- meson_options.txt | 3 +++
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 658eeee57..258962724 100644
---- a/meson.build
-+++ b/meson.build
-@@ -220,7 +220,6 @@ check_headers = [
- 'sys/un.h',
- 'sys/wait.h',
- 'syslog.h',
-- 'valgrind/memcheck.h',
- 'xlocale.h',
- ]
-
-@@ -231,6 +230,10 @@ foreach h : check_headers
- endif
- endforeach
-
-+if cc.has_header('valgrind/memcheck.h', required: get_option('valgrind'))
-+ cdata.set('HAVE_VALGRIND_MEMCHECK_H', 1)
-+endif
-+
- # FIXME: move this to the above set
- if cc.has_header('pthread.h')
- cdata.set('HAVE_PTHREAD', 1)
-@@ -841,6 +844,7 @@ summary = [
- 'Enable SoXR (resampler): @0@'.format(soxr_dep.found()),
- 'Enable WebRTC echo canceller: @0@'.format(webrtc_dep.found()),
- 'Enable Gcov coverage: @0@'.format(get_option('gcov')),
-+ 'Enable Valgrind: @0@'.format(cdata.has('HAVE_VALGRIND_MEMCHECK_H')),
- 'Enable man pages: @0@'.format(get_option('man')),
- 'Enable unit tests: @0@'.format(get_option('tests')),
- '',
-diff --git a/meson_options.txt b/meson_options.txt
-index 824f24e08..115cc84af 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -138,6 +138,9 @@ option('systemd',
- option('udev',
- type : 'feature', value : 'auto',
- description : 'Optional udev support')
-+option('valgrind',
-+ type : 'feature', value : 'auto',
-+ description : 'Optional Valgrind support')
- option('x11',
- type : 'feature', value : 'auto',
- description : 'Optional X11 support')
---
-2.20.1
-
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch
deleted file mode 100644
index 5d9370fb16..0000000000
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 09f846fbdeb19193e778ce51baa77bd03c38372e Mon Sep 17 00:00:00 2001
-From: garrison <garrison@qemu15.qemu-network>
-Date: Fri, 4 Jun 2021 22:13:02 +0000
-Subject: [PATCH] build-sys: meson: check if NEON code can be compiled on arm
-
-When Meson SIMD module returns HAVE_NEON=1 on arm host, do extra compile check
-to verify compiler can actually handle NEON code.
-
-Related Meson issue #6361 https://github.com/mesonbuild/meson/issues/6361
-
-Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/574>
-
-Upstream-Status: Backport[https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/6d2a49a6a1eacc2096d0d9473a074421c181ab56]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/pulsecore/meson.build | 41 +++++++++++++++++++++++++++++----------
- 1 file changed, 31 insertions(+), 10 deletions(-)
-
-diff --git a/src/pulsecore/meson.build b/src/pulsecore/meson.build
-index 99a702e..d0b7990 100644
---- a/src/pulsecore/meson.build
-+++ b/src/pulsecore/meson.build
-@@ -172,16 +172,37 @@ endif
-
- # FIXME: SIMD support (ORC)
- simd = import('unstable-simd')
--libpulsecore_simd = simd.check('libpulsecore_simd',
-- mmx : ['remap_mmx.c', 'svolume_mmx.c'],
-- sse : ['remap_sse.c', 'sconv_sse.c', 'svolume_sse.c'],
-- neon : ['remap_neon.c', 'sconv_neon.c', 'mix_neon.c'],
-- c_args : [pa_c_args],
-- include_directories : [configinc, topinc],
-- implicit_include_directories : false,
-- compiler : cc)
--libpulsecore_simd_lib = libpulsecore_simd[0]
--cdata.merge_from(libpulsecore_simd[1])
-+simd_variants = [
-+ { 'mmx' : ['remap_mmx.c', 'svolume_mmx.c'] },
-+ { 'sse' : ['remap_sse.c', 'sconv_sse.c', 'svolume_sse.c'] },
-+ { 'neon' : ['remap_neon.c', 'sconv_neon.c', 'mix_neon.c'] },
-+]
-+
-+libpulsecore_simd_lib = []
-+
-+foreach simd_kwargs : simd_variants
-+
-+ if host_machine.cpu_family() == 'arm' and 'neon' in simd_kwargs
-+ if not cc.compiles('''
-+ #include <arm_neon.h>
-+ int main() {
-+ return sizeof(uint8x8_t) + sizeof(int32x4_t) + sizeof(float32x4_t);
-+ }
-+ ''', name : 'neon code')
-+ continue
-+ endif
-+ endif
-+
-+ libpulsecore_simd = simd.check('libpulsecore_simd',
-+ kwargs : simd_kwargs,
-+ c_args : [pa_c_args],
-+ include_directories : [configinc, topinc],
-+ implicit_include_directories : false,
-+ compiler : cc)
-+
-+ libpulsecore_simd_lib += libpulsecore_simd[0]
-+ cdata.merge_from(libpulsecore_simd[1])
-+endforeach
-
- # FIXME: Implement Windows support
- #'mutex-win32.c',
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb
index a7ea8caccb..239d31810b 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb
@@ -3,12 +3,9 @@ require pulseaudio.inc
SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
file://0001-client-conf-Add-allow-autospawn-for-root.patch \
file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \
- file://0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch \
file://0001-meson-Check-for-__get_cpuid.patch \
file://volatiles.04_pulse \
file://0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch \
- file://0001-build-sys-meson-check-if-NEON-code-can-be-compiled-o.patch \
"
-SRC_URI[md5sum] = "1efc916251910f1e9d4df7810e3e69f8"
-SRC_URI[sha256sum] = "75d3f7742c1ae449049a4c88900e454b8b350ecaa8c544f3488a2562a9ff66f1"
+SRC_URI[sha256sum] = "a40b887a3ba98cc26976eb11bdb6613988f145b19024d1b6555c6a03c9cba1a0"
UPSTREAM_CHECK_REGEX = "pulseaudio-(?P<pver>\d+(\.(?!99)\d+)+)\.tar"
diff --git a/poky/meta/recipes-multimedia/webp/libwebp_1.2.0.bb b/poky/meta/recipes-multimedia/webp/libwebp_1.2.1.bb
index 9a3b5cd6b5..d634e02180 100644
--- a/poky/meta/recipes-multimedia/webp/libwebp_1.2.0.bb
+++ b/poky/meta/recipes-multimedia/webp/libwebp_1.2.1.bb
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \
file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7"
SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz"
-SRC_URI[sha256sum] = "2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c"
+SRC_URI[sha256sum] = "808b98d2f5b84e9b27fdef6c5372dac769c3bda4502febbfa5031bd3c4d7d018"
UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
index 21828a7ecf..6d7d7067e4 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
@@ -1,4 +1,4 @@
-From 1a7becde0e508d7fac488bae6c08c1a4a0ac6b73 Mon Sep 17 00:00:00 2001
+From acf26a385d17a59ccd4b767d6303ec3dbf78e788 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 3 Feb 2020 17:06:27 -0800
Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG
@@ -20,11 +20,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 2 insertions(+)
diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
-index 1f500299..0771af9c 100644
+index f316f49..de81ce0 100644
--- a/Source/cmake/OptionsGTK.cmake
+++ b/Source/cmake/OptionsGTK.cmake
@@ -6,6 +6,7 @@ WEBKIT_OPTION_BEGIN()
- SET_PROJECT_VERSION(2 32 2)
+ SET_PROJECT_VERSION(2 32 3)
set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
+set(THREADS_PREFER_PTHREAD_FLAG ON)
@@ -32,7 +32,7 @@ index 1f500299..0771af9c 100644
find_package(Cairo 1.14.0 REQUIRED)
find_package(Fontconfig 2.8.0 REQUIRED)
diff --git a/Source/cmake/OptionsJSCOnly.cmake b/Source/cmake/OptionsJSCOnly.cmake
-index 10664400..d9aca95a 100644
+index 1066440..d9aca95 100644
--- a/Source/cmake/OptionsJSCOnly.cmake
+++ b/Source/cmake/OptionsJSCOnly.cmake
@@ -1,3 +1,4 @@
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch
deleted file mode 100644
index b5367022d8..0000000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 834f335bb3e63e0bf78eed0520df33d5c55e5e8a Mon Sep 17 00:00:00 2001
-From: "commit-queue@webkit.org"
- <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
-Date: Sat, 10 Apr 2021 22:02:50 +0000
-Subject: [PATCH] Properly use CompletionHandler when USE_OPENGL_OR_ES is set
- to OFF https://bugs.webkit.org/show_bug.cgi?id=224149
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Patch by Charlène Wendling <julianaito@posteo.jp> on 2021-04-10
-Reviewed by Fujii Hironori.
-
-* WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
-(WebKit::LayerTreeHost::forceRepaintAsync):
-
-git-svn-id: http://svn.webkit.org/repository/webkit/trunk@275802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-Upstream-Status: Backport
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- .../WebPage/CoordinatedGraphics/LayerTreeHost.h | 2 +-
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
-index 6727d16c8c0b..db65f813267d 100644
---- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
-+++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
-@@ -213,7 +213,7 @@ inline void LayerTreeHost::setRootCompositingLayer(WebCore::GraphicsLayer*) { }
- inline void LayerTreeHost::setViewOverlayRootLayer(WebCore::GraphicsLayer*) { }
- inline void LayerTreeHost::scrollNonCompositedContents(const WebCore::IntRect&) { }
- inline void LayerTreeHost::forceRepaint() { }
--inline bool LayerTreeHost::forceRepaintAsync(CompletionHandler<void()>&) { return false; }
-+inline void LayerTreeHost::forceRepaintAsync(CompletionHandler<void()>&&) { }
- inline void LayerTreeHost::sizeDidChange(const WebCore::IntSize&) { }
- inline void LayerTreeHost::pauseRendering() { }
- inline void LayerTreeHost::resumeRendering() { }
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb
index 89b13314e5..c30bdf3428 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.32.2.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.32.3.bb
@@ -19,10 +19,9 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
file://reduce-memory-overheads.patch \
file://musl-lower-stack-usage.patch \
file://0001-MiniBrowser-Fix-reproduciblity.patch \
- file://0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch \
"
-SRC_URI[sha256sum] = "1790f86975bdef957ba9a12fc09202de8f55c885ee38467afc50d2bdb7a6c5cd"
+SRC_URI[sha256sum] = "c1f496f5ac654efe4cef62fbd4f2fbeeef265a07c5e7419e5d2900bfeea52cbc"
inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
diff --git a/poky/meta/recipes-support/boost/boost-1.76.0.inc b/poky/meta/recipes-support/boost/boost-1.77.0.inc
index c02f38b047..6df06e76c7 100644
--- a/poky/meta/recipes-support/boost/boost-1.76.0.inc
+++ b/poky/meta/recipes-support/boost/boost-1.77.0.inc
@@ -12,7 +12,7 @@ BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}"
BOOST_P = "boost_${BOOST_VER}"
SRC_URI = "https://boostorg.jfrog.io/artifactory/main/release/${PV}/source/${BOOST_P}.tar.bz2"
-SRC_URI[sha256sum] = "f0397ba6e982c4450f27bf32a2a83292aba035b827a5623a14636ea583318c41"
+SRC_URI[sha256sum] = "fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854"
UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/"
UPSTREAM_CHECK_REGEX = "release/(?P<pver>.*)/source/"
diff --git a/poky/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch b/poky/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch
deleted file mode 100644
index a8305ff2e0..0000000000
--- a/poky/meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 6064875bff2e52ba63f01911eb4deb79259c5e3b Mon Sep 17 00:00:00 2001
-From: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
-Date: Thu, 3 Jun 2021 23:10:37 +0100
-Subject: [PATCH] Fixes wrong type for mutex in regex v5
-
-With the Boost.Regex to ehader-only library, the declaration
-of a mutex that should have been changed from boost::static_mutex
-to std::mutex was left behind. This was preventing regex from
-being built for older arm platforms [1]
-
-[1]: https://github.com/openwrt/packages/issues/15725
-
-Upstream-Status: Submitted [https://github.com/boostorg/regex/pull/132]
-
-Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- boost/regex/v5/mem_block_cache.hpp | 12 ++++--------
- 1 file changed, 4 insertions(+), 8 deletions(-)
-
-diff --git a/boost/regex/v5/mem_block_cache.hpp b/boost/regex/v5/mem_block_cache.hpp
-index 0af4eae1..eb3ec776 100644
---- a/boost/regex/v5/mem_block_cache.hpp
-+++ b/boost/regex/v5/mem_block_cache.hpp
-@@ -85,10 +85,10 @@ struct mem_block_node
- struct mem_block_cache
- {
- // this member has to be statically initialsed:
-- mem_block_node* next;
-- unsigned cached_blocks;
-+ mem_block_node* next { nullptr };
-+ unsigned cached_blocks { 0 };
- #ifdef BOOST_HAS_THREADS
-- boost::static_mutex mut;
-+ std::mutex mut;
- #endif
-
- ~mem_block_cache()
-@@ -133,11 +133,7 @@ struct mem_block_cache
- }
- static mem_block_cache& instance()
- {
--#ifdef BOOST_HAS_THREADS
-- static mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, };
--#else
-- static mem_block_cache block_cache = { 0, 0, };
--#endif
-+ static mem_block_cache block_cache;
- return block_cache;
- }
- };
---
-2.29.2
-
diff --git a/poky/meta/recipes-support/boost/boost_1.76.0.bb b/poky/meta/recipes-support/boost/boost_1.77.0.bb
index ae91b1c875..df8e08ad76 100644
--- a/poky/meta/recipes-support/boost/boost_1.76.0.bb
+++ b/poky/meta/recipes-support/boost/boost_1.77.0.bb
@@ -1,11 +1,9 @@
require boost-${PV}.inc
require boost.inc
-SRC_URI += " \
- file://boost-CVE-2012-2677.patch \
+SRC_URI += "file://boost-CVE-2012-2677.patch \
file://boost-math-disable-pch-for-gcc.patch \
file://0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch \
file://0001-dont-setup-compiler-flags-m32-m64.patch \
file://0001-fiber-libs-Define-SYS_futex-if-it-does-not-exist.patch \
- file://0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch \
"
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_179.bb b/poky/meta/recipes-support/diffoscope/diffoscope_181.bb
index dcd2698ee5..8b2f3cc826 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_179.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_181.bb
@@ -12,7 +12,7 @@ PYPI_PACKAGE = "diffoscope"
inherit pypi setuptools3
-SRC_URI[sha256sum] = "17790d463b757b6d05e0734db06ba5e79ac63fb64bf9b834dc7440477582a38a"
+SRC_URI[sha256sum] = "a295024acf713c58693c152f9a43fae268c08078f60ba502a7947b7840ece5d7"
RDEPENDS:${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm"
diff --git a/poky/meta/recipes-support/enchant/enchant2_2.3.0.bb b/poky/meta/recipes-support/enchant/enchant2_2.3.1.bb
index 165b08f871..72603045c8 100644
--- a/poky/meta/recipes-support/enchant/enchant2_2.3.0.bb
+++ b/poky/meta/recipes-support/enchant/enchant2_2.3.1.bb
@@ -12,7 +12,7 @@ DEPENDS = "glib-2.0"
inherit autotools pkgconfig
SRC_URI = "https://github.com/AbiWord/enchant/releases/download/v${PV}/enchant-${PV}.tar.gz"
-SRC_URI[sha256sum] = "df68063b6c13b245fa7246b0e098a03e74f7a91c6d8947bc5c4f42ce55e2e41d"
+SRC_URI[sha256sum] = "7b4b1afcf2cd8bfa691deea6188404d337f23174bbc39b9c2add2bf340736e9c"
UPSTREAM_CHECK_URI = "https://github.com/AbiWord/enchant/releases"
diff --git a/poky/meta/recipes-support/libcap/libcap_2.51.bb b/poky/meta/recipes-support/libcap/libcap_2.51.bb
index 3e653e371e..c9c30fb05f 100644
--- a/poky/meta/recipes-support/libcap/libcap_2.51.bb
+++ b/poky/meta/recipes-support/libcap/libcap_2.51.bb
@@ -4,7 +4,7 @@ These allow giving various kinds of specific privileges to individual \
users, without giving them full root permissions."
HOMEPAGE = "http://sites.google.com/site/fullycapable/"
# no specific GPL version required
-LICENSE = "BSD | GPLv2"
+LICENSE = "BSD-3-Clause | GPLv2"
LIC_FILES_CHKSUM = "file://License;md5=e2370ba375efe9e1a095c26d37e483b8"
DEPENDS = "hostperl-runtime-native gperf-native"
diff --git a/poky/meta/recipes-support/libjitterentropy/libjitterentropy/0001-Makefile-restore-build-reproducibility.patch b/poky/meta/recipes-support/libjitterentropy/libjitterentropy/0001-Makefile-restore-build-reproducibility.patch
new file mode 100644
index 0000000000..3290ff7b18
--- /dev/null
+++ b/poky/meta/recipes-support/libjitterentropy/libjitterentropy/0001-Makefile-restore-build-reproducibility.patch
@@ -0,0 +1,27 @@
+From 905333229103510e9dee2fec29b261ccedb031d0 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Fri, 20 Aug 2021 19:37:04 +0000
+Subject: [PATCH] Makefile: restore build reproducibility
+
+wildcards result in an unpredictable order, and thus different binary outputs
+in otherwise identical builds.
+
+Upstream-Status: Submitted [https://github.com/smuellerDD/jitterentropy-library/pull/67]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 42932d8..dfb96a8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -36,7 +36,7 @@ LIBMINOR=$(shell cat $(SRCDIR)/jitterentropy-base.c | grep define | grep MINVERS
+ LIBPATCH=$(shell cat $(SRCDIR)/jitterentropy-base.c | grep define | grep PATCHLEVEL | awk '{print $$3}')
+ LIBVERSION := $(LIBMAJOR).$(LIBMINOR).$(LIBPATCH)
+
+-C_SRCS := $(wildcard $(SRCDIR)/*.c)
++C_SRCS := $(sort $(wildcard $(SRCDIR)/*.c))
+ C_OBJS := ${C_SRCS:.c=.o}
+ OBJS := $(C_OBJS)
+
diff --git a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.2.bb b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.1.0.bb
index 8e39974ef3..d9fbb5e9d6 100644
--- a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.0.2.bb
+++ b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.1.0.bb
@@ -4,15 +4,21 @@ It does not depend on any system resource other than a high-resolution time \
stamp. It is a small-scale, yet fast entropy source that is viable in almost \
all environments and on a lot of CPU architectures."
HOMEPAGE = "http://www.chronox.de/jent.html"
-LICENSE = "GPLv2+ | BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c69090e97c8fd6372d03099c0a5bc382 \
- file://COPYING.gplv2;md5=eb723b61539feef013de476e68b5c50a \
- file://COPYING.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \
+LICENSE = "GPLv2+ | BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1c94a9d191202a5552f381a023551396 \
+ file://LICENSE.gplv2;md5=eb723b61539feef013de476e68b5c50a \
+ file://LICENSE.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \
"
-SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git"
-SRCREV = "a0c51e21c2d4322681a320a22de5e2ef13c08196"
+SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git \
+ file://0001-Makefile-restore-build-reproducibility.patch \
+ "
+SRCREV = "409828cfccf4b3b07edc40a7840a821ce074e2c3"
S = "${WORKDIR}/git"
+# remove at next version upgrade or when output changes
+PR = "r1"
+HASHEQUIV_HASH_VERSION .= ".2"
+
do_configure[noexec] = "1"
LDFLAGS += "-Wl,-O0"
diff --git a/poky/meta/recipes-support/lz4/files/CVE-2021-3520.patch b/poky/meta/recipes-support/lz4/files/CVE-2021-3520.patch
new file mode 100644
index 0000000000..5ac8f6691f
--- /dev/null
+++ b/poky/meta/recipes-support/lz4/files/CVE-2021-3520.patch
@@ -0,0 +1,27 @@
+From 8301a21773ef61656225e264f4f06ae14462bca7 Mon Sep 17 00:00:00 2001
+From: Jasper Lievisse Adriaanse <j@jasper.la>
+Date: Fri, 26 Feb 2021 15:21:20 +0100
+Subject: [PATCH] Fix potential memory corruption with negative memmove() size
+
+Upstream-Status: Backport
+https://github.com/lz4/lz4/commit/8301a21773ef61656225e264f4f06ae14462bca7#diff-7055e9cf14c488aea9837aaf9f528b58ee3c22988d7d0d81d172ec62d94a88a7
+CVE: CVE-2021-3520
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ lib/lz4.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: git/lib/lz4.c
+===================================================================
+--- git.orig/lib/lz4.c
++++ git/lib/lz4.c
+@@ -1665,7 +1665,7 @@ LZ4_decompress_generic(
+ const size_t dictSize /* note : = 0 if noDict */
+ )
+ {
+- if (src == NULL) { return -1; }
++ if ((src == NULL) || (outputSize < 0)) { return -1; }
+
+ { const BYTE* ip = (const BYTE*) src;
+ const BYTE* const iend = ip + srcSize;
diff --git a/poky/meta/recipes-support/lz4/files/run-ptest b/poky/meta/recipes-support/lz4/files/run-ptest
deleted file mode 100644
index d3bfc49f1c..0000000000
--- a/poky/meta/recipes-support/lz4/files/run-ptest
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-cd testsuite
-
-echo -n "---- test-lz4 ----"
-make -C tests test-lz4 > /dev/null 2>&1
-
-if [ $? -eq 0 ]; then
- echo "PASS"
-else
- echo "FAIL"
-fi
-
-echo -n "---- test-fasttest ----"
-make -C tests test-fasttest > /dev/null 2>&1
-if [ $? -eq 0 ]; then
- echo "PASS"
-else
- echo "FAIL"
-fi
-
-echo -n "---- test-frametest ----"
-make -C tests test-frametest > /dev/null 2>&1
-if [ $? -eq 0 ]; then
- echo "PASS"
-else
- echo "FAIL"
-fi
-
-echo -n "---- test-fullbench ----"
-make -C tests test-fullbench > /dev/null 2>&1
-if [ $? -eq 0 ]; then
- echo "PASS"
-else
- echo "FAIL"
-fi
-
-echo -n "---- test-fuzzer ----"
-make -C tests test-fuzzer > /dev/null 2>&1
-if [ $? -eq 0 ]; then
- echo "PASS"
-else
- echo "FAIL"
-fi
diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb b/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
index 3905ef7dbc..74f6743b91 100644
--- a/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
+++ b/poky/meta/recipes-support/lz4/lz4_1.9.3.bb
@@ -13,7 +13,7 @@ PE = "1"
SRCREV = "d44371841a2f1728a3f36839fd4b7e872d0927d3"
SRC_URI = "git://github.com/lz4/lz4.git;branch=release \
- file://run-ptest \
+ file://CVE-2021-3520.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
diff --git a/poky/meta/recipes-support/lzo/lzo_2.10.bb b/poky/meta/recipes-support/lzo/lzo_2.10.bb
index 85b14b3c5c..f0c8631aea 100644
--- a/poky/meta/recipes-support/lzo/lzo_2.10.bb
+++ b/poky/meta/recipes-support/lzo/lzo_2.10.bb
@@ -18,6 +18,8 @@ SRC_URI[sha256sum] = "c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b42
inherit autotools ptest
+CVE_PRODUCT = "lzo oberhumer:lzo2"
+
EXTRA_OECONF = "--enable-shared"
do_install_ptest() {
diff --git a/poky/meta/recipes-support/re2c/re2c_2.1.1.bb b/poky/meta/recipes-support/re2c/re2c_2.2.bb
index 1da944e901..9a0968a984 100644
--- a/poky/meta/recipes-support/re2c/re2c_2.1.1.bb
+++ b/poky/meta/recipes-support/re2c/re2c_2.2.bb
@@ -8,7 +8,7 @@ LICENSE = "PD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=64eca4d8a3b67f9dc7656094731a2c8d"
SRC_URI = "https://github.com/skvadrik/re2c/releases/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "036ee264fafd5423141ebd628890775aa9447a4c4068a6307385d7366fe711f8"
+SRC_URI[sha256sum] = "0fc45e4130a8a555d68e230d1795de0216dfe99096b61b28e67c86dfd7d86bda"
UPSTREAM_CHECK_URI = "https://github.com/skvadrik/re2c/releases"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch
new file mode 100644
index 0000000000..89edc4c403
--- /dev/null
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch
@@ -0,0 +1,41 @@
+From 66e6adc138eef1367d7492fb79ae4da84ed62934 Mon Sep 17 00:00:00 2001
+From: Neil Horman <nhorman@gmail.com>
+Date: Thu, 15 Jul 2021 08:43:01 -0400
+Subject: [PATCH] Adding ability to detect non-posix extensions for pthreads
+
+Theres a desire to build rngd with musl, which doesn't have all the gnu
+extensions (but it has some). So test for those. Note, this requires
+the addition of the USE_EXTENSIONS macro to enable -d_GNU_SOURCE
+
+Upstream-Status: Backport
+Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ configure.ac | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 9df633d..d0c2179 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,6 +25,7 @@ AC_CANONICAL_TARGET dnl required for broken AX_PTHREAD
+ AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_HEADERS([rng-tools-config.h])
+ AC_CONFIG_MACRO_DIRS([m4])
++AC_USE_SYSTEM_EXTENSIONS
+
+ dnl Parse options
+
+@@ -100,6 +101,12 @@ AS_IF(
+ ], [AC_MSG_NOTICE([Disabling JITTER entropy source])]
+ )
+
++AC_CHECK_DECL(pthread_attr_setaffinity_np,
++ [AC_DEFINE([HAVE_PTHREAD_ATTR_SETAFFINITY], 1,[Set ATTR_SETAFFINITY])],
++ [ AC_CHECK_DECL(pthread_setaffinity_np,
++ [AC_DEFINE([HAVE_PTHREAD_SETAFFINITY],1, [Set PTHREAD_SETAFFINITY])], [ AC_MSG_ERROR([Neither pthread_setaffinity_np nor pthread_attr_setaffinity_np found])],[[#include <pthread.h>]])
++ ], [[#include <pthread.h>]])
++
+ AS_IF(
+ [ test "x$with_nistbeacon" != "xno"],
+ [
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch b/poky/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
new file mode 100644
index 0000000000..f7470d04bf
--- /dev/null
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch
@@ -0,0 +1,47 @@
+From e4909f329245db52415102e96fc7c99ca1445d05 Mon Sep 17 00:00:00 2001
+From: Neil Horman <nhorman@gmail.com>
+Date: Thu, 15 Jul 2021 08:48:10 -0400
+Subject: [PATCH] Allow for use of either pthread affinity set methods
+
+musl has support for pthread_setaffinity_np, but not
+pthread_attr_setaffinity_np. so check for hte existence of either
+function in configure, and use the appropriate one.
+
+Upstream-Status: Backport
+Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ rngd_jitter.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/rngd_jitter.c b/rngd_jitter.c
+index ea29436..5c7e09e 100644
+--- a/rngd_jitter.c
++++ b/rngd_jitter.c
+@@ -67,12 +67,25 @@ static int rngd_notime_start(void *ctx,
+ for(i=i-1;i>=0;i--) {
+ CPU_SET(i,cpus);
+ }
+- pthread_attr_setaffinity_np(&thread_ctx->notime_pthread_attr, cpusize, cpus);
+
++ /*
++ * Note that only one of:
++ * HAVE_PTHREAD_ATTR_SETAFFINITY
++ * and
++ * HAVE_PTHREAD_SETAFFINITY
++ * Will ever be set, as per the configure.ac logic
++ */
++#ifdef HAVE_PTHREAD_ATTR_SETAFFINITY
++ pthread_attr_setaffinity_np(&thread_ctx->notime_pthread_attr, cpusize, cpus);
++#endif
+ ret = -pthread_create(&thread_ctx->notime_thread_id,
+ &thread_ctx->notime_pthread_attr,
+ start_routine, arg);
+
++#ifdef HAVE_PTHREAD_SETAFFINITY
++ pthread_setaffinity_np(&thread_ctx->notime_thread_id, cpusize, cpus);
++#endif
++
+ CPU_FREE(cpus);
+ return ret;
+ }
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.13.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.14.bb
index 84dbc76855..6b79a3b040 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools_6.13.bb
+++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.14.bb
@@ -8,13 +8,14 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "sysfsutils openssl"
-SRC_URI = "\
- git://github.com/nhorman/rng-tools.git \
- file://init \
- file://default \
- file://rngd.service \
-"
-SRCREV = "d8dac0e8bede73e42b3d59f3b48c662ad0032e8c"
+SRC_URI = "git://github.com/nhorman/rng-tools.git \
+ file://init \
+ file://default \
+ file://rngd.service \
+ file://0001-Adding-ability-to-detect-non-posix-extensions-for-pt.patch \
+ file://0002-Allow-for-use-of-either-pthread-affinity-set-methods.patch \
+ "
+SRCREV = "c16176d3800b91f4d016b66733b384493b06f294"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc
index 17d1c24a7c..860fd24863 100644
--- a/poky/meta/recipes-support/vim/vim.inc
+++ b/poky/meta/recipes-support/vim/vim.inc
@@ -54,11 +54,12 @@ do_compile() {
autotools_do_compile
}
-#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny
+#Available PACKAGECONFIG options are gtkgui, acl, x11, tiny selinux, elfutils, nls
PACKAGECONFIG ??= ""
PACKAGECONFIG += " \
${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \
+ nls \
"
PACKAGECONFIG[gtkgui] = "--enable-gui=gtk3,--enable-gui=no,gtk+3"
@@ -67,6 +68,7 @@ PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
+PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,,"
EXTRA_OECONF = " \
--disable-gpm \
diff --git a/poky/scripts/buildhistory-collect-srcrevs b/poky/scripts/buildhistory-collect-srcrevs
index bca01a922b..c937e49c2a 100755
--- a/poky/scripts/buildhistory-collect-srcrevs
+++ b/poky/scripts/buildhistory-collect-srcrevs
@@ -53,7 +53,7 @@ def main():
sys.exit(1)
if options.forcevariable:
- forcevariable = '_forcevariable'
+ forcevariable = ':forcevariable'
else:
forcevariable = ''
@@ -99,7 +99,7 @@ def main():
print('# %s' % curdir)
for pn, name, srcrev in srcrevs:
if name:
- print('SRCREV_%s_pn-%s%s = "%s"' % (name, pn, forcevariable, srcrev))
+ print('SRCREV_%s:pn-%s%s = "%s"' % (name, pn, forcevariable, srcrev))
else:
print('SRCREV:pn-%s%s = "%s"' % (pn, forcevariable, srcrev))
diff --git a/poky/scripts/lib/devtool/search.py b/poky/scripts/lib/devtool/search.py
index d81cdd876f..70b81cac5e 100644
--- a/poky/scripts/lib/devtool/search.py
+++ b/poky/scripts/lib/devtool/search.py
@@ -62,10 +62,11 @@ def search(args, config, basepath, workspace):
with open(os.path.join(pkgdata_dir, 'runtime', pkg), 'r') as f:
for line in f:
if ': ' in line:
- splitline = line.split(':', 1)
+ splitline = line.split(': ', 1)
key = splitline[0]
value = splitline[1].strip()
- if key in ['PKG:%s' % pkg, 'DESCRIPTION', 'FILES_INFO'] or key.startswith('FILERPROVIDES_'):
+ key = key.replace(":" + pkg, "")
+ if key in ['PKG', 'DESCRIPTION', 'FILES_INFO', 'FILERPROVIDES']:
if keyword_rc.search(value):
match = True
break
diff --git a/poky/scripts/lib/recipetool/append.py b/poky/scripts/lib/recipetool/append.py
index 5f629c07d8..88ed8c5f01 100644
--- a/poky/scripts/lib/recipetool/append.py
+++ b/poky/scripts/lib/recipetool/append.py
@@ -72,15 +72,15 @@ def find_target_file(targetpath, d, pkglist=None):
# This does assume that PN comes before other values, but that's a fairly safe assumption
for line in f:
if line.startswith('PN:'):
- pn = line.split(':', 1)[1].strip()
- elif line.startswith('FILES_INFO:'):
- val = line.split(':', 1)[1].strip()
+ pn = line.split(': ', 1)[1].strip()
+ elif line.startswith('FILES_INFO'):
+ val = line.split(': ', 1)[1].strip()
dictval = json.loads(val)
for fullpth in dictval.keys():
if fnmatch.fnmatchcase(fullpth, targetpath):
recipes[targetpath].append(pn)
elif line.startswith('pkg_preinst:') or line.startswith('pkg_postinst:'):
- scriptval = line.split(':', 1)[1].strip().encode('utf-8').decode('unicode_escape')
+ scriptval = line.split(': ', 1)[1].strip().encode('utf-8').decode('unicode_escape')
if 'update-alternatives --install %s ' % targetpath in scriptval:
recipes[targetpath].append('?%s' % pn)
elif targetpath_re.search(scriptval):
diff --git a/poky/scripts/lib/recipetool/create.py b/poky/scripts/lib/recipetool/create.py
index 0ac97e02e9..5cd72ea0a7 100644
--- a/poky/scripts/lib/recipetool/create.py
+++ b/poky/scripts/lib/recipetool/create.py
@@ -115,8 +115,8 @@ class RecipeHandler(object):
for line in f:
if line.startswith('PN:'):
pn = line.split(':', 1)[-1].strip()
- elif line.startswith('FILES_INFO:'):
- val = line.split(':', 1)[1].strip()
+ elif line.startswith('FILES_INFO:%s:' % pkg):
+ val = line.split(': ', 1)[1].strip()
dictval = json.loads(val)
for fullpth in sorted(dictval):
if fullpth.startswith(includedir) and fullpth.endswith('.h'):
diff --git a/poky/scripts/lib/recipetool/create_buildsys_python.py b/poky/scripts/lib/recipetool/create_buildsys_python.py
index fdd3366038..8aa44650d3 100644
--- a/poky/scripts/lib/recipetool/create_buildsys_python.py
+++ b/poky/scripts/lib/recipetool/create_buildsys_python.py
@@ -545,7 +545,7 @@ class PythonRecipeHandler(RecipeHandler):
with open(pkgdatafile, 'r') as f:
for line in f.readlines():
field, value = line.split(': ', 1)
- if field == 'FILES_INFO':
+ if field.startswith('FILES_INFO'):
files_info = ast.literal_eval(value)
break
else:
diff --git a/poky/scripts/lib/wic/help.py b/poky/scripts/lib/wic/help.py
index 991e5094bb..991907d3f5 100644
--- a/poky/scripts/lib/wic/help.py
+++ b/poky/scripts/lib/wic/help.py
@@ -637,7 +637,7 @@ DESCRIPTION
oe-core: directdisk.bbclass and mkefidisk.sh. The difference
between wic and those examples is that with wic the functionality
of those scripts is implemented by a general-purpose partitioning
- 'language' based on Redhat kickstart syntax).
+ 'language' based on Red Hat kickstart syntax).
The initial motivation and design considerations that lead to the
current tool are described exhaustively in Yocto Bug #3847
@@ -991,6 +991,9 @@ DESCRIPTION
multiple partitions and we want to keep the right
permissions and usernames in all the partitions.
+ --no-fstab-update: This option is specific to wic. It does not update the
+ '/etc/fstab' stock file for the given partition.
+
--extra-space: This option is specific to wic. It adds extra
space after the space filled by the content
of the partition. The final size can go
diff --git a/poky/scripts/lib/wic/ksparser.py b/poky/scripts/lib/wic/ksparser.py
index 7a4cc83af5..0df9eb0d05 100644
--- a/poky/scripts/lib/wic/ksparser.py
+++ b/poky/scripts/lib/wic/ksparser.py
@@ -185,6 +185,7 @@ class KickStart():
part.add_argument('--use-uuid', action='store_true')
part.add_argument('--uuid')
part.add_argument('--fsuuid')
+ part.add_argument('--no-fstab-update', action='store_true')
bootloader = subparsers.add_parser('bootloader')
bootloader.add_argument('--append')
diff --git a/poky/scripts/lib/wic/partition.py b/poky/scripts/lib/wic/partition.py
index e0b2c5bdf2..ab304f1b2a 100644
--- a/poky/scripts/lib/wic/partition.py
+++ b/poky/scripts/lib/wic/partition.py
@@ -54,6 +54,7 @@ class Partition():
self.uuid = args.uuid
self.fsuuid = args.fsuuid
self.type = args.type
+ self.no_fstab_update = args.no_fstab_update
self.updated_fstab_path = None
self.has_fstab = False
self.update_fstab_in_rootfs = False
@@ -286,7 +287,7 @@ class Partition():
(self.fstype, extraopts, rootfs, label_str, self.fsuuid, rootfs_dir)
exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo)
- if self.updated_fstab_path and self.has_fstab:
+ if self.updated_fstab_path and self.has_fstab and not self.no_fstab_update:
debugfs_script_path = os.path.join(cr_workdir, "debugfs_script")
with open(debugfs_script_path, "w") as f:
f.write("cd etc\n")
@@ -350,7 +351,7 @@ class Partition():
mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (rootfs, rootfs_dir)
exec_native_cmd(mcopy_cmd, native_sysroot)
- if self.updated_fstab_path and self.has_fstab:
+ if self.updated_fstab_path and self.has_fstab and not self.no_fstab_update:
mcopy_cmd = "mcopy -i %s %s ::/etc/fstab" % (rootfs, self.updated_fstab_path)
exec_native_cmd(mcopy_cmd, native_sysroot)
diff --git a/poky/scripts/lib/wic/plugins/source/rootfs.py b/poky/scripts/lib/wic/plugins/source/rootfs.py
index 96d940a91d..2e34e715ca 100644
--- a/poky/scripts/lib/wic/plugins/source/rootfs.py
+++ b/poky/scripts/lib/wic/plugins/source/rootfs.py
@@ -218,7 +218,7 @@ class RootfsPlugin(SourcePlugin):
# Update part.has_fstab here as fstab may have been added or
# removed by the above modifications.
part.has_fstab = os.path.exists(os.path.join(new_rootfs, "etc/fstab"))
- if part.update_fstab_in_rootfs and part.has_fstab:
+ if part.update_fstab_in_rootfs and part.has_fstab and not part.no_fstab_update:
fstab_path = os.path.join(new_rootfs, "etc/fstab")
# Assume that fstab should always be owned by root with fixed permissions
install_cmd = "install -m 0644 %s %s" % (part.updated_fstab_path, fstab_path)
diff --git a/poky/scripts/oe-pkgdata-util b/poky/scripts/oe-pkgdata-util
index 94d44002ab..71656dadce 100755
--- a/poky/scripts/oe-pkgdata-util
+++ b/poky/scripts/oe-pkgdata-util
@@ -171,7 +171,7 @@ def read_value(args):
val = line.split(': ', 1)[1].rstrip()
return val
- logger.debug("read-value('%s', '%s' '%s')" % (args.pkgdata_dir, args.valuename, packages))
+ logger.debug("read-value('%s', '%s' '%s')" % (args.pkgdata_dir, args.valuenames, packages))
for package in packages:
pkg_split = package.split('_')
pkg_name = pkg_split[0]
@@ -180,20 +180,29 @@ def read_value(args):
logger.debug(revlink)
if os.path.exists(revlink):
mappedpkg = os.path.basename(os.readlink(revlink))
- qvar = args.valuename
- value = readvar(revlink, qvar, mappedpkg)
- if qvar == "PKGSIZE":
- # PKGSIZE is now in bytes, but we we want it in KB
- pkgsize = (int(value) + 1024 // 2) // 1024
- value = "%d" % pkgsize
- if args.unescape:
- import codecs
- # escape_decode() unescapes backslash encodings in byte streams
- value = codecs.escape_decode(bytes(value, "utf-8"))[0].decode("utf-8")
+ qvars = args.valuenames
+ val_names = qvars.split(',')
+ values = []
+ for qvar in val_names:
+ if qvar == "PACKAGE":
+ value = mappedpkg
+ else:
+ value = readvar(revlink, qvar, mappedpkg)
+ if qvar == "PKGSIZE":
+ # PKGSIZE is now in bytes, but we we want it in KB
+ pkgsize = (int(value) + 1024 // 2) // 1024
+ value = "%d" % pkgsize
+ if args.unescape:
+ import codecs
+ # escape_decode() unescapes backslash encodings in byte streams
+ value = codecs.escape_decode(bytes(value, "utf-8"))[0].decode("utf-8")
+ values.append(value)
+
+ values_str = ' '.join(values)
if args.prefix_name:
- print('%s %s' % (pkg_name, value))
+ print('%s %s' % (pkg_name, values_str))
else:
- print(value)
+ print(values_str)
else:
logger.debug("revlink %s does not exist", revlink)
@@ -431,7 +440,7 @@ def list_pkg_files(args):
for line in f:
if line.startswith('FILES_INFO:'):
found = True
- val = line.split(':', 1)[1].strip()
+ val = line.split(': ', 1)[1].strip()
dictval = json.loads(val)
if long:
width = max(map(len, dictval), default=0)
@@ -500,7 +509,7 @@ def find_path(args):
with open(os.path.join(root,fn)) as f:
for line in f:
if line.startswith('FILES_INFO:'):
- val = line.split(':', 1)[1].strip()
+ val = line.split(': ', 1)[1].strip()
dictval = json.loads(val)
for fullpth in dictval.keys():
if fnmatch.fnmatchcase(fullpth, args.targetpath):
@@ -570,7 +579,7 @@ def main():
parser_read_value = subparsers.add_parser('read-value',
help='Read any pkgdata value for one or more packages',
description='Reads the named value from the pkgdata files for the specified packages')
- parser_read_value.add_argument('valuename', help='Name of the value to look up')
+ parser_read_value.add_argument('valuenames', help='Name of the value/s to look up (separated by commas, no spaces)')
parser_read_value.add_argument('pkg', nargs='*', help='Runtime package name to look up')
parser_read_value.add_argument('-f', '--file', help='Read package names from the specified file (one per line, first field only)')
parser_read_value.add_argument('-n', '--prefix-name', help='Prefix output with package name', action='store_true')
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 0976273eb0..c467b0eb19 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -72,6 +72,8 @@ of the following environment variables (in any order):
gl - enable virgl-based GL acceleration (also needs gtk or sdl options)
gl-es - enable virgl-based GL acceleration, using OpenGL ES (also needs gtk or sdl options)
egl-headless - enable headless EGL output; use vnc (via publicvnc option) or spice to see it
+ (hint: if /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create
+ one sutable for mesa llvmpipe sofware renderer)
serial - enable a serial console on /dev/ttyS0
serialstdio - enable a serial console on the console (regardless of graphics mode)
slirp - enable user networking, no root privileges is required