aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-selftest/recipes-test/images/oe-selftest-image.bb2
-rw-r--r--meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb11
-rw-r--r--meta/classes/archiver.bbclass5
-rw-r--r--meta/classes/base.bbclass5
-rw-r--r--meta/classes/bin_package.bbclass3
-rw-r--r--meta/classes/core-image.bbclass1
-rw-r--r--meta/classes/create-spdx.bbclass7
-rw-r--r--meta/classes/cross-canadian.bbclass2
-rw-r--r--meta/classes/cve-check.bbclass2
-rw-r--r--meta/classes/go.bbclass2
-rw-r--r--meta/classes/gobject-introspection-data.bbclass5
-rw-r--r--meta/classes/image.bbclass2
-rw-r--r--meta/classes/image_types_wic.bbclass2
-rw-r--r--meta/classes/insane.bbclass22
-rw-r--r--meta/classes/kernel-arch.bbclass2
-rw-r--r--meta/classes/kernel-fitimage.bbclass4
-rw-r--r--meta/classes/kernel-uboot.bbclass3
-rw-r--r--meta/classes/kernel-uimage.bbclass2
-rw-r--r--meta/classes/kernel.bbclass13
-rw-r--r--meta/classes/native.bbclass2
-rw-r--r--meta/classes/npm.bbclass65
-rw-r--r--meta/classes/package.bbclass36
-rw-r--r--meta/classes/populate_sdk_base.bbclass17
-rw-r--r--meta/classes/python_flit_core.bbclass5
-rw-r--r--meta/classes/python_hatchling.bbclass2
-rw-r--r--meta/classes/python_pep517.bbclass10
-rw-r--r--meta/classes/python_poetry_core.bbclass2
-rw-r--r--meta/classes/python_setuptools_build_meta.bbclass2
-rw-r--r--meta/classes/rootfs-postcommands.bbclass22
-rw-r--r--meta/classes/rust-target-config.bbclass (renamed from meta/recipes-devtools/rust/rust-common.inc)69
-rw-r--r--meta/classes/sanity.bbclass2
-rw-r--r--meta/classes/sstate.bbclass32
-rw-r--r--meta/classes/testimage.bbclass3
-rw-r--r--meta/classes/toolchain-scripts.bbclass40
-rw-r--r--meta/classes/uboot-config.bbclass3
-rw-r--r--meta/classes/uboot-sign.bbclass3
-rw-r--r--meta/classes/utils.bbclass13
-rw-r--r--meta/conf/bitbake.conf19
-rw-r--r--meta/conf/distro/include/cve-extra-exclusions.inc30
-rw-r--r--meta/conf/distro/include/default-distrovars.inc3
-rw-r--r--meta/conf/distro/include/maintainers.inc4
-rw-r--r--meta/conf/distro/include/ptest-packagelists.inc1
-rw-r--r--meta/conf/distro/include/tcmode-default.inc4
-rw-r--r--meta/conf/layer.conf2
-rw-r--r--meta/conf/local.conf.sample7
-rw-r--r--meta/files/layers.example.json115
-rw-r--r--meta/files/layers.schema.json121
-rw-r--r--meta/lib/bblayers/buildconf.py83
-rw-r--r--meta/lib/bblayers/makesetup.py139
-rw-r--r--meta/lib/buildstats.py4
-rw-r--r--meta/lib/oe/npm_registry.py169
-rw-r--r--meta/lib/oe/package_manager/__init__.py4
-rw-r--r--meta/lib/oe/package_manager/deb/__init__.py10
-rw-r--r--meta/lib/oe/package_manager/ipk/__init__.py27
-rw-r--r--meta/lib/oe/package_manager/rpm/__init__.py4
-rw-r--r--meta/lib/oe/patch.py8
-rw-r--r--meta/lib/oe/recipeutils.py9
-rw-r--r--meta/lib/oe/reproducible.py1
-rw-r--r--meta/lib/oe/spdx.py2
-rw-r--r--meta/lib/oe/sstatesig.py9
-rw-r--r--meta/lib/oe/utils.py64
-rw-r--r--meta/lib/oeqa/buildperf/base.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/rt.py17
-rw-r--r--meta/lib/oeqa/runtime/cases/scp.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/buildepoxy.py3
-rw-r--r--meta/lib/oeqa/sdk/cases/buildgalculator.py3
-rw-r--r--meta/lib/oeqa/sdk/cases/python.py11
-rw-r--r--meta/lib/oeqa/sdk/cases/rust.py33
-rw-r--r--meta/lib/oeqa/sdk/files/rust/hello/Cargo.toml6
-rw-r--r--meta/lib/oeqa/sdk/files/rust/hello/src/main.rs3
-rw-r--r--meta/lib/oeqa/sdk/testmetaidesupport.py43
-rw-r--r--meta/lib/oeqa/selftest/cases/bblayers.py33
-rw-r--r--meta/lib/oeqa/selftest/cases/bbtests.py6
-rw-r--r--meta/lib/oeqa/selftest/cases/devtool.py129
-rw-r--r--meta/lib/oeqa/selftest/cases/fitimage.py4
-rw-r--r--meta/lib/oeqa/selftest/cases/gotoolchain.py8
-rw-r--r--meta/lib/oeqa/selftest/cases/intercept.py (renamed from meta/lib/oeqa/selftest/cases/git.py)0
-rw-r--r--meta/lib/oeqa/selftest/cases/meta_ide.py14
-rw-r--r--meta/lib/oeqa/selftest/cases/oelib/buildhistory.py6
-rw-r--r--meta/lib/oeqa/selftest/cases/oescripts.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/pkgdata.py9
-rw-r--r--meta/lib/oeqa/selftest/cases/runtime_test.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/sstatetests.py4
-rw-r--r--meta/lib/oeqa/selftest/cases/sysroot.py5
-rw-r--r--meta/recipes-bsp/alsa-state/alsa-state.bb7
-rwxr-xr-xmeta/recipes-bsp/alsa-state/alsa-state/alsa-state-init3
-rw-r--r--meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch31
-rw-r--r--meta/recipes-bsp/efibootmgr/efibootmgr/0001-src-make-compatible-with-efivar-38.patch47
-rw-r--r--meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch83
-rw-r--r--meta/recipes-bsp/efibootmgr/efibootmgr_18.bb (renamed from meta/recipes-bsp/efibootmgr/efibootmgr_17.bb)8
-rw-r--r--meta/recipes-bsp/efivar/efivar/0001-Fix-invalid-free-in-main.patch30
-rw-r--r--meta/recipes-bsp/efivar/efivar_38.bb1
-rw-r--r--meta/recipes-bsp/opensbi/opensbi_1.1.bb (renamed from meta/recipes-bsp/opensbi/opensbi_1.0.bb)5
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-common.inc4
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-tools.inc5
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-tools_2022.07.bb (renamed from meta/recipes-bsp/u-boot/u-boot-tools_2022.04.bb)1
-rw-r--r--meta/recipes-bsp/u-boot/u-boot_2022.07.bb (renamed from meta/recipes-bsp/u-boot/u-boot_2022.04.bb)0
-rw-r--r--meta/recipes-connectivity/avahi/avahi_0.8.bb4
-rw-r--r--meta/recipes-connectivity/bind/bind_9.18.4.bb15
-rw-r--r--meta/recipes-connectivity/inetutils/inetutils_2.3.bb (renamed from meta/recipes-connectivity/inetutils/inetutils_2.2.bb)2
-rw-r--r--meta/recipes-connectivity/libuv/libuv_1.44.2.bb (renamed from meta/recipes-connectivity/libuv/libuv_1.44.1.bb)2
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch10
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch20
-rw-r--r--meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch55
-rw-r--r--meta/recipes-connectivity/openssl/openssl/afalg.patch10
-rw-r--r--meta/recipes-connectivity/openssl/openssl_3.0.5.bb (renamed from meta/recipes-connectivity/openssl/openssl_3.0.3.bb)7
-rw-r--r--meta/recipes-core/busybox/busybox/CVE-2022-30065.patch29
-rw-r--r--meta/recipes-core/busybox/busybox_1.35.0.bb1
-rw-r--r--meta/recipes-core/coreutils/coreutils_9.1.bb3
-rw-r--r--meta/recipes-core/dropbear/dropbear.inc2
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch2
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.72.3.bb (renamed from meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb)2
-rw-r--r--meta/recipes-core/glib-networking/glib-networking_2.72.1.bb (renamed from meta/recipes-core/glib-networking/glib-networking_2.72.0.bb)2
-rw-r--r--meta/recipes-core/glibc/glibc-tests_2.35.bb8
-rw-r--r--meta/recipes-core/glibc/glibc-version.inc2
-rw-r--r--meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch128
-rw-r--r--meta/recipes-core/glibc/glibc/reproducible-paths.patch23
-rw-r--r--meta/recipes-core/glibc/glibc_2.35.bb2
-rw-r--r--meta/recipes-core/images/build-appliance-image_15.0.0.bb2
-rw-r--r--meta/recipes-core/initscripts/init-system-helpers_1.64.bb (renamed from meta/recipes-core/initscripts/init-system-helpers_1.63.bb)4
-rw-r--r--meta/recipes-core/initscripts/initscripts_1.0.bb2
-rw-r--r--meta/recipes-core/meta/meta-ide-support.bb26
-rw-r--r--meta/recipes-core/meta/wic-tools.bb1
-rw-r--r--meta/recipes-core/musl/bsd-headers.bb2
-rw-r--r--meta/recipes-core/musl/libssp-nonshared.bb2
-rw-r--r--meta/recipes-core/ncurses/ncurses.inc4
-rw-r--r--meta/recipes-core/ncurses/ncurses_6.3+20220423.bb (renamed from meta/recipes-core/ncurses/ncurses_6.3.bb)5
-rw-r--r--meta/recipes-core/newlib/newlib_4.2.0.bb2
-rw-r--r--meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb1
-rw-r--r--meta/recipes-core/systemd/systemd-boot_251.3.bb (renamed from meta/recipes-core/systemd/systemd-boot_251.2.bb)0
-rw-r--r--meta/recipes-core/systemd/systemd.inc3
-rw-r--r--meta/recipes-core/systemd/systemd/0001-Add-sys-file.h-for-LOCK_.patch78
-rw-r--r--meta/recipes-core/systemd/systemd/0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch16
-rw-r--r--meta/recipes-core/systemd/systemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch97
-rw-r--r--meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch32
-rw-r--r--meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch42
-rw-r--r--meta/recipes-core/systemd/systemd_251.3.bb (renamed from meta/recipes-core/systemd/systemd_251.2.bb)8
-rw-r--r--meta/recipes-core/sysvinit/sysvinit-inittab/start_getty3
-rw-r--r--meta/recipes-core/udev/udev-extraconf/mount.sh10
-rw-r--r--meta/recipes-core/udev/udev-extraconf/systemd-udevd.service3
-rw-r--r--meta/recipes-core/udev/udev-extraconf_1.1.bb20
-rw-r--r--meta/recipes-core/zlib/zlib_1.2.12.bb12
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.38.inc3
-rw-r--r--meta/recipes-devtools/binutils/binutils/0014-CVE-2019-1010204.patch49
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch32
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.1.bb1
-rw-r--r--meta/recipes-devtools/cargo/cargo-cross-canadian.inc29
-rw-r--r--meta/recipes-devtools/cargo/cargo-cross-canadian_1.62.0.bb (renamed from meta/recipes-devtools/cargo/cargo-cross-canadian_1.60.0.bb)0
-rw-r--r--meta/recipes-devtools/cargo/cargo_1.62.0.bb (renamed from meta/recipes-devtools/cargo/cargo_1.60.0.bb)0
-rw-r--r--meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake1
-rw-r--r--meta/recipes-devtools/createrepo-c/createrepo-c_0.20.1.bb (renamed from meta/recipes-devtools/createrepo-c/createrepo-c_0.20.0.bb)2
-rw-r--r--meta/recipes-devtools/dmidecode/dmidecode_3.4.bb (renamed from meta/recipes-devtools/dmidecode/dmidecode_3.3.bb)2
-rw-r--r--meta/recipes-devtools/dpkg/dpkg_1.21.9.bb (renamed from meta/recipes-devtools/dpkg/dpkg_1.21.8.bb)2
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.187.bb4
-rw-r--r--meta/recipes-devtools/flex/flex_2.6.4.bb1
-rw-r--r--meta/recipes-devtools/gcc/gcc-12.1.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime.inc8
-rw-r--r--meta/recipes-devtools/gcc/gcc/0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch45
-rw-r--r--meta/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch92
-rw-r--r--meta/recipes-devtools/gcc/libgcc-common.inc12
-rw-r--r--meta/recipes-devtools/git/git_2.37.1.bb (renamed from meta/recipes-devtools/git/git_2.36.1.bb)2
-rw-r--r--meta/recipes-devtools/go/go-1.18.4.inc (renamed from meta/recipes-devtools/go/go-1.18.3.inc)3
-rw-r--r--meta/recipes-devtools/go/go-binary-native_1.18.4.bb (renamed from meta/recipes-devtools/go/go-binary-native_1.18.3.bb)4
-rw-r--r--meta/recipes-devtools/go/go-cross-canadian_1.18.4.bb (renamed from meta/recipes-devtools/go/go-cross-canadian_1.18.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-cross_1.18.4.bb (renamed from meta/recipes-devtools/go/go-cross_1.18.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-crosssdk_1.18.4.bb (renamed from meta/recipes-devtools/go/go-crosssdk_1.18.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-native_1.18.4.bb (renamed from meta/recipes-devtools/go/go-native_1.18.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-runtime.inc2
-rw-r--r--meta/recipes-devtools/go/go-runtime_1.18.4.bb (renamed from meta/recipes-devtools/go/go-runtime_1.18.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go/filter-build-paths.patch48
-rw-r--r--meta/recipes-devtools/go/go_1.18.4.bb (renamed from meta/recipes-devtools/go/go_1.18.3.bb)0
-rw-r--r--meta/recipes-devtools/llvm/llvm_git.bb4
-rw-r--r--meta/recipes-devtools/log4cplus/log4cplus_2.0.8.bb (renamed from meta/recipes-devtools/log4cplus/log4cplus_2.0.7.bb)2
-rw-r--r--meta/recipes-devtools/lua/lua/CVE-2022-33099.patch61
-rw-r--r--meta/recipes-devtools/lua/lua/lua.pc.in5
-rw-r--r--meta/recipes-devtools/lua/lua_5.4.4.bb3
-rwxr-xr-xmeta/recipes-devtools/meson/meson/meson-wrapper2
-rw-r--r--meta/recipes-devtools/meson/meson_0.63.0.bb (renamed from meta/recipes-devtools/meson/meson_0.62.2.bb)36
-rw-r--r--meta/recipes-devtools/mmc/mmc-utils_git.bb2
-rw-r--r--meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb1
-rw-r--r--meta/recipes-devtools/perl/perl-ptest.inc4
-rw-r--r--meta/recipes-devtools/python/python-cython.inc2
-rw-r--r--meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb (renamed from meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb)3
-rw-r--r--meta/recipes-devtools/python/python3-attrs_22.1.0.bb (renamed from meta/recipes-devtools/python/python3-attrs_21.4.0.bb)4
-rw-r--r--meta/recipes-devtools/python/python3-babel_2.10.3.bb (renamed from meta/recipes-devtools/python/python3-babel_2.10.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-certifi_2022.6.15.bb (renamed from meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-cffi_1.15.1.bb (renamed from meta/recipes-devtools/python/python3-cffi_1.15.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-chardet_5.0.0.bb (renamed from meta/recipes-devtools/python/python3-chardet_4.0.0.bb)4
-rw-r--r--meta/recipes-devtools/python/python3-cryptography-vectors_37.0.4.bb (renamed from meta/recipes-devtools/python/python3-cryptography-vectors_37.0.2.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-cryptography_37.0.4.bb (renamed from meta/recipes-devtools/python/python3-cryptography_37.0.2.bb)9
-rw-r--r--meta/recipes-devtools/python/python3-cython_0.29.32.bb (renamed from meta/recipes-devtools/python/python3-cython_0.29.30.bb)0
-rw-r--r--meta/recipes-devtools/python/python3-dbusmock_0.28.4.bb (renamed from meta/recipes-devtools/python/python3-dbusmock_0.28.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-docutils_0.19.bb (renamed from meta/recipes-devtools/python/python3-docutils_0.18.1.bb)4
-rw-r--r--meta/recipes-devtools/python/python3-dtschema_2022.7.bb (renamed from meta/recipes-devtools/python/python3-dtschema_2022.5.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-flit-core_3.7.1.bb6
-rw-r--r--meta/recipes-devtools/python/python3-hatch-vcs_0.2.0.bb2
-rw-r--r--meta/recipes-devtools/python/python3-hatchling_1.6.0.bb (renamed from meta/recipes-devtools/python/python3-hatchling_1.3.0.bb)6
-rw-r--r--meta/recipes-devtools/python/python3-hypothesis_6.50.1.bb (renamed from meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-imagesize_1.4.1.bb (renamed from meta/recipes-devtools/python/python3-imagesize_1.3.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-importlib-metadata_4.12.0.bb (renamed from meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb)4
-rw-r--r--meta/recipes-devtools/python/python3-installer_0.5.1.bb14
-rw-r--r--meta/recipes-devtools/python/python3-jsonschema_4.9.0.bb (renamed from meta/recipes-devtools/python/python3-jsonschema_4.6.0.bb)12
-rw-r--r--meta/recipes-devtools/python/python3-mako_1.2.1.bb (renamed from meta/recipes-devtools/python/python3-mako_1.2.0.bb)4
-rw-r--r--meta/recipes-devtools/python/python3-numpy_1.23.1.bb (renamed from meta/recipes-devtools/python/python3-numpy_1.22.4.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-picobuild_0.2.bb23
-rw-r--r--meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch115
-rw-r--r--meta/recipes-devtools/python/python3-pip/reproducible.patch71
-rw-r--r--meta/recipes-devtools/python/python3-pip_22.2.1.bb (renamed from meta/recipes-devtools/python/python3-pip_22.1.2.bb)8
-rw-r--r--meta/recipes-devtools/python/python3-pycryptodome_3.14.1.bb5
-rw-r--r--meta/recipes-devtools/python/python3-pycryptodome_3.15.0.bb5
-rw-r--r--meta/recipes-devtools/python/python3-pycryptodomex_3.15.0.bb (renamed from meta/recipes-devtools/python/python3-pycryptodomex_3.14.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pygobject_3.42.2.bb (renamed from meta/recipes-devtools/python/python3-pygobject_3.42.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-requests_2.28.1.bb (renamed from meta/recipes-devtools/python/python3-requests_2.28.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-scons_4.4.0.bb (renamed from meta/recipes-devtools/python/python3-scons_4.3.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-setuptools-rust/8e9892f08b1248dc03862da86915c2745e0ff7ec.patch221
-rw-r--r--meta/recipes-devtools/python/python3-setuptools-rust_1.4.1.bb (renamed from meta/recipes-devtools/python/python3-setuptools-rust_1.3.0.bb)5
-rw-r--r--meta/recipes-devtools/python/python3-setuptools-scm_7.0.5.bb (renamed from meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb)6
-rw-r--r--meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch (renamed from meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch)2
-rw-r--r--meta/recipes-devtools/python/python3-setuptools_63.3.0.bb (renamed from meta/recipes-devtools/python/python3-setuptools_62.5.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-sphinx_5.0.2.bb (renamed from meta/recipes-devtools/python/python3-sphinx_5.0.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-typing-extensions_4.3.0.bb (renamed from meta/recipes-devtools/python/python3-typing-extensions_4.2.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-urllib3_1.26.10.bb (renamed from meta/recipes-devtools/python/python3-urllib3_1.26.9.bb)3
-rw-r--r--meta/recipes-devtools/python/python3-zipp_3.8.1.bb (renamed from meta/recipes-devtools/python/python3-zipp_3.8.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3_3.10.5.bb2
-rw-r--r--meta/recipes-devtools/qemu/qemu-system-native_7.0.0.bb2
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc7
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2022-35414.patch53
-rw-r--r--meta/recipes-devtools/qemu/qemu_7.0.0.bb4
-rw-r--r--meta/recipes-devtools/repo/repo_2.28.bb (renamed from meta/recipes-devtools/repo/repo_2.26.bb)2
-rw-r--r--meta/recipes-devtools/ruby/ruby_3.1.2.bb1
-rw-r--r--meta/recipes-devtools/rust/libstd-rs/0001-Add-400-series-syscalls-to-musl-riscv64-definitions.patch44
-rw-r--r--meta/recipes-devtools/rust/libstd-rs/0001-Update-checksums-for-modified-vendored-libc.patch18
-rw-r--r--meta/recipes-devtools/rust/libstd-rs_1.60.0.bb12
-rw-r--r--meta/recipes-devtools/rust/libstd-rs_1.62.0.bb7
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian-common.inc7
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian_1.62.0.bb (renamed from meta/recipes-devtools/rust/rust-cross-canadian_1.60.0.bb)0
-rw-r--r--meta/recipes-devtools/rust/rust-cross.inc21
-rw-r--r--meta/recipes-devtools/rust/rust-cross_1.62.0.bb (renamed from meta/recipes-devtools/rust/rust-cross_1.60.0.bb)0
-rw-r--r--meta/recipes-devtools/rust/rust-crosssdk_1.62.0.bb (renamed from meta/recipes-devtools/rust/rust-crosssdk_1.60.0.bb)0
-rw-r--r--meta/recipes-devtools/rust/rust-llvm_1.62.0.bb (renamed from meta/recipes-devtools/rust/rust-llvm_1.60.0.bb)0
-rw-r--r--meta/recipes-devtools/rust/rust-snapshot.inc22
-rw-r--r--meta/recipes-devtools/rust/rust-source.inc2
-rw-r--r--meta/recipes-devtools/rust/rust-tools-cross-canadian_1.62.0.bb (renamed from meta/recipes-devtools/rust/rust-tools-cross-canadian_1.60.0.bb)0
-rw-r--r--meta/recipes-devtools/rust/rust.inc6
-rw-r--r--meta/recipes-devtools/rust/rust_1.62.0.bb (renamed from meta/recipes-devtools/rust/rust_1.60.0.bb)0
-rw-r--r--meta/recipes-devtools/strace/strace_5.18.bb5
-rw-r--r--meta/recipes-devtools/vala/vala.inc6
-rw-r--r--meta/recipes-devtools/vala/vala_0.56.1.bb3
-rw-r--r--meta/recipes-devtools/vala/vala_0.56.2.bb3
-rw-r--r--meta/recipes-extended/at/at_3.2.5.bb2
-rw-r--r--meta/recipes-extended/cups/cups.inc2
-rw-r--r--meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch181
-rw-r--r--meta/recipes-extended/gperf/gperf_3.1.bb2
-rw-r--r--meta/recipes-extended/hdparm/hdparm/0001-hdparm-Remove-unused-linux-fs.h-header.patch32
-rw-r--r--meta/recipes-extended/hdparm/hdparm_9.64.bb (renamed from meta/recipes-extended/hdparm/hdparm_9.63.bb)3
-rw-r--r--meta/recipes-extended/libarchive/libarchive/0001-libarchive-Do-not-include-sys-mount.h-when-linux-fs..patch47
-rw-r--r--meta/recipes-extended/libarchive/libarchive_3.6.1.bb4
-rw-r--r--meta/recipes-extended/libidn/libidn2_2.3.3.bb (renamed from meta/recipes-extended/libidn/libidn2_2.3.2.bb)7
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-kvm-Fix-stack-access-mode-in-KVM-test-ELF-headers.patch40
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-memcg-functional-Fix-usage-of-PAGESIZE-from-memcg_li.patch121
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-mountns0-1-3-wait-for-umount-completed-in-thread_b.patch63
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-net_stress-Fix-usage-of-variables-from-tst_net.sh.patch154
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-netstress-Restore-runtime-to-5m.patch53
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-nfs05_make_tree-Restore-5-min-timeout.patch31
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-syscalls-migrate_pages03-restore-runtime-to-5m.patch44
-rw-r--r--meta/recipes-extended/ltp/ltp/0002-kvm-use-LD-instead-of-hardcoding-ld.patch39
-rw-r--r--meta/recipes-extended/ltp/ltp/0003-Add-KVM_LD-Makefile-variable-for-building-KVM-payloa.patch63
-rw-r--r--meta/recipes-extended/ltp/ltp_20220527.bb22
-rw-r--r--meta/recipes-extended/procps/procps_3.3.17.bb6
-rw-r--r--meta/recipes-extended/sudo/sudo_1.9.11p3.bb (renamed from meta/recipes-extended/sudo/sudo_1.9.11p2.bb)2
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch39
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch33
-rw-r--r--meta/recipes-extended/unzip/unzip_6.0.bb2
-rw-r--r--meta/recipes-extended/zstd/zstd_1.5.2.bb2
-rw-r--r--meta/recipes-gnome/epiphany/epiphany_42.3.bb (renamed from meta/recipes-gnome/epiphany/epiphany_42.2.bb)2
-rw-r--r--meta/recipes-gnome/gcr/gcr_3.40.0.bb1
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb3
-rw-r--r--meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb2
-rw-r--r--meta/recipes-gnome/libhandy/libhandy_1.6.3.bb (renamed from meta/recipes-gnome/libhandy/libhandy_1.6.2.bb)2
-rw-r--r--meta/recipes-gnome/libnotify/libnotify_0.8.0.bb (renamed from meta/recipes-gnome/libnotify/libnotify_0.7.12.bb)2
-rw-r--r--meta/recipes-graphics/drm/libdrm_2.4.112.bb (renamed from meta/recipes-graphics/drm/libdrm_2.4.111.bb)2
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz_4.4.1.bb (renamed from meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb)2
-rw-r--r--meta/recipes-graphics/libva/libva-initial_2.15.0.bb (renamed from meta/recipes-graphics/libva/libva-initial_2.14.0.bb)0
-rw-r--r--meta/recipes-graphics/libva/libva-utils_2.15.0.bb (renamed from meta/recipes-graphics/libva/libva-utils_2.14.0.bb)4
-rw-r--r--meta/recipes-graphics/libva/libva.inc2
-rw-r--r--meta/recipes-graphics/libva/libva_2.15.0.bb (renamed from meta/recipes-graphics/libva/libva_2.14.0.bb)0
-rw-r--r--meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch65
-rw-r--r--meta/recipes-graphics/mesa/libglu_9.0.2.bb2
-rw-r--r--meta/recipes-graphics/mesa/mesa-gl_22.1.3.bb (renamed from meta/recipes-graphics/mesa/mesa-gl_22.1.2.bb)0
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc5
-rw-r--r--meta/recipes-graphics/mesa/mesa_22.1.3.bb (renamed from meta/recipes-graphics/mesa/mesa_22.1.2.bb)0
-rw-r--r--meta/recipes-graphics/pango/pango_1.50.8.bb (renamed from meta/recipes-graphics/pango/pango_1.50.7.bb)4
-rw-r--r--meta/recipes-graphics/piglit/piglit_git.bb2
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch27
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples_git.bb3
-rw-r--r--meta/recipes-graphics/waffle/waffle/0001-meson.build-request-native-wayland-scanner.patch27
-rw-r--r--meta/recipes-graphics/waffle/waffle_1.7.0.bb1
-rw-r--r--meta/recipes-graphics/wayland/wayland-protocols_1.26.bb (renamed from meta/recipes-graphics/wayland/wayland-protocols_1.25.bb)2
-rw-r--r--meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch27
-rw-r--r--meta/recipes-graphics/wayland/wayland_1.21.0.bb (renamed from meta/recipes-graphics/wayland/wayland_1.20.0.bb)5
-rw-r--r--meta/recipes-graphics/wayland/weston_10.0.1.bb (renamed from meta/recipes-graphics/wayland/weston_10.0.0.bb)4
-rw-r--r--meta/recipes-graphics/xorg-app/xev_1.2.5.bb (renamed from meta/recipes-graphics/xorg-app/xev_1.2.4.bb)4
-rw-r--r--meta/recipes-graphics/xorg-app/xmodmap_1.0.11.bb (renamed from meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb)5
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb13
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics/64bit_time_t_support.patch51
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.2.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.1.bb)7
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.6.0.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.3.bb)5
-rw-r--r--meta/recipes-graphics/xorg-font/encodings/nocompiler.patch8
-rw-r--r--meta/recipes-graphics/xorg-font/encodings_1.0.6.bb (renamed from meta/recipes-graphics/xorg-font/encodings_1.0.5.bb)6
-rw-r--r--meta/recipes-graphics/xorg-font/font-util_1.3.3.bb (renamed from meta/recipes-graphics/xorg-font/font-util_1.3.2.bb)5
-rw-r--r--meta/recipes-graphics/xorg-font/xorg-font-common.inc3
-rw-r--r--meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb2
-rw-r--r--meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb2
-rw-r--r--meta/recipes-graphics/xorg-proto/xcb-proto/0001-xcb-proto.pc.in-reinstate-libdir.patch29
-rw-r--r--meta/recipes-graphics/xorg-proto/xcb-proto_1.15.2.bb (renamed from meta/recipes-graphics/xorg-proto/xcb-proto_1.15.bb)8
-rw-r--r--meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb2
-rw-r--r--meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb2
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-render-Fix-build-with-gcc-12.patch90
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb (renamed from meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.3.bb)7
-rw-r--r--meta/recipes-graphics/xwayland/xwayland_22.1.3.bb (renamed from meta/recipes-graphics/xwayland/xwayland_22.1.2.bb)2
-rw-r--r--meta/recipes-kernel/kmod/kmod/0001-depmod-Add-support-for-excluding-a-directory.patch172
-rw-r--r--meta/recipes-kernel/kmod/kmod_30.bb (renamed from meta/recipes-kernel/kmod/kmod_29.bb)3
-rw-r--r--meta/recipes-kernel/linux-firmware/linux-firmware_20220708.bb (renamed from meta/recipes-kernel/linux-firmware/linux-firmware_20220610.bb)14
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc2
-rw-r--r--meta/recipes-kernel/linux/kernel-devsrc.bb8
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-dev.bb4
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb6
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb6
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb8
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb6
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.10.bb24
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.15.bb26
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-page_alloc-fix-tracepoint-mm_page_alloc_zone_.patch106
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-fix-net-skb-introduce-kfree_skb_reason-v5.15.58.v5.1.patch53
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0002-fix-fs-Remove-flags-parameter-from-aops-write_begin-.patch76
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0003-fix-workqueue-Fix-type-of-cpu-in-trace-event-v5.19.patch124
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb4
-rw-r--r--meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb2
-rw-r--r--meta/recipes-kernel/perf/perf.bb9
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib_1.2.7.2.bb (renamed from meta/recipes-multimedia/alsa/alsa-lib_1.2.7.1.bb)2
-rw-r--r--meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.2.bb (renamed from meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.7.1.bb)2
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg_5.0.1.bb2
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-devtools_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gst-devtools_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.3.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.2.bb)2
-rw-r--r--meta/recipes-multimedia/libtiff/files/0001-fix-the-FPE-in-tiffcrop-415-427-and-428.patch184
-rw-r--r--meta/recipes-multimedia/libtiff/tiff_4.4.0.bb3
-rw-r--r--meta/recipes-multimedia/mpg123/mpg123_1.30.1.bb (renamed from meta/recipes-multimedia/mpg123/mpg123_1.29.3.bb)2
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio.inc2
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio_16.1.bb (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio_16.0.bb)2
-rw-r--r--meta/recipes-multimedia/speex/speex/CVE-2020-23903.patch30
-rw-r--r--meta/recipes-multimedia/speex/speex_1.2.1.bb (renamed from meta/recipes-multimedia/speex/speex_1.2.0.bb)12
-rw-r--r--meta/recipes-multimedia/speex/speexdsp_1.2.1.bb (renamed from meta/recipes-multimedia/speex/speexdsp_1.2.0.bb)5
-rw-r--r--meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch6
-rw-r--r--meta/recipes-rt/rt-tests/rt-tests.inc4
-rw-r--r--meta/recipes-sato/matchbox-config-gtk/files/0001-mb-appearance.desktop-update-icon-to-one-available-i.patch25
-rw-r--r--meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb4
-rw-r--r--meta/recipes-sato/matchbox-desktop/files/0001-taku-launcher-tile.c-use-view-refresh-symbolic-icon.patch26
-rw-r--r--meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.2.bb1
-rw-r--r--meta/recipes-sato/matchbox-terminal/matchbox-terminal/0001-matchbox-terminal.desktop-use-an-icon-available-in-a.patch25
-rw-r--r--meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb4
-rw-r--r--meta/recipes-sato/packagegroups/packagegroup-core-x11-sato.bb2
-rw-r--r--meta/recipes-sato/puzzles/puzzles_git.bb2
-rw-r--r--meta/recipes-sato/rxvt-unicode/rxvt-unicode/rxvt.desktop2
-rw-r--r--meta/recipes-sato/sato-icon-theme/icon-naming-utils_0.8.90.bb29
-rw-r--r--meta/recipes-sato/sato-icon-theme/sato-icon-theme_git.bb29
-rw-r--r--meta/recipes-sato/shutdown-desktop/shutdown-desktop/shutdown.desktop2
-rw-r--r--meta/recipes-sato/webkit/webkitgtk_2.36.4.bb (renamed from meta/recipes-sato/webkit/webkitgtk_2.36.3.bb)2
-rw-r--r--meta/recipes-support/argp-standalone/argp-standalone_1.3.bb2
-rw-r--r--meta/recipes-support/curl/curl/disable-tests28
-rw-r--r--meta/recipes-support/curl/curl/run-ptest6
-rw-r--r--meta/recipes-support/curl/curl_7.84.0.bb (renamed from meta/recipes-support/curl/curl_7.83.1.bb)30
-rw-r--r--meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch37
-rw-r--r--meta/recipes-support/curl/files/0001-easy_lock.h-include-sched.h-if-available-to-fix-buil.patch33
-rw-r--r--meta/recipes-support/diffoscope/diffoscope_218.bb (renamed from meta/recipes-support/diffoscope/diffoscope_216.bb)2
-rw-r--r--meta/recipes-support/gnupg/gnupg_2.3.7.bb (renamed from meta/recipes-support/gnupg/gnupg_2.3.6.bb)2
-rw-r--r--meta/recipes-support/libgit2/libgit2_1.5.0.bb (renamed from meta/recipes-support/libgit2/libgit2_1.4.3.bb)8
-rw-r--r--meta/recipes-support/libnl/files/fa7f97f8982544c4fcb403893bae6701230d5165.patch48
-rw-r--r--meta/recipes-support/libnl/libnl_3.7.0.bb (renamed from meta/recipes-support/libnl/libnl_3.6.0.bb)8
-rw-r--r--meta/recipes-support/libsoup/libsoup_3.0.7.bb (renamed from meta/recipes-support/libsoup/libsoup_3.0.6.bb)2
-rw-r--r--meta/recipes-support/nghttp2/nghttp2_1.48.0.bb (renamed from meta/recipes-support/nghttp2/nghttp2_1.47.0.bb)2
-rw-r--r--meta/recipes-support/rng-tools/rng-tools/rng-tools.service (renamed from meta/recipes-support/rng-tools/rng-tools/rngd.service)0
-rw-r--r--meta/recipes-support/rng-tools/rng-tools_6.15.bb12
-rw-r--r--meta/recipes-support/sqlite/sqlite3_3.39.1.bb (renamed from meta/recipes-support/sqlite/sqlite3_3.38.5.bb)2
-rw-r--r--meta/recipes-support/vim/files/no-path-adjust.patch35
-rw-r--r--meta/recipes-support/vim/files/racefix.patch33
-rw-r--r--meta/recipes-support/vim/vim-tiny_9.0.bb (renamed from meta/recipes-support/vim/vim-tiny_8.2.bb)0
-rw-r--r--meta/recipes-support/vim/vim.inc11
-rw-r--r--meta/recipes-support/vim/vim_9.0.bb (renamed from meta/recipes-support/vim/vim_8.2.bb)0
-rwxr-xr-xscripts/devtool10
-rw-r--r--scripts/lib/devtool/standard.py29
-rw-r--r--scripts/lib/devtool/upgrade.py33
-rw-r--r--scripts/lib/recipetool/create_buildsys_python.py13
-rw-r--r--scripts/lib/scriptutils.py12
-rw-r--r--scripts/lib/wic/misc.py7
-rw-r--r--scripts/lib/wic/plugins/source/bootimg-efi.py95
-rw-r--r--scripts/lib/wic/plugins/source/rootfs.py2
-rwxr-xr-xscripts/oe-setup-builddir12
-rwxr-xr-xscripts/oe-setup-layers85
-rw-r--r--scripts/pybootchartgui/pybootchartgui/draw.py71
-rw-r--r--scripts/pybootchartgui/pybootchartgui/parsing.py5
-rw-r--r--scripts/pybootchartgui/pybootchartgui/samples.py8
-rwxr-xr-xscripts/runqemu2
412 files changed, 4987 insertions, 2024 deletions
diff --git a/meta-selftest/recipes-test/images/oe-selftest-image.bb b/meta-selftest/recipes-test/images/oe-selftest-image.bb
index e295943ae5..317a0712aa 100644
--- a/meta-selftest/recipes-test/images/oe-selftest-image.bb
+++ b/meta-selftest/recipes-test/images/oe-selftest-image.bb
@@ -1,7 +1,7 @@
SUMMARY = "An image used during oe-selftest tests"
# libudev is needed for deploy mdadm via devtool
-IMAGE_INSTALL = "packagegroup-core-boot dropbear libudev"
+IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-dropbear libudev"
IMAGE_FEATURES = "debug-tweaks"
IMAGE_LINGUAS = " "
diff --git a/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb b/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb
index c4126a41fc..c3d3548d4a 100644
--- a/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb
+++ b/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb
@@ -8,7 +8,10 @@ SRC_URI += "file://test.awk"
EXCLUDE_FROM_WORLD = "1"
do_install() {
install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/test.awk ${D}${bindir}/test
+ # was not able to make ownership preservation check
+ install -m 0400 ${WORKDIR}/test.awk ${D}${bindir}/test
+
+ perm_old="$(stat --format='%a' ${D}${bindir}/test)"
sed -i -e 's|@AWK_BIN@|${bindir}/awk|g' ${D}${bindir}/test
create_cmdline_shebang_wrapper ${D}${bindir}/test
if [ $(${D}${bindir}/test) != "Don't Panic!" ]; then
@@ -16,6 +19,12 @@ do_install() {
else
bbnote "Wrapper is good"
fi
+
+ perm_new="$(stat --format='%a' ${D}${bindir}/test.real)"
+
+ if [ "$perm_new" != "$perm_old" ]; then
+ bbfatal "Wrapper permissions for ${D}${bindir}/test.real not preserved. Found $perm_new but expected $perm_old"
+ fi
}
BBCLASSEXTEND = "native"
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index 33070cd17f..dca4271a69 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -69,7 +69,6 @@ SSTATE_ALLOW_OVERLAP_FILES += "${DEPLOY_DIR_SRC}/mirror"
do_dumpdata[dirs] = "${ARCHIVER_OUTDIR}"
do_ar_recipe[dirs] = "${ARCHIVER_OUTDIR}"
do_ar_original[dirs] = "${ARCHIVER_OUTDIR} ${ARCHIVER_WORKDIR}"
-do_deploy_archives[dirs] = "${WORKDIR}"
# This is a convenience for the shell script to use it
@@ -460,7 +459,9 @@ def create_diff_gz(d, src_orig, src, ar_outdir):
def is_work_shared(d):
pn = d.getVar('PN')
- return bb.data.inherits_class('kernel', d) or pn.startswith('gcc-source')
+ return pn.startswith('gcc-source') or \
+ bb.data.inherits_class('kernel', d) or \
+ (bb.data.inherits_class('kernelsrc', d) and d.getVar('S') == d.getVar('STAGING_KERNEL_DIR'))
# Run do_unpack and do_patch
python do_unpack_and_patch() {
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 20968a5076..571b6754f2 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -209,6 +209,7 @@ addtask do_deploy_source_date_epoch_setscene
addtask do_deploy_source_date_epoch before do_configure after do_patch
python create_source_date_epoch_stamp() {
+ # Version: 1
source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
oe.reproducible.epochfile_write(source_date_epoch, d.getVar('SDE_FILE'), d)
}
@@ -594,9 +595,9 @@ python () {
for lic_exception in exceptions:
if ":" in lic_exception:
- lic_exception.split(":")[0]
+ lic_exception = lic_exception.split(":")[1]
if lic_exception in oe.license.obsolete_license_list():
- bb.fatal("Invalid license %s used in INCOMPATIBLE_LICENSE_EXCEPTIONS" % lic_exception)
+ bb.fatal("Obsolete license %s used in INCOMPATIBLE_LICENSE_EXCEPTIONS" % lic_exception)
pkgs = d.getVar('PACKAGES').split()
skipped_pkgs = {}
diff --git a/meta/classes/bin_package.bbclass b/meta/classes/bin_package.bbclass
index c3aca20443..f0407e1329 100644
--- a/meta/classes/bin_package.bbclass
+++ b/meta/classes/bin_package.bbclass
@@ -30,8 +30,9 @@ bin_package_do_install () {
bbfatal bin_package has nothing to install. Be sure the SRC_URI unpacks into S.
fi
cd ${S}
+ install -d ${D}${base_prefix}
tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \
- | tar --no-same-owner -xpf - -C ${D}
+ | tar --no-same-owner -xpf - -C ${D}${base_prefix}
}
FILES:${PN} = "/"
diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
index 84fd3eeb38..6764035729 100644
--- a/meta/classes/core-image.bbclass
+++ b/meta/classes/core-image.bbclass
@@ -29,6 +29,7 @@
# - allow-empty-password
# - allow-root-login
# - post-install-logging
+# - serial-autologin-root - with 'empty-root-password': autologin 'root' on the serial console
# - dev-pkgs - development packages (headers, etc.) for all installed packages in the rootfs
# - dbg-pkgs - debug symbol packages for all installed packages in the rootfs
# - lic-pkgs - license packages for all installed pacakges in the rootfs, requires
diff --git a/meta/classes/create-spdx.bbclass b/meta/classes/create-spdx.bbclass
index 15cccac84b..10deba638f 100644
--- a/meta/classes/create-spdx.bbclass
+++ b/meta/classes/create-spdx.bbclass
@@ -451,7 +451,7 @@ python do_create_spdx() {
recipe.name = d.getVar("PN")
recipe.versionInfo = d.getVar("PV")
recipe.SPDXID = oe.sbom.get_recipe_spdxid(d)
- recipe.packageSupplier = d.getVar("SPDX_SUPPLIER")
+ recipe.supplier = d.getVar("SPDX_SUPPLIER")
if bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d):
recipe.annotations.append(create_annotation(d, "isNative"))
@@ -561,7 +561,7 @@ python do_create_spdx() {
spdx_package.name = pkg_name
spdx_package.versionInfo = d.getVar("PV")
spdx_package.licenseDeclared = convert_license_to_spdx(package_license, package_doc, d, found_licenses)
- spdx_package.packageSupplier = d.getVar("SPDX_SUPPLIER")
+ spdx_package.supplier = d.getVar("SPDX_SUPPLIER")
package_doc.packages.append(spdx_package)
@@ -577,6 +577,7 @@ python do_create_spdx() {
pkgdest / package,
lambda file_counter: oe.sbom.get_packaged_file_spdxid(pkg_name, file_counter),
lambda filepath: ["BINARY"],
+ ignore_top_level_dirs=['CONTROL', 'DEBIAN'],
archive=archive,
)
@@ -901,7 +902,7 @@ def combine_spdx(d, rootfs_name, rootfs_deploydir, rootfs_spdxid, packages):
image.name = d.getVar("PN")
image.versionInfo = d.getVar("PV")
image.SPDXID = rootfs_spdxid
- image.packageSupplier = d.getVar("SPDX_SUPPLIER")
+ image.supplier = d.getVar("SPDX_SUPPLIER")
doc.packages.append(image)
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index a0e9d23836..686646357c 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -104,7 +104,7 @@ INHIBIT_DEFAULT_DEPS = "1"
STAGING_DIR_HOST = "${RECIPE_SYSROOT}"
-TOOLCHAIN_OPTIONS = " --sysroot=${RECIPE_SYSROOT}"
+TOOLCHAIN_OPTIONS = "--sysroot=${RECIPE_SYSROOT}"
PATH:append = ":${TMPDIR}/sysroots/${HOST_ARCH}/${bindir_cross}"
PKGHIST_DIR = "${TMPDIR}/pkghistory/${HOST_ARCH}-${SDKPKGSUFFIX}${HOST_VENDOR}-${HOST_OS}/"
diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass
index 50b9247f46..da7f93371c 100644
--- a/meta/classes/cve-check.bbclass
+++ b/meta/classes/cve-check.bbclass
@@ -166,7 +166,7 @@ python cve_check_cleanup () {
}
addhandler cve_check_cleanup
-cve_check_cleanup[eventmask] = "bb.cooker.CookerExit"
+cve_check_cleanup[eventmask] = "bb.event.BuildCompleted"
python cve_check_write_rootfs_manifest () {
"""
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
index cd2daed70b..c6b38bd294 100644
--- a/meta/classes/go.bbclass
+++ b/meta/classes/go.bbclass
@@ -40,7 +40,7 @@ GO_RPATH_LINK = "${@'-Wl,-rpath-link=${STAGING_DIR_TARGET}${libdir}/go/pkg/${TAR
GO_RPATH = "${@'-r ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
GO_RPATH:class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
GO_RPATH_LINK:class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
-GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}"
+GO_EXTLDFLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}"
GO_LINKMODE ?= ""
GO_LINKMODE:class-nativesdk = "--linkmode=external"
GO_LINKMODE:class-native = "--linkmode=external"
diff --git a/meta/classes/gobject-introspection-data.bbclass b/meta/classes/gobject-introspection-data.bbclass
index 2ef684626a..d90cdb4839 100644
--- a/meta/classes/gobject-introspection-data.bbclass
+++ b/meta/classes/gobject-introspection-data.bbclass
@@ -5,3 +5,8 @@
# so that qemu use can be avoided when necessary.
GI_DATA_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', \
bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"
+
+do_compile:prepend() {
+ # This prevents g-ir-scanner from writing cache data to $HOME
+ export GI_SCANNER_DISABLE_CACHE=1
+}
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 2139a7e576..fe32cdefd5 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -34,7 +34,7 @@ INHIBIT_DEFAULT_DEPS = "1"
# IMAGE_FEATURES may contain any available package group
IMAGE_FEATURES ?= ""
IMAGE_FEATURES[type] = "list"
-IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password allow-empty-password allow-root-login post-install-logging overlayfs-etc"
+IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password allow-empty-password allow-root-login serial-autologin-root post-install-logging overlayfs-etc"
# Generate companion debugfs?
IMAGE_GEN_DEBUGFS ?= "0"
diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass
index 79f8d93b94..8497916d48 100644
--- a/meta/classes/image_types_wic.bbclass
+++ b/meta/classes/image_types_wic.bbclass
@@ -84,6 +84,8 @@ do_image_wic[deptask] += "do_image_complete"
WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native erofs-utils-native"
+# Unified kernel images need objcopy
+WKS_FILE_DEPENDS_DEFAULT += "virtual/${MLPREFIX}${TARGET_PREFIX}binutils"
WKS_FILE_DEPENDS_BOOTLOADERS = ""
WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot os-release"
WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux grub-efi systemd-boot os-release"
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index e6b0f081e6..37e10ad850 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -20,7 +20,7 @@
# Elect whether a given type of error is a warning or error, they may
# have been set by other files.
-WARN_QA ?= " libdir xorg-driver-abi \
+WARN_QA ?= " libdir xorg-driver-abi buildpaths \
textrel incompatible-license files-invalid \
infodir build-deps src-uri-bad symlink-to-sysroot multilib \
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \
@@ -444,12 +444,11 @@ def package_qa_check_buildpaths(path, name, d, elf, messages):
Check for build paths inside target files and error if paths are not
explicitly ignored.
"""
- # Ignore .debug files, not interesting
- if path.find(".debug") != -1:
- return
+ import stat
- # Ignore symlinks
- if os.path.islink(path):
+ # Ignore symlinks/devs/fifos
+ mode = os.lstat(path).st_mode
+ if stat.S_ISLNK(mode) or stat.S_ISBLK(mode) or stat.S_ISFIFO(mode) or stat.S_ISCHR(mode) or stat.S_ISSOCK(mode):
return
tmpdir = bytes(d.getVar('TMPDIR'), encoding="utf-8")
@@ -1149,13 +1148,14 @@ python do_package_qa_setscene () {
}
addtask do_package_qa_setscene
-python do_qa_staging() {
- bb.note("QA checking staging")
+python do_qa_sysroot() {
+ bb.note("QA checking do_populate_sysroot")
sysroot_destdir = d.expand('${SYSROOT_DESTDIR}')
for sysroot_dir in d.expand('${SYSROOT_DIRS}').split():
qa_check_staged(sysroot_destdir + sysroot_dir, d)
- oe.qa.exit_with_message_if_errors("QA staging was broken by the package built above", d)
+ oe.qa.exit_with_message_if_errors("do_populate_sysroot for this recipe installed files with QA issues", d)
}
+do_populate_sysroot[postfuncs] += "do_qa_sysroot"
python do_qa_patch() {
import subprocess
@@ -1347,10 +1347,6 @@ python do_qa_unpack() {
unpack_check_src_uri(d.getVar('PN'), d)
}
-# The Staging Func, to check all staging
-#addtask qa_staging after do_populate_sysroot before do_build
-do_populate_sysroot[postfuncs] += "do_qa_staging "
-
# Check for patch fuzz
do_patch[postfuncs] += "do_qa_patch "
diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass
index 07ec242e63..348a3adf22 100644
--- a/meta/classes/kernel-arch.bbclass
+++ b/meta/classes/kernel-arch.bbclass
@@ -61,7 +61,7 @@ HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
TARGET_AR_KERNEL_ARCH ?= ""
HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}"
-KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH} -fuse-ld=bfd ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH}"
+KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH} -fuse-ld=bfd ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} -fdebug-prefix-map=${STAGING_KERNEL_BUILDDIR}=${KERNEL_SRC_PATH}"
KERNEL_LD = "${CCACHE}${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}"
KERNEL_AR = "${CCACHE}${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}"
TOOLCHAIN = "gcc"
diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass
index 7e09b075ff..753164551c 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -148,7 +148,7 @@ fitimage_emit_section_kernel() {
kernel-$2 {
description = "Linux kernel";
data = /incbin/("$3");
- type = "kernel";
+ type = "${UBOOT_MKIMAGE_KERNEL_TYPE}";
arch = "${UBOOT_ARCH}";
os = "linux";
compression = "$4";
@@ -346,6 +346,7 @@ fitimage_emit_section_config() {
conf_csum="${FIT_HASH_ALG}"
conf_sign_algo="${FIT_SIGN_ALG}"
+ conf_padding_algo="${FIT_PAD_ALG}"
if [ "${UBOOT_SIGN_ENABLE}" = "1" ] ; then
conf_sign_keyname="${UBOOT_SIGN_KEYNAME}"
fi
@@ -465,6 +466,7 @@ EOF
signature-1 {
algo = "$conf_csum,$conf_sign_algo";
key-name-hint = "$conf_sign_keyname";
+ padding = "$conf_padding_algo";
$sign_line
};
EOF
diff --git a/meta/classes/kernel-uboot.bbclass b/meta/classes/kernel-uboot.bbclass
index 2facade818..1bc98e042d 100644
--- a/meta/classes/kernel-uboot.bbclass
+++ b/meta/classes/kernel-uboot.bbclass
@@ -2,6 +2,9 @@
FIT_KERNEL_COMP_ALG ?= "gzip"
FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz"
+# Kernel image type passed to mkimage (i.e. kernel kernel_noload...)
+UBOOT_MKIMAGE_KERNEL_TYPE ?= "kernel"
+
uboot_prep_kimage() {
if [ -e arch/${ARCH}/boot/compressed/vmlinux ]; then
vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux"
diff --git a/meta/classes/kernel-uimage.bbclass b/meta/classes/kernel-uimage.bbclass
index cedb4fa070..2e661ea916 100644
--- a/meta/classes/kernel-uimage.bbclass
+++ b/meta/classes/kernel-uimage.bbclass
@@ -30,6 +30,6 @@ do_uboot_mkimage() {
awk '$3=="${UBOOT_ENTRYSYMBOL}" {print "0x"$1;exit}'`
fi
- uboot-mkimage -A ${UBOOT_ARCH} -O linux -T kernel -C "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage
+ uboot-mkimage -A ${UBOOT_ARCH} -O linux -T ${UBOOT_MKIMAGE_KERNEL_TYPE} -C "${linux_comp}" -a ${UBOOT_LOADADDRESS} -e $ENTRYPOINT -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${B}/arch/${ARCH}/boot/uImage
rm -f linux.bin
}
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 5d2f17c3be..f41ac8e29b 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -504,7 +504,8 @@ do_kernel_version_sanity_check() {
exit 0
}
-addtask shared_workdir after do_compile before do_compile_kernelmodules
+addtask shared_workdir_prepare after do_compile before do_compile_kernelmodules
+addtask shared_workdir after do_compile_kernelmodules
addtask shared_workdir_setscene
do_shared_workdir_setscene () {
@@ -520,11 +521,17 @@ emit_depmod_pkgdata() {
PACKAGEFUNCS += "emit_depmod_pkgdata"
-do_shared_workdir[cleandirs] += " ${STAGING_KERNEL_BUILDDIR}"
do_shared_workdir () {
cd ${B}
kerneldir=${STAGING_KERNEL_BUILDDIR}
+}
+
+do_shared_workdir_prepare[cleandirs] += " ${STAGING_KERNEL_BUILDDIR}"
+do_shared_workdir_prepare () {
+ cd ${B}
+
+ kerneldir=${STAGING_KERNEL_BUILDDIR}
install -d $kerneldir
#
@@ -629,7 +636,7 @@ kernel_do_configure() {
do_savedefconfig() {
bbplain "Saving defconfig to:\n${B}/defconfig"
- oe_runmake -C ${B} savedefconfig
+ oe_runmake -C ${B} LD='${KERNEL_LD}' savedefconfig
}
do_savedefconfig[nostamp] = "1"
addtask savedefconfig after do_configure
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index fc7422c5d7..5a273cdebb 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -23,6 +23,8 @@ TARGET_CFLAGS = "${BUILD_CFLAGS}"
TARGET_CXXFLAGS = "${BUILD_CXXFLAGS}"
TARGET_LDFLAGS = "${BUILD_LDFLAGS}"
TARGET_FPU = ""
+TUNE_FEATURES = ""
+ABIEXTENSION = ""
HOST_ARCH = "${BUILD_ARCH}"
HOST_OS = "${BUILD_OS}"
diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass
index dbfc2e728e..deea53c9ec 100644
--- a/meta/classes/npm.bbclass
+++ b/meta/classes/npm.bbclass
@@ -19,7 +19,7 @@
inherit python3native
-DEPENDS:prepend = "nodejs-native "
+DEPENDS:prepend = "nodejs-native nodejs-oe-cache-native "
RDEPENDS:${PN}:append:class-target = " nodejs"
EXTRA_OENPM = ""
@@ -46,6 +46,7 @@ NPM_ARCH ?= "${@npm_target_arch_map(d.getVar("TARGET_ARCH"))}"
NPM_PACKAGE = "${WORKDIR}/npm-package"
NPM_CACHE = "${WORKDIR}/npm-cache"
NPM_BUILD = "${WORKDIR}/npm-build"
+NPM_REGISTRY = "${WORKDIR}/npm-registry"
def npm_global_configs(d):
"""Get the npm global configuration"""
@@ -53,17 +54,42 @@ def npm_global_configs(d):
# Ensure no network access is done
configs.append(("offline", "true"))
configs.append(("proxy", "http://invalid"))
+ configs.append(("funds", False))
+ configs.append(("audit", False))
# Configure the cache directory
configs.append(("cache", d.getVar("NPM_CACHE")))
return configs
+## 'npm pack' runs 'prepare' and 'prepack' scripts. Support for
+## 'ignore-scripts' which prevents this behavior has been removed
+## from nodejs 16. Use simple 'tar' instead of.
def npm_pack(env, srcdir, workdir):
- """Run 'npm pack' on a specified directory"""
- import shlex
- cmd = "npm pack %s" % shlex.quote(srcdir)
- args = [("ignore-scripts", "true")]
- tarball = env.run(cmd, args=args, workdir=workdir).strip("\n")
- return os.path.join(workdir, tarball)
+ """Emulate 'npm pack' on a specified directory"""
+ import subprocess
+ import os
+ import json
+
+ src = os.path.join(srcdir, 'package.json')
+ with open(src) as f:
+ j = json.load(f)
+
+ # base does not really matter and is for documentation purposes
+ # only. But the 'version' part must exist because other parts of
+ # the bbclass rely on it.
+ base = j['name'].split('/')[-1]
+ tarball = os.path.join(workdir, "%s-%s.tgz" % (base, j['version']));
+
+ # TODO: real 'npm pack' does not include directories while 'tar'
+ # does. But this does not seem to matter...
+ subprocess.run(['tar', 'czf', tarball,
+ '--exclude', './node-modules',
+ '--exclude-vcs',
+ '--transform', 's,^\./,package/,',
+ '--mtime', '1985-10-26T08:15:00.000Z',
+ '.'],
+ check = True, cwd = srcdir)
+
+ return (tarball, j)
python npm_do_configure() {
"""
@@ -87,27 +113,24 @@ python npm_do_configure() {
from bb.fetch2.npm import npm_unpack
from bb.fetch2.npmsw import foreach_dependencies
from bb.progress import OutOfProgressHandler
+ from oe.npm_registry import NpmRegistry
bb.utils.remove(d.getVar("NPM_CACHE"), recurse=True)
bb.utils.remove(d.getVar("NPM_PACKAGE"), recurse=True)
env = NpmEnvironment(d, configs=npm_global_configs(d))
+ registry = NpmRegistry(d.getVar('NPM_REGISTRY'), d.getVar('NPM_CACHE'))
- def _npm_cache_add(tarball):
- """Run 'npm cache add' for a specified tarball"""
- cmd = "npm cache add %s" % shlex.quote(tarball)
- env.run(cmd)
+ def _npm_cache_add(tarball, pkg):
+ """Add tarball to local registry and register it in the
+ cache"""
+ registry.add_pkg(tarball, pkg)
def _npm_integrity(tarball):
"""Return the npm integrity of a specified tarball"""
sha512 = bb.utils.sha512_file(tarball)
return "sha512-" + base64.b64encode(bytes.fromhex(sha512)).decode()
- def _npm_version(tarball):
- """Return the version of a specified tarball"""
- regex = r"-(\d+\.\d+\.\d+(-.*)?(\+.*)?)\.tgz"
- return re.search(regex, tarball).group(1)
-
def _npmsw_dependency_dict(orig, deptree):
"""
Return the sub dictionary in the 'orig' dictionary corresponding to the
@@ -164,11 +187,11 @@ python npm_do_configure() {
with tempfile.TemporaryDirectory() as tmpdir:
# Add the dependency to the npm cache
destdir = os.path.join(d.getVar("S"), destsuffix)
- tarball = npm_pack(env, destdir, tmpdir)
- _npm_cache_add(tarball)
+ (tarball, pkg) = npm_pack(env, destdir, tmpdir)
+ _npm_cache_add(tarball, pkg)
# Add its signature to the cached shrinkwrap
dep = _npmsw_dependency_dict(cached_shrinkwrap, deptree)
- dep["version"] = _npm_version(tarball)
+ dep["version"] = pkg['version']
dep["integrity"] = _npm_integrity(tarball)
if params.get("dev", False):
dep["dev"] = True
@@ -185,7 +208,7 @@ python npm_do_configure() {
# Configure the main package
with tempfile.TemporaryDirectory() as tmpdir:
- tarball = npm_pack(env, d.getVar("S"), tmpdir)
+ (tarball, _) = npm_pack(env, d.getVar("S"), tmpdir)
npm_unpack(tarball, d.getVar("NPM_PACKAGE"), d)
# Configure the cached manifest file and cached shrinkwrap file
@@ -259,7 +282,7 @@ python npm_do_compile() {
args.append(("build-from-source", "true"))
# Pack and install the main package
- tarball = npm_pack(env, d.getVar("NPM_PACKAGE"), tmpdir)
+ (tarball, _) = npm_pack(env, d.getVar("NPM_PACKAGE"), tmpdir)
cmd = "npm install %s %s" % (shlex.quote(tarball), d.getVar("EXTRA_OENPM"))
env.run(cmd, args=args)
}
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 62050a18b8..97e97d2703 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -382,6 +382,11 @@ def splitdebuginfo(file, dvar, dv, d):
debugfile = dvar + dest
sources = []
+ if file.endswith(".ko") and file.find("/lib/modules/") != -1:
+ if oe.package.is_kernel_module_signed(file):
+ bb.debug(1, "Skip strip on signed module %s" % file)
+ return (file, sources)
+
# Split the file...
bb.utils.mkdirhier(os.path.dirname(debugfile))
#bb.note("Split %s -> %s" % (file, debugfile))
@@ -553,13 +558,25 @@ def copydebugsources(debugsrcdir, sources, d):
strip = d.getVar("STRIP")
objcopy = d.getVar("OBJCOPY")
workdir = d.getVar("WORKDIR")
+ sdir = d.getVar("S")
+ sparentdir = os.path.dirname(os.path.dirname(sdir))
+ sbasedir = os.path.basename(os.path.dirname(sdir)) + "/" + os.path.basename(sdir)
workparentdir = os.path.dirname(os.path.dirname(workdir))
workbasedir = os.path.basename(os.path.dirname(workdir)) + "/" + os.path.basename(workdir)
+ # If S isnt based on WORKDIR we can infer our sources are located elsewhere,
+ # e.g. using externalsrc; use S as base for our dirs
+ if workdir in sdir or 'work-shared' in sdir:
+ basedir = workbasedir
+ parentdir = workparentdir
+ else:
+ basedir = sbasedir
+ parentdir = sparentdir
+
# If build path exists in sourcefile, it means toolchain did not use
# -fdebug-prefix-map to compile
if checkbuildpath(sourcefile, d):
- localsrc_prefix = workparentdir + "/"
+ localsrc_prefix = parentdir + "/"
else:
localsrc_prefix = "/usr/src/debug/"
@@ -581,7 +598,7 @@ def copydebugsources(debugsrcdir, sources, d):
processdebugsrc += "sed 's#%s##g' | "
processdebugsrc += "(cd '%s' ; cpio -pd0mlL --no-preserve-owner '%s%s' 2>/dev/null)"
- cmd = processdebugsrc % (sourcefile, workbasedir, localsrc_prefix, workparentdir, dvar, debugsrcdir)
+ cmd = processdebugsrc % (sourcefile, basedir, localsrc_prefix, parentdir, dvar, debugsrcdir)
try:
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError:
@@ -591,9 +608,22 @@ def copydebugsources(debugsrcdir, sources, d):
# cpio seems to have a bug with -lL together and symbolic links are just copied, not dereferenced.
# Work around this by manually finding and copying any symbolic links that made it through.
cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s')" % \
- (dvar, debugsrcdir, dvar, debugsrcdir, workparentdir, dvar, debugsrcdir)
+ (dvar, debugsrcdir, dvar, debugsrcdir, parentdir, dvar, debugsrcdir)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
+
+ # debugsources.list may be polluted from the host if we used externalsrc,
+ # cpio uses copy-pass and may have just created a directory structure
+ # matching the one from the host, if thats the case move those files to
+ # debugsrcdir to avoid host contamination.
+ # Empty dir structure will be deleted in the next step.
+
+ # Same check as above for externalsrc
+ if workdir not in sdir:
+ if os.path.exists(dvar + debugsrcdir + sdir):
+ cmd = "mv %s%s%s/* %s%s" % (dvar, debugsrcdir, sdir, dvar,debugsrcdir)
+ subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
+
# The copy by cpio may have resulted in some empty directories! Remove these
cmd = "find %s%s -empty -type d -delete" % (dvar, debugsrcdir)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index 16f929bf59..f260217b50 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -43,9 +43,22 @@ B:task-populate-sdk = "${SDK_DIR}"
SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
-TOOLCHAIN_HOST_TASK ?= "nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-${MACHINE}"
+SDK_TOOLCHAIN_LANGS ??= ""
+SDK_TOOLCHAIN_LANGS:remove:sdkmingw32 = "rust"
+
+TOOLCHAIN_HOST_TASK ?= " \
+ nativesdk-packagegroup-sdk-host \
+ packagegroup-cross-canadian-${MACHINE} \
+ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', 'packagegroup-go-cross-canadian-${MACHINE}', '', d)} \
+ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', 'packagegroup-rust-cross-canadian-${MACHINE}', '', d)} \
+"
TOOLCHAIN_HOST_TASK_ATTEMPTONLY ?= ""
-TOOLCHAIN_TARGET_TASK ?= "${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} target-sdk-provides-dummy"
+TOOLCHAIN_TARGET_TASK ?= " \
+ ${@multilib_pkg_extend(d, 'packagegroup-core-standalone-sdk-target')} \
+ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'go', multilib_pkg_extend(d, 'packagegroup-go-sdk-target'), '', d)} \
+ ${@bb.utils.contains('SDK_TOOLCHAIN_LANGS', 'rust', multilib_pkg_extend(d, 'libstd-rs'), '', d)} \
+ target-sdk-provides-dummy \
+"
TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= ""
TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"
diff --git a/meta/classes/python_flit_core.bbclass b/meta/classes/python_flit_core.bbclass
index 96652aa204..7109307de5 100644
--- a/meta/classes/python_flit_core.bbclass
+++ b/meta/classes/python_flit_core.bbclass
@@ -2,4 +2,7 @@ inherit python_pep517 python3native python3-dir setuptools3-base
DEPENDS += "python3 python3-flit-core-native"
-PEP517_BUILD_API = "flit_core.buildapi"
+python_flit_core_do_manual_build () {
+ cd ${PEP517_SOURCE_PATH}
+ nativepython3 -m flit_core.wheel --outdir ${PEP517_WHEEL_PATH} .
+}
diff --git a/meta/classes/python_hatchling.bbclass b/meta/classes/python_hatchling.bbclass
index b3cbe23601..984eb6bb5d 100644
--- a/meta/classes/python_hatchling.bbclass
+++ b/meta/classes/python_hatchling.bbclass
@@ -1,5 +1,3 @@
inherit python_pep517 python3native python3-dir setuptools3-base
DEPENDS += "python3-hatchling-native"
-
-PEP517_BUILD_API = "hatchling.build"
diff --git a/meta/classes/python_pep517.bbclass b/meta/classes/python_pep517.bbclass
index 34ffdc9c0d..7cdb9c8f9d 100644
--- a/meta/classes/python_pep517.bbclass
+++ b/meta/classes/python_pep517.bbclass
@@ -4,17 +4,16 @@
# This class will build a wheel in do_compile, and use pypa/installer to install
# it in do_install.
-DEPENDS:append = " python3-installer-native"
+DEPENDS:append = " python3-picobuild-native python3-installer-native"
# Where to execute the build process from
PEP517_SOURCE_PATH ?= "${S}"
-# The PEP517 build API entry point
-PEP517_BUILD_API ?= "unset"
-
# The directory where wheels will be written
PEP517_WHEEL_PATH ?= "${WORKDIR}/dist"
+PEP517_PICOBUILD_OPTS ?= ""
+
# The interpreter to use for installed scripts
PEP517_INSTALL_PYTHON = "python3"
PEP517_INSTALL_PYTHON:class-native = "nativepython3"
@@ -31,8 +30,7 @@ python_pep517_do_configure () {
# When we have Python 3.11 we can parse pyproject.toml to determine the build
# API entry point directly
python_pep517_do_compile () {
- cd ${PEP517_SOURCE_PATH}
- nativepython3 -c "import ${PEP517_BUILD_API} as api; api.build_wheel('${PEP517_WHEEL_PATH}')"
+ nativepython3 -m picobuild --source ${PEP517_SOURCE_PATH} --dest ${PEP517_WHEEL_PATH} --wheel ${PEP517_PICOBUILD_OPTS}
}
do_compile[cleandirs] += "${PEP517_WHEEL_PATH}"
diff --git a/meta/classes/python_poetry_core.bbclass b/meta/classes/python_poetry_core.bbclass
index 577663b8f1..0aaf66b194 100644
--- a/meta/classes/python_poetry_core.bbclass
+++ b/meta/classes/python_poetry_core.bbclass
@@ -1,5 +1,3 @@
inherit python_pep517 python3native setuptools3-base
DEPENDS += "python3-poetry-core-native"
-
-PEP517_BUILD_API = "poetry.core.masonry.api"
diff --git a/meta/classes/python_setuptools_build_meta.bbclass b/meta/classes/python_setuptools_build_meta.bbclass
index b2bba35a0b..974054fe5a 100644
--- a/meta/classes/python_setuptools_build_meta.bbclass
+++ b/meta/classes/python_setuptools_build_meta.bbclass
@@ -1,5 +1,3 @@
inherit setuptools3-base python_pep517
DEPENDS += "python3-setuptools-native python3-wheel-native"
-
-PEP517_BUILD_API = "setuptools.build_meta"
diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass
index 452b87f9b3..3dadba6047 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes/rootfs-postcommands.bbclass
@@ -8,6 +8,9 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'deb
# Allow dropbear/openssh to accept root logins if debug-tweaks or allow-root-login is enabled
ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login; ", "",d)}'
+# Autologin the root user on the serial console, if empty-root-password and serial-autologin-root are active
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", [ 'empty-root-password', 'serial-autologin-root' ], "serial_autologin_root; ", "",d)}'
+
# Enable postinst logging if debug-tweaks or post-install-logging is enabled
ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging; ", "",d)}'
@@ -196,6 +199,23 @@ ssh_allow_root_login () {
fi
}
+#
+# Autologin the 'root' user on the serial terminal,
+# if empty-root-password' AND 'serial-autologin-root are enabled
+#
+serial_autologin_root () {
+ if ${@bb.utils.contains("DISTRO_FEATURES", "sysvinit", "true", "false", d)}; then
+ # add autologin option to util-linux getty only
+ sed -i 's/options="/&--autologin root /' \
+ "${IMAGE_ROOTFS}${base_bindir}/start_getty"
+ elif ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "true", "false", d)}; then
+ if [ -e ${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service ]; then
+ sed -i '/^\s*ExecStart\b/ s/getty /&--autologin root /' \
+ "${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service"
+ fi
+ fi
+}
+
python sort_passwd () {
import rootfspostcommands
rootfspostcommands.sort_passwd(d.expand('${IMAGE_ROOTFS}${sysconfdir}'))
@@ -305,7 +325,7 @@ rootfs_trim_schemas () {
}
rootfs_check_host_user_contaminated () {
- contaminated="${WORKDIR}/host-user-contaminated.txt"
+ contaminated="${S}/host-user-contaminated.txt"
HOST_USER_UID="$(PSEUDO_UNLOAD=1 id -u)"
HOST_USER_GID="$(PSEUDO_UNLOAD=1 id -g)"
diff --git a/meta/recipes-devtools/rust/rust-common.inc b/meta/classes/rust-target-config.bbclass
index 621cd4ad57..87b7dee3ed 100644
--- a/meta/recipes-devtools/rust/rust-common.inc
+++ b/meta/classes/rust-target-config.bbclass
@@ -1,4 +1,3 @@
-
# 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).
@@ -117,14 +116,15 @@ def llvm_features(d):
llvm_features_from_cc_arch(d) +
llvm_features_from_target_fpu(d))
+llvm_features[vardepvalue] = "${@llvm_features(d)}"
## arm-unknown-linux-gnueabihf
-DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
-TARGET_ENDIAN[arm] = "little"
-TARGET_POINTER_WIDTH[arm] = "32"
-TARGET_C_INT_WIDTH[arm] = "32"
-MAX_ATOMIC_WIDTH[arm] = "64"
-FEATURES[arm] = "+v6,+vfp2"
+DATA_LAYOUT[arm-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+TARGET_ENDIAN[arm-eabi] = "little"
+TARGET_POINTER_WIDTH[arm-eabi] = "32"
+TARGET_C_INT_WIDTH[arm-eabi] = "32"
+MAX_ATOMIC_WIDTH[arm-eabi] = "64"
+FEATURES[arm-eabi] = "+v6,+vfp2"
## armv7-unknown-linux-gnueabihf
DATA_LAYOUT[armv7-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
@@ -232,12 +232,6 @@ 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):
@@ -285,17 +279,27 @@ def llvm_cpu(d):
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))}"
+llvm_cpu[vardepvalue] = "${@llvm_cpu(d)}"
-def rust_gen_target(d, thing, wd, features, cpu, arch, abi=""):
+def rust_gen_target(d, thing, wd, arch):
import json
- sys = sys_for(d, thing)
- prefix = prefix_for(d, thing)
+ sys = d.getVar('{}_SYS'.format(thing))
+ prefix = d.getVar('{}_PREFIX'.format(thing))
+
+ abi = None
+ cpu = "generic"
+ features = ""
+
+ if thing == "TARGET":
+ abi = d.getVar('ABIEXTENSION')
+ cpu = llvm_cpu(d)
+ if bb.data.inherits_class('native', d):
+ features = ','.join(llvm_features_from_cc_arch(d))
+ else:
+ features = llvm_features(d) or ""
+ # arm and armv7 have different targets in llvm
+ if arch == "arm" and target_is_armv7(d):
+ arch = 'armv7'
rust_arch = oe.rust.arch_to_rust_arch(arch)
@@ -307,12 +311,13 @@ def rust_gen_target(d, thing, wd, features, cpu, arch, abi=""):
features = features or d.getVarFlag('FEATURES', arch_abi) or ""
features = features.strip()
+ llvm_target = d.getVar('RUST_TARGET_SYS')
+ if thing == "BUILD":
+ llvm_target = d.getVar('RUST_HOST_SYS')
+
# build tspec
tspec = {}
- if bb.data.inherits_class('cross-canadian', d):
- tspec['llvm-target'] = d.getVar('RUST_HOST_SYS', arch_abi)
- else:
- tspec['llvm-target'] = d.getVar('RUST_TARGET_SYS', arch_abi)
+ tspec['llvm-target'] = llvm_target
tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch_abi)
tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch_abi))
tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch_abi)
@@ -348,14 +353,20 @@ def rust_gen_target(d, thing, wd, features, cpu, arch, abi=""):
json.dump(tspec, f, indent=4)
# These are accounted for in tmpdir path names so don't need to be in the task sig
-rust_gen_target[vardepsexclude] += "RUST_HOST_SYS RUST_TARGET_SYS"
+rust_gen_target[vardepsexclude] += "RUST_HOST_SYS RUST_TARGET_SYS ABIEXTENSION llvm_cpu"
do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES"
+RUST_TARGETGENS = "BUILD"
+
python do_rust_gen_targets () {
wd = d.getVar('WORKDIR') + '/targets/'
- build_arch = d.getVar('BUILD_ARCH')
- rust_gen_target(d, 'BUILD', wd, "", "generic", build_arch)
+ # Order of BUILD, HOST, TARGET is important in case the files overwrite, most specific last
+ rust_gen_target(d, 'BUILD', wd, d.getVar('BUILD_ARCH'))
+ if "HOST" in d.getVar("RUST_TARGETGENS"):
+ rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH'))
+ if "TARGET" in d.getVar("RUST_TARGETGENS"):
+ rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_ARCH'))
}
addtask rust_gen_targets after do_patch before do_compile
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index eb0ca05804..b1fac107d5 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -858,7 +858,7 @@ def check_sanity_everybuild(status, d):
mirror_vars = ['MIRRORS', 'PREMIRRORS', 'SSTATE_MIRRORS']
protocols = ['http', 'ftp', 'file', 'https', \
'git', 'gitsm', 'hg', 'osc', 'p4', 'svn', \
- 'bzr', 'cvs', 'npm', 'sftp', 'ssh', 's3', 'az' ]
+ 'bzr', 'cvs', 'npm', 'sftp', 'ssh', 's3', 'az', 'ftps']
for mirror_var in mirror_vars:
mirrors = (d.getVar(mirror_var) or '').replace('\\n', ' ').split()
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 3513269bca..0aa901fe89 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -977,15 +977,19 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
localdata.delVar('BB_NO_NETWORK')
from bb.fetch2 import FetchConnectionCache
- def checkstatus_init(thread_worker):
- thread_worker.connection_cache = FetchConnectionCache()
+ def checkstatus_init():
+ while not connection_cache_pool.full():
+ connection_cache_pool.put(FetchConnectionCache())
- def checkstatus_end(thread_worker):
- thread_worker.connection_cache.close_connections()
+ def checkstatus_end():
+ while not connection_cache_pool.empty():
+ connection_cache = connection_cache_pool.get()
+ connection_cache.close_connections()
- def checkstatus(thread_worker, arg):
+ def checkstatus(arg):
(tid, sstatefile) = arg
+ connection_cache = connection_cache_pool.get()
localdata2 = bb.data.createCopy(localdata)
srcuri = "file://" + sstatefile
localdata2.setVar('SRC_URI', srcuri)
@@ -995,7 +999,7 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
try:
fetcher = bb.fetch2.Fetch(srcuri.split(), localdata2,
- connection_cache=thread_worker.connection_cache)
+ connection_cache=connection_cache)
fetcher.checkstatus()
bb.debug(2, "SState: Successful fetch test for %s" % srcuri)
found.add(tid)
@@ -1005,6 +1009,8 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
except Exception as e:
bb.error("SState: cannot test %s: %s\n%s" % (srcuri, repr(e), traceback.format_exc()))
+ connection_cache_pool.put(connection_cache)
+
if progress:
bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - thread_worker.tasks.qsize()), d)
@@ -1025,13 +1031,13 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
fetcherenv = bb.fetch2.get_fetcher_environment(d)
with bb.utils.environment(**fetcherenv):
bb.event.enable_threadlock()
- pool = oe.utils.ThreadedPool(nproc, len(tasklist),
- worker_init=checkstatus_init, worker_end=checkstatus_end,
- name="sstate_checkhashes-")
- for t in tasklist:
- pool.add_task(checkstatus, t)
- pool.start()
- pool.wait_completion()
+ import concurrent.futures
+ from queue import Queue
+ connection_cache_pool = Queue(nproc)
+ checkstatus_init()
+ with concurrent.futures.ThreadPoolExecutor(max_workers=nproc) as executor:
+ executor.map(checkstatus, tasklist.copy())
+ checkstatus_end()
bb.event.disable_threadlock()
if progress:
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 8ffaeab284..7898223bce 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -472,6 +472,9 @@ def create_rpm_index(d):
package_list = glob.glob(idx_path + "*/*.rpm")
for pkg in package_list:
+ if os.path.basename(pkg).startswith(("curl-ptest")):
+ bb.utils.remove(pkg)
+
if not os.path.basename(pkg).startswith(("rpm", "run-postinsts", "busybox", "bash", "update-alternatives", "libc6", "curl", "musl")):
bb.utils.remove(pkg)
diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
index 1d7c703748..16f1e17607 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes/toolchain-scripts.bbclass
@@ -63,24 +63,46 @@ toolchain_create_sdk_env_script () {
toolchain_shared_env_script
}
-# This function creates an environment-setup-script in the TMPDIR which enables
+# This function creates an environment-setup-script in B which enables
# a OE-core IDE to integrate with the build tree
# Caller must ensure CONFIG_SITE is setup
toolchain_create_tree_env_script () {
- script=${TMPDIR}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
+ script=${B}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
rm -f $script
touch $script
+ echo 'standalone_sysroot_target="${STAGING_DIR}/${MACHINE}"' >> $script
+ echo 'standalone_sysroot_native="${STAGING_DIR}/${BUILD_ARCH}"' >> $script
echo 'orig=`pwd`; cd ${COREBASE}; . ./oe-init-build-env ${TOPDIR}; cd $orig' >> $script
- echo 'export PATH=${STAGING_DIR_NATIVE}/usr/bin:${STAGING_BINDIR_TOOLCHAIN}:$PATH' >> $script
- echo 'export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}' >> $script
- echo 'export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}' >> $script
+ echo 'export PATH=$standalone_sysroot_native/${bindir_native}:$standalone_sysroot_native/${bindir_native}/${TARGET_SYS}:$PATH' >> $script
+ echo 'export PKG_CONFIG_SYSROOT_DIR=$standalone_sysroot_target' >> $script
+ echo 'export PKG_CONFIG_PATH=$standalone_sysroot_target'"$libdir"'/pkgconfig:$standalone_sysroot_target'"$prefix"'/share/pkgconfig' >> $script
echo 'export CONFIG_SITE="${CONFIG_SITE}"' >> $script
- echo 'export SDKTARGETSYSROOT=${STAGING_DIR_TARGET}' >> $script
- echo 'export OECORE_NATIVE_SYSROOT="${STAGING_DIR_NATIVE}"' >> $script
- echo 'export OECORE_TARGET_SYSROOT="${STAGING_DIR_TARGET}"' >> $script
- echo 'export OECORE_ACLOCAL_OPTS="-I ${STAGING_DIR_NATIVE}/usr/share/aclocal"' >> $script
+ echo 'export SDKTARGETSYSROOT=$standalone_sysroot_target' >> $script
+ echo 'export OECORE_NATIVE_SYSROOT=$standalone_sysroot_native' >> $script
+ echo 'export OECORE_TARGET_SYSROOT=$standalone_sysroot_target' >> $script
+ echo 'export OECORE_ACLOCAL_OPTS="-I $standalone_sysroot_native/usr/share/aclocal"' >> $script
+ echo 'export OECORE_BASELIB="${baselib}"' >> $script
+ echo 'export OECORE_TARGET_ARCH="${TARGET_ARCH}"' >>$script
+ echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script
toolchain_shared_env_script
+
+ cat >> $script <<EOF
+
+if [ -d "\$OECORE_NATIVE_SYSROOT/${datadir}/post-relocate-setup.d/" ]; then
+ for s in \$OECORE_NATIVE_SYSROOT/${datadir}/post-relocate-setup.d/*; do
+ if [ ! -x \$s ]; then
+ continue
+ fi
+ \$s "\$1"
+ status=\$?
+ if [ \$status != 0 ]; then
+ echo "post-relocate command \"\$s \$1\" failed with status \$status" >&2
+ exit \$status
+ fi
+ done
+fi
+EOF
}
toolchain_shared_env_script () {
diff --git a/meta/classes/uboot-config.bbclass b/meta/classes/uboot-config.bbclass
index b9ad35821a..e8da8c7452 100644
--- a/meta/classes/uboot-config.bbclass
+++ b/meta/classes/uboot-config.bbclass
@@ -125,5 +125,6 @@ python () {
else:
bb.debug(1, "Appending '%s' to UBOOT_BINARIES." % ubootbinary)
d.appendVar('UBOOT_BINARIES', ' ' + ubootbinary)
- break
+ return
+ raise bb.parse.SkipRecipe("The selected UBOOT_CONFIG key %s has no match in %s." % (ubootconfig, ubootconfigflags.keys()))
}
diff --git a/meta/classes/uboot-sign.bbclass b/meta/classes/uboot-sign.bbclass
index 31ffe1f472..eecdec9160 100644
--- a/meta/classes/uboot-sign.bbclass
+++ b/meta/classes/uboot-sign.bbclass
@@ -73,6 +73,9 @@ UBOOT_FIT_HASH_ALG ?= "sha256"
FIT_SIGN_ALG ?= "rsa2048"
UBOOT_FIT_SIGN_ALG ?= "rsa2048"
+# Kernel / U-Boot fitImage Padding Algo
+FIT_PAD_ALG ?= "pkcs-1.5"
+
# Generate keys for signing Kernel / U-Boot fitImage
FIT_GENERATE_KEYS ?= "0"
UBOOT_FIT_GENERATE_KEYS ?= "0"
diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass
index b617632d9f..e6f7f95d80 100644
--- a/meta/classes/utils.bbclass
+++ b/meta/classes/utils.bbclass
@@ -188,7 +188,7 @@ create_cmdline_shebang_wrapper () {
# Create a wrapper script where commandline options are needed
#
# These are useful to work around shebang relocation issues, where shebangs are too
- # long or have arguments in them, thus preventing them from using the /usr/bin/env
+ # long or have arguments in them, thus preventing them from using the /usr/bin/env
# shebang
#
# Usage: create_cmdline_wrapper FILENAME <extra-options>
@@ -198,10 +198,13 @@ create_cmdline_shebang_wrapper () {
echo "Generating wrapper script for $cmd"
- # Strip #! and get remaining interpreter + arg
- argument="$(basename "$(head -n1 $cmd | sed -e 's|#![ ]*||g' )")"
- # strip the shebang from the real script as we do not want it to be usable anyway
- tail -n +2 $cmd > $cmd.real
+ # Strip #! and get remaining interpreter + arg
+ argument="$(sed -ne 's/^#! *//p;q' $cmd)"
+ # strip the shebang from the real script as we do not want it to be usable anyway
+ tail -n +2 $cmd > $cmd.real
+ chown --reference=$cmd $cmd.real
+ chmod --reference=$cmd $cmd.real
+ rm -f $cmd
cmdname=$(basename $cmd)
dirname=$(dirname $cmd)
cmdoptions=$@
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 2a3cf6f8aa..27478b1107 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -349,7 +349,8 @@ FILES:${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \
${libdir}/cmake ${datadir}/cmake"
SECTION:${PN}-dev = "devel"
ALLOW_EMPTY:${PN}-dev = "1"
-RDEPENDS:${PN}-dev = "${PN} (= ${EXTENDPKGV})"
+DEV_PKG_DEPENDENCY = "${PN} (= ${EXTENDPKGV})"
+RRECOMMENDS:${PN}-dev = "${DEV_PKG_DEPENDENCY}"
FILES:${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a"
SECTION:${PN}-staticdev = "devel"
@@ -546,13 +547,14 @@ HOSTTOOLS_NONFATAL += "git-lfs"
CCACHE ??= ""
-TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"
+TOOLCHAIN_OPTIONS = "--sysroot=${STAGING_DIR_TARGET}"
-export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
-export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
-export FC = "${CCACHE}${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
-export CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
-export LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
+export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
+export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
+export FC = "${CCACHE}${HOST_PREFIX}gfortran ${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
+export CPP = "${HOST_PREFIX}gcc -E ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
+LINKER = "ld"
+export LD = "${HOST_PREFIX}${LINKER} ${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
export CCLD = "${CC}"
export AR = "${HOST_PREFIX}gcc-ar"
export AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}"
@@ -569,7 +571,8 @@ export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
export BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
export BUILD_FC = "${CCACHE}${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
export BUILD_CPP = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} -E"
-export BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
+BUILD_LINKER = "ld"
+export BUILD_LD = "${BUILD_PREFIX}${BUILD_LINKER} ${BUILD_LD_ARCH}"
export BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
export BUILD_AR = "${BUILD_PREFIX}ar"
export BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
diff --git a/meta/conf/distro/include/cve-extra-exclusions.inc b/meta/conf/distro/include/cve-extra-exclusions.inc
index 993ee2811a..8b5f8d49b8 100644
--- a/meta/conf/distro/include/cve-extra-exclusions.inc
+++ b/meta/conf/distro/include/cve-extra-exclusions.inc
@@ -90,24 +90,24 @@ CVE_CHECK_IGNORE += "CVE-2022-0185 CVE-2022-0264 CVE-2022-0286 CVE-2022-0330 CVE
CVE-2022-28356 CVE-2022-28388 CVE-2022-28389 CVE-2022-28390 CVE-2022-28796 CVE-2022-28893 CVE-2022-29156 \
CVE-2022-29582 CVE-2022-29968"
-#### CPE update pending ####
-
-# groff:groff-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2000-0803
-# Appears it was fixed in https://git.savannah.gnu.org/cgit/groff.git/commit/?id=07f95f1674217275ed4612f1dcaa95a88435c6a7
-# so from 1.17 onwards. Reported to the database for update by RP 2021/5/9. Update accepted 2021/5/10.
-#CVE_CHECK_IGNORE += "CVE-2000-0803"
-
-
-
-#### Upstream still working on ####
# qemu:qemu-native:qemu-system-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-20255
# There was a proposed patch https://lists.gnu.org/archive/html/qemu-devel/2021-02/msg06098.html
-# however qemu maintainers are sure the patch is incorrect and should not be applied.
-
-# wget https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-31879
-# https://mail.gnu.org/archive/html/bug-wget/2021-02/msg00002.html
-# No response upstream as of 2021/5/12
+# qemu maintainers say the patch is incorrect and should not be applied
+# Ignore from OE's perspectivee as the issue is of low impact, at worst sitting in an infinite loop rather than exploitable
+CVE_CHECK_IGNORE += "CVE-2021-20255"
+
+# qemu:qemu-native:qemu-system-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-12067
+# There was a proposed patch but rejected by upstream qemu. It is unclear if the issue can
+# still be reproduced or where exactly any bug is.
+# Ignore from OE's perspective as we'll pick up any fix when upstream accepts one.
+CVE_CHECK_IGNORE += "CVE-2019-12067"
+
+# nasm:nasm-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-18974
+# It is a fuzzing related buffer overflow. It is of low impact since most devices
+# wouldn't expose an assembler. The upstream is inactive and there is little to be
+# done about the bug, ignore from an OE perspective.
+CVE_CHECK_IGNORE += "CVE-2020-18974"
diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc
index 9f4617be01..230bab84dd 100644
--- a/meta/conf/distro/include/default-distrovars.inc
+++ b/meta/conf/distro/include/default-distrovars.inc
@@ -16,6 +16,9 @@ DISTRO_FEATURES_DEFAULT:remove:riscv32 = "seccomp"
# seccomp is not yet ported to ARC
DISTRO_FEATURES_DEFAULT:remove:arc = "seccomp"
+# seccomp is not yet ported to microblaze
+DISTRO_FEATURES_DEFAULT:remove:microblaze = "seccomp"
+
DISTRO_FEATURES_DEFAULT ?= "acl alsa bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}"
IMAGE_FEATURES ?= ""
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 18b0624af7..e20275c674 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -261,6 +261,7 @@ RECIPE_MAINTAINER:pn-hicolor-icon-theme = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-hwlatdetect = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-i2c-tools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-icecc-create-env = "Joshua Watt <JPEWhacker@gmail.com>"
+RECIPE_MAINTAINER:pn-icon-naming-utils = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER:pn-icu = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-ifupdown = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-igt-gpu-tools = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -637,6 +638,7 @@ RECIPE_MAINTAINER:pn-python3-packaging = "Tim Orling <tim.orling@konsulko.com>"
RECIPE_MAINTAINER:pn-python3-pathlib2 = "Tim Orling <tim.orling@konsulko.com>"
RECIPE_MAINTAINER:pn-python3-pathspec = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-python3-pbr = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-picobuild = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-python3-pip = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
RECIPE_MAINTAINER:pn-python3-pluggy = "Tim Orling <tim.orling@konsulko.com>"
RECIPE_MAINTAINER:pn-python3-ply = "Tim Orling <tim.orling@konsulko.com>"
@@ -724,6 +726,7 @@ 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-sato-icon-theme = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER:pn-sbc = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-screen = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-seatd = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -838,7 +841,6 @@ RECIPE_MAINTAINER:pn-xdpyinfo = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-xev = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-xeyes = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-xf86-input-evdev = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-xf86-input-keyboard = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-xf86-input-libinput = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-xf86-input-mouse = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-xf86-input-synaptics = "Unassigned <unassigned@yoctoproject.org>"
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index a1ead90649..6c4339e3e1 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -81,6 +81,7 @@ PTESTS_SLOW = "\
babeltrace2-ptest \
busybox-ptest \
coreutils-ptest \
+ curl-ptest \
dbus-ptest \
e2fsprogs-ptest \
findutils-ptest \
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index eb2f01b967..4477689157 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -26,8 +26,8 @@ QEMUVERSION ?= "7.0%"
GOVERSION ?= "1.18%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
# llvm version being used, so always bump it with llvm recipe version bump
-LLVMVERSION ?= "14.0.4"
-RUSTVERSION ?= "1.60%"
+LLVMVERSION ?= "14.0.6"
+RUSTVERSION ?= "1.62%"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index 076cba58d1..1387539734 100644
--- a/meta/conf/layer.conf
+++ b/meta/conf/layer.conf
@@ -82,6 +82,8 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
weston-init->kbd \
connman->xl2tpd \
lttng-tools->lttng-modules \
+ sato-icon-theme->gdk-pixbuf \
+ sato-icon-theme->gtk+3 \
adwaita-icon-theme->gdk-pixbuf \
adwaita-icon-theme->gtk+3 \
"
diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample
index c05691de58..f6be0a59d1 100644
--- a/meta/conf/local.conf.sample
+++ b/meta/conf/local.conf.sample
@@ -5,7 +5,8 @@
# be set in this file. More adventurous users can look at
# local.conf.sample.extended which contains other examples of configuration which
# can be placed in this file but new users likely won't need any of them
-# initially.
+# initially. There's also site.conf.sample which contains examples of site specific
+# information such as proxy server addresses.
#
# Lines starting with the '#' character are commented out and in some cases the
# default values are provided as comments to show people example syntax. Enabling
@@ -29,6 +30,10 @@
# This sets the default machine to be qemux86-64 if no other machine is selected:
MACHINE ??= "qemux86-64"
+# These are some of the more commonly used values. Looking at the files in the
+# meta/conf/machine directory, or the conf/machine directory of any additional layers
+# you add in will show all the available machines.
+
#
# Where to place downloads
#
diff --git a/meta/files/layers.example.json b/meta/files/layers.example.json
new file mode 100644
index 0000000000..b6e35c615d
--- /dev/null
+++ b/meta/files/layers.example.json
@@ -0,0 +1,115 @@
+{
+ "sources": {
+ "meta-alex": {
+ "contains_this_file": true,
+ "git-remote": {
+ "branch": "master",
+ "describe": "",
+ "remotes": {
+ "remote-alex": {
+ "uri": "https://github.com/kanavin/meta-alex"
+ }
+ },
+ "rev": "05b25605fb8b2399e4706d7323828676bf0da0b5"
+ },
+ "layers": {
+ "meta-alex": {
+ "buildconfigs": {
+ "conf/templates/configuration-gadget": {},
+ "conf/templates/configuration-gizmo": {}
+ },
+ "subpath": ""
+ }
+ },
+ "path": "meta-alex"
+ },
+ "meta-intel": {
+ "git-remote": {
+ "branch": "master",
+ "describe": "15.0-hardknott-3.3-310-g0a96edae",
+ "remotes": {
+ "origin": {
+ "uri": "git://git.yoctoproject.org/meta-intel"
+ }
+ },
+ "rev": "0a96edae609a3f48befac36af82cf1eed6786b4a"
+ },
+ "layers": {
+ "meta-intel": {
+ "machines": {
+ "intel-core2-32": {},
+ "intel-corei7-64": {},
+ "intel-skylake-64": {}
+ },
+ "subpath": ""
+ }
+ },
+ "path": "meta-intel"
+ },
+ "poky": {
+ "git-remote": {
+ "branch": "akanavin/setup-layers",
+ "describe": "4.1_M1-374-g9dda719b2a",
+ "remotes": {
+ "origin": {
+ "uri": "git://git.yoctoproject.org/poky"
+ },
+ "poky-contrib": {
+ "uri": "ssh://git@push.yoctoproject.org/poky-contrib"
+ }
+ },
+ "rev": "9dda719b2a4727a4d43a6ab8d9e23f8ca68790ec"
+ },
+ "layers": {
+ "meta": {
+ "distros": {
+ "defaultsetup": {}
+ },
+ "machines": {
+ "qemuarm": {},
+ "qemuarm64": {},
+ "qemuarmv5": {},
+ "qemumips": {},
+ "qemumips64": {},
+ "qemuppc": {},
+ "qemuppc64": {},
+ "qemuriscv32": {},
+ "qemuriscv64": {},
+ "qemux86": {},
+ "qemux86-64": {}
+ },
+ "subpath": "meta"
+ },
+ "meta-poky": {
+ "buildconfigs": {
+ "conf": {}
+ },
+ "distros": {
+ "poky": {},
+ "poky-altcfg": {},
+ "poky-bleeding": {},
+ "poky-tiny": {}
+ },
+ "subpath": "meta-poky"
+ },
+ "meta-selftest": {
+ "machines": {
+ "qemux86copy": {}
+ },
+ "subpath": "meta-selftest"
+ },
+ "meta-yocto-bsp": {
+ "machines": {
+ "beaglebone-yocto": {},
+ "edgerouter": {},
+ "genericx86": {},
+ "genericx86-64": {}
+ },
+ "subpath": "meta-yocto-bsp"
+ }
+ },
+ "path": "poky"
+ }
+ },
+ "version": "1.0"
+}
diff --git a/meta/files/layers.schema.json b/meta/files/layers.schema.json
new file mode 100644
index 0000000000..2603fae8f7
--- /dev/null
+++ b/meta/files/layers.schema.json
@@ -0,0 +1,121 @@
+{
+ "description": "OpenEmbedder Layer Setup Manifest",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "version"
+ ],
+ "properties": {
+ "version": {
+ "description": "The version of this document; currently '1.0'",
+ "enum": ["1.0"]
+ },
+ "sources": {
+ "description": "The dict of layer sources",
+ "type": "object",
+ "patternProperties": { ".*" : {
+ "type": "object",
+ "description": "The upstream source from which a set of layers may be fetched",
+ "additionalProperties": false,
+ "required": [
+ "path"
+ ],
+ "properties": {
+ "path": {
+ "description": "The path where this layer source will be placed when fetching",
+ "type": "string"
+ },
+ "contains_this_file": {
+ "description": "Whether the directory with the layer source also contains this json description. Tools may want to skip the checkout of the source then.",
+ "type": "boolean"
+ },
+ "layers": {
+ "description": "The dict of layers to be used from this upstream source",
+ "type": "object",
+ "patternProperties": { ".*" : {
+ "description": "A layer from the upstream source",
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "subpath": {
+ "description": "The subpath (relative to the source root) for this layer. Omit if the source root is the layer path",
+ "type": "string"
+ },
+ "buildconfigs": {
+ "description": "A dict of template build configurations in the layer, keyed by relative path to the layer root",
+ "type": "object",
+ "patternProperties": { ".*" : {
+ "description": "Properties of a build confuguration template",
+ "type": "object",
+ "additionalProperties": false,
+ "properties":{}
+ }}
+ },
+ "machines": {
+ "description": "A dict of machine definitions in the layer",
+ "type": "object",
+ "patternProperties": { ".*" : {
+ "description": "Properties of a machine definition",
+ "type": "object",
+ "additionalProperties": false,
+ "properties":{}
+ }}
+ },
+ "distros": {
+ "description": "A dict of distro definitions in the layer",
+ "type": "object",
+ "patternProperties": { ".*" : {
+ "description": "Properties of a distro definition",
+ "type": "object",
+ "additionalProperties": false,
+ "properties":{}
+ }}
+ }
+ }
+ }}
+ },
+ "git-remote": {
+ "description": "A remote git source from which to fetch",
+ "type": "object",
+ "additionalProperties": false,
+ "required": [
+ "rev"
+ ],
+ "properties": {
+ "branch": {
+ "description": "The git branch to fetch (optional)",
+ "type": "string"
+ },
+ "rev": {
+ "description": "The git revision to checkout",
+ "type": "string"
+ },
+ "describe": {
+ "description": "The output of 'git describe' (human readable description of the revision using tags in revision history).",
+ "type": "string"
+ },
+ "remotes": {
+ "description": "The dict of git remotes to add to this repository",
+ "type": "object",
+ "patternProperties": { ".*" : {
+ "description": "A git remote",
+ "type": "object",
+ "addtionalProperties": false,
+ "required": [
+ "uri"
+ ],
+ "properties": {
+ "uri": {
+ "description": "The URI for the remote",
+ "type": "string"
+ }
+ }
+ }}
+ }
+ }
+ }
+ }
+ }
+ }}
+ }
+}
diff --git a/meta/lib/bblayers/buildconf.py b/meta/lib/bblayers/buildconf.py
new file mode 100644
index 0000000000..ece8836d5a
--- /dev/null
+++ b/meta/lib/bblayers/buildconf.py
@@ -0,0 +1,83 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import logging
+import os
+import stat
+import sys
+import shutil
+import json
+
+import bb.utils
+import bb.process
+
+from bblayers.common import LayerPlugin
+
+logger = logging.getLogger('bitbake-layers')
+
+sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
+
+import oe.buildcfg
+
+def plugin_init(plugins):
+ return BuildConfPlugin()
+
+class BuildConfPlugin(LayerPlugin):
+ notes_fixme = """FIXME: Please place here the description of this build configuration.
+It will be shown to the users when they set up their builds via TEMPLATECONF.
+"""
+
+ def _save_conf(self, templatename, templatepath, oecorepath, relpaths_to_oecore):
+ confdir = os.path.join(os.environ["BBPATH"], "conf")
+ destdir = os.path.join(templatepath, "conf", "templates", templatename)
+ os.makedirs(destdir, exist_ok=True)
+
+ with open(os.path.join(confdir, "local.conf")) as src:
+ with open(os.path.join(destdir, "local.conf.sample"), 'w') as dest:
+ dest.write(src.read())
+
+ with open(os.path.join(confdir, "bblayers.conf")) as src:
+ with open(os.path.join(destdir, "bblayers.conf.sample"), 'w') as dest:
+ bblayers_data = src.read()
+
+ for (abspath, relpath) in relpaths_to_oecore:
+ bblayers_data = bblayers_data.replace(abspath, "##OEROOT##/" + relpath)
+ dest.write(bblayers_data)
+
+ with open(os.path.join(destdir, "conf-notes.txt"), 'w') as dest:
+ dest.write(self.notes_fixme)
+
+ logger.info("""Configuration template placed into {}
+Please review the files in there, and particularly provide a configuration description in {}
+You can try out the configuration with
+TEMPLATECONF={} . {}/oe-init-build-env build-try-{}"""
+.format(destdir, os.path.join(destdir, "conf-notes.txt"), destdir, oecorepath, templatename))
+
+ def do_save_build_conf(self, args):
+ """ Save the currently active build configuration (conf/local.conf, conf/bblayers.conf) as a template into a layer.\n This template can later be used for setting up builds via TEMPLATECONF. """
+ repos = {}
+ layers = oe.buildcfg.get_layer_revisions(self.tinfoil.config_data)
+ targetlayer = None
+ oecore = None
+
+ for l in layers:
+ if l[0] == os.path.abspath(args.layerpath):
+ targetlayer = l[0]
+ if l[1] == 'meta':
+ oecore = os.path.dirname(l[0])
+
+ if not targetlayer:
+ logger.error("Layer {} not in one of the currently enabled layers:\n{}".format(args.layerpath, "\n".join([l[0] for l in layers])))
+ elif not oecore:
+ logger.error("Openembedded-core not in one of the currently enabled layers:\n{}".format("\n".join([l[0] for l in layers])))
+ else:
+ relpaths_to_oecore = [(l[0], os.path.relpath(l[0], start=oecore)) for l in layers]
+ self._save_conf(args.templatename, targetlayer, oecore, relpaths_to_oecore)
+
+ def register_commands(self, sp):
+ parser_build_conf = self.add_command(sp, 'save-build-conf', self.do_save_build_conf, parserecipes=False)
+ parser_build_conf.add_argument('layerpath',
+ help='The path to the layer where the configuration template should be saved.')
+ parser_build_conf.add_argument('templatename',
+ help='The name of the configuration template.')
diff --git a/meta/lib/bblayers/makesetup.py b/meta/lib/bblayers/makesetup.py
new file mode 100644
index 0000000000..b7f62900f4
--- /dev/null
+++ b/meta/lib/bblayers/makesetup.py
@@ -0,0 +1,139 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import logging
+import os
+import stat
+import sys
+import shutil
+import json
+
+import bb.utils
+import bb.process
+
+from bblayers.common import LayerPlugin
+
+logger = logging.getLogger('bitbake-layers')
+
+sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
+
+import oe.buildcfg
+
+def plugin_init(plugins):
+ return MakeSetupPlugin()
+
+class MakeSetupPlugin(LayerPlugin):
+
+ def _write_python(self, input, output):
+ with open(input) as f:
+ script = f.read()
+ with open(output, 'w') as f:
+ f.write(script)
+ st = os.stat(output)
+ os.chmod(output, st.st_mode | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH)
+
+ def _write_json(self, repos, output):
+ with open(output, 'w') as f:
+ json.dump(repos, f, sort_keys=True, indent=4)
+
+ def _get_repo_path(self, layer_path):
+ repo_path, _ = bb.process.run('git rev-parse --show-toplevel', cwd=layer_path)
+ return repo_path.strip()
+
+ def _get_remotes(self, repo_path):
+ remotes = {}
+ remotes_list,_ = bb.process.run('git remote', cwd=repo_path)
+ for r in remotes_list.split():
+ uri,_ = bb.process.run('git remote get-url {r}'.format(r=r), cwd=repo_path)
+ remotes[r] = {'uri':uri.strip()}
+ return remotes
+
+ def _get_describe(self, repo_path):
+ try:
+ describe,_ = bb.process.run('git describe --tags', cwd=repo_path)
+ except bb.process.ExecutionError:
+ return ""
+ return describe.strip()
+
+ def _get_confs(self, conf_path):
+ try:
+ files = os.listdir(conf_path)
+ except:
+ return []
+ return {f.replace(".conf",""):{} for f in files if f.endswith(".conf")}
+
+ def _get_distros(self, layer_path):
+ return self._get_confs(os.path.join(layer_path, "conf/distro"))
+
+ def _get_machines(self, layer_path):
+ return self._get_confs(os.path.join(layer_path, "conf/machine"))
+
+ def _get_buildconfigs(self, layerpath):
+ return {os.path.relpath(dir, start=layerpath):{} for (dir, subdirs, files) in os.walk(layerpath) if 'local.conf.sample' in files and 'bblayers.conf.sample' in files}
+
+ def _make_repo_config(self, destdir):
+ repos = {}
+ layers = oe.buildcfg.get_layer_revisions(self.tinfoil.config_data)
+ try:
+ destdir_repo = self._get_repo_path(destdir)
+ except bb.process.ExecutionError:
+ destdir_repo = None
+
+ for (l_path, l_name, l_branch, l_rev, l_ismodified) in layers:
+ if l_name == 'workspace':
+ continue
+ if l_ismodified:
+ logger.error("Layer {name} in {path} has uncommitted modifications or is not in a git repository.".format(name=l_name,path=l_path))
+ return
+ repo_path = self._get_repo_path(l_path)
+ if repo_path not in repos.keys():
+ repos[repo_path] = {'path':os.path.basename(repo_path),'layers':{},'git-remote':{'rev':l_rev, 'branch':l_branch, 'remotes':self._get_remotes(repo_path), 'describe':self._get_describe(repo_path)}}
+ if repo_path == destdir_repo:
+ repos[repo_path]['contains_this_file'] = True
+ if not repos[repo_path]['git-remote']['remotes'] and not repos[repo_path]['contains_this_file']:
+ logger.error("Layer repository in {path} does not have any remotes configured. Please add at least one with 'git remote add'.".format(path=repo_path))
+ return
+ repos[repo_path]['layers'][l_name] = {'subpath':l_path.replace(repo_path,'')[1:]}
+ distros = self._get_distros(l_path)
+ machines = self._get_machines(l_path)
+ buildconfigs = self._get_buildconfigs(l_path)
+ if distros:
+ repos[repo_path]['layers'][l_name]['distros'] = distros
+ if machines:
+ repos[repo_path]['layers'][l_name]['machines'] = machines
+ if buildconfigs:
+ repos[repo_path]['layers'][l_name]['buildconfigs'] = buildconfigs
+
+ top_path = os.path.commonpath([os.path.dirname(r) for r in repos.keys()])
+
+ repos_nopaths = {}
+ for r in repos.keys():
+ r_nopath = os.path.basename(r)
+ repos_nopaths[r_nopath] = repos[r]
+ r_relpath = os.path.relpath(r, top_path)
+ repos_nopaths[r_nopath]['path'] = r_relpath
+ return repos_nopaths
+
+ def do_make_setup(self, args):
+ """ Writes out a python script and a json config that replicate the directory structure and revisions of the layers in a current build. """
+ repos = self._make_repo_config(args.destdir)
+ json = {"version":"1.0","sources":repos}
+ if not repos:
+ raise Exception("Could not determine layer sources")
+ output = args.output_prefix or "setup-layers"
+ output = os.path.join(os.path.abspath(args.destdir),output)
+ self._write_json(json, output + ".json")
+ logger.info('Created {}.json'.format(output))
+ if not args.json_only:
+ self._write_python(os.path.join(os.path.dirname(__file__),'../../../scripts/oe-setup-layers'), output)
+ logger.info('Created {}'.format(output))
+
+ def register_commands(self, sp):
+ parser_setup_layers = self.add_command(sp, 'create-layers-setup', self.do_make_setup, parserecipes=False)
+ parser_setup_layers.add_argument('destdir',
+ help='Directory where to write the output\n(if it is inside one of the layers, the layer becomes a bootstrap repository and thus will be excluded from fetching by the script).')
+ parser_setup_layers.add_argument('--output-prefix', '-o',
+ help='File name prefix for the output files, if the default (setup-layers) is undesirable.')
+ parser_setup_layers.add_argument('--json-only', action='store_true',
+ help='Write only the layer configuruation in json format. Otherwise, also a copy of poky/scripts/oe-setup-layers is provided, which is a self contained python script that fetches all the needed layers and sets them to correct revisions using the data from the json.')
diff --git a/meta/lib/buildstats.py b/meta/lib/buildstats.py
index 5d32a81906..99a8303d5e 100644
--- a/meta/lib/buildstats.py
+++ b/meta/lib/buildstats.py
@@ -23,8 +23,8 @@ class SystemStats:
# and ensure that the reduce_proc_pressure directory is not created.
if os.path.exists("/proc/pressure"):
try:
- source = open('/proc/pressure/cpu', 'rb')
- source.read()
+ with open('/proc/pressure/cpu', 'rb') as source:
+ source.read()
pressuredir = os.path.join(bsdir, 'reduced_proc_pressure')
bb.utils.mkdirhier(pressuredir)
file_handlers.extend([('pressure/cpu', self._reduce_pressure),
diff --git a/meta/lib/oe/npm_registry.py b/meta/lib/oe/npm_registry.py
new file mode 100644
index 0000000000..96c0affb45
--- /dev/null
+++ b/meta/lib/oe/npm_registry.py
@@ -0,0 +1,169 @@
+import bb
+import json
+import subprocess
+
+_ALWAYS_SAFE = frozenset('ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+ 'abcdefghijklmnopqrstuvwxyz'
+ '0123456789'
+ '_.-~')
+
+MISSING_OK = object()
+
+REGISTRY = "https://registry.npmjs.org"
+
+# we can not use urllib.parse here because npm expects lowercase
+# hex-chars but urllib generates uppercase ones
+def uri_quote(s, safe = '/'):
+ res = ""
+ safe_set = set(safe)
+ for c in s:
+ if c in _ALWAYS_SAFE or c in safe_set:
+ res += c
+ else:
+ res += '%%%02x' % ord(c)
+ return res
+
+class PackageJson:
+ def __init__(self, spec):
+ self.__spec = spec
+
+ @property
+ def name(self):
+ return self.__spec['name']
+
+ @property
+ def version(self):
+ return self.__spec['version']
+
+ @property
+ def empty_manifest(self):
+ return {
+ 'name': self.name,
+ 'description': self.__spec.get('description', ''),
+ 'versions': {},
+ }
+
+ def base_filename(self):
+ return uri_quote(self.name, safe = '@')
+
+ def as_manifest_entry(self, tarball_uri):
+ res = {}
+
+ ## NOTE: 'npm install' requires more than basic meta information;
+ ## e.g. it takes 'bin' from this manifest entry but not the actual
+ ## 'package.json'
+ for (idx,dflt) in [('name', None),
+ ('description', ""),
+ ('version', None),
+ ('bin', MISSING_OK),
+ ('man', MISSING_OK),
+ ('scripts', MISSING_OK),
+ ('directories', MISSING_OK),
+ ('dependencies', MISSING_OK),
+ ('devDependencies', MISSING_OK),
+ ('optionalDependencies', MISSING_OK),
+ ('license', "unknown")]:
+ if idx in self.__spec:
+ res[idx] = self.__spec[idx]
+ elif dflt == MISSING_OK:
+ pass
+ elif dflt != None:
+ res[idx] = dflt
+ else:
+ raise Exception("%s-%s: missing key %s" % (self.name,
+ self.version,
+ idx))
+
+ res['dist'] = {
+ 'tarball': tarball_uri,
+ }
+
+ return res
+
+class ManifestImpl:
+ def __init__(self, base_fname, spec):
+ self.__base = base_fname
+ self.__spec = spec
+
+ def load(self):
+ try:
+ with open(self.filename, "r") as f:
+ res = json.load(f)
+ except IOError:
+ res = self.__spec.empty_manifest
+
+ return res
+
+ def save(self, meta):
+ with open(self.filename, "w") as f:
+ json.dump(meta, f, indent = 2)
+
+ @property
+ def filename(self):
+ return self.__base + ".meta"
+
+class Manifest:
+ def __init__(self, base_fname, spec):
+ self.__base = base_fname
+ self.__spec = spec
+ self.__lockf = None
+ self.__impl = None
+
+ def __enter__(self):
+ self.__lockf = bb.utils.lockfile(self.__base + ".lock")
+ self.__impl = ManifestImpl(self.__base, self.__spec)
+ return self.__impl
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ bb.utils.unlockfile(self.__lockf)
+
+class NpmCache:
+ def __init__(self, cache):
+ self.__cache = cache
+
+ @property
+ def path(self):
+ return self.__cache
+
+ def run(self, type, key, fname):
+ subprocess.run(['oe-npm-cache', self.__cache, type, key, fname],
+ check = True)
+
+class NpmRegistry:
+ def __init__(self, path, cache):
+ self.__path = path
+ self.__cache = NpmCache(cache + '/_cacache')
+ bb.utils.mkdirhier(self.__path)
+ bb.utils.mkdirhier(self.__cache.path)
+
+ @staticmethod
+ ## This function is critical and must match nodejs expectations
+ def _meta_uri(spec):
+ return REGISTRY + '/' + uri_quote(spec.name, safe = '@')
+
+ @staticmethod
+ ## Exact return value does not matter; just make it look like a
+ ## usual registry url
+ def _tarball_uri(spec):
+ return '%s/%s/-/%s-%s.tgz' % (REGISTRY,
+ uri_quote(spec.name, safe = '@'),
+ uri_quote(spec.name, safe = '@/'),
+ spec.version)
+
+ def add_pkg(self, tarball, pkg_json):
+ pkg_json = PackageJson(pkg_json)
+ base = os.path.join(self.__path, pkg_json.base_filename())
+
+ with Manifest(base, pkg_json) as manifest:
+ meta = manifest.load()
+ tarball_uri = self._tarball_uri(pkg_json)
+
+ meta['versions'][pkg_json.version] = pkg_json.as_manifest_entry(tarball_uri)
+
+ manifest.save(meta)
+
+ ## Cache entries are a little bit dependent on the nodejs
+ ## version; version specific cache implementation must
+ ## mitigate differences
+ self.__cache.run('meta', self._meta_uri(pkg_json), manifest.filename);
+ self.__cache.run('tgz', tarball_uri, tarball);
diff --git a/meta/lib/oe/package_manager/__init__.py b/meta/lib/oe/package_manager/__init__.py
index 80bc1a6bc6..d3b45705ec 100644
--- a/meta/lib/oe/package_manager/__init__.py
+++ b/meta/lib/oe/package_manager/__init__.py
@@ -266,7 +266,7 @@ class PackageManager(object, metaclass=ABCMeta):
pass
@abstractmethod
- def install(self, pkgs, attempt_only=False):
+ def install(self, pkgs, attempt_only=False, hard_depends_only=False):
"""
Install a list of packages. 'pkgs' is a list object. If 'attempt_only' is
True, installation failures are ignored.
@@ -396,7 +396,7 @@ class PackageManager(object, metaclass=ABCMeta):
bb.note("Installing complementary packages ... %s (skipped already provided packages %s)" % (
' '.join(install_pkgs),
' '.join(skip_pkgs)))
- self.install(install_pkgs)
+ self.install(install_pkgs, hard_depends_only=True)
except subprocess.CalledProcessError as e:
bb.fatal("Could not compute complementary packages list. Command "
"'%s' returned %d:\n%s" %
diff --git a/meta/lib/oe/package_manager/deb/__init__.py b/meta/lib/oe/package_manager/deb/__init__.py
index 86ddb130ad..b96ea0bad4 100644
--- a/meta/lib/oe/package_manager/deb/__init__.py
+++ b/meta/lib/oe/package_manager/deb/__init__.py
@@ -289,14 +289,18 @@ class DpkgPM(OpkgDpkgPM):
self.deploy_dir_unlock()
- def install(self, pkgs, attempt_only=False):
+ def install(self, pkgs, attempt_only=False, hard_depends_only=False):
if attempt_only and len(pkgs) == 0:
return
os.environ['APT_CONFIG'] = self.apt_conf_file
- cmd = "%s %s install --allow-downgrades --allow-remove-essential --allow-change-held-packages --allow-unauthenticated --no-remove %s" % \
- (self.apt_get_cmd, self.apt_args, ' '.join(pkgs))
+ extra_args = ""
+ if hard_depends_only:
+ extra_args = "--no-install-recommends"
+
+ cmd = "%s %s install --allow-downgrades --allow-remove-essential --allow-change-held-packages --allow-unauthenticated --no-remove %s %s" % \
+ (self.apt_get_cmd, self.apt_args, extra_args, ' '.join(pkgs))
try:
bb.note("Installing the following packages: %s" % ' '.join(pkgs))
diff --git a/meta/lib/oe/package_manager/ipk/__init__.py b/meta/lib/oe/package_manager/ipk/__init__.py
index 4cd3963111..7cbea0fa80 100644
--- a/meta/lib/oe/package_manager/ipk/__init__.py
+++ b/meta/lib/oe/package_manager/ipk/__init__.py
@@ -102,12 +102,14 @@ class OpkgDpkgPM(PackageManager):
This method extracts the common parts for Opkg and Dpkg
"""
- try:
- output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True).decode("utf-8")
- except subprocess.CalledProcessError as e:
+ proc = subprocess.run(cmd, capture_output=True, encoding="utf-8", shell=True)
+ if proc.returncode:
bb.fatal("Unable to list available packages. Command '%s' "
- "returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
- return opkg_query(output)
+ "returned %d:\n%s" % (cmd, proc.returncode, proc.stderr))
+ elif proc.stderr:
+ bb.note("Command '%s' returned stderr: %s" % (cmd, proc.stderr))
+
+ return opkg_query(proc.stdout)
def extract(self, pkg, pkg_info):
"""
@@ -337,7 +339,7 @@ class OpkgPM(OpkgDpkgPM):
self.deploy_dir_unlock()
- def install(self, pkgs, attempt_only=False):
+ def install(self, pkgs, attempt_only=False, hard_depends_only=False):
if not pkgs:
return
@@ -346,6 +348,8 @@ class OpkgPM(OpkgDpkgPM):
cmd += " --add-exclude %s" % exclude
for bad_recommendation in (self.d.getVar("BAD_RECOMMENDATIONS") or "").split():
cmd += " --add-ignore-recommends %s" % bad_recommendation
+ if hard_depends_only:
+ cmd += " --no-install-recommends"
cmd += " install "
cmd += " ".join(pkgs)
@@ -443,15 +447,16 @@ class OpkgPM(OpkgDpkgPM):
cmd = "%s %s --noaction install %s " % (self.opkg_cmd,
opkg_args,
' '.join(pkgs))
- try:
- output = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
- except subprocess.CalledProcessError as e:
+ proc = subprocess.run(cmd, capture_output=True, encoding="utf-8", shell=True)
+ if proc.returncode:
bb.fatal("Unable to dummy install packages. Command '%s' "
- "returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8")))
+ "returned %d:\n%s" % (cmd, proc.returncode, proc.stderr))
+ elif proc.stderr:
+ bb.note("Command '%s' returned stderr: %s" % (cmd, proc.stderr))
bb.utils.remove(temp_rootfs, True)
- return output
+ return proc.stdout
def backup_packaging_data(self):
# Save the opkglib for increment ipk image generation
diff --git a/meta/lib/oe/package_manager/rpm/__init__.py b/meta/lib/oe/package_manager/rpm/__init__.py
index b392581069..d97dab3293 100644
--- a/meta/lib/oe/package_manager/rpm/__init__.py
+++ b/meta/lib/oe/package_manager/rpm/__init__.py
@@ -181,7 +181,7 @@ class RpmPM(PackageManager):
os.environ['NATIVE_ROOT'] = self.d.getVar('STAGING_DIR_NATIVE')
- def install(self, pkgs, attempt_only = False):
+ def install(self, pkgs, attempt_only=False, hard_depends_only=False):
if len(pkgs) == 0:
return
self._prepare_pkg_transaction()
@@ -192,7 +192,7 @@ class RpmPM(PackageManager):
output = self._invoke_dnf((["--skip-broken"] if attempt_only else []) +
(["-x", ",".join(exclude_pkgs)] if len(exclude_pkgs) > 0 else []) +
- (["--setopt=install_weak_deps=False"] if self.d.getVar('NO_RECOMMENDATIONS') == "1" else []) +
+ (["--setopt=install_weak_deps=False"] if (hard_depends_only or self.d.getVar('NO_RECOMMENDATIONS') == "1") else []) +
(["--nogpgcheck"] if self.d.getVar('RPM_SIGN_PACKAGES') != '1' else ["--setopt=gpgcheck=True"]) +
["install"] +
pkgs)
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py
index 95b915a6ab..4ec9caed45 100644
--- a/meta/lib/oe/patch.py
+++ b/meta/lib/oe/patch.py
@@ -299,10 +299,10 @@ class GitApplyTree(PatchTree):
PatchTree.__init__(self, dir, d)
self.commituser = d.getVar('PATCH_GIT_USER_NAME')
self.commitemail = d.getVar('PATCH_GIT_USER_EMAIL')
- if not self._isInitialized():
+ if not self._isInitialized(d):
self._initRepo()
- def _isInitialized(self):
+ def _isInitialized(self, d):
cmd = "git rev-parse --show-toplevel"
try:
output = runcmd(cmd.split(), self.dir).strip()
@@ -310,8 +310,8 @@ class GitApplyTree(PatchTree):
## runcmd returned non-zero which most likely means 128
## Not a git directory
return False
- ## Make sure repo is in builddir to not break top-level git repos
- return os.path.samefile(output, self.dir)
+ ## Make sure repo is in builddir to not break top-level git repos, or under workdir
+ return os.path.samefile(output, self.dir) or oe.path.is_path_parent(d.getVar('WORKDIR'), output)
def _initRepo(self):
runcmd("git init".split(), self.dir)
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py
index 872ff97b89..b04992c66d 100644
--- a/meta/lib/oe/recipeutils.py
+++ b/meta/lib/oe/recipeutils.py
@@ -666,7 +666,7 @@ def get_bbappend_path(d, destlayerdir, wildcardver=False):
return (appendpath, pathok)
-def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False, machine=None, extralines=None, removevalues=None, redirect_output=None):
+def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False, machine=None, extralines=None, removevalues=None, redirect_output=None, params=None):
"""
Writes a bbappend file for a recipe
Parameters:
@@ -696,6 +696,9 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
redirect_output:
If specified, redirects writing the output file to the
specified directory (for dry-run purposes)
+ params:
+ Parameters to use when adding entries to SRC_URI. If specified,
+ should be a list of dicts with the same length as srcfiles.
"""
if not removevalues:
@@ -762,12 +765,14 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False,
copyfiles = {}
if srcfiles:
instfunclines = []
- for newfile, origsrcfile in srcfiles.items():
+ for i, (newfile, origsrcfile) in enumerate(srcfiles.items()):
srcfile = origsrcfile
srcurientry = None
if not srcfile:
srcfile = os.path.basename(newfile)
srcurientry = 'file://%s' % srcfile
+ if params and params[i]:
+ srcurientry = '%s;%s' % (srcurientry, ';'.join('%s=%s' % (k,v) for k,v in params[i].items()))
# Double-check it's not there already
# FIXME do we care if the entry is added by another bbappend that might go away?
if not srcurientry in rd.getVar('SRC_URI').split():
diff --git a/meta/lib/oe/reproducible.py b/meta/lib/oe/reproducible.py
index 35b8be6d08..2e815df190 100644
--- a/meta/lib/oe/reproducible.py
+++ b/meta/lib/oe/reproducible.py
@@ -152,7 +152,6 @@ def fixed_source_date_epoch(d):
def get_source_date_epoch(d, sourcedir):
return (
get_source_date_epoch_from_git(d, sourcedir) or
- get_source_date_epoch_from_known_files(d, sourcedir) or
get_source_date_epoch_from_youngest_file(d, sourcedir) or
fixed_source_date_epoch(d) # Last resort
)
diff --git a/meta/lib/oe/spdx.py b/meta/lib/oe/spdx.py
index 14ca706895..6d56ed90df 100644
--- a/meta/lib/oe/spdx.py
+++ b/meta/lib/oe/spdx.py
@@ -218,7 +218,7 @@ class SPDXPackage(SPDXObject):
SPDXID = _String()
versionInfo = _String()
downloadLocation = _String(default="NOASSERTION")
- packageSupplier = _String(default="NOASSERTION")
+ supplier = _String(default="NOASSERTION")
homepage = _String()
licenseConcluded = _String(default="NOASSERTION")
licenseDeclared = _String(default="NOASSERTION")
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 7150bd0929..de65244932 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -24,10 +24,19 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCaches):
return "/allarch.bbclass" in inherits
def isImage(mc, fn):
return "/image.bbclass" in " ".join(dataCaches[mc].inherits[fn])
+ def isSPDXTask(task):
+ return task in ("do_create_spdx", "do_create_runtime_spdx")
depmc, _, deptaskname, depmcfn = bb.runqueue.split_tid_mcfn(dep)
mc, _ = bb.runqueue.split_mc(fn)
+ # Keep all dependencies between SPDX tasks in the signature. SPDX documents
+ # are linked together by hashes, which means if a dependent document changes,
+ # all downstream documents must be re-written (even if they are "safe"
+ # dependencies).
+ if isSPDXTask(task) and isSPDXTask(deptaskname):
+ return True
+
# (Almost) always include our own inter-task dependencies (unless it comes
# from a mcdepends). The exception is the special
# do_kernel_configme->do_unpack_and_patch dependency from archiver.bbclass.
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index 46fc76c261..1ee947d584 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -473,70 +473,6 @@ def get_multilib_datastore(variant, d):
localdata.setVar("MLPREFIX", "")
return localdata
-#
-# Python 2.7 doesn't have threaded pools (just multiprocessing)
-# so implement a version here
-#
-
-from queue import Queue
-from threading import Thread
-
-class ThreadedWorker(Thread):
- """Thread executing tasks from a given tasks queue"""
- def __init__(self, tasks, worker_init, worker_end, name=None):
- Thread.__init__(self, name=name)
- self.tasks = tasks
- self.daemon = True
-
- self.worker_init = worker_init
- self.worker_end = worker_end
-
- def run(self):
- from queue import Empty
-
- if self.worker_init is not None:
- self.worker_init(self)
-
- while True:
- try:
- func, args, kargs = self.tasks.get(block=False)
- except Empty:
- if self.worker_end is not None:
- self.worker_end(self)
- break
-
- try:
- func(self, *args, **kargs)
- except Exception as e:
- # Eat all exceptions
- bb.mainlogger.debug("Worker task raised %s" % e, exc_info=e)
- finally:
- self.tasks.task_done()
-
-class ThreadedPool:
- """Pool of threads consuming tasks from a queue"""
- def __init__(self, num_workers, num_tasks, worker_init=None, worker_end=None, name="ThreadedPool-"):
- self.tasks = Queue(num_tasks)
- self.workers = []
-
- for i in range(num_workers):
- worker = ThreadedWorker(self.tasks, worker_init, worker_end, name=name + str(i))
- self.workers.append(worker)
-
- def start(self):
- for worker in self.workers:
- worker.start()
-
- def add_task(self, func, *args, **kargs):
- """Add a task to the queue"""
- self.tasks.put((func, args, kargs))
-
- def wait_completion(self):
- """Wait for completion of all the tasks in the queue"""
- self.tasks.join()
- for worker in self.workers:
- worker.join()
-
class ImageQAFailed(Exception):
def __init__(self, description, name=None, logfile=None):
self.description = description
diff --git a/meta/lib/oeqa/buildperf/base.py b/meta/lib/oeqa/buildperf/base.py
index 5f1805d86c..5d656c781a 100644
--- a/meta/lib/oeqa/buildperf/base.py
+++ b/meta/lib/oeqa/buildperf/base.py
@@ -444,7 +444,7 @@ class BuildPerfTestCase(unittest.TestCase):
buildstats = []
for fname in os.listdir(bs_dir):
recipe_dir = os.path.join(bs_dir, fname)
- if not os.path.isdir(recipe_dir):
+ if not os.path.isdir(recipe_dir) or fname == "reduced_proc_pressure":
continue
name, epoch, version, revision = split_nevr(fname)
recipe_bs = OrderedDict((('name', name),
diff --git a/meta/lib/oeqa/runtime/cases/rt.py b/meta/lib/oeqa/runtime/cases/rt.py
new file mode 100644
index 0000000000..849ac1914e
--- /dev/null
+++ b/meta/lib/oeqa/runtime/cases/rt.py
@@ -0,0 +1,17 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+
+class RtTest(OERuntimeTestCase):
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_is_rt(self):
+ """
+ Check that the kernel has CONFIG_PREEMPT_RT enabled.
+ """
+ status, output = self.target.run("uname -a")
+ self.assertEqual(status, 0, msg=output)
+ # Split so we don't get a substring false-positive
+ self.assertIn("PREEMPT_RT", output.split())
diff --git a/meta/lib/oeqa/runtime/cases/scp.py b/meta/lib/oeqa/runtime/cases/scp.py
index 3a5f292152..f2bbc947d6 100644
--- a/meta/lib/oeqa/runtime/cases/scp.py
+++ b/meta/lib/oeqa/runtime/cases/scp.py
@@ -23,7 +23,7 @@ class ScpTest(OERuntimeTestCase):
os.remove(cls.tmp_path)
@OETestDepends(['ssh.SSHTest.test_ssh'])
- @OEHasPackage(['openssh-scp', 'dropbear'])
+ @OEHasPackage(['openssh-scp'])
def test_scp_file(self):
dst = '/tmp/test_scp_file'
diff --git a/meta/lib/oeqa/sdk/cases/buildepoxy.py b/meta/lib/oeqa/sdk/cases/buildepoxy.py
index f69f720cd6..ad08b777f2 100644
--- a/meta/lib/oeqa/sdk/cases/buildepoxy.py
+++ b/meta/lib/oeqa/sdk/cases/buildepoxy.py
@@ -16,7 +16,8 @@ class EpoxyTest(OESDKTestCase):
Test that Meson builds correctly.
"""
def setUp(self):
- if not (self.tc.hasHostPackage("nativesdk-meson")):
+ if not (self.tc.hasHostPackage("nativesdk-meson") or
+ self.tc.hasHostPackage("meson-native")):
raise unittest.SkipTest("EpoxyTest class: SDK doesn't contain Meson")
def test_epoxy(self):
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index eb3c8ddf39..58ade920c9 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -19,7 +19,8 @@ class GalculatorTest(OESDKTestCase):
if not (self.tc.hasTargetPackage("gtk+3", multilib=True) or \
self.tc.hasTargetPackage("libgtk-3.0", multilib=True)):
raise unittest.SkipTest("GalculatorTest class: SDK don't support gtk+3")
- if not (self.tc.hasHostPackage("nativesdk-gettext-dev")):
+ if not (self.tc.hasHostPackage("nativesdk-gettext-dev") or
+ self.tc.hasHostPackage("gettext-native")):
raise unittest.SkipTest("GalculatorTest class: SDK doesn't contain gettext")
def test_galculator(self):
diff --git a/meta/lib/oeqa/sdk/cases/python.py b/meta/lib/oeqa/sdk/cases/python.py
index a334abce5f..d43354c32a 100644
--- a/meta/lib/oeqa/sdk/cases/python.py
+++ b/meta/lib/oeqa/sdk/cases/python.py
@@ -8,17 +8,6 @@ from oeqa.sdk.case import OESDKTestCase
from oeqa.utils.subprocesstweak import errors_have_output
errors_have_output()
-class Python2Test(OESDKTestCase):
- def setUp(self):
- if not (self.tc.hasHostPackage("nativesdk-python-core") or
- self.tc.hasHostPackage("python-core-native")):
- raise unittest.SkipTest("No python package in the SDK")
-
- def test_python2(self):
- cmd = "python -c \"import codecs; print(codecs.encode('Uryyb, jbeyq', 'rot13'))\""
- output = self._run(cmd)
- self.assertEqual(output, "Hello, world\n")
-
class Python3Test(OESDKTestCase):
def setUp(self):
if not (self.tc.hasHostPackage("nativesdk-python3-core") or
diff --git a/meta/lib/oeqa/sdk/cases/rust.py b/meta/lib/oeqa/sdk/cases/rust.py
new file mode 100644
index 0000000000..1075d37b49
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/rust.py
@@ -0,0 +1,33 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+import os
+import shutil
+import unittest
+
+from oeqa.core.utils.path import remove_safe
+from oeqa.sdk.case import OESDKTestCase
+
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
+class RustCompileTest(OESDKTestCase):
+ td_vars = ['MACHINE']
+
+ @classmethod
+ def setUpClass(self):
+ targetdir = os.path.join(self.tc.sdk_dir, "hello")
+ try:
+ shutil.rmtree(targetdir)
+ except FileNotFoundError:
+ pass
+ shutil.copytree(os.path.join(self.tc.sdk_files_dir, "rust/hello"), targetdir)
+
+ def setUp(self):
+ machine = self.td.get("MACHINE")
+ if not self.tc.hasHostPackage("packagegroup-rust-cross-canadian-%s" % machine):
+ raise unittest.SkipTest("RustCompileTest class: SDK doesn't contain a Rust cross-canadian toolchain")
+
+ def test_cargo_build(self):
+ self._run('cd %s/hello; cargo build' % self.tc.sdk_dir)
diff --git a/meta/lib/oeqa/sdk/files/rust/hello/Cargo.toml b/meta/lib/oeqa/sdk/files/rust/hello/Cargo.toml
new file mode 100644
index 0000000000..fe619478a6
--- /dev/null
+++ b/meta/lib/oeqa/sdk/files/rust/hello/Cargo.toml
@@ -0,0 +1,6 @@
+[package]
+name = "hello"
+version = "0.1.0"
+edition = "2021"
+
+[dependencies]
diff --git a/meta/lib/oeqa/sdk/files/rust/hello/src/main.rs b/meta/lib/oeqa/sdk/files/rust/hello/src/main.rs
new file mode 100644
index 0000000000..a06c03f82a
--- /dev/null
+++ b/meta/lib/oeqa/sdk/files/rust/hello/src/main.rs
@@ -0,0 +1,3 @@
+fn main() {
+ println!("Hello, OpenEmbedded world!");
+}
diff --git a/meta/lib/oeqa/sdk/testmetaidesupport.py b/meta/lib/oeqa/sdk/testmetaidesupport.py
new file mode 100644
index 0000000000..2ff76fd8e0
--- /dev/null
+++ b/meta/lib/oeqa/sdk/testmetaidesupport.py
@@ -0,0 +1,43 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+class TestSDK(object):
+ def run(self, d):
+ import json
+ import logging
+ from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
+ from oeqa.utils import make_logger_bitbake_compatible
+
+ pn = d.getVar("PN")
+
+ logger = make_logger_bitbake_compatible(logging.getLogger("BitBake"))
+
+ sdk_dir = d.expand("${WORKDIR}/testsdk/")
+ bb.utils.remove(sdk_dir, True)
+ bb.utils.mkdirhier(sdk_dir)
+
+ sdk_envs = OESDKTestContextExecutor._get_sdk_environs(d.getVar("DEPLOY_DIR_IMAGE"))
+ tdname = d.expand("${DEPLOY_DIR_IMAGE}/${PN}.testdata.json")
+ test_data = json.load(open(tdname, "r"))
+
+ host_pkg_manifest = {"cmake-native":"", "gcc-cross":"", "gettext-native":"", "meson-native":"", "perl-native":"", "python3-core-native":"", }
+ target_pkg_manifest = {"gtk+3":""}
+
+ for s in sdk_envs:
+ bb.plain("meta-ide-support based SDK testing environment: %s" % s)
+
+ sdk_env = sdk_envs[s]
+
+ tc = OESDKTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
+ sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
+ host_pkg_manifest=host_pkg_manifest)
+
+ tc.loadTests(OESDKTestContextExecutor.default_cases)
+
+ results = tc.runTests()
+ if results:
+ results.logSummary(pn)
+
+ if (not results) or (not results.wasSuccessful()):
+ bb.fatal('%s - FAILED' % (pn,), forcelog=True)
diff --git a/meta/lib/oeqa/selftest/cases/bblayers.py b/meta/lib/oeqa/selftest/cases/bblayers.py
index 7d74833f61..1f5c576356 100644
--- a/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -6,12 +6,16 @@ import os
import re
import oeqa.utils.ftools as ftools
-from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars
+from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars, bitbake
from oeqa.selftest.case import OESelftestTestCase
class BitbakeLayers(OESelftestTestCase):
+ def setUpLocal(self):
+ bitbake("python3-jsonschema-native")
+ bitbake("-c addto_recipe_sysroot python3-jsonschema-native")
+
def test_bitbakelayers_layerindexshowdepends(self):
result = runCmd('bitbake-layers layerindex-show-depends meta-poky')
find_in_contents = re.search("openembedded-core", result.output)
@@ -111,6 +115,11 @@ class BitbakeLayers(OESelftestTestCase):
self.assertEqual(bb_vars['BBFILE_PRIORITY_%s' % layername], str(priority), 'BBFILE_PRIORITY_%s != %d' % (layername, priority))
+ result = runCmd('bitbake-layers save-build-conf {} {}'.format(layerpath, "buildconf-1"))
+ for f in ('local.conf.sample', 'bblayers.conf.sample', 'conf-notes.txt'):
+ fullpath = os.path.join(layerpath, "conf", "templates", "buildconf-1", f)
+ self.assertTrue(os.path.exists(fullpath), "Template configuration file {} not found".format(fullpath))
+
def get_recipe_basename(self, recipe):
recipe_file = ""
result = runCmd("bitbake-layers show-recipes -f %s" % recipe)
@@ -121,3 +130,25 @@ class BitbakeLayers(OESelftestTestCase):
self.assertTrue(os.path.isfile(recipe_file), msg = "Can't find recipe file for %s" % recipe)
return os.path.basename(recipe_file)
+
+ def validate_layersjson(self, json):
+ python = os.path.join(get_bb_var('STAGING_BINDIR', 'python3-jsonschema-native'), 'nativepython3')
+ jsonvalidator = os.path.join(get_bb_var('STAGING_BINDIR', 'python3-jsonschema-native'), 'jsonschema')
+ jsonschema = os.path.join(get_bb_var('COREBASE'), 'meta/files/layers.schema.json')
+ result = runCmd("{} {} -i {} {}".format(python, jsonvalidator, json, jsonschema))
+
+ def test_validate_examplelayersjson(self):
+ json = os.path.join(get_bb_var('COREBASE'), "meta/files/layers.example.json")
+ self.validate_layersjson(json)
+
+ def test_bitbakelayers_setup(self):
+ result = runCmd('bitbake-layers create-layers-setup {}'.format(self.testlayer_path))
+ jsonfile = os.path.join(self.testlayer_path, "setup-layers.json")
+ self.validate_layersjson(jsonfile)
+
+ testcheckoutdir = os.path.join(self.builddir, 'test-layer-checkout')
+ result = runCmd('{}/setup-layers --destdir {}'.format(self.testlayer_path, testcheckoutdir))
+ # May not necessarily be named 'poky'
+ pokydir = os.listdir(testcheckoutdir)[0]
+ testcheckoutfile = os.path.join(testcheckoutdir, pokydir, "oe-init-build-env")
+ self.assertTrue(os.path.exists(testcheckoutfile), "File {} not found in test layer checkout".format(testcheckoutfile))
diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py
index cfac7afcf4..89267c7145 100644
--- a/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -145,12 +145,10 @@ INHERIT:remove = \"report-error\"
""")
self.track_for_cleanup(os.path.join(self.builddir, "download-selftest"))
- bitbake('-ccleanall man-db')
result = bitbake('-c fetch man-db', ignore_status=True)
- bitbake('-ccleanall man-db')
self.delete_recipeinc('man-db')
self.assertEqual(result.status, 1, msg="Command succeded when it should have failed. bitbake output: %s" % result.output)
- self.assertIn('Fetcher failure: Unable to find file file://invalid anywhere. The paths that were searched were:', result.output)
+ self.assertIn('Unable to get checksum for man-db SRC_URI entry invalid: file could not be found', result.output)
def test_rename_downloaded_file(self):
# TODO unique dldir instead of using cleanall
@@ -350,4 +348,4 @@ INHERIT:remove = \"report-error\"
self.write_config("DISTROOVERRIDES .= \":gitunpack-enable-recipe\"")
result = bitbake('gitunpackoffline-fail -c fetch', ignore_status=True)
- self.assertTrue("Recipe uses a floating tag/branch without a fixed SRCREV" in result.output, msg = "Recipe without PV set to SRCPV should have failed: %s" % result.output)
+ self.assertTrue(re.search("Recipe uses a floating tag/branch .* for repo .* without a fixed SRCREV yet doesn't call bb.fetch2.get_srcrev()", result.output), msg = "Recipe without PV set to SRCPV should have failed: %s" % result.output)
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index 3eea2b1a0e..34fc791f3a 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -218,6 +218,34 @@ class DevtoolTestCase(OESelftestTestCase):
filelist.append(' '.join(splitline))
return filelist
+ def _check_diff(self, diffoutput, addlines, removelines):
+ """Check output from 'git diff' matches expectation"""
+ remaining_addlines = addlines[:]
+ remaining_removelines = removelines[:]
+ for line in diffoutput.splitlines():
+ if line.startswith('+++') or line.startswith('---'):
+ continue
+ elif line.startswith('+'):
+ matched = False
+ for item in addlines:
+ if re.match(item, line[1:].strip()):
+ matched = True
+ remaining_addlines.remove(item)
+ break
+ self.assertTrue(matched, 'Unexpected diff add line: %s' % line)
+ elif line.startswith('-'):
+ matched = False
+ for item in removelines:
+ if re.match(item, line[1:].strip()):
+ matched = True
+ remaining_removelines.remove(item)
+ break
+ self.assertTrue(matched, 'Unexpected diff remove line: %s' % line)
+ if remaining_addlines:
+ self.fail('Expected added lines not found: %s' % remaining_addlines)
+ if remaining_removelines:
+ self.fail('Expected removed lines not found: %s' % remaining_removelines)
+
class DevtoolBase(DevtoolTestCase):
@@ -444,7 +472,7 @@ class DevtoolAddTests(DevtoolBase):
checkvars['S'] = '${WORKDIR}/MarkupSafe-%s' % testver
checkvars['SRC_URI'] = url
self._test_recipe_contents(recipefile, checkvars, [])
-
+
def test_devtool_add_fetch_git(self):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
@@ -544,6 +572,19 @@ class DevtoolAddTests(DevtoolBase):
# Test devtool build
result = runCmd('devtool build %s' % pn)
+ def test_devtool_add_python_egg_requires(self):
+ # Fetch source
+ tempdir = tempfile.mkdtemp(prefix='devtoolqa')
+ self.track_for_cleanup(tempdir)
+ testver = '0.14.0'
+ url = 'https://files.pythonhosted.org/packages/e9/9e/25d59f5043cf763833b2581c8027fa92342c4cf8ee523b498ecdf460c16d/uvicorn-%s.tar.gz' % testver
+ testrecipe = 'python3-uvicorn'
+ srcdir = os.path.join(tempdir, testrecipe)
+ # Test devtool add
+ self.track_for_cleanup(self.workspacedir)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+ result = runCmd('devtool add %s %s -f %s' % (testrecipe, srcdir, url))
+
class DevtoolModifyTests(DevtoolBase):
def test_devtool_modify(self):
@@ -705,6 +746,7 @@ class DevtoolModifyTests(DevtoolBase):
self.assertTrue(bbclassextended, 'None of these recipes are BBCLASSEXTENDed to native - need to adjust testrecipes list: %s' % ', '.join(testrecipes))
self.assertTrue(inheritnative, 'None of these recipes do "inherit native" - need to adjust testrecipes list: %s' % ', '.join(testrecipes))
+
def test_devtool_modify_localfiles_only(self):
# Check preconditions
testrecipe = 'base-files'
@@ -917,23 +959,7 @@ class DevtoolUpdateTests(DevtoolBase):
srcurilines[0] = 'SRC_URI = "' + srcurilines[0]
srcurilines.append('"')
removelines = ['SRCREV = ".*"'] + srcurilines
- for line in result.output.splitlines():
- if line.startswith('+++') or line.startswith('---'):
- continue
- elif line.startswith('+'):
- matched = False
- for item in addlines:
- if re.match(item, line[1:].strip()):
- matched = True
- break
- self.assertTrue(matched, 'Unexpected diff add line: %s' % line)
- elif line.startswith('-'):
- matched = False
- for item in removelines:
- if re.match(item, line[1:].strip()):
- matched = True
- break
- self.assertTrue(matched, 'Unexpected diff remove line: %s' % line)
+ self._check_diff(result.output, addlines, removelines)
# Now try with auto mode
runCmd('cd %s; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, os.path.basename(recipefile)))
result = runCmd('devtool update-recipe %s' % testrecipe)
@@ -1303,6 +1329,73 @@ class DevtoolUpdateTests(DevtoolBase):
expected_status = []
self._check_repo_status(os.path.dirname(recipefile), expected_status)
+ def test_devtool_finish_modify_git_subdir(self):
+ # Check preconditions
+ testrecipe = 'dos2unix'
+ bb_vars = get_bb_vars(['SRC_URI', 'S', 'WORKDIR', 'FILE'], testrecipe)
+ self.assertIn('git://', bb_vars['SRC_URI'], 'This test expects the %s recipe to be a git recipe' % testrecipe)
+ workdir_git = '%s/git/' % bb_vars['WORKDIR']
+ if not bb_vars['S'].startswith(workdir_git):
+ self.fail('This test expects the %s recipe to be building from a subdirectory of the git repo' % testrecipe)
+ subdir = bb_vars['S'].split(workdir_git, 1)[1]
+ # Clean up anything in the workdir/sysroot/sstate cache
+ bitbake('%s -c cleansstate' % testrecipe)
+ # Try modifying a recipe
+ tempdir = tempfile.mkdtemp(prefix='devtoolqa')
+ self.track_for_cleanup(tempdir)
+ self.track_for_cleanup(self.workspacedir)
+ self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+ result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir))
+ testsrcfile = os.path.join(tempdir, subdir, 'dos2unix.c')
+ self.assertExists(testsrcfile, 'Extracted source could not be found')
+ self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. devtool output: %s' % result.output)
+ self.assertNotExists(os.path.join(tempdir, subdir, '.git'), 'Subdirectory has been initialised as a git repo')
+ # Check git repo
+ self._check_src_repo(tempdir)
+ # Modify file
+ runCmd("sed -i '1s:^:/* Add a comment */\\n:' %s" % testsrcfile)
+ result = runCmd('git commit -a -m "Add a comment"', cwd=tempdir)
+ # Now try updating original recipe
+ recipefile = bb_vars['FILE']
+ recipedir = os.path.dirname(recipefile)
+ self.add_command_to_tearDown('cd %s; rm -f %s/*.patch; git checkout .' % (recipedir, testrecipe))
+ result = runCmd('devtool update-recipe %s' % testrecipe)
+ expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)),
+ ('??', '.*/%s/%s/$' % (testrecipe, testrecipe))]
+ self._check_repo_status(os.path.dirname(recipefile), expected_status)
+ result = runCmd('git diff %s' % os.path.basename(recipefile), cwd=os.path.dirname(recipefile))
+ removelines = ['SRC_URI = "git://.*"']
+ addlines = [
+ 'SRC_URI = "git://.* \\\\',
+ 'file://0001-Add-a-comment.patch;patchdir=.. \\\\',
+ '"'
+ ]
+ self._check_diff(result.output, addlines, removelines)
+ # Put things back so we can run devtool finish on a different layer
+ runCmd('cd %s; rm -f %s/*.patch; git checkout .' % (recipedir, testrecipe))
+ # Run devtool finish
+ res = re.search('recipes-.*', recipedir)
+ self.assertTrue(res, 'Unable to find recipe subdirectory')
+ recipesubdir = res[0]
+ self.add_command_to_tearDown('rm -rf %s' % os.path.join(self.testlayer_path, recipesubdir))
+ result = runCmd('devtool finish %s meta-selftest' % testrecipe)
+ # Check bbappend file contents
+ appendfn = os.path.join(self.testlayer_path, recipesubdir, '%s_%%.bbappend' % testrecipe)
+ with open(appendfn, 'r') as f:
+ appendlines = f.readlines()
+ expected_appendlines = [
+ 'FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n',
+ '\n',
+ 'SRC_URI += "file://0001-Add-a-comment.patch;patchdir=.."\n',
+ '\n'
+ ]
+ self.assertEqual(appendlines, expected_appendlines)
+ self.assertExists(os.path.join(os.path.dirname(appendfn), testrecipe, '0001-Add-a-comment.patch'))
+ # Try building
+ bitbake('%s -c patch' % testrecipe)
+
+
class DevtoolExtractTests(DevtoolBase):
def test_devtool_extract(self):
diff --git a/meta/lib/oeqa/selftest/cases/fitimage.py b/meta/lib/oeqa/selftest/cases/fitimage.py
index e6bfd1257e..d732a9020d 100644
--- a/meta/lib/oeqa/selftest/cases/fitimage.py
+++ b/meta/lib/oeqa/selftest/cases/fitimage.py
@@ -738,6 +738,7 @@ UBOOT_LOADADDRESS = "0x80000000"
UBOOT_DTB_LOADADDRESS = "0x82000000"
UBOOT_ARCH = "arm"
UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb -p 2000"
+UBOOT_MKIMAGE_KERNEL_TYPE = "kernel"
UBOOT_EXTLINUX = "0"
FIT_GENERATE_KEYS = "1"
KERNEL_IMAGETYPE_REPLACEMENT = "zImage"
@@ -763,6 +764,7 @@ FIT_HASH_ALG = "sha256"
kernel_load = str(get_bb_var('UBOOT_LOADADDRESS'))
kernel_entry = str(get_bb_var('UBOOT_ENTRYPOINT'))
+ kernel_type = str(get_bb_var('UBOOT_MKIMAGE_KERNEL_TYPE'))
kernel_compression = str(get_bb_var('FIT_KERNEL_COMP_ALG'))
uboot_arch = str(get_bb_var('UBOOT_ARCH'))
fit_hash_alg = str(get_bb_var('FIT_HASH_ALG'))
@@ -775,7 +777,7 @@ FIT_HASH_ALG = "sha256"
'kernel-1 {',
'description = "Linux kernel";',
'data = /incbin/("linux.bin");',
- 'type = "kernel";',
+ 'type = "' + kernel_type + '";',
'arch = "' + uboot_arch + '";',
'os = "linux";',
'compression = "' + kernel_compression + '";',
diff --git a/meta/lib/oeqa/selftest/cases/gotoolchain.py b/meta/lib/oeqa/selftest/cases/gotoolchain.py
index c809d7c9b1..978898b86f 100644
--- a/meta/lib/oeqa/selftest/cases/gotoolchain.py
+++ b/meta/lib/oeqa/selftest/cases/gotoolchain.py
@@ -43,12 +43,6 @@ class oeGoToolchainSelfTest(OESelftestTestCase):
@classmethod
def tearDownClass(cls):
- # Go creates file which are readonly
- for dirpath, dirnames, filenames in os.walk(cls.tmpdir_SDKQA):
- for filename in filenames + dirnames:
- f = os.path.join(dirpath, filename)
- if not os.path.islink(f):
- os.chmod(f, 0o775)
shutil.rmtree(cls.tmpdir_SDKQA, ignore_errors=True)
super(oeGoToolchainSelfTest, cls).tearDownClass()
@@ -56,6 +50,8 @@ class oeGoToolchainSelfTest(OESelftestTestCase):
cmd = "cd %s/src/%s/%s; " % (self.go_path, proj, name)
cmd = cmd + ". %s; " % self.env_SDK
cmd = cmd + "export GOPATH=%s; " % self.go_path
+ cmd = cmd + "export GOFLAGS=-modcacherw; "
+ cmd = cmd + "export CGO_ENABLED=1; "
cmd = cmd + "${CROSS_COMPILE}go %s" % gocmd
return runCmd(cmd).status
diff --git a/meta/lib/oeqa/selftest/cases/git.py b/meta/lib/oeqa/selftest/cases/intercept.py
index f12874dc7d..f12874dc7d 100644
--- a/meta/lib/oeqa/selftest/cases/git.py
+++ b/meta/lib/oeqa/selftest/cases/intercept.py
diff --git a/meta/lib/oeqa/selftest/cases/meta_ide.py b/meta/lib/oeqa/selftest/cases/meta_ide.py
index 6f10d30dc9..ce7bba401d 100644
--- a/meta/lib/oeqa/selftest/cases/meta_ide.py
+++ b/meta/lib/oeqa/selftest/cases/meta_ide.py
@@ -16,13 +16,14 @@ class MetaIDE(OESelftestTestCase):
def setUpClass(cls):
super(MetaIDE, cls).setUpClass()
bitbake('meta-ide-support')
- bb_vars = get_bb_vars(['MULTIMACH_TARGET_SYS', 'TMPDIR', 'COREBASE'])
+ bitbake('build-sysroots')
+ bb_vars = get_bb_vars(['MULTIMACH_TARGET_SYS', 'DEPLOY_DIR_IMAGE', 'COREBASE'])
cls.environment_script = 'environment-setup-%s' % bb_vars['MULTIMACH_TARGET_SYS']
- cls.tmpdir = bb_vars['TMPDIR']
- cls.environment_script_path = '%s/%s' % (cls.tmpdir, cls.environment_script)
+ cls.deploydir = bb_vars['DEPLOY_DIR_IMAGE']
+ cls.environment_script_path = '%s/%s' % (cls.deploydir, cls.environment_script)
cls.corebasedir = bb_vars['COREBASE']
cls.tmpdir_metaideQA = tempfile.mkdtemp(prefix='metaide')
-
+
@classmethod
def tearDownClass(cls):
shutil.rmtree(cls.tmpdir_metaideQA, ignore_errors=True)
@@ -49,3 +50,8 @@ class MetaIDE(OESelftestTestCase):
msg="Running make failed")
self.assertEqual(self.project.run_install(), 0,
msg="Running make install failed")
+
+ def test_meta_ide_can_run_sdk_tests(self):
+ bitbake('-c populate_sysroot gtk+3')
+ bitbake('build-sysroots')
+ bitbake('-c testsdk meta-ide-support')
diff --git a/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
index 802a91a488..33bd6df2f3 100644
--- a/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
+++ b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
@@ -3,6 +3,7 @@
#
import os
+import sys
from oeqa.selftest.case import OESelftestTestCase
import tempfile
import operator
@@ -11,15 +12,14 @@ from oeqa.utils.commands import get_bb_var
class TestBlobParsing(OESelftestTestCase):
def setUp(self):
- import time
self.repo_path = tempfile.mkdtemp(prefix='selftest-buildhistory',
dir=get_bb_var('TOPDIR'))
try:
from git import Repo
self.repo = Repo.init(self.repo_path)
- except ImportError:
- self.skipTest('Python module GitPython is not present')
+ except ImportError as e:
+ self.skipTest('Python module GitPython is not present (%s) (%s)' % (e, sys.path))
self.test_file = "test"
self.var_map = {}
diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py
index bd84f151cb..d3a789a6a7 100644
--- a/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -21,7 +21,7 @@ class BuildhistoryDiffTests(BuildhistoryBase):
pkgv = result.output.rstrip()
result = runCmd("buildhistory-diff -p %s" % get_bb_var('BUILDHISTORY_DIR'))
expected_endlines = [
- "xcursor-transparent-theme-dev: RDEPENDS: removed \"xcursor-transparent-theme (['= %s-r1'])\", added \"xcursor-transparent-theme (['= %s-r0'])\"" % (pkgv, pkgv),
+ "xcursor-transparent-theme-dev: RRECOMMENDS: removed \"xcursor-transparent-theme (['= %s-r1'])\", added \"xcursor-transparent-theme (['= %s-r0'])\"" % (pkgv, pkgv),
"xcursor-transparent-theme-staticdev: RDEPENDS: removed \"xcursor-transparent-theme-dev (['= %s-r1'])\", added \"xcursor-transparent-theme-dev (['= %s-r0'])\"" % (pkgv, pkgv)
]
for line in result.output.splitlines():
diff --git a/meta/lib/oeqa/selftest/cases/pkgdata.py b/meta/lib/oeqa/selftest/cases/pkgdata.py
index 254abc40c6..87d069de65 100644
--- a/meta/lib/oeqa/selftest/cases/pkgdata.py
+++ b/meta/lib/oeqa/selftest/cases/pkgdata.py
@@ -47,8 +47,8 @@ class OePkgdataUtilTests(OESelftestTestCase):
self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output)
def test_find_path(self):
- result = runCmd('oe-pkgdata-util find-path /lib/libz.so.1')
- self.assertEqual(result.output, 'zlib: /lib/libz.so.1')
+ result = runCmd('oe-pkgdata-util find-path /usr/lib/libz.so.1')
+ self.assertEqual(result.output, 'zlib: /usr/lib/libz.so.1')
result = runCmd('oe-pkgdata-util find-path /usr/bin/m4')
self.assertEqual(result.output, 'm4: /usr/bin/m4')
result = runCmd('oe-pkgdata-util find-path /not/exist', ignore_status=True)
@@ -120,8 +120,7 @@ class OePkgdataUtilTests(OESelftestTestCase):
curpkg = line.split(':')[0]
files[curpkg] = []
return files
- bb_vars = get_bb_vars(['base_libdir', 'libdir', 'includedir', 'mandir'])
- base_libdir = bb_vars['base_libdir']
+ bb_vars = get_bb_vars(['libdir', 'includedir', 'mandir'])
libdir = bb_vars['libdir']
includedir = bb_vars['includedir']
mandir = bb_vars['mandir']
@@ -138,7 +137,7 @@ class OePkgdataUtilTests(OESelftestTestCase):
self.assertIn('libz1', list(files.keys()), "listed pkgs. files: %s" %result.output)
self.assertIn('libz-dev', list(files.keys()), "listed pkgs. files: %s" %result.output)
self.assertGreater(len(files['libz1']), 1)
- libspec = os.path.join(base_libdir, 'libz.so.1.*')
+ libspec = os.path.join(libdir, 'libz.so.1.*')
found = False
for fileitem in files['libz1']:
if fnmatch.fnmatchcase(fileitem, libspec):
diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py
index 8eacde40ad..857737f730 100644
--- a/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -252,7 +252,7 @@ class TestImage(OESelftestTestCase):
import subprocess, os
distro = oe.lsb.distro_identifier()
- if distro and distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'ubuntu-16.04', 'ubuntu-18.04', 'almalinux-8.5', 'almalinux-8.6']:
+ if distro and (distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'ubuntu-16.04', 'ubuntu-18.04'] or distro.startswith('almalinux')):
self.skipTest('virgl headless cannot be tested with %s' %(distro))
render_hint = """If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one suitable for mesa llvmpipe software renderer."""
diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py
index 4a32af902f..63827f3068 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -444,7 +444,7 @@ BB_SIGNATURE_HANDLER = "OEBasicHash"
f = []
for root, dirs, files in os.walk(d):
for name in files:
- if "meta-environment" in root or "cross-canadian" in root:
+ if "meta-environment" in root or "cross-canadian" in root or 'meta-ide-support' in root:
continue
if "qemux86copy-" in root or "qemux86-" in root:
continue
@@ -594,6 +594,7 @@ BB_SIGNATURE_HANDLER = "OEBasicHash"
copy_layer_2 = self.topdir + "/meta-copy2/meta"
oe.path.copytree(core_layer, copy_layer_1)
+ os.symlink(os.path.dirname(core_layer) + "/scripts", self.topdir + "/meta-copy1/scripts")
self.write_config("""
TMPDIR = "${TOPDIR}/tmp-sstatesamehash"
""")
@@ -603,6 +604,7 @@ TMPDIR = "${TOPDIR}/tmp-sstatesamehash"
bitbake("bash -S none")
oe.path.copytree(core_layer, copy_layer_2)
+ os.symlink(os.path.dirname(core_layer) + "/scripts", self.topdir + "/meta-copy2/scripts")
self.write_config("""
TMPDIR = "${TOPDIR}/tmp-sstatesamehash2"
""")
diff --git a/meta/lib/oeqa/selftest/cases/sysroot.py b/meta/lib/oeqa/selftest/cases/sysroot.py
index 588fc8c713..294ba4a4a0 100644
--- a/meta/lib/oeqa/selftest/cases/sysroot.py
+++ b/meta/lib/oeqa/selftest/cases/sysroot.py
@@ -45,6 +45,7 @@ TESTSTRING:pn-sysroot-test-arch2 = "%s"
expected = "maximum shebang size exceeded, the maximum size is 128. [shebang-size]"
res = bitbake("sysroot-shebang-test-native -c populate_sysroot", ignore_status=True)
self.assertTrue(expected in res.output, msg=res.output)
+ self.assertTrue(res.status != 0)
def test_sysroot_la(self):
"""
@@ -57,10 +58,12 @@ TESTSTRING:pn-sysroot-test-arch2 = "%s"
res = bitbake("sysroot-la-test -c populate_sysroot", ignore_status=True)
self.assertTrue(expected in res.output, msg=res.output)
self.assertTrue('[la]' in res.output, msg=res.output)
+ self.assertTrue(res.status != 0)
res = bitbake("sysroot-la-test-native -c populate_sysroot", ignore_status=True)
self.assertTrue(expected in res.output, msg=res.output)
self.assertTrue('[la]' in res.output, msg=res.output)
+ self.assertTrue(res.status != 0)
def test_sysroot_pkgconfig(self):
"""
@@ -73,7 +76,9 @@ TESTSTRING:pn-sysroot-test-arch2 = "%s"
res = bitbake("sysroot-pc-test -c populate_sysroot", ignore_status=True)
self.assertTrue('[pkgconfig]' in res.output, msg=res.output)
self.assertTrue(expected in res.output, msg=res.output)
+ self.assertTrue(res.status != 0)
res = bitbake("sysroot-pc-test-native -c populate_sysroot", ignore_status=True)
self.assertTrue(expected in res.output, msg=res.output)
self.assertTrue('[pkgconfig]' in res.output, msg=res.output)
+ self.assertTrue(res.status != 0)
diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb
index df546633f1..27b2eccbe4 100644
--- a/meta/recipes-bsp/alsa-state/alsa-state.bb
+++ b/meta/recipes-bsp/alsa-state/alsa-state.bb
@@ -8,8 +8,11 @@ SUMMARY = "Alsa scenario files to enable alsa state restoration"
HOMEPAGE = "http://www.alsa-project.org/"
DESCRIPTION = "Alsa Scenario Files - an init script and state files to restore \
sound state at system boot and save it at system shut down."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+LICENSE = "MIT & GPL-2.0-or-later"
+LIC_FILES_CHKSUM = " \
+ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \
+ file://alsa-state-init;beginline=3;endline=4;md5=3ff7ecbf534d7d503941abe8e268ef50 \
+"
PV = "0.2.0"
PR = "r5"
diff --git a/meta/recipes-bsp/alsa-state/alsa-state/alsa-state-init b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state-init
index eee59cb321..a04cc27004 100755
--- a/meta/recipes-bsp/alsa-state/alsa-state/alsa-state-init
+++ b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state-init
@@ -1,10 +1,9 @@
#! /bin/sh
#
# Copyright Matthias Hentges <devel@hentges.net> (c) 2007
-# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+# SPDX-License-Identifier: GPL-2.0-or-later
#
# Filename: alsa-state
-# Date: 20070308 (YMD)
# source function library
. /etc/init.d/functions
diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch b/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch
deleted file mode 100644
index 42f3a8182d..0000000000
--- a/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 99b578501643377e0b1994b2a068b790d189d5ad Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Wed, 13 Jun 2018 09:41:01 -0400
-Subject: [PATCH] remove extra decl
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
-
-Upstream-Status: Backport [git://github.com/rhinstaller/efibootmgr.git]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- src/efibootmgr.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/efibootmgr.c b/src/efibootmgr.c
-index de38f01..4e1a680 100644
---- a/src/efibootmgr.c
-+++ b/src/efibootmgr.c
-@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv)
- "invalid numeric value %s\n",
- optarg);
- }
-- /* XXX efivar-36 accidentally doesn't have a public
-- * header for this */
-- extern int efi_set_verbose(int verbosity, FILE *errlog);
- efi_set_verbose(opts.verbose - 2, stderr);
- break;
- case 'V':
---
-2.7.4
-
diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr/0001-src-make-compatible-with-efivar-38.patch b/meta/recipes-bsp/efibootmgr/efibootmgr/0001-src-make-compatible-with-efivar-38.patch
deleted file mode 100644
index f8d912391e..0000000000
--- a/meta/recipes-bsp/efibootmgr/efibootmgr/0001-src-make-compatible-with-efivar-38.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 07f080184d067c1ebc3fec1b53dd4a06d1a2566a Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Mon, 17 Jan 2022 23:24:34 +0100
-Subject: [PATCH] src: make compatible with efivar 38
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/efibootdump.c | 2 +-
- src/efibootmgr.c | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/efibootdump.c b/src/efibootdump.c
-index eceffd6..09bd76e 100644
---- a/src/efibootdump.c
-+++ b/src/efibootdump.c
-@@ -69,7 +69,7 @@ print_boot_entry(efi_load_option *loadopt, size_t data_size)
- text_path = alloca(text_path_len);
- if (!text_path)
- error(100, "Couldn't allocate memory");
-- rc = efidp_format_device_path(text_path, text_path_len,
-+ rc = efidp_format_device_path((unsigned char *)text_path, text_path_len,
- dp, pathlen);
- if (rc < 0) {
- printf("<bad device path>");
-diff --git a/src/efibootmgr.c b/src/efibootmgr.c
-index 4e1a680..b77b1fb 100644
---- a/src/efibootmgr.c
-+++ b/src/efibootmgr.c
-@@ -949,7 +949,7 @@ show_vars(const char *prefix)
- pathlen = efi_loadopt_pathlen(load_option,
- boot->data_size);
- dp = efi_loadopt_path(load_option, boot->data_size);
-- rc = efidp_format_device_path(text_path, text_path_len,
-+ rc = efidp_format_device_path((unsigned char *)text_path, text_path_len,
- dp, pathlen);
- if (rc < 0)
- error(18, "Could not parse device path");
-@@ -960,7 +960,7 @@ show_vars(const char *prefix)
- if (!text_path)
- error(19, "Could not parse device path");
-
-- rc = efidp_format_device_path(text_path, text_path_len,
-+ rc = efidp_format_device_path((unsigned char *)text_path, text_path_len,
- dp, pathlen);
- if (rc < 0)
- error(20, "Could not parse device path");
diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch b/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch
deleted file mode 100644
index 9525ed8c54..0000000000
--- a/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 97668ae0bce776a36ea2001dea63d376be8274ac Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Wed, 6 Mar 2019 13:08:33 -0500
-Subject: [PATCH] Make sure PKGS= is propogated into the submake for "make
- deps"
-
-When we're doing make deps with "$(CC) -MF", gcc and clang have different
-behavior, both broken in different ways, which we're hitting because of a
-missing -I argument for libefivar's includes. On clang, when a header can't
-be found, it emits a rule with the header as a prerequisite without a path,
-such as efivar.h here:
-
-efibootmgr.o: efibootmgr.c fix_coverity.h efivar.h efiboot.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/list.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/unparse_path.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/efibootmgr.h \
- error.h
-
-Then the build that utilizes that rule will fail to find the
-prerequisite and tell you something like:
-
-make[1]: *** No rule to make target 'efivar.h', needed by 'efibootmgr.o'. Stop.
-make[1]: Leaving directory '/home/pjones/devel/github.com/efibootmgr/master/src'
-
-With gcc, when a header can't be found, it emits a rule without that header
-as a prerequisite, as such (again with efivar.h):
-
-efibootmgr.o: efibootmgr.c fix_coverity.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/list.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/unparse_path.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/efibootmgr.h \
- error.h
-
-And then your build will fail if you haven't adjusted CFLAGS to tell it
-where to find the header.
-
-Both of these would be better just erroring, but at least gcc's doesn't
-insert a *wrong* dependency.
-
-This patch adds "PKGS=efivar efibootmgr popt" for all deps under src/.
-Technically that's overkill, as efibootmgr itself doesn't need popt, but it
-doesn't hurt anything to have the extra part there. The resulting
-.efibootmgr.d file has the prerequisites expressed correctly:
-
-efibootmgr.o: efibootmgr.c fix_coverity.h /usr/include/efivar/efivar.h \
- /usr/include/efivar/efiboot.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/list.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/unparse_path.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
- /home/pjones/devel/github.com/efibootmgr/master/src/include/efibootmgr.h \
- error.h
-
-This fixes the issue described in github PR #96
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
-Upstream-Status: Backport [https://github.com/rhboot/efibootmgr/commit/97668ae0bce776a36ea2001dea63d376be8274ac]
----
- src/Makefile | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 258bac1..32fa188 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -31,8 +31,13 @@ efibootdump : PKGS=efivar efiboot popt
- efibootnext : $(call objects-of,$(EFIBOOTNEXT_SOURCES))
- efibootnext : PKGS=efivar efiboot popt
-
-+deps : PKGS=efivar efiboot popt
- deps : $(ALL_SOURCES)
-- $(MAKE) -f $(TOPDIR)/Make.deps deps SOURCES="$(ALL_SOURCES)" SUBDIR_CFLAGS="$(SUBDIR_CFLAGS)"
-+ $(MAKE) -f $(TOPDIR)/Make.deps \
-+ SOURCES="$(ALL_SOURCES)" \
-+ SUBDIR_CFLAGS="$(SUBDIR_CFLAGS)" \
-+ PKGS="$(PKGS)" \
-+ deps
-
- clean :
- @rm -rfv *.o *.a *.so $(TARGETS)
diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb
index 11d8b9061d..cbcaac1e97 100644
--- a/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb
+++ b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb
@@ -10,12 +10,8 @@ DEPENDS = "efivar popt"
COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=master \
- file://0001-remove-extra-decl.patch \
- file://97668ae0bce776a36ea2001dea63d376be8274ac.patch \
- file://0001-src-make-compatible-with-efivar-38.patch \
- "
-SRCREV = "e067160ecef8208e1944002e5d50b275733211fb"
+SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=main"
+SRCREV = "c3f9f0534e32158f62c43564036878b93b9e0fd6"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-bsp/efivar/efivar/0001-Fix-invalid-free-in-main.patch b/meta/recipes-bsp/efivar/efivar/0001-Fix-invalid-free-in-main.patch
new file mode 100644
index 0000000000..7e63df578e
--- /dev/null
+++ b/meta/recipes-bsp/efivar/efivar/0001-Fix-invalid-free-in-main.patch
@@ -0,0 +1,30 @@
+From 085f027e9e9f1478f68ddda705f83b244ee3bd88 Mon Sep 17 00:00:00 2001
+From: Robbie Harwood <rharwood@redhat.com>
+Date: Mon, 18 Apr 2022 13:08:18 -0400
+Subject: [PATCH] Fix invalid free in main()
+
+data is allocated by mmap() in prepare_data().
+
+Resolves: #173
+Signed-off-by: Robbie Harwood <rharwood@redhat.com>
+Upstream-Status: Backport
+Link: https://github.com/rhboot/efivar/commit/6be2cb1c0139ac177e754b0767abf1ca1533847f
+Signed-off-by: Grygorii Tertychnyi <grygorii.tertychnyi@leica-geosystems.com>
+
+---
+ src/efivar.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/efivar.c b/src/efivar.c
+index 5cd1eb2bc73c..09f85edd0a38 100644
+--- a/src/efivar.c
++++ b/src/efivar.c
+@@ -633,7 +633,7 @@ int main(int argc, char *argv[])
+ if (sz < 0)
+ err(1, "Could not import data from \"%s\"", infile);
+
+- free(data);
++ munmap(data, data_size);
+ data = NULL;
+ data_size = 0;
+
diff --git a/meta/recipes-bsp/efivar/efivar_38.bb b/meta/recipes-bsp/efivar/efivar_38.bb
index 53fe20a95b..42625fa041 100644
--- a/meta/recipes-bsp/efivar/efivar_38.bb
+++ b/meta/recipes-bsp/efivar/efivar_38.bb
@@ -11,6 +11,7 @@ SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https \
file://0001-docs-do-not-build-efisecdb-manpage.patch \
file://0001-src-Makefile-build-util.c-separately-for-makeguids.patch \
file://efisecdb-fix-build-with-musl-libc.patch \
+ file://0001-Fix-invalid-free-in-main.patch \
"
SRCREV = "1753149d4176ebfb2b135ac0aaf79340bf0e7a93"
diff --git a/meta/recipes-bsp/opensbi/opensbi_1.0.bb b/meta/recipes-bsp/opensbi/opensbi_1.1.bb
index 8430f62543..d3a6296533 100644
--- a/meta/recipes-bsp/opensbi/opensbi_1.0.bb
+++ b/meta/recipes-bsp/opensbi/opensbi_1.1.bb
@@ -8,9 +8,8 @@ require opensbi-payloads.inc
inherit autotools-brokensep deploy
-SRCREV = "ce4c0188d96b2c20c2e08d24646a5e517fe15a4b"
-SRC_URI = "git://github.com/riscv/opensbi.git;branch=master;protocol=https \
- "
+SRCREV = "4489876e933d8ba0d8bc6c64bae71e295d45faac"
+SRC_URI = "git://github.com/riscv/opensbi.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc b/meta/recipes-bsp/u-boot/u-boot-common.inc
index 8fc33608d0..d7fd3c7227 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -7,12 +7,12 @@ SECTION = "bootloaders"
DEPENDS += "flex-native bison-native"
LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=5a7450c57ffe5ae63fd732446b988025"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=2ca5f2c35c8cc335f0a19756634782f1"
PE = "1"
# We use the revision in order to avoid having to fetch it from the
# repo during parse
-SRCREV = "e4b6ebd3de982ae7185dbf689a030e73fd06e0d2"
+SRCREV = "e092e3250270a1016c877da7bdd9384f14b1321e"
SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master"
diff --git a/meta/recipes-bsp/u-boot/u-boot-tools.inc b/meta/recipes-bsp/u-boot/u-boot-tools.inc
index a8d7fab46d..0bdbce725a 100644
--- a/meta/recipes-bsp/u-boot/u-boot-tools.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-tools.inc
@@ -1,5 +1,8 @@
SUMMARY = "U-Boot bootloader tools"
-DEPENDS += "gnutls openssl util-linux"
+DEPENDS += "gnutls openssl util-linux swig-native"
+
+inherit python3native
+export STAGING_INCDIR="${STAGING_INCDIR_NATIVE}"
PROVIDES = "${MLPREFIX}u-boot-mkimage ${MLPREFIX}u-boot-mkenvimage"
PROVIDES:class-native = "u-boot-mkimage-native u-boot-mkenvimage-native"
diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2022.04.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2022.07.bb
index 7eaf721ca8..ef386f76e6 100644
--- a/meta/recipes-bsp/u-boot/u-boot-tools_2022.04.bb
+++ b/meta/recipes-bsp/u-boot/u-boot-tools_2022.07.bb
@@ -1,2 +1,3 @@
require u-boot-common.inc
require u-boot-tools.inc
+
diff --git a/meta/recipes-bsp/u-boot/u-boot_2022.04.bb b/meta/recipes-bsp/u-boot/u-boot_2022.07.bb
index 0d2464d74b..0d2464d74b 100644
--- a/meta/recipes-bsp/u-boot/u-boot_2022.04.bb
+++ b/meta/recipes-bsp/u-boot/u-boot_2022.07.bb
diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb
index 9bb5e5861e..a2efe7e80a 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -147,8 +147,8 @@ FILES:libavahi-glib = "${libdir}/libavahi-glib.so.*"
FILES:libavahi-gobject = "${libdir}/libavahi-gobject.so.* ${libdir}/girepository-1.0/Avahi*.typelib"
FILES:avahi-utils = "${bindir}/avahi-* ${bindir}/b* ${datadir}/applications/b*"
-RDEPENDS:${PN}-dev = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV})"
-RDEPENDS:${PN}-dev += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}"
+DEV_PKG_DEPENDENCY = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV})"
+DEV_PKG_DEPENDENCY += "${@["", " libavahi-client (= ${EXTENDPKGV})"][bb.utils.contains('PACKAGECONFIG', 'dbus', 1, 0, d)]}"
RDEPENDS:${PN}-dnsconfd = "${PN}-daemon"
RRECOMMENDS:avahi-daemon:append:libc-glibc = " libnss-mdns"
diff --git a/meta/recipes-connectivity/bind/bind_9.18.4.bb b/meta/recipes-connectivity/bind/bind_9.18.4.bb
index 5af2022129..8c62fc771d 100644
--- a/meta/recipes-connectivity/bind/bind_9.18.4.bb
+++ b/meta/recipes-connectivity/bind/bind_9.18.4.bb
@@ -46,8 +46,6 @@ EXTRA_OECONF = " --disable-devpoll --disable-auto-validation --enable-epoll \
"
LDFLAGS:append = " -lz"
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native setuptools3-base', '', d)}
-
# dhcp needs .la so keep them
REMOVE_LIBTOOL_LA = "0"
@@ -67,12 +65,6 @@ do_install:append() {
install -d "${D}${sysconfdir}/init.d"
install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/"
install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind"
- if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
- sed -i -e '1s,#!.*python3,#! /usr/bin/python3,' \
- ${D}${sbindir}/dnssec-coverage \
- ${D}${sbindir}/dnssec-checkds \
- ${D}${sbindir}/dnssec-keymgr
- fi
# Install systemd related files
install -d ${D}${sbindir}
@@ -119,9 +111,4 @@ FILES_SOLIBSDEV = "${libdir}/*[!0-9].so ${libdir}/libbind9.so"
FILES:${PN}-libs = "${libdir}/named/*.so* ${libdir}/*-${PV}.so"
FILES:${PN}-staticdev += "${libdir}/*.la"
-PACKAGE_BEFORE_PN += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-bind', '', d)}"
-FILES:python3-bind = "${sbindir}/dnssec-coverage ${sbindir}/dnssec-checkds \
- ${sbindir}/dnssec-keymgr ${PYTHON_SITEPACKAGES_DIR}"
-
-RDEPENDS:${PN}-dev = ""
-RDEPENDS:python3-bind = "python3-core python3-ply"
+DEV_PKG_DEPENDENCY = ""
diff --git a/meta/recipes-connectivity/inetutils/inetutils_2.2.bb b/meta/recipes-connectivity/inetutils/inetutils_2.3.bb
index 6c9a299b71..1e8f63637e 100644
--- a/meta/recipes-connectivity/inetutils/inetutils_2.2.bb
+++ b/meta/recipes-connectivity/inetutils/inetutils_2.3.bb
@@ -10,7 +10,7 @@ LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
-SRC_URI[sha256sum] = "d547f69172df73afef691a0f7886280fd781acea28def4ff4b4b212086a89d80"
+SRC_URI[sha256sum] = "0b01bb08e29623c4e3b940f233c961451d9af8c5066301add76a52a95d51772c"
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 \
diff --git a/meta/recipes-connectivity/libuv/libuv_1.44.1.bb b/meta/recipes-connectivity/libuv/libuv_1.44.2.bb
index 4c96d80a65..4c1b8eed56 100644
--- a/meta/recipes-connectivity/libuv/libuv_1.44.1.bb
+++ b/meta/recipes-connectivity/libuv/libuv_1.44.2.bb
@@ -5,7 +5,7 @@ BUGTRACKER = "https://github.com/libuv/libuv/issues"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d"
-SRCREV = "e8b7eb6908a847ffbe6ab2eec7428e43a0aa53a2"
+SRCREV = "0c1fa696aa502eb749c2c4735005f41ba00a27b8"
SRC_URI = "git://github.com/libuv/libuv;branch=v1.x;protocol=https"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch b/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch
index 5effa6c6f6..0b7abc3a11 100644
--- a/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch
+++ b/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch
@@ -13,11 +13,11 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Configure | 10 ----------
1 file changed, 10 deletions(-)
-diff --git a/Configure b/Configure
-index 821e680..0387a74 100755
---- a/Configure
-+++ b/Configure
-@@ -1422,16 +1422,6 @@ if ($target =~ /^mingw/ && `$config{CC} --target-help 2>&1` =~ m/-mno-cygwin/m)
+Index: openssl-3.0.4/Configure
+===================================================================
+--- openssl-3.0.4.orig/Configure
++++ openssl-3.0.4/Configure
+@@ -1423,16 +1423,6 @@ if ($target =~ /^mingw/ && `$config{CC}
push @{$config{shared_ldflag}}, "-mno-cygwin";
}
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch b/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
index 60890c666d..bafdbaa46f 100644
--- a/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
+++ b/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
@@ -34,11 +34,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
crypto/build.info | 2 +-
2 files changed, 12 insertions(+), 2 deletions(-)
-diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
-index f88a70f..528cdef 100644
---- a/Configurations/unix-Makefile.tmpl
-+++ b/Configurations/unix-Makefile.tmpl
-@@ -471,13 +471,23 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (),
+Index: openssl-3.0.4/Configurations/unix-Makefile.tmpl
+===================================================================
+--- openssl-3.0.4.orig/Configurations/unix-Makefile.tmpl
++++ openssl-3.0.4/Configurations/unix-Makefile.tmpl
+@@ -472,13 +472,23 @@ BIN_LDFLAGS={- join(' ', $target{bin_lfl
'$(CNF_LDFLAGS)', '$(LDFLAGS)') -}
BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS)
@@ -63,10 +63,10 @@ index f88a70f..528cdef 100644
PERLASM_SCHEME= {- $target{perlasm_scheme} -}
# For x86 assembler: Set PROCESSOR to 386 if you want to support
-diff --git a/crypto/build.info b/crypto/build.info
-index efca6cc..eda433e 100644
---- a/crypto/build.info
-+++ b/crypto/build.info
+Index: openssl-3.0.4/crypto/build.info
+===================================================================
+--- openssl-3.0.4.orig/crypto/build.info
++++ openssl-3.0.4/crypto/build.info
@@ -109,7 +109,7 @@ DEFINE[../libcrypto]=$UPLINKDEF
DEPEND[info.o]=buildinf.h
@@ -74,5 +74,5 @@ index efca6cc..eda433e 100644
-GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)"
+GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC_Q) $(CFLAGS_Q) $(CPPFLAGS_Q)" "$(PLATFORM)"
- GENERATE[uplink-x86.s]=../ms/uplink-x86.pl
+ GENERATE[uplink-x86.S]=../ms/uplink-x86.pl
GENERATE[uplink-x86_64.s]=../ms/uplink-x86_64.pl
diff --git a/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch b/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch
deleted file mode 100644
index 0249d4181b..0000000000
--- a/meta/recipes-connectivity/openssl/openssl/770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 770aea88c3888cc5cb3ebc94ffcef706c68bc1d2 Mon Sep 17 00:00:00 2001
-From: Tomas Mraz <tomas@openssl.org>
-Date: Wed, 1 Jun 2022 12:06:33 +0200
-Subject: [PATCH] Update expired SCT issuer certificate
-
-Fixes #15179
-
-Reviewed-by: Matt Caswell <matt@openssl.org>
-Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
-(Merged from https://github.com/openssl/openssl/pull/18444)
-
-Upstream-Status: Backport
-[Fixes ptest failures in OE-Core]
----
- test/certs/embeddedSCTs1_issuer.pem | 30 ++++++++++++++---------------
- 1 file changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/test/certs/embeddedSCTs1_issuer.pem b/test/certs/embeddedSCTs1_issuer.pem
-index 1fa449d5a098..6aa9455f09ed 100644
---- a/test/certs/embeddedSCTs1_issuer.pem
-+++ b/test/certs/embeddedSCTs1_issuer.pem
-@@ -1,18 +1,18 @@
- -----BEGIN CERTIFICATE-----
--MIIC0DCCAjmgAwIBAgIBADANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJHQjEk
-+MIIC0jCCAjugAwIBAgIBADANBgkqhkiG9w0BAQsFADBVMQswCQYDVQQGEwJHQjEk
- MCIGA1UEChMbQ2VydGlmaWNhdGUgVHJhbnNwYXJlbmN5IENBMQ4wDAYDVQQIEwVX
--YWxlczEQMA4GA1UEBxMHRXJ3IFdlbjAeFw0xMjA2MDEwMDAwMDBaFw0yMjA2MDEw
--MDAwMDBaMFUxCzAJBgNVBAYTAkdCMSQwIgYDVQQKExtDZXJ0aWZpY2F0ZSBUcmFu
--c3BhcmVuY3kgQ0ExDjAMBgNVBAgTBVdhbGVzMRAwDgYDVQQHEwdFcncgV2VuMIGf
--MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVimhTYhCicRmTbneDIRgcKkATxtB7
--jHbrkVfT0PtLO1FuzsvRyY2RxS90P6tjXVUJnNE6uvMa5UFEJFGnTHgW8iQ8+EjP
--KDHM5nugSlojgZ88ujfmJNnDvbKZuDnd/iYx0ss6hPx7srXFL8/BT/9Ab1zURmnL
--svfP34b7arnRsQIDAQABo4GvMIGsMB0GA1UdDgQWBBRfnYgNyHPmVNT4DdjmsMEk
--tEfDVTB9BgNVHSMEdjB0gBRfnYgNyHPmVNT4DdjmsMEktEfDVaFZpFcwVTELMAkG
--A1UEBhMCR0IxJDAiBgNVBAoTG0NlcnRpZmljYXRlIFRyYW5zcGFyZW5jeSBDQTEO
--MAwGA1UECBMFV2FsZXMxEDAOBgNVBAcTB0VydyBXZW6CAQAwDAYDVR0TBAUwAwEB
--/zANBgkqhkiG9w0BAQUFAAOBgQAGCMxKbWTyIF4UbASydvkrDvqUpdryOvw4BmBt
--OZDQoeojPUApV2lGOwRmYef6HReZFSCa6i4Kd1F2QRIn18ADB8dHDmFYT9czQiRy
--f1HWkLxHqd81TbD26yWVXeGJPE3VICskovPkQNJ0tU4b03YmnKliibduyqQQkOFP
--OwqULg==
-+YWxlczEQMA4GA1UEBxMHRXJ3IFdlbjAgFw0yMjA2MDExMDM4MDJaGA8yMTIyMDUw
-+ODEwMzgwMlowVTELMAkGA1UEBhMCR0IxJDAiBgNVBAoTG0NlcnRpZmljYXRlIFRy
-+YW5zcGFyZW5jeSBDQTEOMAwGA1UECBMFV2FsZXMxEDAOBgNVBAcTB0VydyBXZW4w
-+gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANWKaFNiEKJxGZNud4MhGBwqQBPG
-+0HuMduuRV9PQ+0s7UW7Oy9HJjZHFL3Q/q2NdVQmc0Tq68xrlQUQkUadMeBbyJDz4
-+SM8oMczme6BKWiOBnzy6N+Yk2cO9spm4Od3+JjHSyzqE/HuytcUvz8FP/0BvXNRG
-+acuy98/fhvtqudGxAgMBAAGjga8wgawwHQYDVR0OBBYEFF+diA3Ic+ZU1PgN2Oaw
-+wSS0R8NVMH0GA1UdIwR2MHSAFF+diA3Ic+ZU1PgN2OawwSS0R8NVoVmkVzBVMQsw
-+CQYDVQQGEwJHQjEkMCIGA1UEChMbQ2VydGlmaWNhdGUgVHJhbnNwYXJlbmN5IENB
-+MQ4wDAYDVQQIEwVXYWxlczEQMA4GA1UEBxMHRXJ3IFdlboIBADAMBgNVHRMEBTAD
-+AQH/MA0GCSqGSIb3DQEBCwUAA4GBAD0aYh9OkFYfXV7kBfhrtD0PJG2U47OV/1qq
-++uFpqB0S1WO06eJT0pzYf1ebUcxjBkajbJZm/FHT85VthZ1lFHsky87aFD8XlJCo
-+2IOhKOkvvWKPUdFLoO/ZVXqEVKkcsS1eXK1glFvb07eJZya3JVG0KdMhV2YoDg6c
-+Doud4XrO
- -----END CERTIFICATE-----
diff --git a/meta/recipes-connectivity/openssl/openssl/afalg.patch b/meta/recipes-connectivity/openssl/openssl/afalg.patch
index b7c0e9697f..cf77e873a2 100644
--- a/meta/recipes-connectivity/openssl/openssl/afalg.patch
+++ b/meta/recipes-connectivity/openssl/openssl/afalg.patch
@@ -3,11 +3,11 @@ Don't refuse to build afalgeng if cross-compiling or the host kernel is too old.
Upstream-Status: Submitted [hhttps://github.com/openssl/openssl/pull/7688]
Signed-off-by: Ross Burton <ross.burton@intel.com>
-diff --git a/Configure b/Configure
-index 3baa8ce..9ef52ed 100755
---- a/Configure
-+++ b/Configure
-@@ -1550,20 +1550,7 @@ unless ($disabled{"crypto-mdebug-backtrace"})
+Index: openssl-3.0.4/Configure
+===================================================================
+--- openssl-3.0.4.orig/Configure
++++ openssl-3.0.4/Configure
+@@ -1681,20 +1681,7 @@ $config{CFLAGS} = [ map { $_ eq '--ossl-
unless ($disabled{afalgeng}) {
$config{afalgeng}="";
if (grep { $_ eq 'afalgeng' } @{$target{enable}}) {
diff --git a/meta/recipes-connectivity/openssl/openssl_3.0.3.bb b/meta/recipes-connectivity/openssl/openssl_3.0.5.bb
index 35a62755ad..04aff04fab 100644
--- a/meta/recipes-connectivity/openssl/openssl_3.0.3.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.0.5.bb
@@ -12,14 +12,13 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
file://afalg.patch \
file://0001-Configure-do-not-tweak-mips-cflags.patch \
- file://770aea88c3888cc5cb3ebc94ffcef706c68bc1d2.patch \
"
SRC_URI:append:class-nativesdk = " \
file://environment.d-openssl.sh \
"
-SRC_URI[sha256sum] = "ee0078adcef1de5f003c62c80cc96527721609c6f3bb42b7795df31f8b558c0b"
+SRC_URI[sha256sum] = "aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a"
inherit lib_package multilib_header multilib_script ptest perlnative
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
@@ -78,7 +77,7 @@ do_configure () {
esac
target="$os-${HOST_ARCH}"
case $target in
- linux-arc)
+ linux-arc | linux-microblaze*)
target=linux-latomic
;;
linux-arm*)
@@ -106,7 +105,7 @@ do_configure () {
linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el)
target=linux64-mips64
;;
- linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
+ linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
target=linux-generic32
;;
linux-powerpc)
diff --git a/meta/recipes-core/busybox/busybox/CVE-2022-30065.patch b/meta/recipes-core/busybox/busybox/CVE-2022-30065.patch
new file mode 100644
index 0000000000..25ad653b25
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/CVE-2022-30065.patch
@@ -0,0 +1,29 @@
+Fix use-after-free in awk.
+
+CVE: CVE-2022-30065
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2022-June/089768.html]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+fixes https://bugs.busybox.net/show_bug.cgi?id=14781
+
+Signed-off-by: Natanael Copa <ncopa at alpinelinux.org>
+---
+ editors/awk.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/editors/awk.c b/editors/awk.c
+index 079d0bde5..728ee8685 100644
+--- a/editors/awk.c
++++ b/editors/awk.c
+@@ -3128,6 +3128,9 @@ static var *evaluate(node *op, var *res)
+
+ case XC( OC_MOVE ):
+ debug_printf_eval("MOVE\n");
++ /* make sure that we never return a temp var */
++ if (L.v == TMPVAR0)
++ L.v = res;
+ /* if source is a temporary string, jusk relink it to dest */
+ if (R.v == TMPVAR1
+ && !(R.v->type & VF_NUMBER)
+--
+2.36.1
diff --git a/meta/recipes-core/busybox/busybox_1.35.0.bb b/meta/recipes-core/busybox/busybox_1.35.0.bb
index f2f1b35902..edf896485e 100644
--- a/meta/recipes-core/busybox/busybox_1.35.0.bb
+++ b/meta/recipes-core/busybox/busybox_1.35.0.bb
@@ -49,6 +49,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \
file://0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch \
file://0002-nslookup-sanitize-all-printed-strings-with-printable.patch \
+ file://CVE-2022-30065.patch \
"
SRC_URI:append:libc-musl = " file://musl.cfg "
diff --git a/meta/recipes-core/coreutils/coreutils_9.1.bb b/meta/recipes-core/coreutils/coreutils_9.1.bb
index d57e147a7e..55663c7713 100644
--- a/meta/recipes-core/coreutils/coreutils_9.1.bb
+++ b/meta/recipes-core/coreutils/coreutils_9.1.bb
@@ -171,8 +171,9 @@ RDEPENDS:${PN}-ptest += "bash findutils gawk liberror-perl make perl perl-module
# -dev automatic dependencies fails as we don't want libmodule-build-perl-dev, its too heavy
# may need tweaking if DEPENDS changes
+# Can't use ${PN}-dev here since flags with overrides and key expansion not supported
RRECOMMENDS:coreutils-dev[nodeprrecs] = "1"
-RRECOMMENDS:coreutils-dev = "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev"
+RRECOMMENDS:${PN}-dev += "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev"
do_install_ptest () {
install -d ${D}${PTEST_PATH}/tests
diff --git a/meta/recipes-core/dropbear/dropbear.inc b/meta/recipes-core/dropbear/dropbear.inc
index 78f9f9adbd..e170587d08 100644
--- a/meta/recipes-core/dropbear/dropbear.inc
+++ b/meta/recipes-core/dropbear/dropbear.inc
@@ -123,4 +123,6 @@ pkg_postrm:${PN} () {
fi
}
+CONFFILES:${PN} = "${sysconfdir}/default/dropbear"
+
FILES:${PN} += "${bindir}"
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index fb50fff6a5..c0114397d8 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From a30eb17c20e070124b55523d86729348f2929f95 Mon Sep 17 00:00:00 2001
+From 9a66887179d28d696562dcac43ad05d67580cfdb 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/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.72.3.bb
index c4a8a4b8ad..dd1ea508d2 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.72.2.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.72.3.bb
@@ -19,7 +19,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
"
SRC_URI:append:class-native = " file://relocate-modules.patch"
-SRC_URI[sha256sum] = "78d599a133dba7fe2036dfa8db8fb6131ab9642783fc9578b07a20995252d2de"
+SRC_URI[sha256sum] = "4a39a2f624b8512d500d5840173eda7fa85f51c109052eae806acece85d345f0"
# 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/meta/recipes-core/glib-networking/glib-networking_2.72.0.bb b/meta/recipes-core/glib-networking/glib-networking_2.72.1.bb
index d578f17aa5..41f18d1c48 100644
--- a/meta/recipes-core/glib-networking/glib-networking_2.72.0.bb
+++ b/meta/recipes-core/glib-networking/glib-networking_2.72.1.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS = "glib-2.0"
-SRC_URI[archive.sha256sum] = "100aaebb369285041de52da422b6b716789d5e4d7549a3a71ba587b932e0823b"
+SRC_URI[archive.sha256sum] = "6fc1bedc8062484dc8a0204965995ef2367c3db5c934058ff1607e5a24d95a74"
PACKAGECONFIG ??= "openssl ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
diff --git a/meta/recipes-core/glibc/glibc-tests_2.35.bb b/meta/recipes-core/glibc/glibc-tests_2.35.bb
index 414f8660de..96d0569ff6 100644
--- a/meta/recipes-core/glibc/glibc-tests_2.35.bb
+++ b/meta/recipes-core/glibc/glibc-tests_2.35.bb
@@ -5,6 +5,7 @@ inherit ptest features_check
REQUIRED_DISTRO_FEATURES = "ptest"
SRC_URI:append = " \
+ file://reproducible-paths.patch \
file://run-ptest \
"
@@ -18,7 +19,8 @@ python __anonymous() {
d.setVar("PROVIDES", "${PN} ${PN}-ptest")
d.setVar("RPROVIDES", "${PN} ${PN}-ptest")
- d.setVar("BBCLASSEXTEND", "")
+ bbclassextend = d.getVar("BBCLASSEXTEND").replace("nativesdk", "").strip()
+ d.setVar("BBCLASSEXTEND", bbclassextend)
d.setVar("RRECOMMENDS", "")
d.setVar("SYSTEMD_SERVICE:nscd", "")
d.setVar("SYSTEMD_PACKAGES", "")
@@ -30,6 +32,8 @@ RRECOMMENDS:${PN} = ""
RDEPENDS:${PN} = " glibc sed"
DEPENDS:append = " sed"
+export oe_srcdir="${exec_prefix}/src/debug/glibc/${PV}/"
+
# Just build tests for target - do not run them
do_check:append () {
oe_runmake -i check run-built-tests=no
@@ -95,7 +99,7 @@ python populate_packages:prepend () {
d.setVar('DEBIAN_NAMES', '')
}
-FILES:${PN} = "${PTEST_PATH}/* /usr/src/debug/glibc-tests/*"
+FILES:${PN} = "${PTEST_PATH}/* /usr/src/debug/${PN}/*"
EXCLUDE_FROM_SHLIBS = "1"
diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc
index 5fea8b33ef..99017ce1d4 100644
--- a/meta/recipes-core/glibc/glibc-version.inc
+++ b/meta/recipes-core/glibc/glibc-version.inc
@@ -1,6 +1,6 @@
SRCBRANCH ?= "release/2.35/master"
PV = "2.35"
-SRCREV_glibc ?= "499a60179657d2945c6ad01bdac90e8427a6310e"
+SRCREV_glibc ?= "b6aade18a7e5719c942aa2da6cf3157aca993fa4"
SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
diff --git a/meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch b/meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
new file mode 100644
index 0000000000..2421a63605
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
@@ -0,0 +1,128 @@
+From 6b8959add09e425df262bf9178b39ca35bc4003c Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 24 Jul 2022 19:41:41 +0200
+Subject: [PATCH] Revert "Linux: Implement a useful version of _startup_fatal"
+
+This reverts commit 2d05ba7f8ef979947e910a37ae8115a816eb4d08.
+Upstream-Status: Inappropriate [temporary work around]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ sysdeps/unix/sysv/linux/i386/startup.h | 23 ++++++++++++---
+ sysdeps/unix/sysv/linux/ia64/startup.h | 22 ---------------
+ sysdeps/unix/sysv/linux/startup.h | 39 --------------------------
+ 3 files changed, 19 insertions(+), 65 deletions(-)
+ delete mode 100644 sysdeps/unix/sysv/linux/ia64/startup.h
+ delete mode 100644 sysdeps/unix/sysv/linux/startup.h
+
+diff --git a/sysdeps/unix/sysv/linux/i386/startup.h b/sysdeps/unix/sysv/linux/i386/startup.h
+index 213805d7d2..67c9310f3a 100644
+--- a/sysdeps/unix/sysv/linux/i386/startup.h
++++ b/sysdeps/unix/sysv/linux/i386/startup.h
+@@ -1,5 +1,5 @@
+ /* Linux/i386 definitions of functions used by static libc main startup.
+- Copyright (C) 2022 Free Software Foundation, Inc.
++ Copyright (C) 2017-2022 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
+@@ -16,7 +16,22 @@
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+-/* Can't use "call *%gs:SYSINFO_OFFSET" during startup. */
+-#define I386_USE_SYSENTER 0
++#if BUILD_PIE_DEFAULT
++/* Can't use "call *%gs:SYSINFO_OFFSET" during statup in static PIE. */
++# define I386_USE_SYSENTER 0
+
+-#include_next <startup.h>
++# include <sysdep.h>
++# include <abort-instr.h>
++
++__attribute__ ((__noreturn__))
++static inline void
++_startup_fatal (const char *message __attribute__ ((unused)))
++{
++ /* This is only called very early during startup in static PIE.
++ FIXME: How can it be improved? */
++ ABORT_INSTRUCTION;
++ __builtin_unreachable ();
++}
++#else
++# include_next <startup.h>
++#endif
+diff --git a/sysdeps/unix/sysv/linux/ia64/startup.h b/sysdeps/unix/sysv/linux/ia64/startup.h
+deleted file mode 100644
+index 77f29f15a2..0000000000
+--- a/sysdeps/unix/sysv/linux/ia64/startup.h
++++ /dev/null
+@@ -1,22 +0,0 @@
+-/* Linux/ia64 definitions of functions used by static libc main startup.
+- Copyright (C) 2022 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
+- 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/>. */
+-
+-/* This code is used before the TCB is set up. */
+-#define IA64_USE_NEW_STUB 0
+-
+-#include_next <startup.h>
+diff --git a/sysdeps/unix/sysv/linux/startup.h b/sysdeps/unix/sysv/linux/startup.h
+deleted file mode 100644
+index 39859b404a..0000000000
+--- a/sysdeps/unix/sysv/linux/startup.h
++++ /dev/null
+@@ -1,39 +0,0 @@
+-/* Linux definitions of functions used by static libc main startup.
+- Copyright (C) 2017-2022 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
+- 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/>. */
+-
+-#ifdef SHARED
+-# include_next <startup.h>
+-#else
+-# include <sysdep.h>
+-
+-/* Avoid a run-time invocation of strlen. */
+-#define _startup_fatal(message) \
+- do \
+- { \
+- size_t __message_length = __builtin_strlen (message); \
+- if (! __builtin_constant_p (__message_length)) \
+- { \
+- extern void _startup_fatal_not_constant (void); \
+- _startup_fatal_not_constant (); \
+- } \
+- INTERNAL_SYSCALL_CALL (write, STDERR_FILENO, (message), \
+- __message_length); \
+- INTERNAL_SYSCALL_CALL (exit_group, 127); \
+- } \
+- while (0)
+-#endif /* !SHARED */
diff --git a/meta/recipes-core/glibc/glibc/reproducible-paths.patch b/meta/recipes-core/glibc/glibc/reproducible-paths.patch
new file mode 100644
index 0000000000..0754dca62b
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/reproducible-paths.patch
@@ -0,0 +1,23 @@
+Avoid hardcoded build time paths in the output binaries by replacing the compile
+definitions with the output locations.
+
+Upstream-Status: Inappropriate [would need reworking somehow to be acceptable upstream]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: git/support/Makefile
+===================================================================
+--- git.orig/support/Makefile
++++ git/support/Makefile
+@@ -216,9 +216,9 @@ libsupport-inhibit-o += .o
+ endif
+
+ CFLAGS-support_paths.c = \
+- -DSRCDIR_PATH=\"`cd .. ; pwd`\" \
+- -DOBJDIR_PATH=\"`cd $(objpfx)/..; pwd`\" \
+- -DOBJDIR_ELF_LDSO_PATH=\"`cd $(objpfx)/..; pwd`/elf/$(rtld-installed-name)\" \
++ -DSRCDIR_PATH=\"$(oe_srcdir)\" \
++ -DOBJDIR_PATH=\"$(libdir)/glibc-tests/ptest/tests/glibc-ptest\" \
++ -DOBJDIR_ELF_LDSO_PATH=\"$(slibdir)/$(rtld-installed-name)\" \
+ -DINSTDIR_PATH=\"$(prefix)\" \
+ -DLIBDIR_PATH=\"$(libdir)\" \
+ -DBINDIR_PATH=\"$(bindir)\" \
diff --git a/meta/recipes-core/glibc/glibc_2.35.bb b/meta/recipes-core/glibc/glibc_2.35.bb
index 96fe39c548..df847e76bf 100644
--- a/meta/recipes-core/glibc/glibc_2.35.bb
+++ b/meta/recipes-core/glibc/glibc_2.35.bb
@@ -48,6 +48,8 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0022-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch \
file://0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \
file://0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
+ \
+ file://0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build-${TARGET_SYS}"
diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 6ed797cafa..2cdac20ce7 100644
--- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk wic.vhd wic.vhdx"
inherit core-image setuptools3
-SRCREV ?= "0674ae7bc46ebfa90c55bbedec6b22dc5f48dacf"
+SRCREV ?= "093398daf5000e69057aedfe8c9f8df2c4e837f3"
SRC_URI = "git://git.yoctoproject.org/poky;branch=master \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \
diff --git a/meta/recipes-core/initscripts/init-system-helpers_1.63.bb b/meta/recipes-core/initscripts/init-system-helpers_1.64.bb
index 1251ddf639..22ddd6840f 100644
--- a/meta/recipes-core/initscripts/init-system-helpers_1.63.bb
+++ b/meta/recipes-core/initscripts/init-system-helpers_1.64.bb
@@ -14,9 +14,9 @@ include their helpers in this package."
HOMEPAGE = "https://salsa.debian.org/debian/init-system-helpers"
SECTION = "base"
LICENSE = "BSD-3-Clause & GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=ee2b1830fcfead84d07bc060ec43e072"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=c4ec20aa158fa9de26ee1accf78dcaae"
-SRCREV = "af94bae943a80954af7fd486c1cab3f900e0975f"
+SRCREV = "c440893051406c11f0a315058939657d5937be4f"
SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb
index 2244d1b292..7c9d9ca4f1 100644
--- a/meta/recipes-core/initscripts/initscripts_1.0.bb
+++ b/meta/recipes-core/initscripts/initscripts_1.0.bb
@@ -130,7 +130,7 @@ do_install () {
update-rc.d -r ${D} rmnologin.sh start 99 2 3 4 5 .
update-rc.d -r ${D} sendsigs start 20 0 6 .
update-rc.d -r ${D} urandom start 38 S 0 6 .
- update-rc.d -r ${D} umountnfs.sh start 31 0 1 6 .
+ update-rc.d -r ${D} umountnfs.sh stop 31 0 1 6 .
update-rc.d -r ${D} umountfs start 40 0 6 .
update-rc.d -r ${D} reboot start 90 6 .
update-rc.d -r ${D} halt start 90 0 .
diff --git a/meta/recipes-core/meta/meta-ide-support.bb b/meta/recipes-core/meta/meta-ide-support.bb
index 39317d50e0..7f349f673d 100644
--- a/meta/recipes-core/meta/meta-ide-support.bb
+++ b/meta/recipes-core/meta/meta-ide-support.bb
@@ -2,11 +2,13 @@ SUMMARY = "Integrated Development Environment support"
DESCRIPTION = "Meta package for ensuring the build directory contains all appropriate toolchain packages for using an IDE"
LICENSE = "MIT"
-DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native qemu-helper-native unfs3-native cmake-native"
+DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native qemu-helper-native unfs3-native cmake-native autoconf-native automake-native meson-native intltool-native pkgconfig-native"
PR = "r3"
RM_WORK_EXCLUDE += "${PN}"
-inherit toolchain-scripts nopackages
+inherit toolchain-scripts nopackages deploy testsdk
+
+TESTSDK_CLASS_NAME = "oeqa.sdk.testmetaidesupport.TestSDK"
do_populate_ide_support () {
toolchain_create_tree_env_script
@@ -18,4 +20,22 @@ python () {
d.appendVarFlag("do_populate_ide_support", "file-checksums", " " + " ".join(searched))
}
-addtask populate_ide_support before do_build after do_install
+addtask populate_ide_support before do_deploy after do_install
+
+python do_write_test_data() {
+ from oe.data import export2json
+
+ out_dir = d.getVar('B')
+ testdata_name = os.path.join(out_dir, "%s.testdata.json" % d.getVar('PN'))
+
+ export2json(d, testdata_name)
+}
+addtask write_test_data before do_deploy after do_install
+
+do_deploy () {
+ install ${B}/* ${DEPLOYDIR}
+}
+
+addtask deploy before do_build
+
+do_build[deptask] += "do_prepare_recipe_sysroot"
diff --git a/meta/recipes-core/meta/wic-tools.bb b/meta/recipes-core/meta/wic-tools.bb
index b9580d7e33..9282d36a4d 100644
--- a/meta/recipes-core/meta/wic-tools.bb
+++ b/meta/recipes-core/meta/wic-tools.bb
@@ -7,6 +7,7 @@ DEPENDS = "\
mtools-native bmap-tools-native grub-native cdrtools-native \
btrfs-tools-native squashfs-tools-native pseudo-native \
e2fsprogs-native util-linux-native tar-native erofs-utils-native \
+ virtual/${TARGET_PREFIX}binutils \
"
DEPENDS:append:x86 = " syslinux-native syslinux grub-efi systemd-boot"
DEPENDS:append:x86-64 = " syslinux-native syslinux grub-efi systemd-boot"
diff --git a/meta/recipes-core/musl/bsd-headers.bb b/meta/recipes-core/musl/bsd-headers.bb
index cf8af0da3c..887a816031 100644
--- a/meta/recipes-core/musl/bsd-headers.bb
+++ b/meta/recipes-core/musl/bsd-headers.bb
@@ -27,5 +27,5 @@ do_install() {
#
COMPATIBLE_HOST = ".*-musl.*"
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb
index 748dacf312..3faf8f00c3 100644
--- a/meta/recipes-core/musl/libssp-nonshared.bb
+++ b/meta/recipes-core/musl/libssp-nonshared.bb
@@ -31,5 +31,5 @@ do_install() {
#
COMPATIBLE_HOST = ".*-musl.*"
RDEPENDS:${PN}-staticdev = ""
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
RRECOMMENDS:${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})"
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc
index 7a7c7dd227..367f3b19f4 100644
--- a/meta/recipes-core/ncurses/ncurses.inc
+++ b/meta/recipes-core/ncurses/ncurses.inc
@@ -2,7 +2,7 @@ SUMMARY = "The New Curses library"
DESCRIPTION = "SVr4 and XSI-Curses compatible curses library and terminfo tools including tic, infocmp, captoinfo. Supports color, multiple highlights, forms-drawing characters, and automatic recognition of keypad and function-key sequences. Extensions include resizable windows and mouse support on both xterm and Linux console using the gpm library."
HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9529289636145d1bf093c96af067695a;endline=27"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c5a4600fdef86384c41ca33ecc70a4b8;endline=27"
SECTION = "libs"
DEPENDS = "ncurses-native"
DEPENDS:class-native = ""
@@ -13,7 +13,7 @@ BINCONFIG = "${bindir}/ncurses5-config ${bindir}/ncursesw5-config \
inherit autotools binconfig-disabled multilib_header pkgconfig
# Upstream has useful patches at times at ftp://invisible-island.net/ncurses/
-SRC_URI = "git://salsa.debian.org/debian/ncurses.git;protocol=https;branch=master"
+SRC_URI = "git://github.com/mirror/ncurses.git;protocol=https;branch=master"
EXTRA_AUTORECONF = "-I m4"
diff --git a/meta/recipes-core/ncurses/ncurses_6.3.bb b/meta/recipes-core/ncurses/ncurses_6.3+20220423.bb
index f0256dad22..9fba5b584b 100644
--- a/meta/recipes-core/ncurses/ncurses_6.3.bb
+++ b/meta/recipes-core/ncurses/ncurses_6.3+20220423.bb
@@ -5,10 +5,11 @@ SRC_URI += "file://0001-tic-hang.patch \
file://0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch \
"
# commit id corresponds to the revision in package version
-SRCREV = "51d0fd9cc3edb975f04224f29f777f8f448e8ced"
+SRCREV = "20db1fb41ec91cd8a1f528e770362092c5403378"
S = "${WORKDIR}/git"
EXTRA_OECONF += "--with-abi-version=5"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)$"
+UPSTREAM_VERSION_UNKNOWN = "1"
# This is needed when using patchlevel versions like 6.1+20181013
-#CVE_VERSION = "${@d.getVar("PV").split('+')[0]}.${@d.getVar("PV").split('+')[1]}"
+CVE_VERSION = "${@d.getVar("PV").split('+')[0]}.${@d.getVar("PV").split('+')[1]}"
diff --git a/meta/recipes-core/newlib/newlib_4.2.0.bb b/meta/recipes-core/newlib/newlib_4.2.0.bb
index 0542c596ba..fb922d65d1 100644
--- a/meta/recipes-core/newlib/newlib_4.2.0.bb
+++ b/meta/recipes-core/newlib/newlib_4.2.0.bb
@@ -17,4 +17,4 @@ do_install:append() {
}
# No rpm package is actually created but -dev depends on it, avoid dnf error
-RDEPENDS:${PN}-dev:libc-newlib = ""
+DEV_PKG_DEPENDENCY:libc-newlib = ""
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb b/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
index 4f844ad925..d06c6a5609 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-ssh-dropbear.bb
@@ -4,3 +4,4 @@ PR = "r1"
inherit packagegroup
RDEPENDS:${PN} = "dropbear"
+RRECOMMENDS:${PN} = "openssh-sftp-server"
diff --git a/meta/recipes-core/systemd/systemd-boot_251.2.bb b/meta/recipes-core/systemd/systemd-boot_251.3.bb
index b67706b731..b67706b731 100644
--- a/meta/recipes-core/systemd/systemd-boot_251.2.bb
+++ b/meta/recipes-core/systemd/systemd-boot_251.3.bb
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index b8dbe2263a..03f1559f02 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -14,10 +14,9 @@ LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "253052686cbd840ac69030d31c4b186af23aba4c"
+SRCREV = "516108f273888df3dcfa4f42b140252a285a2288"
SRCBRANCH = "v251-stable"
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
- file://38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-core/systemd/systemd/0001-Add-sys-file.h-for-LOCK_.patch b/meta/recipes-core/systemd/systemd/0001-Add-sys-file.h-for-LOCK_.patch
deleted file mode 100644
index 08e8af0a5b..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-Add-sys-file.h-for-LOCK_.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From c193380a08f5adea1fd514e0a20abd1d7b50d08c Mon Sep 17 00:00:00 2001
-From: Pavel Zhukov <pavel.zhukov@huawei.com>
-Date: Mon, 20 Jun 2022 11:24:52 +0200
-Subject: [PATCH] Add sys/file.h for LOCK_
-
-Upstream-Status: Backport [19df770fe14da601d4e54e1592c11c10ffe4df5a]
-
-Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com>
-
----
- src/core/namespace.c | 1 +
- src/dissect/dissect.c | 1 +
- src/shared/dissect-image.c | 2 ++
- src/sysext/sysext.c | 1 +
- src/test/test-loop-block.c | 1 +
- 5 files changed, 6 insertions(+)
-
-diff --git a/src/core/namespace.c b/src/core/namespace.c
-index 926aa96174..39f9e21c93 100644
---- a/src/core/namespace.c
-+++ b/src/core/namespace.c
-@@ -7,6 +7,7 @@
- #include <sys/mount.h>
- #include <unistd.h>
- #include <linux/fs.h>
-+#include <sys/file.h>
-
- #include "alloc-util.h"
- #include "base-filesystem.h"
-diff --git a/src/dissect/dissect.c b/src/dissect/dissect.c
-index bd94a755db..a0d2a6f287 100644
---- a/src/dissect/dissect.c
-+++ b/src/dissect/dissect.c
-@@ -6,6 +6,7 @@
- #include <stdio.h>
- #include <sys/ioctl.h>
- #include <sys/mount.h>
-+#include <sys/file.h>
-
- #include "architecture.h"
- #include "chase-symlinks.h"
-diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c
-index 1ab88839aa..a9e3fe4b44 100644
---- a/src/shared/dissect-image.c
-+++ b/src/shared/dissect-image.c
-@@ -4,6 +4,8 @@
- #include <valgrind/memcheck.h>
- #endif
-
-+#include <sys/file.h>
-+
- #include <linux/blkpg.h>
- #include <linux/dm-ioctl.h>
- #include <linux/loop.h>
-diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c
-index 364af195e0..85686c0fab 100644
---- a/src/sysext/sysext.c
-+++ b/src/sysext/sysext.c
-@@ -5,6 +5,7 @@
- #include <linux/loop.h>
- #include <sys/mount.h>
- #include <unistd.h>
-+#include <sys/file.h>
-
- #include "capability-util.h"
- #include "chase-symlinks.h"
-diff --git a/src/test/test-loop-block.c b/src/test/test-loop-block.c
-index d1793222f0..6886c4cd31 100644
---- a/src/test/test-loop-block.c
-+++ b/src/test/test-loop-block.c
-@@ -3,6 +3,7 @@
- #include <fcntl.h>
- #include <linux/loop.h>
- #include <pthread.h>
-+#include <sys/file.h>
-
- #include "alloc-util.h"
- #include "dissect-image.h"
diff --git a/meta/recipes-core/systemd/systemd/0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch b/meta/recipes-core/systemd/systemd/0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch
index 31efc4cc4b..0fb6efb469 100644
--- a/meta/recipes-core/systemd/systemd/0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch
+++ b/meta/recipes-core/systemd/systemd/0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch
@@ -1,4 +1,4 @@
-From beb0219b71510bc63aed81d2a970a04349d6c616 Mon Sep 17 00:00:00 2001
+From 258af8106cbed6fa53f7bee042bf903e58b57a41 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 29 Sep 2020 18:01:41 -0700
Subject: [PATCH] Move sysusers.d/sysctl.d/binfmt.d/modules-load.d to /usr
@@ -10,18 +10,19 @@ the old /usr/lib is still being used.
Upstream-Status: Inappropriate (OE-specific)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
+
---
src/core/systemd.pc.in | 8 ++++----
src/libsystemd/sd-path/sd-path.c | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
-index fc0f8c34fa..65996bbed8 100644
+index 693433b34b..8368a3ff02 100644
--- a/src/core/systemd.pc.in
+++ b/src/core/systemd.pc.in
-@@ -65,16 +65,16 @@ systemdshutdowndir=${systemd_shutdown_dir}
- tmpfiles_dir=${prefix}/lib/tmpfiles.d
- tmpfilesdir=${tmpfiles_dir}
+@@ -67,16 +67,16 @@ tmpfilesdir=${tmpfiles_dir}
+
+ user_tmpfiles_dir=${prefix}/share/user-tmpfiles.d
-sysusers_dir=${rootprefix}/lib/sysusers.d
+sysusers_dir=${prefix}/lib/sysusers.d
@@ -41,7 +42,7 @@ index fc0f8c34fa..65996bbed8 100644
catalog_dir=${prefix}/lib/systemd/catalog
diff --git a/src/libsystemd/sd-path/sd-path.c b/src/libsystemd/sd-path/sd-path.c
-index ff1e0d5f8e..19a001f47e 100644
+index ac33e349c0..f0615ffb22 100644
--- a/src/libsystemd/sd-path/sd-path.c
+++ b/src/libsystemd/sd-path/sd-path.c
@@ -362,19 +362,19 @@ static int get_path(uint64_t type, char **buffer, const char **ret) {
@@ -68,6 +69,3 @@ index ff1e0d5f8e..19a001f47e 100644
return 0;
case SD_PATH_CATALOG:
---
-2.34.1
-
diff --git a/meta/recipes-core/systemd/systemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch b/meta/recipes-core/systemd/systemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch
new file mode 100644
index 0000000000..6222dfe60d
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch
@@ -0,0 +1,97 @@
+From b0933e76c6f0594c10cf8a9a70b34e15b68066d1 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Sat, 23 Jul 2022 10:38:49 +0000
+Subject: [PATCH] glibc: Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/pull/23992/commits/21c03ad5e9d8d0350e30dae92a5e15da318a1539]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ meson.build | 13 ++++++++++++-
+ src/basic/fd-util.c | 2 ++
+ src/core/namespace.c | 2 ++
+ src/shared/mount-util.c | 2 ++
+ 4 files changed, 18 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 9c170acc0a..a2e4d5054e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -481,7 +481,6 @@ decl_headers = '''
+ #include <uchar.h>
+ #include <sys/mount.h>
+ #include <sys/stat.h>
+-#include <linux/fs.h>
+ '''
+
+ foreach decl : ['char16_t',
+@@ -493,6 +492,17 @@ foreach decl : ['char16_t',
+ # We get -1 if the size cannot be determined
+ have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0
+
++ if decl == 'struct mount_attr'
++ if have
++ want_linux_fs_h = false
++ else
++ have = cc.sizeof(decl,
++ prefix : decl_headers + '#include <linux/fs.h>',
++ args : '-D_GNU_SOURCE') > 0
++ want_linux_fs_h = have
++ endif
++ endif
++
+ if decl == 'struct statx'
+ if have
+ want_linux_stat_h = false
+@@ -508,6 +518,7 @@ foreach decl : ['char16_t',
+ endforeach
+
+ conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h)
++conf.set10('WANT_LINUX_FS_H', want_linux_fs_h)
+
+ foreach ident : ['secure_getenv', '__secure_getenv']
+ conf.set10('HAVE_' + ident.to_upper(), cc.has_function(ident))
+diff --git a/src/basic/fd-util.c b/src/basic/fd-util.c
+index 6c1de92a26..00591d6c2d 100644
+--- a/src/basic/fd-util.c
++++ b/src/basic/fd-util.c
+@@ -3,7 +3,9 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <linux/btrfs.h>
++#if WANT_LINUX_FS_H
+ #include <linux/fs.h>
++#endif
+ #include <linux/magic.h>
+ #include <sys/ioctl.h>
+ #include <sys/resource.h>
+diff --git a/src/core/namespace.c b/src/core/namespace.c
+index 3256871803..2eafe43290 100644
+--- a/src/core/namespace.c
++++ b/src/core/namespace.c
+@@ -7,7 +7,9 @@
+ #include <sys/file.h>
+ #include <sys/mount.h>
+ #include <unistd.h>
++#if WANT_LINUX_FS_H
+ #include <linux/fs.h>
++#endif
+
+ #include "alloc-util.h"
+ #include "base-filesystem.h"
+diff --git a/src/shared/mount-util.c b/src/shared/mount-util.c
+index e76e4a0b38..0c8dec7688 100644
+--- a/src/shared/mount-util.c
++++ b/src/shared/mount-util.c
+@@ -7,7 +7,9 @@
+ #include <sys/statvfs.h>
+ #include <unistd.h>
+ #include <linux/loop.h>
++#if WANT_LINUX_FS_H
+ #include <linux/fs.h>
++#endif
+
+ #include "alloc-util.h"
+ #include "chase-symlinks.h"
+--
+2.25.1
+
diff --git a/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch b/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch
deleted file mode 100644
index 2bb9565bf2..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-shared-utmp-wtmp-fix-build-without-utmp.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From d6e2c2d34d336398f5948a8b731fefff3dc0ff12 Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail@eworm.de>
-Date: Thu, 2 Jun 2022 20:49:46 +0200
-Subject: [PATCH] shared/utmp-wtmp: fix build without utmp
-
-Commit 16618332388442f2f1c3e52b0a9fde00121564a3 changed a function to
-add an extra argument. The data types used when building without utmp
-missed the change.
-
-Upstream-Status: Backport [d6e2c2d34d336398f5948a8b731fefff3dc0ff12]
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- src/shared/utmp-wtmp.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/shared/utmp-wtmp.h b/src/shared/utmp-wtmp.h
-index 36e4203b4f..188d011fdd 100644
---- a/src/shared/utmp-wtmp.h
-+++ b/src/shared/utmp-wtmp.h
-@@ -59,7 +59,7 @@ static inline int utmp_wall(
- const char *message,
- const char *username,
- const char *origin_tty,
-- bool (*match_tty)(const char *tty, void *userdata),
-+ bool (*match_tty)(const char *tty, bool is_local, void *userdata),
- void *userdata) {
- return 0;
- }
---
-2.36.1
-
diff --git a/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch b/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch
deleted file mode 100644
index 6ab89cd99e..0000000000
--- a/meta/recipes-core/systemd/systemd/38c87ca2ab96d085158485ecfc46c7cb6af0f166.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 38c87ca2ab96d085158485ecfc46c7cb6af0f166 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Fri, 3 Jun 2022 09:32:02 +0200
-Subject: [PATCH] sha256: fix compilation on efi-ia32
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-/usr/bin/gcc -c ../src/fundamental/sha256.c -o src/boot/efi/sha256.c.o -Wno-format-signedness -Wno-missing-field-initializers -Wno-unused-parameter -Wdate-time -Wendif-labels -Werror=format=2 -Werror=implicit-function-declaration -Werror=incompatible-pointer-types -Werror=int-conversion -Werror=overflow -Werror=override-init -Werror=return-type -Werror=shift-count-overflow -Werror=shift-overflow=2 -Werror=undef -Wfloat-equal -Wimplicit-fallthrough=5 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-aliasing=2 -Wstrict-prototypes -Wsuggest-attribute=noreturn -Wunused-function -Wwrite-strings -Wno-unused-result -fno-stack-protector -fno-strict-aliasing -fpic -fwide-exec-charset=UCS2 -Wall -Wextra -Wsign-compare -nostdlib -std=gnu99 -ffreestanding -fshort-wchar -fvisibility=hidden -isystem /usr/include/efi -isystem /usr/include/efi/ia32 -I /builddir/build/BUILD/systemd-stable-250.7/src/fundamental -DSD_BOOT -DGNU_EFI_USE_MS_ABI -include src/boot/efi/efi_config.h -include version.h -mno-sse -mno-mmx -flto -O2 -flto=auto
-../src/fundamental/sha256.c: In function ‘sha256_finish_ctx’:
-../src/fundamental/sha256.c:61:25: error: ‘false’ undeclared (first use in this function)
- 61 | # define UNALIGNED_P(p) false
- | ^~~~~
-../src/fundamental/sha256.c:136:21: note: in expansion of macro ‘UNALIGNED_P’
- 136 | if (UNALIGNED_P(resbuf))
- | ^~~~~~~~~~~
-../src/fundamental/sha256.c:32:1: note: ‘false’ is defined in header ‘<stdbool.h>’; did you forget to ‘#include <stdbool.h>’?
- 31 | #include "sha256.h"
- +++ |+#include <stdbool.h>
- 32 |
-...
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-
----
- src/fundamental/sha256.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/fundamental/sha256.c b/src/fundamental/sha256.c
-index cd16aec4dd..58b1a80d33 100644
---- a/src/fundamental/sha256.c
-+++ b/src/fundamental/sha256.c
-@@ -58,7 +58,7 @@
- # define UNALIGNED_P(p) (((size_t) p) % sizeof(uint32_t) != 0)
- # endif
- #else
--# define UNALIGNED_P(p) false
-+# define UNALIGNED_P(p) sd_false
- #endif
-
- /* This array contains the bytes used to pad the buffer to the next
diff --git a/meta/recipes-core/systemd/systemd_251.2.bb b/meta/recipes-core/systemd/systemd_251.3.bb
index bb3c59f418..72b9155f2e 100644
--- a/meta/recipes-core/systemd/systemd_251.2.bb
+++ b/meta/recipes-core/systemd/systemd_251.3.bb
@@ -14,7 +14,8 @@ inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu
# that we don't build both udev and systemd in world builds.
REQUIRED_DISTRO_FEATURES = "systemd"
-SRC_URI += "file://touchscreen.rules \
+SRC_URI += " \
+ file://touchscreen.rules \
file://00-create-volatile.conf \
${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \
@@ -24,7 +25,7 @@ SRC_URI += "file://touchscreen.rules \
file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
file://0003-implment-systemd-sysv-install-for-OE.patch \
file://0001-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \
- file://0001-shared-utmp-wtmp-fix-build-without-utmp.patch \
+ file://0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch \
"
# patches needed by musl
@@ -49,7 +50,6 @@ SRC_URI_MUSL = "\
file://0001-pass-correct-parameters-to-getdents64.patch \
file://0002-Add-sys-stat.h-for-S_IFDIR.patch \
file://0001-Adjust-for-musl-headers.patch \
- file://0001-Add-sys-file.h-for-LOCK_.patch \
"
PAM_PLUGINS = " \
@@ -786,7 +786,7 @@ pkg_prerm:${PN}:libc-glibc () {
PACKAGE_WRITE_DEPS += "qemu-native"
pkg_postinst:udev-hwdb () {
if test -n "$D"; then
- $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}"
+ $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} rootlibexecdir="${rootlibexecdir}" PREFERRED_PROVIDER_udev="${PREFERRED_PROVIDER_udev}" base_bindir="${base_bindir}"
else
udevadm hwdb --update
fi
diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty b/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
index 699a1ead1a..7106fb72fb 100644
--- a/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
+++ b/meta/recipes-core/sysvinit/sysvinit-inittab/start_getty
@@ -9,9 +9,10 @@ case $(readlink -f "${getty}") in
if [ -x "/usr/bin/setsid" ] ; then
setsid="/usr/bin/setsid"
fi
+ options=""
;;
esac
if [ -e /sys/class/tty/$2 -a -c /dev/$2 ]; then
- ${setsid:-} ${getty} -L $1 $2 $3
+ ${setsid:-} ${getty} ${options:-} -L $1 $2 $3
fi
diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh
index 8b6ce77741..b7e86dbc0e 100644
--- a/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -40,11 +40,14 @@ automount_systemd() {
name="`basename "$DEVNAME"`"
# Skip already mounted partitions
- if [ -f /run/systemd/transient/run-media-$name.mount ]; then
+ if [ -f /run/systemd/transient/$(echo $MOUNT_BASE | cut -d '/' -f 2- | sed 's#/#-#g')-*$name.mount ]; then
logger "mount.sh/automount" "$MOUNT_BASE/$name already mounted"
return
fi
+ # Get the unique name for mount point
+ get_label_name "${DEVNAME}"
+
# Only go for auto-mounting when the device has been cleaned up in remove
# or has not been identified yet
if [ -e "/tmp/.automount-$name" ]; then
@@ -61,9 +64,6 @@ automount_systemd() {
grep "^[[:space:]]*$tmp" /etc/fstab && return
done
- # Get the unique name for mount point
- get_label_name "${DEVNAME}"
-
[ -d "$MOUNT_BASE/$name" ] || mkdir -p "$MOUNT_BASE/$name"
MOUNT="$MOUNT -o silent"
@@ -89,7 +89,7 @@ automount_systemd() {
rm_dir "$MOUNT_BASE/$name"
else
logger "mount.sh/automount" "Auto-mount of [$MOUNT_BASE/$name] successful"
- touch "/tmp/.automount-$name"
+ echo "$name" > "/tmp/.automount-$name"
fi
}
diff --git a/meta/recipes-core/udev/udev-extraconf/systemd-udevd.service b/meta/recipes-core/udev/udev-extraconf/systemd-udevd.service
deleted file mode 100644
index a9b86eb6e4..0000000000
--- a/meta/recipes-core/udev/udev-extraconf/systemd-udevd.service
+++ /dev/null
@@ -1,3 +0,0 @@
-.include @systemd_unitdir@/system/systemd-udevd.service
-[Service]
-MountFlags=shared
diff --git a/meta/recipes-core/udev/udev-extraconf_1.1.bb b/meta/recipes-core/udev/udev-extraconf_1.1.bb
index ef6019259e..30f1fe76d0 100644
--- a/meta/recipes-core/udev/udev-extraconf_1.1.bb
+++ b/meta/recipes-core/udev/udev-extraconf_1.1.bb
@@ -11,7 +11,6 @@ SRC_URI = " \
file://autonet.rules \
file://network.sh \
file://localextra.rules \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'file://systemd-udevd.service', '', d)} \
"
S = "${WORKDIR}"
@@ -36,16 +35,21 @@ do_install() {
sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+}
+
+pkg_postinst:${PN} () {
+ if [ -e $D${systemd_unitdir}/system/systemd-udevd.service ]; then
+ sed -i "/\[Service\]/aMountFlags=shared" $D${systemd_unitdir}/system/systemd-udevd.service
+ fi
+}
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/systemd/system
- install ${WORKDIR}/systemd-udevd.service ${D}${sysconfdir}/systemd/system/systemd-udevd.service
- sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/systemd/system/systemd-udevd.service
- fi
+pkg_postrm:${PN} () {
+ if [ -e $D${systemd_unitdir}/system/systemd-udevd.service ]; then
+ sed -i "/MountFlags=shared/d" $D${systemd_unitdir}/system/systemd-udevd.service
+ fi
}
-FILES:${PN} = "${sysconfdir}/udev ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${sysconfdir}/systemd/system/systemd-udevd.service', '', d)}"
-RDEPENDS:${PN} = "udev util-linux-blkid"
+RDEPENDS:${PN} = "udev util-linux-blkid ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'util-linux-lsblk', '', d)}"
CONFFILES:${PN} = "${sysconfdir}/udev/mount.ignorelist"
# to replace udev-extra-rules from meta-oe
diff --git a/meta/recipes-core/zlib/zlib_1.2.12.bb b/meta/recipes-core/zlib/zlib_1.2.12.bb
index e921703137..77e7a4937f 100644
--- a/meta/recipes-core/zlib/zlib_1.2.12.bb
+++ b/meta/recipes-core/zlib/zlib_1.2.12.bb
@@ -39,16 +39,4 @@ do_install_ptest() {
install ${B}/examplesh ${D}${PTEST_PATH}
}
-# Move zlib shared libraries for target builds to $base_libdir so the library
-# can be used in early boot before $prefix is mounted.
-do_install:append:class-target() {
- if [ ${base_libdir} != ${libdir} ]
- then
- mkdir -p ${D}/${base_libdir}
- mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir}
- libname=`readlink ${D}/${libdir}/libz.so`
- ln -sf ${@oe.path.relative("${libdir}", "${base_libdir}")}/$libname ${D}${libdir}/libz.so
- fi
-}
-
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/binutils/binutils-2.38.inc b/meta/recipes-devtools/binutils/binutils-2.38.inc
index dc0a2a4054..742ca86379 100644
--- a/meta/recipes-devtools/binutils/binutils-2.38.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.38.inc
@@ -18,7 +18,7 @@ SRCBRANCH ?= "binutils-2_38-branch"
UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
-SRCREV ?= "134f17ef688ba4c72a6c4e57af7382882cc1a705"
+SRCREV ?= "eed56ee299b9ef8754bb4e53f2e9cf2a7c28c04d"
BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=git"
SRC_URI = "\
${BINUTILS_GIT_URI} \
@@ -32,5 +32,6 @@ SRC_URI = "\
file://0011-sync-with-OE-libtool-changes.patch \
file://0012-Check-for-clang-before-checking-gcc-version.patch \
file://0013-Avoid-as-info-race-condition.patch \
+ file://0014-CVE-2019-1010204.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/binutils/binutils/0014-CVE-2019-1010204.patch b/meta/recipes-devtools/binutils/binutils/0014-CVE-2019-1010204.patch
new file mode 100644
index 0000000000..dad4a62038
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0014-CVE-2019-1010204.patch
@@ -0,0 +1,49 @@
+From 2a4fc266dbf77ed7ab83da16468e9ba627b8bc2d Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Mon, 27 Jun 2022 13:07:40 +0100
+Subject: [PATCH] Have gold's File_read::do_read() function check the start
+ parameter
+
+ PR 23765
+ * fileread.cc (File_read::do_read): Check start parameter before
+ computing number of bytes to read.
+
+Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2a4fc266dbf77ed7ab83da16468e9ba627b8bc2d]
+
+Signed-off-by: Pgowda <pgowda.cve@gmail.com>
+---
+ gold/ChangeLog | 6 ++++++
+ gold/fileread.cc | 6 ++++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/gold/ChangeLog b/gold/ChangeLog
+index 5103dab7b67..8557dc6db7f 100644
+--- a/gold/ChangeLog
++++ b/gold/ChangeLog
+@@ -1,3 +1,9 @@
++2022-06-27 Nick Clifton <nickc@redhat.com>
++
++ PR 23765
++ * fileread.cc (File_read::do_read): Check start parameter before
++ computing number of bytes to read.
++
+ 2022-02-17 Nick Clifton <nickc@redhat.com>
+
+ * po/sr.po: Updated Serbian translation.
+diff --git a/gold/fileread.cc b/gold/fileread.cc
+index 2b653f78c2e..af2df215468 100644
+--- a/gold/fileread.cc
++++ b/gold/fileread.cc
+@@ -385,6 +385,12 @@ File_read::do_read(off_t start, section_
+ ssize_t bytes;
+ if (this->whole_file_view_ != NULL)
+ {
++ // See PR 23765 for an example of a testcase that triggers this error.
++ if (((ssize_t) start) < 0)
++ gold_fatal(_("%s: read failed, starting offset (%#llx) less than zero"),
++ this->filename().c_str(),
++ static_cast<long long>(start));
++
+ bytes = this->size_ - start;
+ if (static_cast<section_size_type>(bytes) >= size)
+ {
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch
new file mode 100644
index 0000000000..1397e50b30
--- /dev/null
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch
@@ -0,0 +1,32 @@
+From d9f118a3408a8a2530f0f60e8072f4323911530f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 27 Jul 2022 01:08:20 +0000
+Subject: [PATCH] device-utils.c: Use linux mount.h instead of sys/mount.h
+
+This file includes linucx/fs.h which includes linux/mount.h and with
+glibc 2.36 linux/mount.h and glibc mount.h are not compatible [1]
+therefore try to avoid including both headers
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36
+
+Upstream-Status: Submitted [https://www.spinics.net/lists/linux-btrfs/msg126918.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ common/device-utils.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/common/device-utils.c b/common/device-utils.c
+index 617b6746..25a4fb8c 100644
+--- a/common/device-utils.c
++++ b/common/device-utils.c
+@@ -15,7 +15,6 @@
+ */
+
+ #include <sys/ioctl.h>
+-#include <sys/mount.h>
+ #include <sys/statfs.h>
+ #include <sys/types.h>
+ #include <stdio.h>
+--
+2.25.1
+
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.1.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.1.bb
index 816fc17ae1..5b24bef5cd 100644
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.1.bb
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.1.bb
@@ -17,6 +17,7 @@ DEPENDS = "util-linux zlib"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
+ file://0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch \
"
SRCREV = "47b5cf867fc37411ef51eb5c09893a95f7f6c3b7"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/cargo/cargo-cross-canadian.inc b/meta/recipes-devtools/cargo/cargo-cross-canadian.inc
index 7fc22a4128..a2fac929d4 100644
--- a/meta/recipes-devtools/cargo/cargo-cross-canadian.inc
+++ b/meta/recipes-devtools/cargo/cargo-cross-canadian.inc
@@ -5,7 +5,7 @@ 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
+inherit rust-target-config
require cargo.inc
CARGO = "${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo"
@@ -28,17 +28,24 @@ inherit cross-canadian
PN = "cargo-cross-canadian-${TRANSLATED_TARGET_ARCH}"
-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'))
-}
+RUST_TARGETGENS = "BUILD HOST"
do_compile:prepend () {
PKG_CONFIG_PATH="${RECIPE_SYSROOT_NATIVE}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"
}
+create_sdk_wrapper () {
+ file="$1"
+ shift
+
+ cat <<- EOF > "${file}"
+ #!/bin/sh
+ \$$1 \$@
+ EOF
+
+ chmod +x "$file"
+}
+
do_install () {
SYS_BINDIR=$(dirname ${D}${bindir})
install -d "${SYS_BINDIR}"
@@ -47,6 +54,9 @@ do_install () {
chrpath -r "\$ORIGIN/../lib" ${i}
done
+ # Uses SDK's CC as linker so linked binaries works out of box.
+ create_sdk_wrapper "${SYS_BINDIR}/target-rust-ccld" "CC"
+
ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
mkdir "${ENV_SETUP_DIR}"
ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
@@ -58,7 +68,10 @@ do_install () {
touch "\$CARGO_HOME/config"
echo "[build]" >> "\$CARGO_HOME/config"
echo 'target = "'${TARGET_SYS}'"' >> "\$CARGO_HOME/config"
- fi
+ echo '# TARGET_SYS' >> "\$CARGO_HOME/config"
+ echo '[target.'${TARGET_SYS}']' >> "\$CARGO_HOME/config"
+ echo 'linker = "target-rust-ccld"' >> "\$CARGO_HOME/config"
+ fi
# Keep the below off as long as HTTP/2 is disabled.
export CARGO_HTTP_MULTIPLEXING=false
diff --git a/meta/recipes-devtools/cargo/cargo-cross-canadian_1.60.0.bb b/meta/recipes-devtools/cargo/cargo-cross-canadian_1.62.0.bb
index 63fd69107b..63fd69107b 100644
--- a/meta/recipes-devtools/cargo/cargo-cross-canadian_1.60.0.bb
+++ b/meta/recipes-devtools/cargo/cargo-cross-canadian_1.62.0.bb
diff --git a/meta/recipes-devtools/cargo/cargo_1.60.0.bb b/meta/recipes-devtools/cargo/cargo_1.62.0.bb
index eee58fc245..eee58fc245 100644
--- a/meta/recipes-devtools/cargo/cargo_1.60.0.bb
+++ b/meta/recipes-devtools/cargo/cargo_1.62.0.bb
diff --git a/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
index 86446c3ace..3ddef12c83 100644
--- a/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
+++ b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake
@@ -1,7 +1,6 @@
set( CMAKE_SYSTEM_NAME Linux )
set( CMAKE_C_FLAGS $ENV{CFLAGS} CACHE STRING "" FORCE )
set( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} CACHE STRING "" FORCE )
-set( CMAKE_ASM_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE )
set( CMAKE_SYSROOT $ENV{OECORE_TARGET_SYSROOT} )
set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} )
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_0.20.0.bb b/meta/recipes-devtools/createrepo-c/createrepo-c_0.20.1.bb
index bc61cac955..d309bb895f 100644
--- a/meta/recipes-devtools/createrepo-c/createrepo-c_0.20.0.bb
+++ b/meta/recipes-devtools/createrepo-c/createrepo-c_0.20.1.bb
@@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c;branch=master;p
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
"
-SRCREV = "e53188f86f4dfad46f5b81d6931cbaec19e44ea2"
+SRCREV = "af14e164a3e4ab9dfaef1212e852b9ecebc326a2"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/dmidecode/dmidecode_3.3.bb b/meta/recipes-devtools/dmidecode/dmidecode_3.4.bb
index 23540b2703..bc741046dd 100644
--- a/meta/recipes-devtools/dmidecode/dmidecode_3.3.bb
+++ b/meta/recipes-devtools/dmidecode/dmidecode_3.4.bb
@@ -20,5 +20,5 @@ do_install() {
oe_runmake DESTDIR="${D}" install
}
-SRC_URI[sha256sum] = "82c737a780614c38a783e8055340d295e332fb12c7f418b5d21a0797d3fb1455"
+SRC_URI[sha256sum] = "43cba851d8467c9979ccdbeab192eb6638c7d3a697eba5ddb779da8837542212"
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb b/meta/recipes-devtools/dpkg/dpkg_1.21.9.bb
index 0d6b43aabb..feb579723f 100644
--- a/meta/recipes-devtools/dpkg/dpkg_1.21.8.bb
+++ b/meta/recipes-devtools/dpkg/dpkg_1.21.9.bb
@@ -18,6 +18,6 @@ SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=main
SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
-SRCREV = "a154134fe70c0b823ae14905bdc33b64e7dcd454"
+SRCREV = "c2d6b7de5849c62d3a4f55f61dbc53c1992f74ee"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.187.bb b/meta/recipes-devtools/elfutils/elfutils_0.187.bb
index 31983dfd6b..561112c580 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.187.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.187.bb
@@ -49,6 +49,9 @@ RDEPENDS:${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils iprout
EXTRA_OECONF:append:class-target = " --disable-tests-rpath"
+# symver functions not currently supported on microblaze
+EXTRA_OECONF:append:class-target:microblaze = " --disable-symbol-versioning"
+
RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-dbg glibc-dev"
INSANE_SKIP:${PN}-ptest = "debug-deps dev-deps"
@@ -56,6 +59,7 @@ do_compile_ptest() {
cd ${B}/tests
oe_runmake buildtest-TESTS oecheck
}
+PTEST_PARALLEL_MAKE = ""
do_install_ptest() {
if [ ${PTEST_ENABLED} = "1" ]; then
diff --git a/meta/recipes-devtools/flex/flex_2.6.4.bb b/meta/recipes-devtools/flex/flex_2.6.4.bb
index c7cd965347..8736b3585e 100644
--- a/meta/recipes-devtools/flex/flex_2.6.4.bb
+++ b/meta/recipes-devtools/flex/flex_2.6.4.bb
@@ -60,6 +60,7 @@ RDEPENDS:${PN}-ptest += "bash gawk make"
do_compile_ptest() {
oe_runmake -C ${B}/tests -f ${B}/tests/Makefile top_builddir=${B} INCLUDES=-I${S}/src buildtests
}
+PTEST_PARALLEL_MAKE = ""
do_install_ptest() {
mkdir -p ${D}${PTEST_PATH}/build-aux/
diff --git a/meta/recipes-devtools/gcc/gcc-12.1.inc b/meta/recipes-devtools/gcc/gcc-12.1.inc
index 250b587e78..56678c78be 100644
--- a/meta/recipes-devtools/gcc/gcc-12.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-12.1.inc
@@ -63,6 +63,8 @@ SRC_URI = "${BASEURI} \
file://0023-libatomic-Do-not-enforce-march-on-aarch64.patch \
file://0024-Fix-install-path-of-linux64.h.patch \
file://0025-Move-sched.h-include-ahead-of-user-headers.patch \
+ file://0026-rust-recursion-limit.patch \
+ file://0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch \
"
SRC_URI[sha256sum] = "62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b"
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index c39a0caf8a..b8bfdcedad 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -16,7 +16,8 @@ EXTRA_OECONF_PATHS = "\
EXTRA_OECONF:append:linuxstdbase = " --enable-clocale=gnu"
EXTRA_OECONF:append = " --cache-file=${B}/config.cache"
-EXTRA_OECONF:append:libc-newlib = " --with-newlib"
+EXTRA_OECONF:append:libc-newlib = " --with-newlib --with-target-subdir"
+EXTRA_OECONF:append:libc-baremetal = " --with-target-subdir"
# Disable ifuncs for libatomic on arm conflicts -march/-mcpu
EXTRA_OECONF:append:arm = " libat_cv_have_ifunc=no "
@@ -53,7 +54,7 @@ RUNTIMETARGET:libc-newlib = "libstdc++-v3"
REL_S = "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
DEBUG_PREFIX_MAP:class-target = " \
- -fdebug-prefix-map=${WORKDIR}/recipe-sysroot= \
+ -fdebug-prefix-map=${WORKDIR}/${MLPREFIX}recipe-sysroot= \
-fdebug-prefix-map=${WORKDIR}/recipe-sysroot-native= \
-fdebug-prefix-map=${S}=${REL_S} \
-fdebug-prefix-map=${S}/include=${REL_S}/libstdc++-v3/../include \
@@ -68,7 +69,8 @@ do_configure () {
# libstdc++ isn't built yet so CXX would error not able to find it which breaks stdc++'s configure
# tests. Create a dummy empty lib for the purposes of configure.
mkdir -p ${WORKDIR}/dummylib
- touch ${WORKDIR}/dummylib/libstdc++.so
+ ${CC} -x c /dev/null -c -o ${WORKDIR}/dummylib/dummylib.o
+ ${AR} rcs ${WORKDIR}/dummylib/libstdc++.a ${WORKDIR}/dummylib/dummylib.o
for d in libgcc ${RUNTIMETARGET}; do
echo "Configuring $d"
rm -rf ${B}/${TARGET_SYS}/$d/
diff --git a/meta/recipes-devtools/gcc/gcc/0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch b/meta/recipes-devtools/gcc/gcc/0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch
new file mode 100644
index 0000000000..6bbc95aa00
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc/0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch
@@ -0,0 +1,45 @@
+From 2701442d0cf6292f6624443c15813d6d1a3562fe Mon Sep 17 00:00:00 2001
+From: Martin Liska <mliska@suse.cz>
+Date: Mon, 11 Jul 2022 22:03:14 +0200
+Subject: [PATCH] libsanitizer: cherry-pick 9cf13067cb5088626ba7 from upstream
+
+9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 [sanitizer] Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36
+
+Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=2701442d0cf6292f6624443c15813d6d1a3562fe]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../sanitizer_platform_limits_posix.cpp | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
+index 8ed3e92d270..97fd07acf9d 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
+@@ -73,7 +73,9 @@
+ #include <sys/vt.h>
+ #include <linux/cdrom.h>
+ #include <linux/fd.h>
++#if SANITIZER_ANDROID
+ #include <linux/fs.h>
++#endif
+ #include <linux/hdreg.h>
+ #include <linux/input.h>
+ #include <linux/ioctl.h>
+@@ -869,10 +871,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
+ unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
+ #endif
+- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
+- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
+- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
+- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
++ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
++ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
++ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
++ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
+ unsigned IOCTL_GIO_CMAP = GIO_CMAP;
+ unsigned IOCTL_GIO_FONT = GIO_FONT;
+ unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
+--
+2.37.1
+
diff --git a/meta/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch b/meta/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch
new file mode 100644
index 0000000000..bbe2f18f6f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch
@@ -0,0 +1,92 @@
+From 9234cdca6ee88badfc00297e72f13dac4e540c79 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Fri, 1 Jul 2022 15:58:52 +0100
+Subject: [PATCH] Add a recursion limit to the demangle_const function in the
+ Rust demangler.
+
+libiberty/
+ PR demangler/105039
+ * rust-demangle.c (demangle_const): Add recursion limit.
+
+Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=9234cdca6ee88badfc00297e72f13dac4e540c79]
+---
+ libiberty/rust-demangle.c | 29 ++++++++++++++++++++---------
+ 1 file changed, 20 insertions(+), 9 deletions(-)
+
+diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c
+index bb58d900e27..36afcfae278 100644
+--- a/libiberty/rust-demangle.c
++++ b/libiberty/rust-demangle.c
+@@ -126,7 +126,7 @@ parse_integer_62 (struct rust_demangler *rdm)
+ return 0;
+
+ x = 0;
+- while (!eat (rdm, '_'))
++ while (!eat (rdm, '_') && !rdm->errored)
+ {
+ c = next (rdm);
+ x *= 62;
+@@ -1148,6 +1148,15 @@ demangle_const (struct rust_demangler *rdm)
+ if (rdm->errored)
+ return;
+
++ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
++ {
++ ++ rdm->recursion;
++ if (rdm->recursion > RUST_MAX_RECURSION_COUNT)
++ /* FIXME: There ought to be a way to report
++ that the recursion limit has been reached. */
++ goto fail_return;
++ }
++
+ if (eat (rdm, 'B'))
+ {
+ backref = parse_integer_62 (rdm);
+@@ -1158,7 +1167,7 @@ demangle_const (struct rust_demangler *rdm)
+ demangle_const (rdm);
+ rdm->next = old_next;
+ }
+- return;
++ goto pass_return;
+ }
+
+ ty_tag = next (rdm);
+@@ -1167,7 +1176,7 @@ demangle_const (struct rust_demangler *rdm)
+ /* Placeholder. */
+ case 'p':
+ PRINT ("_");
+- return;
++ goto pass_return;
+
+ /* Unsigned integer types. */
+ case 'h':
+@@ -1200,18 +1209,20 @@ demangle_const (struct rust_demangler *rdm)
+ break;
+
+ default:
+- rdm->errored = 1;
+- return;
++ goto fail_return;
+ }
+
+- if (rdm->errored)
+- return;
+-
+- if (rdm->verbose)
++ if (!rdm->errored && rdm->verbose)
+ {
+ PRINT (": ");
+ PRINT (basic_type (ty_tag));
+ }
++
++ fail_return:
++ rdm->errored = 1;
++ pass_return:
++ if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
++ -- rdm->recursion;
+ }
+
+ static void
+--
+2.31.1
+
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc
index d48dc8b823..cf8d6b7ed6 100644
--- a/meta/recipes-devtools/gcc/libgcc-common.inc
+++ b/meta/recipes-devtools/gcc/libgcc-common.inc
@@ -45,15 +45,19 @@ do_install () {
}
do_install:append:libc-baremetal () {
- rmdir ${D}${base_libdir}
+ if [ "${base_libdir}" != "${libdir}" ]; then
+ rmdir ${D}${base_libdir}
+ fi
}
do_install:append:libc-newlib () {
- rmdir ${D}${base_libdir}
+ if [ "${base_libdir}" != "${libdir}" ]; then
+ rmdir ${D}${base_libdir}
+ fi
}
# No rpm package is actually created but -dev depends on it, avoid dnf error
-RDEPENDS:${PN}-dev:libc-baremetal = ""
-RDEPENDS:${PN}-dev:libc-newlib = ""
+DEV_PKG_DEPENDENCY:libc-baremetal = ""
+DEV_PKG_DEPENDENCY:libc-newlib = ""
BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-devtools/git/git_2.36.1.bb b/meta/recipes-devtools/git/git_2.37.1.bb
index 07e416282b..5d2524a1da 100644
--- a/meta/recipes-devtools/git/git_2.36.1.bb
+++ b/meta/recipes-devtools/git/git_2.37.1.bb
@@ -165,4 +165,4 @@ EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
"
EXTRA_OEMAKE += "NO_GETTEXT=1"
-SRC_URI[tarball.sha256sum] = "37d936fd17c81aa9ddd3dba4e56e88a45fa534ad0ba946454e8ce818760c6a2c"
+SRC_URI[tarball.sha256sum] = "7dded96a52e7996ce90dd74a187aec175737f680dc063f3f33c8932cf5c8d809"
diff --git a/meta/recipes-devtools/go/go-1.18.3.inc b/meta/recipes-devtools/go/go-1.18.4.inc
index 68062952ca..bfda15c54f 100644
--- a/meta/recipes-devtools/go/go-1.18.3.inc
+++ b/meta/recipes-devtools/go/go-1.18.4.inc
@@ -13,5 +13,6 @@ SRC_URI += "\
file://0007-cmd-go-make-GOROOT-precious-by-default.patch \
file://0001-exec.go-do-not-write-linker-flags-into-buildids.patch \
file://0001-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
+ file://filter-build-paths.patch \
"
-SRC_URI[main.sha256sum] = "0012386ddcbb5f3350e407c679923811dbd283fcdc421724931614a842ecbc2d"
+SRC_URI[main.sha256sum] = "4525aa6b0e3cecb57845f4060a7075aafc9ab752bb7b6b4cf8a212d43078e1e4"
diff --git a/meta/recipes-devtools/go/go-binary-native_1.18.3.bb b/meta/recipes-devtools/go/go-binary-native_1.18.4.bb
index f207a47e90..252c467a00 100644
--- a/meta/recipes-devtools/go/go-binary-native_1.18.3.bb
+++ b/meta/recipes-devtools/go/go-binary-native_1.18.4.bb
@@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
PROVIDES = "go-native"
SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "956f8507b302ab0bb747613695cdae10af99bbd39a90cae522b7c0302cc27245"
-SRC_URI[go_linux_arm64.sha256sum] = "beacbe1441bee4d7978b900136d1d6a71d150f0a9bb77e9d50c822065623a35a"
+SRC_URI[go_linux_amd64.sha256sum] = "c9b099b68d93f5c5c8a8844a89f8db07eaa58270e3a1e01804f17f4cf8df02f5"
+SRC_URI[go_linux_arm64.sha256sum] = "35014d92b50d97da41dade965df7ebeb9a715da600206aa59ce1b2d05527421f"
UPSTREAM_CHECK_URI = "https://golang.org/dl/"
UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.18.3.bb b/meta/recipes-devtools/go/go-cross-canadian_1.18.4.bb
index 7ac9449e47..7ac9449e47 100644
--- a/meta/recipes-devtools/go/go-cross-canadian_1.18.3.bb
+++ b/meta/recipes-devtools/go/go-cross-canadian_1.18.4.bb
diff --git a/meta/recipes-devtools/go/go-cross_1.18.3.bb b/meta/recipes-devtools/go/go-cross_1.18.4.bb
index 80b5a03f6c..80b5a03f6c 100644
--- a/meta/recipes-devtools/go/go-cross_1.18.3.bb
+++ b/meta/recipes-devtools/go/go-cross_1.18.4.bb
diff --git a/meta/recipes-devtools/go/go-crosssdk_1.18.3.bb b/meta/recipes-devtools/go/go-crosssdk_1.18.4.bb
index 1857c8a577..1857c8a577 100644
--- a/meta/recipes-devtools/go/go-crosssdk_1.18.3.bb
+++ b/meta/recipes-devtools/go/go-crosssdk_1.18.4.bb
diff --git a/meta/recipes-devtools/go/go-native_1.18.3.bb b/meta/recipes-devtools/go/go-native_1.18.4.bb
index 76c0ab73a6..76c0ab73a6 100644
--- a/meta/recipes-devtools/go/go-native_1.18.3.bb
+++ b/meta/recipes-devtools/go/go-native_1.18.4.bb
diff --git a/meta/recipes-devtools/go/go-runtime.inc b/meta/recipes-devtools/go/go-runtime.inc
index e18339cddb..d1846707cc 100644
--- a/meta/recipes-devtools/go/go-runtime.inc
+++ b/meta/recipes-devtools/go/go-runtime.inc
@@ -14,7 +14,7 @@ export CGO_CXXFLAGS = "${CXXFLAGS}"
export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not f.startswith('-fdebug-prefix-map'), d.getVar('LDFLAGS').split())) }"
export GOCACHE = "${B}/.cache"
-GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}"
+GO_EXTLDFLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${LDFLAGS}"
GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags '${GO_EXTLDFLAGS}'"'
do_configure() {
diff --git a/meta/recipes-devtools/go/go-runtime_1.18.3.bb b/meta/recipes-devtools/go/go-runtime_1.18.4.bb
index 63464a1501..63464a1501 100644
--- a/meta/recipes-devtools/go/go-runtime_1.18.3.bb
+++ b/meta/recipes-devtools/go/go-runtime_1.18.4.bb
diff --git a/meta/recipes-devtools/go/go/filter-build-paths.patch b/meta/recipes-devtools/go/go/filter-build-paths.patch
new file mode 100644
index 0000000000..caf727714e
--- /dev/null
+++ b/meta/recipes-devtools/go/go/filter-build-paths.patch
@@ -0,0 +1,48 @@
+Filter out build time paths from ldflags and other flags variables when they're
+embedded in the go binary so that builds are reproducible regardless of build
+location. This codepath is hit for statically linked go binaries such as those
+on mips/ppc.
+
+Upstream-Status: Pending
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: go/src/cmd/go/internal/load/pkg.go
+===================================================================
+--- go.orig/src/cmd/go/internal/load/pkg.go
++++ go/src/cmd/go/internal/load/pkg.go
+@@ -2225,6 +2225,17 @@ func (p *Package) collectDeps() {
+ // to their VCS information (vcsStatusError).
+ var vcsStatusCache par.Cache
+
++func filterCompilerFlags(flags string) string {
++ var newflags []string
++ for _, flag := range strings.Fields(flags) {
++ if strings.HasPrefix(flag, "--sysroot") || strings.HasPrefix(flag, "-fmacro-prefix-map") || strings.HasPrefix(flag, "-fdebug-prefix-map") {
++ continue
++ }
++ newflags = append(newflags, flag)
++ }
++ return strings.Join(newflags, " ")
++}
++
+ // setBuildInfo gathers build information, formats it as a string to be
+ // embedded in the binary, then sets p.Internal.BuildInfo to that string.
+ // setBuildInfo should only be called on a main package with no errors.
+@@ -2329,7 +2340,7 @@ func (p *Package) setBuildInfo(includeVC
+ appendSetting("-gcflags", BuildGcflags.String())
+ }
+ if BuildLdflags.present {
+- appendSetting("-ldflags", BuildLdflags.String())
++ appendSetting("-ldflags", filterCompilerFlags(BuildLdflags.String()))
+ }
+ if cfg.BuildMSan {
+ appendSetting("-msan", "true")
+@@ -2347,7 +2358,7 @@ func (p *Package) setBuildInfo(includeVC
+ appendSetting("CGO_ENABLED", cgo)
+ if cfg.BuildContext.CgoEnabled {
+ for _, name := range []string{"CGO_CFLAGS", "CGO_CPPFLAGS", "CGO_CXXFLAGS", "CGO_LDFLAGS"} {
+- appendSetting(name, cfg.Getenv(name))
++ appendSetting(name, filterCompilerFlags(cfg.Getenv(name)))
+ }
+ }
+ appendSetting("GOARCH", cfg.BuildContext.GOARCH)
diff --git a/meta/recipes-devtools/go/go_1.18.3.bb b/meta/recipes-devtools/go/go_1.18.4.bb
index 98977673ee..98977673ee 100644
--- a/meta/recipes-devtools/go/go_1.18.3.bb
+++ b/meta/recipes-devtools/go/go_1.18.4.bb
diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
index 2ec5c1e1c0..bdea95db96 100644
--- a/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/meta/recipes-devtools/llvm/llvm_git.bb
@@ -19,14 +19,14 @@ inherit cmake pkgconfig
PROVIDES += "llvm${PV}"
-PV = "14.0.4"
+PV = "14.0.6"
MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}"
LLVM_RELEASE = "${PV}"
BRANCH = "release/${MAJOR_VERSION}.x"
-SRCREV = "29f1039a7285a5c3a9c353d054140bf2556d4c4d"
+SRCREV = "f28c006a5895fc0e329fe15fead81e37457cb1d1"
SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \
file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
diff --git a/meta/recipes-devtools/log4cplus/log4cplus_2.0.7.bb b/meta/recipes-devtools/log4cplus/log4cplus_2.0.8.bb
index 3798b93f76..bbf4ce6218 100644
--- a/meta/recipes-devtools/log4cplus/log4cplus_2.0.7.bb
+++ b/meta/recipes-devtools/log4cplus/log4cplus_2.0.8.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz \
"
-SRC_URI[sha256sum] = "086451c7e7c582862cbd6c60d87bb6d9d63c4b65321dba85fa71766382f7ec6d"
+SRC_URI[sha256sum] = "cdc3c738e00be84d8d03b580816b9f12628ecc1d71e1395080c802615d2d9ced"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/"
UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P<pver>\d+(\.\d+)+)/"
diff --git a/meta/recipes-devtools/lua/lua/CVE-2022-33099.patch b/meta/recipes-devtools/lua/lua/CVE-2022-33099.patch
new file mode 100644
index 0000000000..fe7b6065c2
--- /dev/null
+++ b/meta/recipes-devtools/lua/lua/CVE-2022-33099.patch
@@ -0,0 +1,61 @@
+From 42d40581dd919fb134c07027ca1ce0844c670daf Mon Sep 17 00:00:00 2001
+From: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
+Date: Fri, 20 May 2022 13:14:33 -0300
+Subject: [PATCH] Save stack space while handling errors
+
+Because error handling (luaG_errormsg) uses slots from EXTRA_STACK,
+and some errors can recur (e.g., string overflow while creating an
+error message in 'luaG_runerror', or a C-stack overflow before calling
+the message handler), the code should use stack slots with parsimony.
+
+This commit fixes the bug "Lua-stack overflow when C stack overflows
+while handling an error".
+
+CVE: CVE-2022-33099
+
+Upstream-Status: Backport [https://github.com/lua/lua/commit/42d40581dd919fb134c07027ca1ce0844c670daf]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ldebug.c | 5 ++++-
+ lvm.c | 6 ++++--
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+--- a/src/ldebug.c
++++ b/src/ldebug.c
+@@ -824,8 +824,11 @@ l_noret luaG_runerror (lua_State *L, con
+ va_start(argp, fmt);
+ msg = luaO_pushvfstring(L, fmt, argp); /* format message */
+ va_end(argp);
+- if (isLua(ci)) /* if Lua function, add source:line information */
++ if (isLua(ci)) { /* if Lua function, add source:line information */
+ luaG_addinfo(L, msg, ci_func(ci)->p->source, getcurrentline(ci));
++ setobjs2s(L, L->top - 2, L->top - 1); /* remove 'msg' from the stack */
++ L->top--;
++ }
+ luaG_errormsg(L);
+ }
+
+--- a/src/lvm.c
++++ b/src/lvm.c
+@@ -656,8 +656,10 @@ void luaV_concat (lua_State *L, int tota
+ /* collect total length and number of strings */
+ for (n = 1; n < total && tostring(L, s2v(top - n - 1)); n++) {
+ size_t l = vslen(s2v(top - n - 1));
+- if (l_unlikely(l >= (MAX_SIZE/sizeof(char)) - tl))
++ if (l_unlikely(l >= (MAX_SIZE/sizeof(char)) - tl)) {
++ L->top = top - total; /* pop strings to avoid wasting stack */
+ luaG_runerror(L, "string length overflow");
++ }
+ tl += l;
+ }
+ if (tl <= LUAI_MAXSHORTLEN) { /* is result a short string? */
+@@ -672,7 +674,7 @@ void luaV_concat (lua_State *L, int tota
+ setsvalue2s(L, top - n, ts); /* create result */
+ }
+ total -= n-1; /* got 'n' strings to create 1 new */
+- L->top -= n-1; /* popped 'n' strings and pushed one */
++ L->top = top - (n - 1); /* popped 'n' strings and pushed one */
+ } while (total > 1); /* repeat until only 1 result left */
+ }
+
diff --git a/meta/recipes-devtools/lua/lua/lua.pc.in b/meta/recipes-devtools/lua/lua/lua.pc.in
index c27e86e85d..1fc288c4fe 100644
--- a/meta/recipes-devtools/lua/lua/lua.pc.in
+++ b/meta/recipes-devtools/lua/lua/lua.pc.in
@@ -1,6 +1,5 @@
-prefix=/usr
-libdir=${prefix}/lib
-includedir=${prefix}/include
+libdir=@LIBDIR@
+includedir=@INCLUDEDIR@
Name: Lua
Description: Lua language engine
diff --git a/meta/recipes-devtools/lua/lua_5.4.4.bb b/meta/recipes-devtools/lua/lua_5.4.4.bb
index d704841378..0b2e754b31 100644
--- a/meta/recipes-devtools/lua/lua_5.4.4.bb
+++ b/meta/recipes-devtools/lua/lua_5.4.4.bb
@@ -7,6 +7,7 @@ HOMEPAGE = "http://www.lua.org/"
SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
file://lua.pc.in \
file://CVE-2022-28805.patch \
+ file://CVE-2022-33099.patch \
${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'http://www.lua.org/tests/lua-${PV_testsuites}-tests.tar.gz;name=tarballtest file://run-ptest ', '', d)} \
"
@@ -45,7 +46,7 @@ do_install () {
install
install -d ${D}${libdir}/pkgconfig
- sed -e s/@VERSION@/${PV}/ ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
+ sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
rmdir ${D}${datadir}/lua/5.4
rmdir ${D}${datadir}/lua
diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index 8fafaad975..c62007f507 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -1,7 +1,7 @@
#!/bin/sh
if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
- echo "OECORE_NATIVE_SYSROOT not set; are you in a Yocto SDK environment?" >&2
+ exec "meson.real" "$@"
fi
if [ -z "$SSL_CERT_DIR" ]; then
diff --git a/meta/recipes-devtools/meson/meson_0.62.2.bb b/meta/recipes-devtools/meson/meson_0.63.0.bb
index acfc64fd4f..890f47506f 100644
--- a/meta/recipes-devtools/meson/meson_0.62.2.bb
+++ b/meta/recipes-devtools/meson/meson_0.63.0.bb
@@ -17,7 +17,7 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
file://0001-is_debianlike-always-return-False.patch \
file://0001-Check-for-clang-before-guessing-gcc-or-lcc.patch \
"
-SRC_URI[sha256sum] = "a7669e4c4110b06b743d57cc5d6432591a6677ef2402139fe4f3d42ac13380b0"
+SRC_URI[sha256sum] = "3b51d451744c2bc71838524ec8d96cd4f8c4793d5b8d5d0d0a9c8a4f7c94cd6f"
UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar"
@@ -75,7 +75,7 @@ def generate_native_link_template(d):
return repr(val)
-do_install:append:class-nativesdk() {
+install_templates() {
install -d ${D}${datadir}/meson
cat >${D}${datadir}/meson/meson.native.template <<EOF
@@ -117,11 +117,19 @@ needs_exe_wrapper = true
sys_root = @OECORE_TARGET_SYSROOT
[host_machine]
-system = '${SDK_OS}'
-cpu_family = '${@meson_cpu_family("SDK_ARCH", d)}'
-cpu = '${SDK_ARCH}'
-endian = '${@meson_endian("SDK", d)}'
+system = '$host_system'
+cpu_family = '$host_cpu_family'
+cpu = '$host_cpu'
+endian = '$host_endian'
EOF
+}
+
+do_install:append:class-nativesdk() {
+ host_system=${SDK_OS}
+ host_cpu_family=${@meson_cpu_family("SDK_ARCH", d)}
+ host_cpu=${SDK_ARCH}
+ host_endian=${@meson_endian("SDK", d)}
+ install_templates
install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
@@ -132,3 +140,19 @@ EOF
}
FILES:${PN}:append:class-nativesdk = "${datadir}/meson ${SDKPATHNATIVE}"
+
+do_install:append:class-native() {
+ host_system=${HOST_OS}
+ host_cpu_family=${@meson_cpu_family("HOST_ARCH", d)}
+ host_cpu=${HOST_ARCH}
+ host_endian=${@meson_endian("HOST", d)}
+ install_templates
+
+ install -d ${D}${datadir}/post-relocate-setup.d
+ install -m 0755 ${WORKDIR}/meson-setup.py ${D}${datadir}/post-relocate-setup.d/
+
+ # We need to wrap the real meson with a thin wrapper that substitues native/cross files
+ # when running in a direct SDK environment.
+ mv ${D}${bindir}/meson ${D}${bindir}/meson.real
+ install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
+}
diff --git a/meta/recipes-devtools/mmc/mmc-utils_git.bb b/meta/recipes-devtools/mmc/mmc-utils_git.bb
index 3e611d1306..0bb94ab93a 100644
--- a/meta/recipes-devtools/mmc/mmc-utils_git.bb
+++ b/meta/recipes-devtools/mmc/mmc-utils_git.bb
@@ -5,7 +5,7 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d"
SRCBRANCH ?= "master"
-SRCREV = "b7e4d5a6ae9942d26a11de9b05ae7d52c0802802"
+SRCREV = "d7b343fd262880994f041ce2335442e7bd1071f5"
PV = "0.1+git${SRCPV}"
diff --git a/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb b/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb
index e2c79d962b..881d5e672e 100644
--- a/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb
+++ b/meta/recipes-devtools/perl/libmodule-build-perl_0.4231.bb
@@ -37,6 +37,7 @@ EXTRA_CPAN_BUILD_FLAGS = "--create_packlist=0"
do_install:append () {
rm -rf ${D}${docdir}/perl/html
+ sed -i "s:^#!.*:#!/usr/bin/env perl:" ${D}${bindir}/config_data
}
do_install_ptest() {
diff --git a/meta/recipes-devtools/perl/perl-ptest.inc b/meta/recipes-devtools/perl/perl-ptest.inc
index 54c7807571..c233fab545 100644
--- a/meta/recipes-devtools/perl/perl-ptest.inc
+++ b/meta/recipes-devtools/perl/perl-ptest.inc
@@ -10,12 +10,12 @@ do_install_ptest () {
sed -e "s:\/usr\/local:${bindir}:g" -i cpan/version/t/*
sed -e "s:\/opt:\/usr:" -i Porting/add-package.pl
sed -e "s:\/local\/gnu\/:\/:" -i hints/cxux.sh
- tar -c --exclude=try --exclude=a.out --exclude='*.o' --exclude=libperl.so* --exclude=Makefile --exclude=makefile --exclude=hostperl \
+ tar -c --exclude=try --exclude=a.out --exclude='*.o' --exclude=libperl.so* --exclude=[Mm]akefile --exclude=hostperl \
--exclude=cygwin --exclude=os2 --exclude=djgpp --exclude=qnx --exclude=symbian --exclude=haiku \
--exclude=vms --exclude=vos --exclude=NetWare --exclude=amigaos4 --exclude=buildcustomize.pl \
--exclude='win32/config.*' --exclude=plan9 --exclude=README.plan9 --exclude=perlplan9.pod --exclude=Configure \
--exclude=veryclean.sh --exclude=realclean.sh --exclude=getioctlsizes \
- --exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=makefile.old \
+ --exclude=dl_aix.xs --exclude=sdbm.3 --exclude='cflags.SH' --exclude=[Mm]akefile.old \
--exclude=miniperl --exclude=generate_uudmap --exclude=patches --exclude='config.log' * | ( cd ${D}${PTEST_PATH} && tar -x )
ln -sf ${bindir}/perl ${D}${PTEST_PATH}/t/perl
diff --git a/meta/recipes-devtools/python/python-cython.inc b/meta/recipes-devtools/python/python-cython.inc
index ab8c4d65f3..750ccfd7ae 100644
--- a/meta/recipes-devtools/python/python-cython.inc
+++ b/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] = "2235b62da8fe6fa8b99422c8e583f2fb95e143867d337b5c75e4b9a1a865f9e3"
+SRC_URI[sha256sum] = "8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7"
UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
inherit pypi
diff --git a/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb b/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb
index 065a2c7b4f..d4d15cea50 100644
--- a/meta/recipes-devtools/python/python3-atomicwrites_1.4.0.bb
+++ b/meta/recipes-devtools/python/python3-atomicwrites_1.4.1.bb
@@ -3,8 +3,7 @@ HOMEPAGE = "https://github.com/untitaker/python-atomicwrites"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=91cc36cfafeefb7863673bcfcb1d4da4"
-SRC_URI[md5sum] = "b5cc15c8f9f180a48665f9aacf91d817"
-SRC_URI[sha256sum] = "ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"
+SRC_URI[sha256sum] = "81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"
inherit pypi setuptools3 ptest
diff --git a/meta/recipes-devtools/python/python3-attrs_21.4.0.bb b/meta/recipes-devtools/python/python3-attrs_22.1.0.bb
index 1839ce6245..ba07ac71e3 100644
--- a/meta/recipes-devtools/python/python3-attrs_21.4.0.bb
+++ b/meta/recipes-devtools/python/python3-attrs_22.1.0.bb
@@ -1,9 +1,9 @@
DESCRIPTION = "Classes Without Boilerplate"
HOMEPAGE = "http://www.attrs.org/"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5e55731824cf9205cfabeab9a0600887"
-SRC_URI[sha256sum] = "626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"
+SRC_URI[sha256sum] = "29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"
inherit pypi python_setuptools_build_meta
diff --git a/meta/recipes-devtools/python/python3-babel_2.10.1.bb b/meta/recipes-devtools/python/python3-babel_2.10.3.bb
index d06eb2bf5c..7420bfc917 100644
--- a/meta/recipes-devtools/python/python3-babel_2.10.1.bb
+++ b/meta/recipes-devtools/python/python3-babel_2.10.3.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://babel.edgewall.org/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1b3f4650099e6d6a73e5a7fc8774ff18"
-SRC_URI[sha256sum] = "98aeaca086133efb3e1e2aad0396987490c8425929ddbcfe0550184fdc54cd13"
+SRC_URI[sha256sum] = "7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51"
PYPI_PACKAGE = "Babel"
diff --git a/meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb b/meta/recipes-devtools/python/python3-certifi_2022.6.15.bb
index ff460d40b9..f78409b177 100644
--- a/meta/recipes-devtools/python/python3-certifi_2022.5.18.1.bb
+++ b/meta/recipes-devtools/python/python3-certifi_2022.6.15.bb
@@ -7,7 +7,7 @@ HOMEPAGE = " http://certifi.io/"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8"
-SRC_URI[sha256sum] = "9c5705e395cd70084351dd8ad5c41e65655e08ce46f2ec9cf6c2c08390f71eb7"
+SRC_URI[sha256sum] = "84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d"
inherit pypi setuptools3
diff --git a/meta/recipes-devtools/python/python3-cffi_1.15.0.bb b/meta/recipes-devtools/python/python3-cffi_1.15.1.bb
index c36f23b3dd..daa290a54e 100644
--- a/meta/recipes-devtools/python/python3-cffi_1.15.0.bb
+++ b/meta/recipes-devtools/python/python3-cffi_1.15.1.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
DEPENDS += "libffi ${PYTHON_PN}-pycparser"
-SRC_URI[sha256sum] = "920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"
+SRC_URI[sha256sum] = "d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"
inherit pypi setuptools3
diff --git a/meta/recipes-devtools/python/python3-chardet_4.0.0.bb b/meta/recipes-devtools/python/python3-chardet_5.0.0.bb
index f53bdc974a..80baed7986 100644
--- a/meta/recipes-devtools/python/python3-chardet_4.0.0.bb
+++ b/meta/recipes-devtools/python/python3-chardet_5.0.0.bb
@@ -1,9 +1,9 @@
SUMMARY = "Universal encoding detector for Python 2 and 3"
HOMEPAGE = "https://pypi.org/project/chardet/"
LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
-SRC_URI[sha256sum] = "0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"
+SRC_URI[sha256sum] = "0368df2bfd78b5fc20572bb4e9bb7fb53e2c094f60ae9993339e8671d0afb8aa"
# setup.py of chardet needs this.
DEPENDS += "${PYTHON_PN}-pytest-runner-native"
diff --git a/meta/recipes-devtools/python/python3-cryptography-vectors_37.0.2.bb b/meta/recipes-devtools/python/python3-cryptography-vectors_37.0.4.bb
index 3dbdc8ce3e..270d8ceca6 100644
--- a/meta/recipes-devtools/python/python3-cryptography-vectors_37.0.2.bb
+++ b/meta/recipes-devtools/python/python3-cryptography-vectors_37.0.4.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4 \
# NOTE: Make sure to keep this recipe at the same version as python3-cryptography
# Upgrade both recipes at the same time
-SRC_URI[sha256sum] = "7c65d3de51756f418142df605417ec2c6e961c364f70cc8a103030889d5a3219"
+SRC_URI[sha256sum] = "5a61400510e28937a5654b40c6ea4e3e593c5aaf0c2081c5b912f0e7cf883ea8"
PYPI_PACKAGE = "cryptography_vectors"
diff --git a/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb b/meta/recipes-devtools/python/python3-cryptography_37.0.4.bb
index 470cf4388c..c91a8c7771 100644
--- a/meta/recipes-devtools/python/python3-cryptography_37.0.2.bb
+++ b/meta/recipes-devtools/python/python3-cryptography_37.0.4.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba \
"
LDSHARED += "-pthread"
-SRC_URI[sha256sum] = "f224ad253cc9cea7568f49077007d2263efa57396a2f2f78114066fd54b5c68e"
+SRC_URI[sha256sum] = "63f9c17c0e2474ccbebc9302ce2f07b55b3b3fcb211ded18a42d5764f5c10a82"
SRC_URI += "file://run-ptest \
file://check-memfree.py \
@@ -66,18 +66,11 @@ SRC_URI += "file://run-ptest \
inherit pypi python_setuptools3_rust
DEPENDS += " \
- ${PYTHON_PN}-asn1crypto-native \
${PYTHON_PN}-cffi-native \
- ${PYTHON_PN}-setuptools-rust-native \
- ${PYTHON_PN}-six-native \
"
RDEPENDS:${PN} += " \
- ${PYTHON_PN}-asn1crypto \
${PYTHON_PN}-cffi \
- ${PYTHON_PN}-idna \
- ${PYTHON_PN}-setuptools \
- ${PYTHON_PN}-six \
"
RDEPENDS:${PN}:append:class-target = " \
diff --git a/meta/recipes-devtools/python/python3-cython_0.29.30.bb b/meta/recipes-devtools/python/python3-cython_0.29.32.bb
index 26333cb271..26333cb271 100644
--- a/meta/recipes-devtools/python/python3-cython_0.29.30.bb
+++ b/meta/recipes-devtools/python/python3-cython_0.29.32.bb
diff --git a/meta/recipes-devtools/python/python3-dbusmock_0.28.0.bb b/meta/recipes-devtools/python/python3-dbusmock_0.28.4.bb
index 6155c866a2..e895d87b7b 100644
--- a/meta/recipes-devtools/python/python3-dbusmock_0.28.0.bb
+++ b/meta/recipes-devtools/python/python3-dbusmock_0.28.4.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://pypi.org/project/python-dbusmock/"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
-SRC_URI[sha256sum] = "c63edeacec7796c4f379b2e17566d62afa404c048931ac9eba446470cec80ada"
+SRC_URI[sha256sum] = "52ad024a44d46602084fd91c0c467ab95b7ecf27c4e2168e0d2160623f18c0a2"
PYPI_PACKAGE = "python-dbusmock"
diff --git a/meta/recipes-devtools/python/python3-docutils_0.18.1.bb b/meta/recipes-devtools/python/python3-docutils_0.19.bb
index e4ddd01978..7ae93ab557 100644
--- a/meta/recipes-devtools/python/python3-docutils_0.18.1.bb
+++ b/meta/recipes-devtools/python/python3-docutils_0.19.bb
@@ -2,9 +2,9 @@ SUMMARY = "Docutils is a modular system for processing documentation into useful
HOMEPAGE = "http://docutils.sourceforge.net"
SECTION = "devel/python"
LICENSE = "PSF-2.0 & BSD-2-Clause & GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fecee07ad8df9116e1f739e2ed2ea513"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=41001b296a89bb2780bbe306e947ecee"
-SRC_URI[sha256sum] = "679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"
+SRC_URI[sha256sum] = "33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6"
inherit pypi setuptools3
diff --git a/meta/recipes-devtools/python/python3-dtschema_2022.5.bb b/meta/recipes-devtools/python/python3-dtschema_2022.7.bb
index 0520dd76aa..dd9092f449 100644
--- a/meta/recipes-devtools/python/python3-dtschema_2022.5.bb
+++ b/meta/recipes-devtools/python/python3-dtschema_2022.7.bb
@@ -7,7 +7,7 @@ inherit pypi setuptools3
PYPI_PACKAGE = "dtschema"
-SRC_URI[sha256sum] = "147ff18bf446131d3ba14bc751febd84f4fdedf06130f53e193d3370052dfe3f"
+SRC_URI[sha256sum] = "2238753fa16bee7b26841cced75d745af777b896190f40aff5802992335201bb"
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += "python3-ruamel-yaml python3-jsonschema python3-rfc3987"
diff --git a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
index 8d107384a6..fe6b16ac54 100644
--- a/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
+++ b/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
@@ -13,13 +13,17 @@ SRC_URI[sha256sum] = "3c9bd9c140515bfe62dd938c6610d10d6efb9e35cc647fc614fe5fb3a5
inherit pypi python_flit_core
# Need to install by hand as there's a dependency loop
-DEPENDS:remove:class-native = " python3-installer-native"
+DEPENDS:remove:class-native = " python3-picobuild-native python3-installer-native"
DEPENDS:append:class-native = " unzip-native"
# We need the full flit tarball
PYPI_PACKAGE = "flit"
PEP517_SOURCE_PATH = "${S}/flit_core"
+do_compile:class-native () {
+ python_flit_core_do_manual_build
+}
+
do_install:class-native () {
python_pep517_do_bootstrap_install
}
diff --git a/meta/recipes-devtools/python/python3-hatch-vcs_0.2.0.bb b/meta/recipes-devtools/python/python3-hatch-vcs_0.2.0.bb
index 100099c130..cca2c49d2b 100644
--- a/meta/recipes-devtools/python/python3-hatch-vcs_0.2.0.bb
+++ b/meta/recipes-devtools/python/python3-hatch-vcs_0.2.0.bb
@@ -10,3 +10,5 @@ PYPI_PACKAGE = "hatch_vcs"
SRC_URI[sha256sum] = "9913d733b34eec9bb0345d0626ca32165a4ad2de15d1ce643c36d09ca908abff"
BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = "/hatch-vcs/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/meta/recipes-devtools/python/python3-hatchling_1.3.0.bb b/meta/recipes-devtools/python/python3-hatchling_1.6.0.bb
index 6e7ccd743f..e06bdf02ec 100644
--- a/meta/recipes-devtools/python/python3-hatchling_1.3.0.bb
+++ b/meta/recipes-devtools/python/python3-hatchling_1.6.0.bb
@@ -8,11 +8,7 @@ inherit pypi python_hatchling
DEPENDS += "python3-pluggy-native python3-tomli-native python3-pathspec-native python3-packaging-native python3-editables-native"
DEPENDS:remove:class-native = "python3-hatchling-native"
-SRC_URI[sha256sum] = "1401d45d3dd6a5910f64d539acaa943486d5e8b7dda1a97f2b0040fdddc5b85e"
-
-# Until we have a proper tool to invoke PEP517 builds, hatchling can't
-# bootstrap itself automatically.
-PEP517_BUILD_API = "hatchling.ouroboros"
+SRC_URI[sha256sum] = "bd6e8505de511ac4217ff50927f6d1845494608e401e63a62b830c31fb613544"
do_compile:prepend() {
export PYTHONPATH=src
diff --git a/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb b/meta/recipes-devtools/python/python3-hypothesis_6.50.1.bb
index 1d9772d4ff..0c93c12493 100644
--- a/meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb
+++ b/meta/recipes-devtools/python/python3-hypothesis_6.50.1.bb
@@ -13,7 +13,7 @@ SRC_URI += " \
file://test_rle.py \
"
-SRC_URI[sha256sum] = "f5c1cf61b24b094355577a6b8fbbb8eb54c1b0216fbc0519af97c46bddf43c42"
+SRC_URI[sha256sum] = "1a19ade3b27825cab622c95fcf25182a27a42f97589c163173fcbdafb8621d1e"
RDEPENDS:${PN} += " \
python3-attrs \
diff --git a/meta/recipes-devtools/python/python3-imagesize_1.3.0.bb b/meta/recipes-devtools/python/python3-imagesize_1.4.1.bb
index 7d8eb80cf3..34c5a43028 100644
--- a/meta/recipes-devtools/python/python3-imagesize_1.3.0.bb
+++ b/meta/recipes-devtools/python/python3-imagesize_1.4.1.bb
@@ -4,7 +4,7 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=0c128f0f7e8a02e1b83884c0b5a41cda"
-SRC_URI[sha256sum] = "cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d"
+SRC_URI[sha256sum] = "69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"
inherit setuptools3 pypi
diff --git a/meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb b/meta/recipes-devtools/python/python3-importlib-metadata_4.12.0.bb
index 807a16d6db..c00e42cb1c 100644
--- a/meta/recipes-devtools/python/python3-importlib-metadata_4.11.4.bb
+++ b/meta/recipes-devtools/python/python3-importlib-metadata_4.12.0.bb
@@ -1,14 +1,14 @@
DESCRIPTION = "Read metadata from Python packages"
HOMEPAGE = "https://pypi.org/project/importlib-metadata/"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
inherit pypi python_setuptools_build_meta
PYPI_PACKAGE = "importlib_metadata"
UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P<pver>(\d+[\.\-_]*)+)/"
-SRC_URI[sha256sum] = "5d26852efe48c0a32b0509ffbc583fda1a2266545a78d104a6f4aff3db17d700"
+SRC_URI[sha256sum] = "637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670"
S = "${WORKDIR}/importlib_metadata-${PV}"
diff --git a/meta/recipes-devtools/python/python3-installer_0.5.1.bb b/meta/recipes-devtools/python/python3-installer_0.5.1.bb
index f4f9e1bde6..07bbafa81f 100644
--- a/meta/recipes-devtools/python/python3-installer_0.5.1.bb
+++ b/meta/recipes-devtools/python/python3-installer_0.5.1.bb
@@ -12,11 +12,17 @@ SRC_URI[sha256sum] = "f970995ec2bb815e2fdaf7977b26b2091e1e386f0f42eafd5ac811953d
inherit pypi python_flit_core
-DEPENDS:remove:class-native = "python3-installer-native"
-DEPENDS:append:class-native = " unzip-native"
+# Bootstrap the native build
+DEPENDS:remove:class-native = "python3-picobuild-native python3-installer-native"
-do_install:class-native () {
- python_pep517_do_bootstrap_install
+INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode"
+
+do_compile:class-native () {
+ python_flit_core_do_manual_build
+}
+
+do_install:prepend:class-native() {
+ export PYTHONPATH="${S}/src"
}
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python3-jsonschema_4.6.0.bb b/meta/recipes-devtools/python/python3-jsonschema_4.9.0.bb
index edd7fafc77..66e0affc64 100644
--- a/meta/recipes-devtools/python/python3-jsonschema_4.6.0.bb
+++ b/meta/recipes-devtools/python/python3-jsonschema_4.9.0.bb
@@ -4,10 +4,13 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af"
-SRC_URI[sha256sum] = "9d6397ba4a6c0bf0300736057f649e3e12ecbc07d3e81a0dacb72de4e9801957"
+SRC_URI[sha256sum] = "df10e65c8f3687a48e93d0d348ce0ce5f897b5a28e9bbcbbe8f7c7eaf019e850"
inherit pypi python_hatchling
+PACKAGES =+ "${PN}-tests"
+FILES:${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/jsonschema/tests"
+
DEPENDS += "${PYTHON_PN}-hatch-vcs-native"
PACKAGECONFIG ??= "format"
@@ -35,14 +38,11 @@ RDEPENDS:${PN} += " \
${PYTHON_PN}-json \
${PYTHON_PN}-netclient \
${PYTHON_PN}-numbers \
- ${PYTHON_PN}-pkgutil \
${PYTHON_PN}-pprint \
${PYTHON_PN}-pyrsistent \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-unittest \
- ${PYTHON_PN}-setuptools-scm \
${PYTHON_PN}-zipp \
"
+RDEPENDS:${PN}-tests = "${PN}"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python3-mako_1.2.0.bb b/meta/recipes-devtools/python/python3-mako_1.2.1.bb
index 11e5f326bd..8155c37984 100644
--- a/meta/recipes-devtools/python/python3-mako_1.2.0.bb
+++ b/meta/recipes-devtools/python/python3-mako_1.2.1.bb
@@ -2,13 +2,13 @@ SUMMARY = "Templating library for Python"
HOMEPAGE = "http://www.makotemplates.org/"
SECTION = "devel/python"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b32291f107a8f1ea94c4a41e00a6a18d"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ad08dd28df88e64b35bcac27c822ee34"
PYPI_PACKAGE = "Mako"
inherit pypi python_setuptools_build_meta
-SRC_URI[sha256sum] = "9a7c7e922b87db3686210cf49d5d767033a41d4010b284e747682c92bddd8b39"
+SRC_URI[sha256sum] = "f054a5ff4743492f1aa9ecc47172cb33b42b9d993cffcc146c9de17e717b0307"
RDEPENDS:${PN} = "${PYTHON_PN}-html \
${PYTHON_PN}-markupsafe \
diff --git a/meta/recipes-devtools/python/python3-numpy_1.22.4.bb b/meta/recipes-devtools/python/python3-numpy_1.23.1.bb
index 8ad3442413..67ab1d9298 100644
--- a/meta/recipes-devtools/python/python3-numpy_1.22.4.bb
+++ b/meta/recipes-devtools/python/python3-numpy_1.23.1.bb
@@ -13,7 +13,7 @@ SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${S
file://run-ptest \
file://0001-generate_umath.py-do-not-write-full-path-to-output-f.patch \
"
-SRC_URI[sha256sum] = "b4308198d0e41efaa108e57d69973398439c7299a9d551680cdd603cf6d20709"
+SRC_URI[sha256sum] = "d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624"
UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/meta/recipes-devtools/python/python3-picobuild_0.2.bb b/meta/recipes-devtools/python/python3-picobuild_0.2.bb
new file mode 100644
index 0000000000..99e4cb8761
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-picobuild_0.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Library and tool for installing Python wheels"
+HOMEPAGE = "https://gitlab.com/rossburton/picobuild"
+LICENSE = "MIT & ( Apache-2.0 | BSD-2-Clause)"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6c811a9fbdf5641ff0b0d43fbbb440e5 \
+ file://picobuild/vendored/packaging/LICENSE.APACHE;md5=2ee41112a44fe7014dce33e26468ba93 \
+ file://picobuild/vendored/packaging/LICENSE.BSD;md5=7bef9bf4a8e4263634d0597e7ba100b8 \
+ file://picobuild/vendored/pep517/LICENSE;md5=aad69c93f605003e3342b174d9b0708c \
+ file://picobuild/vendored/pyparsing/LICENSE;md5=657a566233888513e1f07ba13e2f47f1 \
+ file://picobuild/vendored/tomli/LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5 \
+ "
+
+SRC_URI = "git://gitlab.com/rossburton/picobuild.git;protocol=https;branch=main"
+SRCREV = "ed3b16ce48d91df181e5f5d77b9bbc2577b3fd9d"
+PV .= "+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit python_flit_core
+
+DEPENDS:remove:class-native = "python3-picobuild-native"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch b/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch
deleted file mode 100644
index d6c27b8461..0000000000
--- a/meta/recipes-devtools/python/python3-pip/0001-change-shebang-to-python3.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From dca973830d4eee3e0f79e61237c44a9dd8201641 Mon Sep 17 00:00:00 2001
-From: Trevor Gamblin <trevor.gamblin@windriver.com>
-Date: Tue, 22 Jun 2021 12:31:46 -0400
-Subject: [PATCH] change shebang to python3
-
-Upstream-Status: Inappropriate (OE-specific)
-
-Despite no longer supporting python2, some files in the pip source refer
-to "python" instead of "python3", so patch them as needed to ensure that
-they correctly reference the python3 binary.
-
-Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
-
----
- src/pip/_vendor/chardet/langbulgarianmodel.py | 2 +-
- src/pip/_vendor/chardet/langgreekmodel.py | 2 +-
- src/pip/_vendor/chardet/langhebrewmodel.py | 2 +-
- src/pip/_vendor/chardet/langhungarianmodel.py | 2 +-
- src/pip/_vendor/chardet/langrussianmodel.py | 2 +-
- src/pip/_vendor/chardet/langthaimodel.py | 2 +-
- src/pip/_vendor/chardet/langturkishmodel.py | 2 +-
- src/pip/_vendor/chardet/metadata/languages.py | 2 +-
- src/pip/_vendor/requests/certs.py | 2 +-
- 9 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/pip/_vendor/chardet/langbulgarianmodel.py b/src/pip/_vendor/chardet/langbulgarianmodel.py
-index e963a50..97ea6ce 100644
---- a/src/pip/_vendor/chardet/langbulgarianmodel.py
-+++ b/src/pip/_vendor/chardet/langbulgarianmodel.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
-diff --git a/src/pip/_vendor/chardet/langgreekmodel.py b/src/pip/_vendor/chardet/langgreekmodel.py
-index d99528e..4a127ea 100644
---- a/src/pip/_vendor/chardet/langgreekmodel.py
-+++ b/src/pip/_vendor/chardet/langgreekmodel.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
-diff --git a/src/pip/_vendor/chardet/langhebrewmodel.py b/src/pip/_vendor/chardet/langhebrewmodel.py
-index 484c652..676c1a7 100644
---- a/src/pip/_vendor/chardet/langhebrewmodel.py
-+++ b/src/pip/_vendor/chardet/langhebrewmodel.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
-diff --git a/src/pip/_vendor/chardet/langhungarianmodel.py b/src/pip/_vendor/chardet/langhungarianmodel.py
-index bbc5cda..042eae7 100644
---- a/src/pip/_vendor/chardet/langhungarianmodel.py
-+++ b/src/pip/_vendor/chardet/langhungarianmodel.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
-diff --git a/src/pip/_vendor/chardet/langrussianmodel.py b/src/pip/_vendor/chardet/langrussianmodel.py
-index 5594452..564b02e 100644
---- a/src/pip/_vendor/chardet/langrussianmodel.py
-+++ b/src/pip/_vendor/chardet/langrussianmodel.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
-diff --git a/src/pip/_vendor/chardet/langthaimodel.py b/src/pip/_vendor/chardet/langthaimodel.py
-index 9a37db5..c974879 100644
---- a/src/pip/_vendor/chardet/langthaimodel.py
-+++ b/src/pip/_vendor/chardet/langthaimodel.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
-diff --git a/src/pip/_vendor/chardet/langturkishmodel.py b/src/pip/_vendor/chardet/langturkishmodel.py
-index 43f4230..7e710c3 100644
---- a/src/pip/_vendor/chardet/langturkishmodel.py
-+++ b/src/pip/_vendor/chardet/langturkishmodel.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- from pip._vendor.chardet.sbcharsetprober import SingleByteCharSetModel
-diff --git a/src/pip/_vendor/chardet/metadata/languages.py b/src/pip/_vendor/chardet/metadata/languages.py
-index 3237d5a..aa2ec7c 100644
---- a/src/pip/_vendor/chardet/metadata/languages.py
-+++ b/src/pip/_vendor/chardet/metadata/languages.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- Metadata about languages used by our model training code for our
-diff --git a/src/pip/_vendor/requests/certs.py b/src/pip/_vendor/requests/certs.py
-index 06a594e..bfa7839 100644
---- a/src/pip/_vendor/requests/certs.py
-+++ b/src/pip/_vendor/requests/certs.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- """
diff --git a/meta/recipes-devtools/python/python3-pip/reproducible.patch b/meta/recipes-devtools/python/python3-pip/reproducible.patch
index 538bb94f7a..0ed0c9177f 100644
--- a/meta/recipes-devtools/python/python3-pip/reproducible.patch
+++ b/meta/recipes-devtools/python/python3-pip/reproducible.patch
@@ -14,34 +14,17 @@ Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Pending
-Index: pip-22.0.3/src/pip/_internal/req/req_install.py
-===================================================================
---- pip-22.0.3.orig/src/pip/_internal/req/req_install.py
-+++ pip-22.0.3/src/pip/_internal/req/req_install.py
-@@ -758,7 +758,9 @@ class InstallRequirement:
- if self.is_wheel:
- assert self.local_file_path
- direct_url = None
-- if self.editable:
-+ if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ:
-+ direct_url = None
-+ elif self.editable:
- direct_url = direct_url_for_editable(self.unpacked_source_directory)
- elif self.original_link:
- direct_url = direct_url_from_link(
-@@ -775,6 +777,7 @@ class InstallRequirement:
- warn_script_location=warn_script_location,
- direct_url=direct_url,
- requested=self.user_supplied,
-+ root=root,
- )
- self.install_succeeded = True
- return
-Index: pip-22.0.3/src/pip/_internal/operations/install/wheel.py
-===================================================================
---- pip-22.0.3.orig/src/pip/_internal/operations/install/wheel.py
-+++ pip-22.0.3/src/pip/_internal/operations/install/wheel.py
-@@ -436,6 +436,7 @@ def _install_wheel(
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ src/pip/_internal/operations/install/wheel.py | 5 ++++-
+ src/pip/_internal/req/req_install.py | 5 ++++-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/pip/_internal/operations/install/wheel.py b/src/pip/_internal/operations/install/wheel.py
+index 1af8978..3e48f9b 100644
+--- a/src/pip/_internal/operations/install/wheel.py
++++ b/src/pip/_internal/operations/install/wheel.py
+@@ -434,6 +434,7 @@ def _install_wheel(
warn_script_location: bool = True,
direct_url: Optional[DirectUrl] = None,
requested: bool = False,
@@ -49,7 +32,7 @@ Index: pip-22.0.3/src/pip/_internal/operations/install/wheel.py
) -> None:
"""Install a wheel.
-@@ -612,7 +613,7 @@ def _install_wheel(
+@@ -610,7 +611,7 @@ def _install_wheel(
with warnings.catch_warnings():
warnings.filterwarnings("ignore")
for path in pyc_source_file_paths():
@@ -58,7 +41,7 @@ Index: pip-22.0.3/src/pip/_internal/operations/install/wheel.py
if success:
pyc_path = pyc_output_path(path)
assert os.path.exists(pyc_path)
-@@ -723,6 +724,7 @@ def install_wheel(
+@@ -721,6 +722,7 @@ def install_wheel(
warn_script_location: bool = True,
direct_url: Optional[DirectUrl] = None,
requested: bool = False,
@@ -66,9 +49,35 @@ Index: pip-22.0.3/src/pip/_internal/operations/install/wheel.py
) -> None:
with ZipFile(wheel_path, allowZip64=True) as z:
with req_error_context(req_description):
-@@ -735,4 +737,5 @@ def install_wheel(
+@@ -733,4 +735,5 @@ def install_wheel(
warn_script_location=warn_script_location,
direct_url=direct_url,
requested=requested,
+ root=root,
)
+diff --git a/src/pip/_internal/req/req_install.py b/src/pip/_internal/req/req_install.py
+index a1e376c..4c3f1bb 100644
+--- a/src/pip/_internal/req/req_install.py
++++ b/src/pip/_internal/req/req_install.py
+@@ -779,7 +779,9 @@ class InstallRequirement:
+ assert self.local_file_path
+ direct_url = None
+ # TODO this can be refactored to direct_url = self.download_info
+- if self.editable:
++ if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ:
++ direct_url = None
++ elif self.editable:
+ direct_url = direct_url_for_editable(self.unpacked_source_directory)
+ elif self.original_link:
+ direct_url = direct_url_from_link(
+@@ -796,6 +798,7 @@ class InstallRequirement:
+ warn_script_location=warn_script_location,
+ direct_url=direct_url,
+ requested=self.user_supplied,
++ root=root,
+ )
+ self.install_succeeded = True
+ return
+--
+2.25.1
+
diff --git a/meta/recipes-devtools/python/python3-pip_22.1.2.bb b/meta/recipes-devtools/python/python3-pip_22.2.1.bb
index 5fe59a4762..39349b6026 100644
--- a/meta/recipes-devtools/python/python3-pip_22.1.2.bb
+++ b/meta/recipes-devtools/python/python3-pip_22.2.1.bb
@@ -6,11 +6,10 @@ LIC_FILES_CHKSUM = "\
file://LICENSE.txt;md5=63ec52baf95163b597008bb46db68030 \
file://src/pip/_vendor/cachecontrol/LICENSE.txt;md5=6572692148079ebbbd800be4b9f36c6d \
file://src/pip/_vendor/certifi/LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8 \
- file://src/pip/_vendor/chardet/LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://src/pip/_vendor/chardet/LICENSE;md5=4fbd65380cdd255951079008b364516c \
file://src/pip/_vendor/colorama/LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26 \
file://src/pip/_vendor/distlib/LICENSE.txt;md5=f6a11430d5cd6e2cd3832ee94f22ddfc \
file://src/pip/_vendor/distro/LICENSE;md5=d2794c0df5b907fdace235a619d80314 \
- file://src/pip/_vendor/html5lib/LICENSE;md5=1ba5ada9e6fead1fdc32f43c9f10ba7c \
file://src/pip/_vendor/idna/LICENSE.md;md5=239668a7c6066d9e0c5382e9c8c6c0e1 \
file://src/pip/_vendor/msgpack/COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751 \
file://src/pip/_vendor/packaging/LICENSE;md5=faadaedca9251a90b205c9167578ce91 \
@@ -18,7 +17,7 @@ LIC_FILES_CHKSUM = "\
file://src/pip/_vendor/pep517/LICENSE;md5=aad69c93f605003e3342b174d9b0708c \
file://src/pip/_vendor/pkg_resources/LICENSE;md5=9a33897f1bca1160d7aad3835152e158 \
file://src/pip/_vendor/platformdirs/LICENSE.txt;md5=282c970bb844954c8535dd6e9733db7f \
- file://src/pip/_vendor/pygments/LICENSE;md5=98419e351433ac106a24e3ad435930bc \
+ file://src/pip/_vendor/pygments/LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592 \
file://src/pip/_vendor/pyparsing/LICENSE;md5=657a566233888513e1f07ba13e2f47f1 \
file://src/pip/_vendor/requests/LICENSE;md5=34400b68072d710fecd0a2940a0d1658 \
file://src/pip/_vendor/resolvelib/LICENSE;md5=78e1c0248051c32a38a7f820c30bd7a5 \
@@ -33,11 +32,10 @@ LIC_FILES_CHKSUM = "\
inherit pypi python_setuptools_build_meta
-SRC_URI += "file://0001-change-shebang-to-python3.patch"
SRC_URI += "file://no_shebang_mangling.patch"
SRC_URI += "file://reproducible.patch"
-SRC_URI[sha256sum] = "6d55b27e10f506312894a87ccc59f280136bad9061719fac9101bdad5a6bce69"
+SRC_URI[sha256sum] = "50516e47a2b79e77446f0d05649f0d53772c192571486236b1905492bfc24bac"
do_install:append() {
rm -f ${D}/${bindir}/pip
diff --git a/meta/recipes-devtools/python/python3-pycryptodome_3.14.1.bb b/meta/recipes-devtools/python/python3-pycryptodome_3.14.1.bb
deleted file mode 100644
index c0324590c2..0000000000
--- a/meta/recipes-devtools/python/python3-pycryptodome_3.14.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require python-pycryptodome.inc
-inherit setuptools3
-
-SRC_URI[sha256sum] = "e04e40a7f8c1669195536a37979dd87da2c32dbdc73d6fe35f0077b0c17c803b"
-
diff --git a/meta/recipes-devtools/python/python3-pycryptodome_3.15.0.bb b/meta/recipes-devtools/python/python3-pycryptodome_3.15.0.bb
new file mode 100644
index 0000000000..cabe9189f2
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-pycryptodome_3.15.0.bb
@@ -0,0 +1,5 @@
+require python-pycryptodome.inc
+inherit setuptools3
+
+SRC_URI[sha256sum] = "9135dddad504592bcc18b0d2d95ce86c3a5ea87ec6447ef25cfedea12d6018b8"
+
diff --git a/meta/recipes-devtools/python/python3-pycryptodomex_3.14.1.bb b/meta/recipes-devtools/python/python3-pycryptodomex_3.15.0.bb
index 79a3fee19c..e22ce30833 100644
--- a/meta/recipes-devtools/python/python3-pycryptodomex_3.14.1.bb
+++ b/meta/recipes-devtools/python/python3-pycryptodomex_3.15.0.bb
@@ -1,7 +1,7 @@
require python-pycryptodome.inc
inherit setuptools3
-SRC_URI[sha256sum] = "2ce76ed0081fd6ac8c74edc75b9d14eca2064173af79843c24fa62573263c1f2"
+SRC_URI[sha256sum] = "7341f1bb2dadb0d1a0047f34c3a58208a92423cdbd3244d998e4b28df5eac0ed"
FILES:${PN}-tests = " \
${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \
diff --git a/meta/recipes-devtools/python/python3-pygobject_3.42.1.bb b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
index 443605ae26..cc7b07e804 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.42.1.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb
@@ -18,7 +18,7 @@ SRC_URI = " \
http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
file://0001-Do-not-build-tests.patch \
"
-SRC_URI[sha256sum] = "1f34b5f7624de35e44eb5a7eb428353285bd03004d55131a5f7f7fa9b90f3cc9"
+SRC_URI[sha256sum] = "ade8695e2a7073849dd0316d31d8728e15e1e0bc71d9ff6d1c09e86be52bc957"
S = "${WORKDIR}/${SRCNAME}-${PV}"
diff --git a/meta/recipes-devtools/python/python3-requests_2.28.0.bb b/meta/recipes-devtools/python/python3-requests_2.28.1.bb
index f71763565d..ac8a570160 100644
--- a/meta/recipes-devtools/python/python3-requests_2.28.0.bb
+++ b/meta/recipes-devtools/python/python3-requests_2.28.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://python-requests.org"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
-SRC_URI[sha256sum] = "d568723a7ebd25875d8d1eaf5dfa068cd2fc8194b2e483d7b1f7c81918dbec6b"
+SRC_URI[sha256sum] = "7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"
inherit pypi setuptools3
diff --git a/meta/recipes-devtools/python/python3-scons_4.3.0.bb b/meta/recipes-devtools/python/python3-scons_4.4.0.bb
index ae91d980fe..ad1149597f 100644
--- a/meta/recipes-devtools/python/python3-scons_4.3.0.bb
+++ b/meta/recipes-devtools/python/python3-scons_4.4.0.bb
@@ -5,7 +5,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d903b0b8027f461402bac9b5169b36f7"
SRC_URI += " file://0001-Fix-man-page-installation.patch"
-SRC_URI[sha256sum] = "d47081587e3675cc168f1f54f0d74a69b328a2fc90ec4feb85f728677419b879"
+SRC_URI[sha256sum] = "7703c4e9d2200b4854a31800c1dbd4587e1fa86e75f58795c740bcfa7eca7eaa"
PYPI_PACKAGE = "SCons"
diff --git a/meta/recipes-devtools/python/python3-setuptools-rust/8e9892f08b1248dc03862da86915c2745e0ff7ec.patch b/meta/recipes-devtools/python/python3-setuptools-rust/8e9892f08b1248dc03862da86915c2745e0ff7ec.patch
new file mode 100644
index 0000000000..2a531e17aa
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-setuptools-rust/8e9892f08b1248dc03862da86915c2745e0ff7ec.patch
@@ -0,0 +1,221 @@
+From 8e9892f08b1248dc03862da86915c2745e0ff7ec Mon Sep 17 00:00:00 2001
+From: "Andrew J. Hesford" <ajh@sideband.org>
+Date: Fri, 15 Jul 2022 10:33:02 -0400
+Subject: [PATCH] build_rust: remove linker handling that broke cross
+ compilation
+
+Upstream-Status: Submitted [https://github.com/PyO3/setuptools-rust/pull/269]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ setuptools_rust/build.py | 151 ++-------------------------------------
+ 1 file changed, 7 insertions(+), 144 deletions(-)
+
+diff --git a/setuptools_rust/build.py b/setuptools_rust/build.py
+index 4fe594b..e81ed8f 100644
+--- a/setuptools_rust/build.py
++++ b/setuptools_rust/build.py
+@@ -113,23 +113,10 @@ def build_extension(
+ self, ext: RustExtension, forced_target_triple: Optional[str] = None
+ ) -> List["_BuiltModule"]:
+
+- target_info = self._detect_rust_target(forced_target_triple)
+- if target_info is not None:
+- target_triple = target_info.triple
+- cross_lib = target_info.cross_lib
+- linker = target_info.linker
+- # We're ignoring target_info.linker_args for now because we're not
+- # sure if they will always do the right thing. Might help with some
+- # of the OS-specific logic if it does.
+-
+- else:
+- target_triple = None
+- cross_lib = None
+- linker = None
+-
++ target_triple = self._detect_rust_target(forced_target_triple)
+ rustc_cfgs = get_rustc_cfgs(target_triple)
+
+- env = _prepare_build_environment(cross_lib)
++ env = _prepare_build_environment()
+
+ if not os.path.exists(ext.path):
+ raise DistutilsFileError(
+@@ -150,9 +137,6 @@ def build_extension(
+
+ rustflags = []
+
+- if linker is not None:
+- rustflags.extend(["-C", "linker=" + linker])
+-
+ if ext._uses_exec_binding():
+ command = [self.cargo, "build", "--manifest-path", ext.path, *cargo_args]
+
+@@ -407,45 +391,12 @@ def _py_limited_api(self) -> _PyLimitedApi:
+
+ def _detect_rust_target(
+ self, forced_target_triple: Optional[str] = None
+- ) -> Optional["_TargetInfo"]:
++ ) -> Optional[str]:
+ assert self.plat_name is not None
+- cross_compile_info = _detect_unix_cross_compile_info()
+- if cross_compile_info is not None:
+- cross_target_info = cross_compile_info.to_target_info()
+- if forced_target_triple is not None:
+- if (
+- cross_target_info is not None
+- and not cross_target_info.is_compatible_with(forced_target_triple)
+- ):
+- self.warn(
+- f"Forced Rust target `{forced_target_triple}` is not "
+- f"compatible with deduced Rust target "
+- f"`{cross_target_info.triple}` - the built package "
+- f" may not import successfully once installed."
+- )
+-
+- # Forcing the target in a cross-compile environment; use
+- # the cross-compile information in combination with the
+- # forced target
+- return _TargetInfo(
+- forced_target_triple,
+- cross_compile_info.cross_lib,
+- cross_compile_info.linker,
+- cross_compile_info.linker_args,
+- )
+- elif cross_target_info is not None:
+- return cross_target_info
+- else:
+- raise DistutilsPlatformError(
+- "Don't know the correct rust target for system type "
+- f"{cross_compile_info.host_type}. Please set the "
+- "CARGO_BUILD_TARGET environment variable."
+- )
+-
+- elif forced_target_triple is not None:
++ if forced_target_triple is not None:
+ # Automatic target detection can be overridden via the CARGO_BUILD_TARGET
+ # environment variable or --target command line option
+- return _TargetInfo.for_triple(forced_target_triple)
++ return forced_target_triple
+
+ # Determine local rust target which needs to be "forced" if necessary
+ local_rust_target = _adjusted_local_rust_target(self.plat_name)
+@@ -457,7 +408,7 @@ def _detect_rust_target(
+ # check for None first to avoid calling to rustc if not needed
+ and local_rust_target != get_rust_host()
+ ):
+- return _TargetInfo.for_triple(local_rust_target)
++ return local_rust_target
+
+ return None
+
+@@ -547,91 +498,6 @@ class _BuiltModule(NamedTuple):
+ path: str
+
+
+-class _TargetInfo(NamedTuple):
+- triple: str
+- cross_lib: Optional[str]
+- linker: Optional[str]
+- linker_args: Optional[str]
+-
+- @staticmethod
+- def for_triple(triple: str) -> "_TargetInfo":
+- return _TargetInfo(triple, None, None, None)
+-
+- def is_compatible_with(self, target: str) -> bool:
+- if self.triple == target:
+- return True
+-
+- # the vendor field can be ignored, so x86_64-pc-linux-gnu is compatible
+- # with x86_64-unknown-linux-gnu
+- if _replace_vendor_with_unknown(self.triple) == target:
+- return True
+-
+- return False
+-
+-
+-class _CrossCompileInfo(NamedTuple):
+- host_type: str
+- cross_lib: Optional[str]
+- linker: Optional[str]
+- linker_args: Optional[str]
+-
+- def to_target_info(self) -> Optional[_TargetInfo]:
+- """Maps this cross compile info to target info.
+-
+- Returns None if the corresponding target information could not be
+- deduced.
+- """
+- # hopefully an exact match
+- targets = get_rust_target_list()
+- if self.host_type in targets:
+- return _TargetInfo(
+- self.host_type, self.cross_lib, self.linker, self.linker_args
+- )
+-
+- # the vendor field can be ignored, so x86_64-pc-linux-gnu is compatible
+- # with x86_64-unknown-linux-gnu
+- without_vendor = _replace_vendor_with_unknown(self.host_type)
+- if without_vendor is not None and without_vendor in targets:
+- return _TargetInfo(
+- without_vendor, self.cross_lib, self.linker, self.linker_args
+- )
+-
+- return None
+-
+-
+-def _detect_unix_cross_compile_info() -> Optional["_CrossCompileInfo"]:
+- # See https://github.com/PyO3/setuptools-rust/issues/138
+- # This is to support cross compiling on *NIX, where plat_name isn't
+- # necessarily the same as the system we are running on. *NIX systems
+- # have more detailed information available in sysconfig. We need that
+- # because plat_name doesn't give us information on e.g., glibc vs musl.
+- host_type = sysconfig.get_config_var("HOST_GNU_TYPE")
+- build_type = sysconfig.get_config_var("BUILD_GNU_TYPE")
+-
+- if not host_type or host_type == build_type:
+- # not *NIX, or not cross compiling
+- return None
+-
+- if "apple-darwin" in host_type and (build_type and "apple-darwin" in build_type):
+- # On macos and the build and host differ. This is probably an arm
+- # Python which was built on x86_64. Don't try to handle this for now.
+- # (See https://github.com/PyO3/setuptools-rust/issues/192)
+- return None
+-
+- stdlib = sysconfig.get_path("stdlib")
+- assert stdlib is not None
+- cross_lib = os.path.dirname(stdlib)
+-
+- bldshared = sysconfig.get_config_var("BLDSHARED")
+- if not bldshared:
+- linker = None
+- linker_args = None
+- else:
+- [linker, _, linker_args] = bldshared.partition(" ")
+-
+- return _CrossCompileInfo(host_type, cross_lib, linker, linker_args)
+-
+-
+ def _replace_vendor_with_unknown(target: str) -> Optional[str]:
+ """Replaces vendor in the target triple with unknown.
+
+@@ -644,7 +510,7 @@ def _replace_vendor_with_unknown(target: str) -> Optional[str]:
+ return "-".join(components)
+
+
+-def _prepare_build_environment(cross_lib: Optional[str]) -> Dict[str, str]:
++def _prepare_build_environment() -> Dict[str, str]:
+ """Prepares environment variables to use when executing cargo build."""
+
+ # Make sure that if pythonXX-sys is used, it builds against the current
+@@ -665,9 +531,6 @@ def _prepare_build_environment(cross_lib: Optional[str]) -> Dict[str, str]:
+ }
+ )
+
+- if cross_lib:
+- env.setdefault("PYO3_CROSS_LIB_DIR", cross_lib)
+-
+ env.pop("CARGO", None)
+ return env
+
diff --git a/meta/recipes-devtools/python/python3-setuptools-rust_1.3.0.bb b/meta/recipes-devtools/python/python3-setuptools-rust_1.4.1.bb
index 51e27b843e..c63a3f2b52 100644
--- a/meta/recipes-devtools/python/python3-setuptools-rust_1.3.0.bb
+++ b/meta/recipes-devtools/python/python3-setuptools-rust_1.4.1.bb
@@ -9,8 +9,9 @@ BUGTRACKER = "https://github.com/PyO3/setuptools-rust/issues"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=011cd92e702dd9e6b1a26157b6fd53f5"
-SRC_URI = "https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-${PV}.tar.gz"
-SRC_URI[sha256sum] = "958c5bf4ab6483d59dab888538121871cc5006354a42fb0fbd50acf03caad1de"
+SRC_URI = "https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-${PV}.tar.gz \
+ file://8e9892f08b1248dc03862da86915c2745e0ff7ec.patch"
+SRC_URI[sha256sum] = "18ff850831f58ee21d5783825c99fad632da21e47645e9427fd7dec048029e76"
inherit cargo pypi python_setuptools_build_meta
diff --git a/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb b/meta/recipes-devtools/python/python3-setuptools-scm_7.0.5.bb
index 9aaae071d3..a1e719f54b 100644
--- a/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb
+++ b/meta/recipes-devtools/python/python3-setuptools-scm_7.0.5.bb
@@ -4,20 +4,22 @@ DESCRIPTION = "setuptools_scm handles managing your Python package versions in S
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
-SRC_URI[sha256sum] = "6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30"
+SRC_URI[sha256sum] = "031e13af771d6f892b941adb6ea04545bbf91ebc5ce68c78aaf3fff6e1fb4844"
PYPI_PACKAGE = "setuptools_scm"
inherit pypi python_setuptools_build_meta
UPSTREAM_CHECK_REGEX = "setuptools_scm-(?P<pver>.*)\.tar"
-DEPENDS += "python3-tomli-native"
+DEPENDS += "python3-tomli-native python3-packaging-native python3-typing-extensions-native"
RDEPENDS:${PN} = "\
${PYTHON_PN}-packaging \
+ ${PYTHON_PN}-pip \
${PYTHON_PN}-pyparsing \
${PYTHON_PN}-setuptools \
${PYTHON_PN}-tomli \
+ ${PYTHON_PN}-typing-extensions \
"
RDEPENDS:${PN}:append:class-target = " \
diff --git a/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 6d4a9ff0a2..9c5ff6ad9f 100644
--- a/meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From 5dfa8a8e0b1ad4712a8b8309c8663b7b598ba2a8 Mon Sep 17 00:00:00 2001
+From 3a5ae454c0738510daf5df68b7968cab66cceb7f 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/meta/recipes-devtools/python/python3-setuptools_62.5.0.bb b/meta/recipes-devtools/python/python3-setuptools_63.3.0.bb
index b3286d5dab..da7e7892fd 100644
--- a/meta/recipes-devtools/python/python3-setuptools_62.5.0.bb
+++ b/meta/recipes-devtools/python/python3-setuptools_63.3.0.bb
@@ -11,7 +11,7 @@ SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-e
SRC_URI += "file://0001-change-shebang-to-python3.patch \
file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch"
-SRC_URI[sha256sum] = "a4c782ac58fcc9e3a86e5e1a4c74cf9d24bf21e4f1562043309022e1bb76951c"
+SRC_URI[sha256sum] = "273b6847ae61f7829c1affcdd9a32f67aa65233be508f4fbaab866c5faa4e408"
DEPENDS += "${PYTHON_PN}"
diff --git a/meta/recipes-devtools/python/python3-sphinx_5.0.0.bb b/meta/recipes-devtools/python/python3-sphinx_5.0.2.bb
index 93edd9db7e..46cc26e67e 100644
--- a/meta/recipes-devtools/python/python3-sphinx_5.0.0.bb
+++ b/meta/recipes-devtools/python/python3-sphinx_5.0.2.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=72c536e78c21c567311b193fe00cd253"
PYPI_PACKAGE = "Sphinx"
-SRC_URI[sha256sum] = "464d9c1bd5613bcebe76b46658763f3f3dbb184da7406e632a84596d3cd8ee90"
+SRC_URI[sha256sum] = "b18e978ea7565720f26019c702cd85c84376e948370f1cd43d60265010e1c7b0"
inherit setuptools3 pypi
diff --git a/meta/recipes-devtools/python/python3-typing-extensions_4.2.0.bb b/meta/recipes-devtools/python/python3-typing-extensions_4.3.0.bb
index 3aac39b8ef..9638491eb4 100644
--- a/meta/recipes-devtools/python/python3-typing-extensions_4.2.0.bb
+++ b/meta/recipes-devtools/python/python3-typing-extensions_4.3.0.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
# The name on PyPi is slightly different.
PYPI_PACKAGE = "typing_extensions"
-SRC_URI[sha256sum] = "f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376"
+SRC_URI[sha256sum] = "e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"
inherit pypi python_flit_core
diff --git a/meta/recipes-devtools/python/python3-urllib3_1.26.9.bb b/meta/recipes-devtools/python/python3-urllib3_1.26.10.bb
index 95ae4a54a4..a8e2073d71 100644
--- a/meta/recipes-devtools/python/python3-urllib3_1.26.9.bb
+++ b/meta/recipes-devtools/python/python3-urllib3_1.26.10.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/shazow/urllib3"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c"
-SRC_URI[sha256sum] = "aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"
+SRC_URI[sha256sum] = "879ba4d1e89654d9769ce13121e0f94310ea32e8d2f8cf587b77c08bbcdb30d6"
inherit pypi setuptools3
@@ -15,6 +15,7 @@ RDEPENDS:${PN} += "\
${PYTHON_PN}-netclient \
${PYTHON_PN}-pyopenssl \
${PYTHON_PN}-threading \
+ ${PYTHON_PN}-logging \
"
CVE_PRODUCT = "urllib3"
diff --git a/meta/recipes-devtools/python/python3-zipp_3.8.0.bb b/meta/recipes-devtools/python/python3-zipp_3.8.1.bb
index f1fd383842..fa2f7bcf90 100644
--- a/meta/recipes-devtools/python/python3-zipp_3.8.0.bb
+++ b/meta/recipes-devtools/python/python3-zipp_3.8.1.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/jaraco/zipp"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6"
-SRC_URI[sha256sum] = "56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad"
+SRC_URI[sha256sum] = "05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"
DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
diff --git a/meta/recipes-devtools/python/python3_3.10.5.bb b/meta/recipes-devtools/python/python3_3.10.5.bb
index 599a1884b4..b237c48735 100644
--- a/meta/recipes-devtools/python/python3_3.10.5.bb
+++ b/meta/recipes-devtools/python/python3_3.10.5.bb
@@ -416,7 +416,7 @@ RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 libgcc t
RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr.iso-8859-9"
RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}"
RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}"
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
RDEPENDS:${PN}-pydoc += "${PN}-io"
RDEPENDS:${PN}-tests:append:class-target = " ${MLPREFIX}bash"
diff --git a/meta/recipes-devtools/qemu/qemu-system-native_7.0.0.bb b/meta/recipes-devtools/qemu/qemu-system-native_7.0.0.bb
index bc5384d472..5ccede5095 100644
--- a/meta/recipes-devtools/qemu/qemu-system-native_7.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu-system-native_7.0.0.bb
@@ -11,7 +11,7 @@ DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native me
EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
-PACKAGECONFIG ??= "fdt alsa kvm pie \
+PACKAGECONFIG ??= "fdt alsa kvm pie slirp \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \
"
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index e4ced6ac27..0db6701735 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -27,6 +27,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0008-tests-meson.build-use-relative-path-to-refer-to-file.patch \
file://0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \
+ file://CVE-2022-35414.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
@@ -141,6 +142,7 @@ PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+"
PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr,"
PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
+PACKAGECONFIG[uring] = "--enable-linux-io-uring,--disable-linux-io-uring,liburing"
PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen-tools,xen-tools-libxenstore xen-tools-libxenctrl xen-tools-libxenguest"
PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl,"
PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg,"
@@ -185,6 +187,11 @@ PACKAGECONFIG[pmem] = "--enable-libpmem,--disable-libpmem,pmdk"
PACKAGECONFIG[pulsedio] = "--enable-pa,--disable-pa,pulseaudio"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux"
PACKAGECONFIG[bpf] = "--enable-bpf,--disable-bpf,libbpf"
+PACKAGECONFIG[capstone] = "--enable-capstone,--disable-capstone"
+PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma"
+PACKAGECONFIG[vde] = "--enable-vde,--disable-vde"
+PACKAGECONFIG[slirp] = "--enable-slirp=internal,--disable-slirp"
+PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi"
INSANE_SKIP:${PN} = "arch"
diff --git a/meta/recipes-devtools/qemu/qemu/CVE-2022-35414.patch b/meta/recipes-devtools/qemu/qemu/CVE-2022-35414.patch
new file mode 100644
index 0000000000..fe79a749ae
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/CVE-2022-35414.patch
@@ -0,0 +1,53 @@
+From a10c33942dc8cb31b3762b9dd4adde4c490eed9c Mon Sep 17 00:00:00 2001
+From: Hitendra Prajapati <hprajapati@mvista.com>
+Date: Wed, 3 Aug 2022 10:11:11 +0530
+Subject: [PATCH] CVE-2022-35414
+
+Upstream-Status: Backport [https://github.com/qemu/qemu/commit/418ade7849ce7641c0f7333718caf5091a02fd4c]
+CVE: CVE-2022-35414
+Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
+---
+ softmmu/physmem.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/softmmu/physmem.c b/softmmu/physmem.c
+index 4e1b27a20..ad8a90dec 100644
+--- a/softmmu/physmem.c
++++ b/softmmu/physmem.c
+@@ -669,7 +669,7 @@ void tcg_iommu_init_notifier_list(CPUState *cpu)
+
+ /* Called from RCU critical section */
+ MemoryRegionSection *
+-address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr addr,
++address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr orig_addr,
+ hwaddr *xlat, hwaddr *plen,
+ MemTxAttrs attrs, int *prot)
+ {
+@@ -678,6 +678,7 @@ address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr addr,
+ IOMMUMemoryRegionClass *imrc;
+ IOMMUTLBEntry iotlb;
+ int iommu_idx;
++ hwaddr addr = orig_addr;
+ AddressSpaceDispatch *d =
+ qatomic_rcu_read(&cpu->cpu_ases[asidx].memory_dispatch);
+
+@@ -722,6 +723,16 @@ address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr addr,
+ return section;
+
+ translate_fail:
++ /*
++ * We should be given a page-aligned address -- certainly
++ * tlb_set_page_with_attrs() does so. The page offset of xlat
++ * is used to index sections[], and PHYS_SECTION_UNASSIGNED = 0.
++ * The page portion of xlat will be logged by memory_region_access_valid()
++ * when this memory access is rejected, so use the original untranslated
++ * physical address.
++ */
++ assert((orig_addr & ~TARGET_PAGE_MASK) == 0);
++ *xlat = orig_addr;
+ return &d->map.sections[PHYS_SECTION_UNASSIGNED];
+ }
+
+--
+2.25.1
+
diff --git a/meta/recipes-devtools/qemu/qemu_7.0.0.bb b/meta/recipes-devtools/qemu/qemu_7.0.0.bb
index 9f7fad9886..42e133967e 100644
--- a/meta/recipes-devtools/qemu/qemu_7.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_7.0.0.bb
@@ -15,12 +15,12 @@ EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCU
EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
PACKAGECONFIG ??= " \
- fdt sdl kvm pie \
+ fdt sdl kvm pie slirp \
${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
"
-PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm pie \
+PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm pie slirp \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \
"
# ppc32 hosts are no longer supported in qemu
diff --git a/meta/recipes-devtools/repo/repo_2.26.bb b/meta/recipes-devtools/repo/repo_2.28.bb
index ff5b7eb6aa..052108e9e5 100644
--- a/meta/recipes-devtools/repo/repo_2.26.bb
+++ b/meta/recipes-devtools/repo/repo_2.28.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \
file://0001-python3-shebang.patch \
"
-SRCREV = "bdcba7dc36f1c8e6041681eb5b3b5229c93c7c5c"
+SRCREV = "a8cf575d68e7e211292d967f4a12cf609a028b20"
MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
diff --git a/meta/recipes-devtools/ruby/ruby_3.1.2.bb b/meta/recipes-devtools/ruby/ruby_3.1.2.bb
index 38ba46731b..6fc1f53b18 100644
--- a/meta/recipes-devtools/ruby/ruby_3.1.2.bb
+++ b/meta/recipes-devtools/ruby/ruby_3.1.2.bb
@@ -25,6 +25,7 @@ PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6,"
# rdoc is off by default due to non-reproducibility reported in
# https://bugs.ruby-lang.org/issues/18456
PACKAGECONFIG[rdoc] = "--enable-install-rdoc,--disable-install-rdoc,"
+PACKAGECONFIG[capstone] = "--with-capstone=yes, --with-capstone=no"
EXTRA_OECONF = "\
--disable-versioned-paths \
diff --git a/meta/recipes-devtools/rust/libstd-rs/0001-Add-400-series-syscalls-to-musl-riscv64-definitions.patch b/meta/recipes-devtools/rust/libstd-rs/0001-Add-400-series-syscalls-to-musl-riscv64-definitions.patch
deleted file mode 100644
index 2f2ca27910..0000000000
--- a/meta/recipes-devtools/rust/libstd-rs/0001-Add-400-series-syscalls-to-musl-riscv64-definitions.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 7b3bc1de0c79a1b410105ce36bbe9f774438d263 Mon Sep 17 00:00:00 2001
-From: Ross Schulman <ross@rbs.io>
-Date: Tue, 1 Feb 2022 09:13:16 -0500
-Subject: [PATCH] Add 400-series syscalls to musl riscv64 definitions
-
-Upstream-Status: Backport [https://github.com/rust-lang/libc/commit/7b3bc1de0c79a1b410105ce36bbe9f774438d263]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .../linux_like/linux/musl/b64/riscv64/mod.rs | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/vendor/libc-0.2.116/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/vendor/libc-0.2.116/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
-index 6b17621c7..2036583d5 100644
---- a/vendor/libc-0.2.116/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
-+++ b/vendor/libc-0.2.116/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
-@@ -465,6 +465,25 @@ 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_send_signal: ::c_long = 424;
-+pub const SYS_io_uring_setup: ::c_long = 425;
-+pub const SYS_io_uring_enter: ::c_long = 426;
-+pub const SYS_io_uring_register: ::c_long = 427;
-+pub const SYS_open_tree: ::c_long = 428;
-+pub const SYS_move_mount: ::c_long = 429;
-+pub const SYS_fsopen: ::c_long = 430;
-+pub const SYS_fsconfig: ::c_long = 431;
-+pub const SYS_fsmount: ::c_long = 432;
-+pub const SYS_fspick: ::c_long = 433;
-+pub const SYS_pidfd_open: ::c_long = 434;
-+pub const SYS_clone3: ::c_long = 435;
-+pub const SYS_close_range: ::c_long = 436;
-+pub const SYS_openat2: ::c_long = 437;
-+pub const SYS_pidfd_getfd: ::c_long = 438;
-+pub const SYS_faccessat2: ::c_long = 439;
-+pub const SYS_process_madvise: ::c_long = 440;
-+pub const SYS_epoll_pwait2: ::c_long = 441;
-+pub const SYS_mount_setattr: ::c_long = 442;
-
- pub const O_APPEND: ::c_int = 1024;
- pub const O_DIRECT: ::c_int = 0x4000;
---
-2.35.1
-
diff --git a/meta/recipes-devtools/rust/libstd-rs/0001-Update-checksums-for-modified-vendored-libc.patch b/meta/recipes-devtools/rust/libstd-rs/0001-Update-checksums-for-modified-vendored-libc.patch
deleted file mode 100644
index 923a8fbf84..0000000000
--- a/meta/recipes-devtools/rust/libstd-rs/0001-Update-checksums-for-modified-vendored-libc.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-From 7d16c193959f306b50978b415cc3718029c0d8d5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 14 Mar 2022 11:06:39 -0700
-Subject: [PATCH] Update checksums for modified vendored libc
-
-Upstream-Status: Inappropriate [Relevant until backported patch is needed]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- vendor/libc-0.2.116/.cargo-checksum.json | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/vendor/libc-0.2.116/.cargo-checksum.json
-+++ b/vendor/libc-0.2.116/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"5bb1b7c99c97f4a5c211e2803482b3bac420044ad1c53a24c06630d4c8df3348","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"0a4edcc040533d370a2a736f2e218516182471e8b0d9ed5dc2a6c08d5d852a83","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"bc8c46531bd1a2429f36aaf2bc137b50e42505b798de83f34eecfa94ad89179b","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":"adc4f6af60e57eadc01042ec4312bd592fa3002850b8c70740bfd95ddd2d77fb","src/macros.rs":"148cf62f43a1732a8f37c5e7c9673e51b69cee124c27ee9883c94d2da8edff20","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"a726e47f324adf73a4a0b67a2c183408d0cad105ae66acf36db37a42ab7f8707","src/solid/arm.rs":"e39a4f74ebbef3b97b8c95758ad741123d84ed3eb48d9cf4f1f4872097fc27fe","src/solid/mod.rs":"98dc29c3e5773318ba258a4a2b7407f25aa52d40885a0024fbe43676fe54d14b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"44c217a4f263afe7a97435de9323d20a96c37836f899ca0925306d4b7e073c27","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":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/mod.rs":"394a28c9924c4d973d980dc529627cdccf6ca710f7aec46500a868fa76f493df","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"829c863803f2029396177026b6f6bd7f91e857032c5a133aa48247a6c3c01431","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"2a215bd6136b8617aacedf9be738ccee94da9d29b418e9a78101d6291c182352","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":"a6eee615e6ca5a6e04b526bb6b22d13b9356e87e51825cda33476c37a46cb0ef","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"266fe364867d858610b51a950e936fb10c7990f5e627cd59f7947f4b232ab259","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"12bf5c9aef74d43005aca762a48c2c6d64c21d138bd789b20f7143fc20a6db95","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs":"fdbc49a641a247aabb6e725647826bc5341447d9bff1319bfe092ba5fcda7b26","src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/mod.rs":"9e6d77f35ff7d9f3cdd8596ca88f2eb39fd74cd8a135f99cc487fdb164422f83","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/riscv64.rs":"8f591bd273464d684c4f64365f8ed56a8138175daa70d96008541393057a0dae","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":"51e4dd0c8ae247bb652feda5adad9333ea3bb30c750c3a3935e0b0e47d7803eb","src/unix/bsd/freebsdlike/mod.rs":"365ab1c1ce8b7ca061b1bdb38aac534cb600e978746eb309f6d1792b3f67db39","src/unix/bsd/mod.rs":"2fed08973739d7f6a7412b204724af64b1a915c712689c250cf9a08263ba05ff","src/unix/bsd/netbsdlike/mod.rs":"07b97b75fa72215b54c9869f50eee3167ea835fd674cf3fa036bdbd6904c563b","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"65dcb58d11e8d8028401a9d07ca3eb4cb4f053e04249cc877353449d84ccc4cb","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"5f927d3d26165689b3ae7a7535ea5504068a406ef76705572c610995dbea1f0e","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":"1afe5ef46b14397cdd68664b5b232e4f5b035b6db1d4cf411c899d51ebca9f30","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/arm.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/mips64.rs":"8532a189ae10c7d668d9d4065da8b05d124e09bd39442c9f74a7f231c43eca48","src/unix/bsd/netbsdlike/openbsd/mod.rs":"98c95365b892679b4976b928714a0b6fc61f01fe662e7066170448d6c1eaef5e","src/unix/bsd/netbsdlike/openbsd/powerpc.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/powerpc64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/riscv64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"a2efdbf7158a6da341e1db9176b0ab193ba88b449616239ed95dced11f54d87b","src/unix/haiku/b64.rs":"ff8115367d3d7d354f792d6176dfaaa26353f57056197b563bf4681f91ff7985","src/unix/haiku/mod.rs":"41c1cc641a21a2433fe38e9b4038c4ac94ef10a00c38351c79c4e7f3affadc6e","src/unix/haiku/native.rs":"44855f52906f607de137fc4baa8c6b1b9a26baaa666f25d5f7a7ec5e017c8be6","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","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":"433c1530f602cc5ed26610c58055dde0c4ceea5e00150063b24ddc60768332a4","src/unix/linux_like/android/b32/mod.rs":"d971b98530a96f5892f98e1edc3133cf278d1b3939d77ab0a27a6323e0961715","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":"78b837d764c5ab6d262f12c3824d8ef05a94c03b9342b88462454ca7a52d203d","src/unix/linux_like/android/b64/mod.rs":"d7bbbadafdb2cb2ff8e9cde3d89a03b9facaabb6b2d45705225d3ece1c5cce37","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"06b22dc184e85a988ab969c75cadc52b9878faeab0eb9d21215878c95fe07c19","src/unix/linux_like/android/mod.rs":"f19d7ce918bd273709578b3cfc3be02192ff1b0d4561de0018796db3fe04b179","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"b71d37106750f57bc2dae4e9bcb473ff098ef48235827e41a1687a39825f0aa4","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":"b6efaded9b9631410a265dd52398d9bddb387d35b9f513e9c0432dc5233dda39","src/unix/linux_like/linux/arch/mips/mod.rs":"4588078cd2b1c046379c8a55f728b838ff7f9151fcd8a1a5389683f1bda13550","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"c447e417cdb966a4da64e2755fd91f64ab14098f529098bf437053d7e08843db","src/unix/linux_like/linux/arch/sparc/mod.rs":"9b89a4e798bb83b3e0f4052fa2d2bb6f5e9508da69a2e5b40b40795e4b4256ae","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":"877ff42aa56e599084df9a8374e1f3eaf8ec05a445f2887b10aee5744c093f02","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"9fdf7cf98bc92153854ba04b2892009ec8bd855d12e1f68e91d3df2418ff6364","src/unix/linux_like/linux/gnu/b32/mod.rs":"ad23b70a5f849d5a6dbbf6d608221d2928b1834956d71d072bcc0eb941b0d856","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"240468afe2fe42fd60a5568add147dc0ff097a6469ffadfdd5b9756dfd0323f2","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"dc99518121e911db120b157ad289e5e6964f3a42df53b091eaf071dbf5c04098","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"ae203726810da9312b484b0b7891a35527748c069f11e91d6d9afc73297b1cbb","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"eb8d002ccb3dfcf6c94e8826afe9f8c496a813fa3d770c7dbc1024b45f870c2f","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":"79991b28010bfa01501dc5aa0ba2f7d8394539447398169a052c541cb21e20bd","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"506050a20f8de53907a893d2711f1bed6e6c019580d5dde55f5dbdcfa40802f5","src/unix/linux_like/linux/gnu/b64/mod.rs":"6336065423c26b59681fd2ce77f1117ea36af13e163fdadaefd108bd8191e8c8","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"b53ee7b973b91c2175d16476c87547f8b36c2f0b716f456018fdd2728ab4d59f","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"7cbadd208b719c3cbab0432cb6bb236f1e79a01823790aa6b07366433ca0991b","src/unix/linux_like/linux/gnu/b64/s390x.rs":"59228db655d6a54d20b9431c705ed7966f94b98d61e53b992c8f8ee05e176e77","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"cb9750d9153428712eb32928fb85a1e67f9687f42ef698c3bb79951c219361d0","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e4cbe0f5a3d100490f4f648bcadcd26899cf2f4760e6ee8ccb56ce16d598cc18","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":"13899330d3118c5e41854f897c2e455f1b7db949384d36cff1d3042fd25a4475","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3aaa8a783a1ec2134e27a45d7de6296b97f94e543bf5ec2c6c4ea5d24afb167f","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"8625290735a1294a50b34bb2b8d3b515305325187027cc577c72b0762f3a265e","src/unix/linux_like/linux/musl/b32/hexagon.rs":"dbc8aeb2bd3cd2269e0e95858c5ba0e0204b1ca0bcc5df517fb3f7f71134d044","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"65e3917900a9dfa0b4602e87d17305ebfa56a0c0dea61e3975099c9a6b9e967b","src/unix/linux_like/linux/musl/b32/mod.rs":"bac24312f6629ef76aa12dd41123061e3a77a244e7fda7bbfcdf5c57996b61e6","src/unix/linux_like/linux/musl/b32/powerpc.rs":"e898b490365c84c0f1856ea8640463c558b5a247d845ca0c11677679272ea20f","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9a9f4926d5a1fbe406f5ab84742680fe4941ab929005e7fefc4e2bc6686ba5eb","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"cddcde68c13104f18edd611ce23e60a4f9b4fcae1baa57fb92284495d3a77850","src/unix/linux_like/linux/musl/b64/mips64.rs":"4a5d543195da94aaa45be067d6d145c8092bebf3611898aa2beccc0cd55d5f3f","src/unix/linux_like/linux/musl/b64/mod.rs":"d847206d9f2d594c8febe780a938cdccf40d985dafc11e90f235947735a09bac","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"37b08e5f5f84bc72b62c439ac9282db71ff59b80cd2775c5588941b7a135e6bc","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"88d58ec165c404ab8e44ae43ee51ae6982924dae07309dbc504404f142515b7a","src/unix/linux_like/linux/musl/b64/s390x.rs":"9b05b1fae6bcb7cb6d909b9973977fde01684175f3e26c27dcb44223cc3933d9","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"d3762f374cd3aaa1e0e3f79d36f9edc7fd4c8492e561ee4bd0e80e727eef4e9e","src/unix/linux_like/linux/musl/mod.rs":"c9a24828d62f20e0cc0b835197f48bc31aa51db7ca4880341292271cc2df7aae","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/non_exhaustive.rs":"181a05bf94fdb911db83ce793b993bd6548a4115b306a7ef3c10f745a8fea3e9","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":"6d83b37ebe54384269b5c5cc3c9c370f97bdc8c646c9aee8705f0de1aca80067","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":"edb86245bcc0e340de277e20752463cb4004104fe97737a71afdcc8b06bee703","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":"57d5e24ceb98e1ef90de231c4cf7f0275ac410d407607b240af6744504ec1f2a","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"4eea5256e47e485dd1e50c147a56697d286e0395a77674317e83a28fb43a12d8","src/unix/linux_like/linux/uclibc/mod.rs":"d2f5d6a3381bceec0b036bb3979c113c9c4144b134368e39b3f9f2fbef79f5cc","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"024eba5753e852dbdd212427351affe7e83f9916c1864bce414d7aa2618f192e","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"583349563b537104e2265be893f65e302e568a54f4022b8f14a2cf3200ac39ba","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"dd4f7a1d66d8501b4a2c4e75e6e9305ed69f1002ae99e410596a6c636878595a","src/unix/mod.rs":"22300f25d8f3adcdcd419222a2d5657e44c835eb4a0f90e05b691c7bcc3a787e","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/espidf/mod.rs":"c198cb4beccdab483be61c102da74dc51ac80f766797e33021f3110394ed5a3d","src/unix/newlib/horizon/mod.rs":"95cb1e5f469a3d90ce27f03d8f70121c82edd26ab762db4aa373857b87e12d98","src/unix/newlib/mod.rs":"c33c46ad76627c24927b63953d9271e01bbc7f4967381675baf61442470a41cb","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"cc4794afa4fbed9d6612894ea476228f9d8533950162d6416fc4d16073e1dac4","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"a092f6676a0d208e803819bf32f928714e93606fb9062cf55b5fb7a121d47481","src/unix/solarish/mod.rs":"01dc4208b5b0d901550dc9a6f060e7d446a303919287b328fda556d9dc569b34","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/unix/solarish/x86_64.rs":"9d761573bdccbdd1ac61da571f7e96b5374df70241d9b72d45a069611f495085","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"aea3da66f2140f2a82dfc9c58f6e6531d2dd9c15ea696e0f95a0d4a2a187b5b6","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"817e7592e47f06ece5266fb35625c1aba0a23128e4015a9de2fbf94aba5f1312","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"e3ad95ba54f76e74c301611fe868d3d94f6b8939b03be672f568b06b10ae71c7","src/windows/msvc/mod.rs":"c068271e00fca6b62bc4bf44bcf142cfc38caeded9b6c4e01d1ceef3ccf986f4","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"565dbd88872dbe4cc8a46e527f26483c1d1f7afa6b884a3bd6cd893d4f98da74"}
-\ No newline at end of file
-+{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"5bb1b7c99c97f4a5c211e2803482b3bac420044ad1c53a24c06630d4c8df3348","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"0a4edcc040533d370a2a736f2e218516182471e8b0d9ed5dc2a6c08d5d852a83","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"bc8c46531bd1a2429f36aaf2bc137b50e42505b798de83f34eecfa94ad89179b","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":"adc4f6af60e57eadc01042ec4312bd592fa3002850b8c70740bfd95ddd2d77fb","src/macros.rs":"148cf62f43a1732a8f37c5e7c9673e51b69cee124c27ee9883c94d2da8edff20","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"a726e47f324adf73a4a0b67a2c183408d0cad105ae66acf36db37a42ab7f8707","src/solid/arm.rs":"e39a4f74ebbef3b97b8c95758ad741123d84ed3eb48d9cf4f1f4872097fc27fe","src/solid/mod.rs":"98dc29c3e5773318ba258a4a2b7407f25aa52d40885a0024fbe43676fe54d14b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"44c217a4f263afe7a97435de9323d20a96c37836f899ca0925306d4b7e073c27","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":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/mod.rs":"394a28c9924c4d973d980dc529627cdccf6ca710f7aec46500a868fa76f493df","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"829c863803f2029396177026b6f6bd7f91e857032c5a133aa48247a6c3c01431","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"2a215bd6136b8617aacedf9be738ccee94da9d29b418e9a78101d6291c182352","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":"a6eee615e6ca5a6e04b526bb6b22d13b9356e87e51825cda33476c37a46cb0ef","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"266fe364867d858610b51a950e936fb10c7990f5e627cd59f7947f4b232ab259","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"12bf5c9aef74d43005aca762a48c2c6d64c21d138bd789b20f7143fc20a6db95","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs":"fdbc49a641a247aabb6e725647826bc5341447d9bff1319bfe092ba5fcda7b26","src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/mod.rs":"9e6d77f35ff7d9f3cdd8596ca88f2eb39fd74cd8a135f99cc487fdb164422f83","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/riscv64.rs":"8f591bd273464d684c4f64365f8ed56a8138175daa70d96008541393057a0dae","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":"51e4dd0c8ae247bb652feda5adad9333ea3bb30c750c3a3935e0b0e47d7803eb","src/unix/bsd/freebsdlike/mod.rs":"365ab1c1ce8b7ca061b1bdb38aac534cb600e978746eb309f6d1792b3f67db39","src/unix/bsd/mod.rs":"2fed08973739d7f6a7412b204724af64b1a915c712689c250cf9a08263ba05ff","src/unix/bsd/netbsdlike/mod.rs":"07b97b75fa72215b54c9869f50eee3167ea835fd674cf3fa036bdbd6904c563b","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"65dcb58d11e8d8028401a9d07ca3eb4cb4f053e04249cc877353449d84ccc4cb","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"5f927d3d26165689b3ae7a7535ea5504068a406ef76705572c610995dbea1f0e","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":"1afe5ef46b14397cdd68664b5b232e4f5b035b6db1d4cf411c899d51ebca9f30","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/arm.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/mips64.rs":"8532a189ae10c7d668d9d4065da8b05d124e09bd39442c9f74a7f231c43eca48","src/unix/bsd/netbsdlike/openbsd/mod.rs":"98c95365b892679b4976b928714a0b6fc61f01fe662e7066170448d6c1eaef5e","src/unix/bsd/netbsdlike/openbsd/powerpc.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/powerpc64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/riscv64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"a2efdbf7158a6da341e1db9176b0ab193ba88b449616239ed95dced11f54d87b","src/unix/haiku/b64.rs":"ff8115367d3d7d354f792d6176dfaaa26353f57056197b563bf4681f91ff7985","src/unix/haiku/mod.rs":"41c1cc641a21a2433fe38e9b4038c4ac94ef10a00c38351c79c4e7f3affadc6e","src/unix/haiku/native.rs":"44855f52906f607de137fc4baa8c6b1b9a26baaa666f25d5f7a7ec5e017c8be6","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","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":"433c1530f602cc5ed26610c58055dde0c4ceea5e00150063b24ddc60768332a4","src/unix/linux_like/android/b32/mod.rs":"d971b98530a96f5892f98e1edc3133cf278d1b3939d77ab0a27a6323e0961715","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":"78b837d764c5ab6d262f12c3824d8ef05a94c03b9342b88462454ca7a52d203d","src/unix/linux_like/android/b64/mod.rs":"d7bbbadafdb2cb2ff8e9cde3d89a03b9facaabb6b2d45705225d3ece1c5cce37","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"06b22dc184e85a988ab969c75cadc52b9878faeab0eb9d21215878c95fe07c19","src/unix/linux_like/android/mod.rs":"f19d7ce918bd273709578b3cfc3be02192ff1b0d4561de0018796db3fe04b179","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"b71d37106750f57bc2dae4e9bcb473ff098ef48235827e41a1687a39825f0aa4","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":"b6efaded9b9631410a265dd52398d9bddb387d35b9f513e9c0432dc5233dda39","src/unix/linux_like/linux/arch/mips/mod.rs":"4588078cd2b1c046379c8a55f728b838ff7f9151fcd8a1a5389683f1bda13550","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"c447e417cdb966a4da64e2755fd91f64ab14098f529098bf437053d7e08843db","src/unix/linux_like/linux/arch/sparc/mod.rs":"9b89a4e798bb83b3e0f4052fa2d2bb6f5e9508da69a2e5b40b40795e4b4256ae","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":"877ff42aa56e599084df9a8374e1f3eaf8ec05a445f2887b10aee5744c093f02","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"9fdf7cf98bc92153854ba04b2892009ec8bd855d12e1f68e91d3df2418ff6364","src/unix/linux_like/linux/gnu/b32/mod.rs":"ad23b70a5f849d5a6dbbf6d608221d2928b1834956d71d072bcc0eb941b0d856","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"240468afe2fe42fd60a5568add147dc0ff097a6469ffadfdd5b9756dfd0323f2","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"dc99518121e911db120b157ad289e5e6964f3a42df53b091eaf071dbf5c04098","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"ae203726810da9312b484b0b7891a35527748c069f11e91d6d9afc73297b1cbb","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"eb8d002ccb3dfcf6c94e8826afe9f8c496a813fa3d770c7dbc1024b45f870c2f","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":"79991b28010bfa01501dc5aa0ba2f7d8394539447398169a052c541cb21e20bd","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"506050a20f8de53907a893d2711f1bed6e6c019580d5dde55f5dbdcfa40802f5","src/unix/linux_like/linux/gnu/b64/mod.rs":"6336065423c26b59681fd2ce77f1117ea36af13e163fdadaefd108bd8191e8c8","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"b53ee7b973b91c2175d16476c87547f8b36c2f0b716f456018fdd2728ab4d59f","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"7cbadd208b719c3cbab0432cb6bb236f1e79a01823790aa6b07366433ca0991b","src/unix/linux_like/linux/gnu/b64/s390x.rs":"59228db655d6a54d20b9431c705ed7966f94b98d61e53b992c8f8ee05e176e77","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"cb9750d9153428712eb32928fb85a1e67f9687f42ef698c3bb79951c219361d0","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e4cbe0f5a3d100490f4f648bcadcd26899cf2f4760e6ee8ccb56ce16d598cc18","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":"13899330d3118c5e41854f897c2e455f1b7db949384d36cff1d3042fd25a4475","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3aaa8a783a1ec2134e27a45d7de6296b97f94e543bf5ec2c6c4ea5d24afb167f","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"8625290735a1294a50b34bb2b8d3b515305325187027cc577c72b0762f3a265e","src/unix/linux_like/linux/musl/b32/hexagon.rs":"dbc8aeb2bd3cd2269e0e95858c5ba0e0204b1ca0bcc5df517fb3f7f71134d044","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"65e3917900a9dfa0b4602e87d17305ebfa56a0c0dea61e3975099c9a6b9e967b","src/unix/linux_like/linux/musl/b32/mod.rs":"bac24312f6629ef76aa12dd41123061e3a77a244e7fda7bbfcdf5c57996b61e6","src/unix/linux_like/linux/musl/b32/powerpc.rs":"e898b490365c84c0f1856ea8640463c558b5a247d845ca0c11677679272ea20f","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9a9f4926d5a1fbe406f5ab84742680fe4941ab929005e7fefc4e2bc6686ba5eb","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"cddcde68c13104f18edd611ce23e60a4f9b4fcae1baa57fb92284495d3a77850","src/unix/linux_like/linux/musl/b64/mips64.rs":"4a5d543195da94aaa45be067d6d145c8092bebf3611898aa2beccc0cd55d5f3f","src/unix/linux_like/linux/musl/b64/mod.rs":"d847206d9f2d594c8febe780a938cdccf40d985dafc11e90f235947735a09bac","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"37b08e5f5f84bc72b62c439ac9282db71ff59b80cd2775c5588941b7a135e6bc","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"0c7ee2f0ef9868b2ee628748d20cfb2f5ed52da2c862500c9b8406269a89dc52","src/unix/linux_like/linux/musl/b64/s390x.rs":"9b05b1fae6bcb7cb6d909b9973977fde01684175f3e26c27dcb44223cc3933d9","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"d3762f374cd3aaa1e0e3f79d36f9edc7fd4c8492e561ee4bd0e80e727eef4e9e","src/unix/linux_like/linux/musl/mod.rs":"c9a24828d62f20e0cc0b835197f48bc31aa51db7ca4880341292271cc2df7aae","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/non_exhaustive.rs":"181a05bf94fdb911db83ce793b993bd6548a4115b306a7ef3c10f745a8fea3e9","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":"6d83b37ebe54384269b5c5cc3c9c370f97bdc8c646c9aee8705f0de1aca80067","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":"edb86245bcc0e340de277e20752463cb4004104fe97737a71afdcc8b06bee703","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":"57d5e24ceb98e1ef90de231c4cf7f0275ac410d407607b240af6744504ec1f2a","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"4eea5256e47e485dd1e50c147a56697d286e0395a77674317e83a28fb43a12d8","src/unix/linux_like/linux/uclibc/mod.rs":"d2f5d6a3381bceec0b036bb3979c113c9c4144b134368e39b3f9f2fbef79f5cc","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"024eba5753e852dbdd212427351affe7e83f9916c1864bce414d7aa2618f192e","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"583349563b537104e2265be893f65e302e568a54f4022b8f14a2cf3200ac39ba","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"dd4f7a1d66d8501b4a2c4e75e6e9305ed69f1002ae99e410596a6c636878595a","src/unix/mod.rs":"22300f25d8f3adcdcd419222a2d5657e44c835eb4a0f90e05b691c7bcc3a787e","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/espidf/mod.rs":"c198cb4beccdab483be61c102da74dc51ac80f766797e33021f3110394ed5a3d","src/unix/newlib/horizon/mod.rs":"95cb1e5f469a3d90ce27f03d8f70121c82edd26ab762db4aa373857b87e12d98","src/unix/newlib/mod.rs":"c33c46ad76627c24927b63953d9271e01bbc7f4967381675baf61442470a41cb","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"cc4794afa4fbed9d6612894ea476228f9d8533950162d6416fc4d16073e1dac4","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"a092f6676a0d208e803819bf32f928714e93606fb9062cf55b5fb7a121d47481","src/unix/solarish/mod.rs":"01dc4208b5b0d901550dc9a6f060e7d446a303919287b328fda556d9dc569b34","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/unix/solarish/x86_64.rs":"9d761573bdccbdd1ac61da571f7e96b5374df70241d9b72d45a069611f495085","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"aea3da66f2140f2a82dfc9c58f6e6531d2dd9c15ea696e0f95a0d4a2a187b5b6","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"817e7592e47f06ece5266fb35625c1aba0a23128e4015a9de2fbf94aba5f1312","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"e3ad95ba54f76e74c301611fe868d3d94f6b8939b03be672f568b06b10ae71c7","src/windows/msvc/mod.rs":"c068271e00fca6b62bc4bf44bcf142cfc38caeded9b6c4e01d1ceef3ccf986f4","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"565dbd88872dbe4cc8a46e527f26483c1d1f7afa6b884a3bd6cd893d4f98da74"}
diff --git a/meta/recipes-devtools/rust/libstd-rs_1.60.0.bb b/meta/recipes-devtools/rust/libstd-rs_1.60.0.bb
deleted file mode 100644
index 0ff1fbd678..0000000000
--- a/meta/recipes-devtools/rust/libstd-rs_1.60.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require rust-source.inc
-require libstd-rs.inc
-
-# Check if libc crate is >= 0.2.17 before dropping this patch
-SRC_URI += " \
- file://0001-Add-400-series-syscalls-to-musl-riscv64-definitions.patch;patchdir=../../ \
- file://0001-Update-checksums-for-modified-vendored-libc.patch;patchdir=../../ \
-"
-# libstd moved from src/libstd to library/std in 1.47+
-S = "${RUSTSRC}/library/std"
-
-BBCLASSEXTEND = "nativesdk" \ No newline at end of file
diff --git a/meta/recipes-devtools/rust/libstd-rs_1.62.0.bb b/meta/recipes-devtools/rust/libstd-rs_1.62.0.bb
new file mode 100644
index 0000000000..eec0245ae1
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs_1.62.0.bb
@@ -0,0 +1,7 @@
+require rust-source.inc
+require libstd-rs.inc
+
+# libstd moved from src/libstd to library/std in 1.47+
+S = "${RUSTSRC}/library/std"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian-common.inc b/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
index 1f21c8af26..34020ff6ff 100644
--- a/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
+++ b/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
@@ -25,12 +25,7 @@ DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDP
-fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
"
-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'))
-}
+RUST_TARGETGENS = "BUILD HOST TARGET"
INHIBIT_DEFAULT_RUST_DEPS = "1"
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian_1.60.0.bb b/meta/recipes-devtools/rust/rust-cross-canadian_1.62.0.bb
index 766912c019..766912c019 100644
--- a/meta/recipes-devtools/rust/rust-cross-canadian_1.60.0.bb
+++ b/meta/recipes-devtools/rust/rust-cross-canadian_1.62.0.bb
diff --git a/meta/recipes-devtools/rust/rust-cross.inc b/meta/recipes-devtools/rust/rust-cross.inc
index f6babfeeda..ab538e6659 100644
--- a/meta/recipes-devtools/rust/rust-cross.inc
+++ b/meta/recipes-devtools/rust/rust-cross.inc
@@ -1,23 +1,4 @@
-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))
- abi = ""
- if thing is "TARGET":
- abi = d.getVar('ABIEXTENSION')
- # 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, abi)
-}
+RUST_TARGETGENS = "BUILD HOST TARGET"
# Otherwise we'll depend on what we provide
INHIBIT_DEFAULT_RUST_DEPS = "1"
diff --git a/meta/recipes-devtools/rust/rust-cross_1.60.0.bb b/meta/recipes-devtools/rust/rust-cross_1.62.0.bb
index 5358d98da8..5358d98da8 100644
--- a/meta/recipes-devtools/rust/rust-cross_1.60.0.bb
+++ b/meta/recipes-devtools/rust/rust-cross_1.62.0.bb
diff --git a/meta/recipes-devtools/rust/rust-crosssdk_1.60.0.bb b/meta/recipes-devtools/rust/rust-crosssdk_1.62.0.bb
index 6ea8cb09b2..6ea8cb09b2 100644
--- a/meta/recipes-devtools/rust/rust-crosssdk_1.60.0.bb
+++ b/meta/recipes-devtools/rust/rust-crosssdk_1.62.0.bb
diff --git a/meta/recipes-devtools/rust/rust-llvm_1.60.0.bb b/meta/recipes-devtools/rust/rust-llvm_1.62.0.bb
index 5b94e22f7b..5b94e22f7b 100644
--- a/meta/recipes-devtools/rust/rust-llvm_1.60.0.bb
+++ b/meta/recipes-devtools/rust/rust-llvm_1.62.0.bb
diff --git a/meta/recipes-devtools/rust/rust-snapshot.inc b/meta/recipes-devtools/rust/rust-snapshot.inc
index c69f34141b..3bd7b07cef 100644
--- a/meta/recipes-devtools/rust/rust-snapshot.inc
+++ b/meta/recipes-devtools/rust/rust-snapshot.inc
@@ -5,21 +5,21 @@
## The version is replicated here.
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
-RS_VERSION = "1.59.0"
-CARGO_VERSION = "1.59.0"
+RS_VERSION = "1.61.0"
+CARGO_VERSION = "1.61.0"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
-SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "c854a9ee3dd8e5be9522c1581f75838c1cbae6dece3934b0004f138c4a5024a3"
-SRC_URI[rustc-snapshot-x86_64.sha256sum] = "838de1fef855ef7733a87862c2575e8da9f3fa11fd0a8ce05c293038ea92356e"
-SRC_URI[cargo-snapshot-x86_64.sha256sum] = "f56ebfb333ea46e4429377bf4b16a2ec889d61640a41c3093577cdd8f3c80b96"
+SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "270b07aa5f2de52255a117e1e587138d77375ce0d09a1d7fead085f29b3977e9"
+SRC_URI[rustc-snapshot-x86_64.sha256sum] = "21c4613f389ed130fbaaf88f1e984319f72b5fc10734569a5ba19e22ebb03abd"
+SRC_URI[cargo-snapshot-x86_64.sha256sum] = "9461727d754f865ef2a87479d40bbe4c5176f80963b7c50b7797bc8940d7a0a0"
-SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "68e50dee4f6dddeab7330906e46022f57f2c004c847eae3f5b1bc82c59e43fc0"
-SRC_URI[rustc-snapshot-aarch64.sha256sum] = "d9789013ef6edd76eae3e7427b48f420a036ab3ee2af883e60baa33a9e1c23d7"
-SRC_URI[cargo-snapshot-aarch64.sha256sum] = "11b8da4b90ff74c6c796a3d6c1f5150de23c411ed2546e10b301077b904191fd"
+SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "57d60a519dbce12146849f7e72d55f3cffe9cdcbff8d58e90bb62d3c016bb5c0"
+SRC_URI[rustc-snapshot-aarch64.sha256sum] = "c996de6391e3ea94629fbc09b03bce186fcde345159f43ec95a82c500adb5e94"
+SRC_URI[cargo-snapshot-aarch64.sha256sum] = "a055e6cfd9b5f8938780db6179d2ef92990c714ce64278337d7edf3d29c8ab62"
-SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "15dee7705967e3351aff11c64ada30c4957b54066c7ee49b87be4b8155bd0a7d"
-SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "e5458f55e51f8baecab4ff1e43fae5c6e1c40d8171098ab633747ee0684b37bb"
-SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "fdab44481286db3ea8f4b6d409e648355009ef458188352d5e2c5799f7614fbd"
+SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "36c0ccff14c80419507561db050f9533f0abd43fc50f3ddb859c10df74b1c351"
+SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "dc54893d747e4f3330515caa75e404f78c6c5475a1216d1428f5e7ce1c2e9602"
+SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "09817011ff1ef4b7006387c7cabb6a059731792a9372533dec7d87e7f014444b"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \
diff --git a/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc
index f6f8b4bab5..fda26534e8 100644
--- a/meta/recipes-devtools/rust/rust-source.inc
+++ b/meta/recipes-devtools/rust/rust-source.inc
@@ -1,5 +1,5 @@
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
-SRC_URI[rust.sha256sum] = "a025876deccbcb3f288d8e02623ea321f94623f31305d3c5c6f17855bb9685db"
+SRC_URI[rust.sha256sum] = "6c00ef115c894c2645e60b5049a4f5dacf1dc0c993f3074f7ae4fdf4c755dd5e"
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
diff --git a/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.60.0.bb b/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.62.0.bb
index 2d809d68f5..2d809d68f5 100644
--- a/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.60.0.bb
+++ b/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.62.0.bb
diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
index f39228e3c0..ecb057ad3b 100644
--- a/meta/recipes-devtools/rust/rust.inc
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -39,7 +39,7 @@ setup_cargo_environment () {
printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
}
-include rust-common.inc
+inherit rust-target-config
do_rust_setup_snapshot () {
for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
@@ -98,6 +98,10 @@ python do_configure() {
config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+ # [llvm]
+ config.add_section("llvm")
+ config.set("llvm", "static-libstdcpp", e(False))
+
# [rust]
config.add_section("rust")
config.set("rust", "rpath", e(True))
diff --git a/meta/recipes-devtools/rust/rust_1.60.0.bb b/meta/recipes-devtools/rust/rust_1.62.0.bb
index b505ad46ca..b505ad46ca 100644
--- a/meta/recipes-devtools/rust/rust_1.60.0.bb
+++ b/meta/recipes-devtools/rust/rust_1.62.0.bb
diff --git a/meta/recipes-devtools/strace/strace_5.18.bb b/meta/recipes-devtools/strace/strace_5.18.bb
index 3164ebca51..75ff58bd50 100644
--- a/meta/recipes-devtools/strace/strace_5.18.bb
+++ b/meta/recipes-devtools/strace/strace_5.18.bb
@@ -18,6 +18,9 @@ SRC_URI[sha256sum] = "60293ea79ac9253d600cdc9be077ad2988ca22284a439c9e66be5150db
inherit autotools ptest
+# Not yet ported to rv32
+COMPATIBLE_HOST:riscv32 = "null"
+
PACKAGECONFIG:class-target ??= "\
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
"
@@ -33,7 +36,7 @@ TESTDIR = "tests"
PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
do_compile_ptest() {
- oe_runmake ${PARALLEL_MAKE} -C ${TESTDIR} buildtest-TESTS
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
}
do_install_ptest() {
diff --git a/meta/recipes-devtools/vala/vala.inc b/meta/recipes-devtools/vala/vala.inc
index 90e0b77de0..974baa33f5 100644
--- a/meta/recipes-devtools/vala/vala.inc
+++ b/meta/recipes-devtools/vala/vala.inc
@@ -60,3 +60,9 @@ vapigen_sysroot_preprocess() {
}
SSTATE_SCAN_FILES += "vapigen-wrapper"
+
+PACKAGE_PREPROCESS_FUNCS += "vala_package_preprocess"
+
+vala_package_preprocess () {
+ sed -i -e 's:${RECIPE_SYSROOT}::g;' ${PKGD}${bindir}/vapigen-wrapper
+}
diff --git a/meta/recipes-devtools/vala/vala_0.56.1.bb b/meta/recipes-devtools/vala/vala_0.56.1.bb
deleted file mode 100644
index 48d21685e8..0000000000
--- a/meta/recipes-devtools/vala/vala_0.56.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI[sha256sum] = "c518b81dfdda82d1cdf586b3f9b2323162cb96bd3cb5a2c03650cea025d91fb9"
diff --git a/meta/recipes-devtools/vala/vala_0.56.2.bb b/meta/recipes-devtools/vala/vala_0.56.2.bb
new file mode 100644
index 0000000000..08c8ccca1d
--- /dev/null
+++ b/meta/recipes-devtools/vala/vala_0.56.2.bb
@@ -0,0 +1,3 @@
+require ${BPN}.inc
+
+SRC_URI[sha256sum] = "66c9619bb17859fd1ac3aba0a57970613e38fd2a1ee30541174260c9fb90124c"
diff --git a/meta/recipes-extended/at/at_3.2.5.bb b/meta/recipes-extended/at/at_3.2.5.bb
index 6769eb364b..87a436173f 100644
--- a/meta/recipes-extended/at/at_3.2.5.bb
+++ b/meta/recipes-extended/at/at_3.2.5.bb
@@ -22,7 +22,7 @@ PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits"
RCONFLICTS:${PN} = "atd"
RREPLACES:${PN} = "atd"
-SRC_URI = "http://software.calhariz.com/at/${BPN}_${PV}.orig.tar.gz \
+SRC_URI = "${DEBIAN_MIRROR}/main/a/at/${BPN}_${PV}.orig.tar.gz \
file://posixtm.c \
file://posixtm.h \
file://file_replacement_with_gplv2.patch \
diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc
index 8f2ad8a009..4592980766 100644
--- a/meta/recipes-extended/cups/cups.inc
+++ b/meta/recipes-extended/cups/cups.inc
@@ -26,6 +26,8 @@ CVE_CHECK_IGNORE += "CVE-2008-1033"
CVE_CHECK_IGNORE += "CVE-2009-0032"
# This is an Ubuntu only issue.
CVE_CHECK_IGNORE += "CVE-2018-6553"
+# This is fixed in 2.4.2 but the cve-check class still reports it
+CVE_CHECK_IGNORE += "CVE-2022-26691"
LEAD_SONAME = "libcupsdriver.so"
diff --git a/meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch b/meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch
new file mode 100644
index 0000000000..98959db0a8
--- /dev/null
+++ b/meta/recipes-extended/gperf/gperf/1862c6e57a308a05889c80c048dbc58bdc378dcb.patch
@@ -0,0 +1,181 @@
+From 1862c6e57a308a05889c80c048dbc58bdc378dcb Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Tue, 5 Jul 2022 07:51:46 +0200
+Subject: [PATCH] Add support for reproducible builds.
+
+Suggested by Richard Purdie <richard.purdie@linuxfoundation.org> in
+<https://lists.gnu.org/archive/html/bug-gperf/2022-07/msg00000.html>.
+
+* autogen.sh: Import also lib/filename.h.
+* Makefile.in (IMPORTED_FILES): Add lib/filename.h.
+* src/options.cc: Include filename.h.
+(Options::print_options): Print only the base name of the program name.
+* tests/*.exp: Update.
+
+Upstream-Status: Backport
+
+Index: gperf-3.1/ChangeLog
+===================================================================
+--- gperf-3.1.orig/ChangeLog
++++ gperf-3.1/ChangeLog
+@@ -1,3 +1,14 @@
++2022-07-05 Bruno Haible <bruno@clisp.org>
++
++ Add support for reproducible builds.
++ Suggested by Richard Purdie <richard.purdie@linuxfoundation.org> in
++ <https://lists.gnu.org/archive/html/bug-gperf/2022-07/msg00000.html>.
++ * autogen.sh: Import also lib/filename.h.
++ * Makefile.in (IMPORTED_FILES): Add lib/filename.h.
++ * src/options.cc: Include filename.h.
++ (Options::print_options): Print only the base name of the program name.
++ * tests/*.exp: Update.
++
+ 2017-01-02 Marcel Schaible <marcel.schaible@studium.fernuni-hagen.de>
+
+ * gperf-3.1 released.
+Index: gperf-3.1/src/options.cc
+===================================================================
+--- gperf-3.1.orig/src/options.cc
++++ gperf-3.1/src/options.cc
+@@ -26,6 +26,7 @@
+ #include <string.h> /* declares strcmp() */
+ #include <ctype.h> /* declares isdigit() */
+ #include <limits.h> /* defines CHAR_MAX */
++#include "filename.h"
+ #include "getopt.h"
+ #include "version.h"
+
+@@ -280,6 +281,16 @@ Options::print_options () const
+ {
+ const char *arg = _argument_vector[i];
+
++ if (i == 0)
++ {
++ /* _argument_vector[0] is the program name. Print only its base name.
++ This is useful for reproducible builds. */
++ const char *p = arg + strlen (arg);
++ while (p > arg && ! ISSLASH (p[-1]))
++ p--;
++ arg = p;
++ }
++
+ /* Escape arg if it contains shell metacharacters. */
+ if (*arg == '-')
+ {
+Index: gperf-3.1/lib/filename.h
+===================================================================
+--- /dev/null
++++ gperf-3.1/lib/filename.h
+@@ -0,0 +1,112 @@
++/* Basic filename support macros.
++ Copyright (C) 2001-2022 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
++ 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/>. */
++
++/* From Paul Eggert and Jim Meyering. */
++
++#ifndef _FILENAME_H
++#define _FILENAME_H
++
++#include <string.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/* Filename support.
++ ISSLASH(C) tests whether C is a directory separator
++ character.
++ HAS_DEVICE(Filename) tests whether Filename contains a device
++ specification.
++ FILE_SYSTEM_PREFIX_LEN(Filename) length of the device specification
++ at the beginning of Filename,
++ index of the part consisting of
++ alternating components and slashes.
++ FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
++ 1 when a non-empty device specification
++ can be followed by an empty or relative
++ part,
++ 0 when a non-empty device specification
++ must be followed by a slash,
++ 0 when device specification don't exist.
++ IS_ABSOLUTE_FILE_NAME(Filename)
++ tests whether Filename is independent of
++ any notion of "current directory".
++ IS_RELATIVE_FILE_NAME(Filename)
++ tests whether Filename may be concatenated
++ to a directory filename.
++ Note: On native Windows, OS/2, DOS, "c:" is neither an absolute nor a
++ relative file name!
++ IS_FILE_NAME_WITH_DIR(Filename) tests whether Filename contains a device
++ or directory specification.
++ */
++#if defined _WIN32 || defined __CYGWIN__ \
++ || defined __EMX__ || defined __MSDOS__ || defined __DJGPP__
++ /* Native Windows, Cygwin, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++ /* Internal macro: Tests whether a character is a drive letter. */
++# define _IS_DRIVE_LETTER(C) \
++ (((C) >= 'A' && (C) <= 'Z') || ((C) >= 'a' && (C) <= 'z'))
++ /* Help the compiler optimizing it. This assumes ASCII. */
++# undef _IS_DRIVE_LETTER
++# define _IS_DRIVE_LETTER(C) \
++ (((unsigned int) (C) | ('a' - 'A')) - 'a' <= 'z' - 'a')
++# define HAS_DEVICE(Filename) \
++ (_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':')
++# define FILE_SYSTEM_PREFIX_LEN(Filename) (HAS_DEVICE (Filename) ? 2 : 0)
++# ifdef __CYGWIN__
++# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
++# else
++ /* On native Windows, OS/2, DOS, the system has the notion of a
++ "current directory" on each drive. */
++# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1
++# endif
++# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
++# define IS_ABSOLUTE_FILE_NAME(Filename) \
++ ISSLASH ((Filename)[FILE_SYSTEM_PREFIX_LEN (Filename)])
++# else
++# define IS_ABSOLUTE_FILE_NAME(Filename) \
++ (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename))
++# endif
++# define IS_RELATIVE_FILE_NAME(Filename) \
++ (! (ISSLASH ((Filename)[0]) || HAS_DEVICE (Filename)))
++# define IS_FILE_NAME_WITH_DIR(Filename) \
++ (strchr ((Filename), '/') != NULL || strchr ((Filename), '\\') != NULL \
++ || HAS_DEVICE (Filename))
++#else
++ /* Unix */
++# define ISSLASH(C) ((C) == '/')
++# define HAS_DEVICE(Filename) ((void) (Filename), 0)
++# define FILE_SYSTEM_PREFIX_LEN(Filename) ((void) (Filename), 0)
++# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
++# define IS_ABSOLUTE_FILE_NAME(Filename) ISSLASH ((Filename)[0])
++# define IS_RELATIVE_FILE_NAME(Filename) (! ISSLASH ((Filename)[0]))
++# define IS_FILE_NAME_WITH_DIR(Filename) (strchr ((Filename), '/') != NULL)
++#endif
++
++/* Deprecated macros. For backward compatibility with old users of the
++ 'filename' module. */
++#define IS_ABSOLUTE_PATH IS_ABSOLUTE_FILE_NAME
++#define IS_PATH_WITH_DIR IS_FILE_NAME_WITH_DIR
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _FILENAME_H */
diff --git a/meta/recipes-extended/gperf/gperf_3.1.bb b/meta/recipes-extended/gperf/gperf_3.1.bb
index 82750fca05..c9f09c7931 100644
--- a/meta/recipes-extended/gperf/gperf_3.1.bb
+++ b/meta/recipes-extended/gperf/gperf_3.1.bb
@@ -9,6 +9,8 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
SRC_URI[md5sum] = "9e251c0a618ad0824b51117d5d9db87e"
SRC_URI[sha256sum] = "588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2"
+SRC_URI += "file://1862c6e57a308a05889c80c048dbc58bdc378dcb.patch"
+
inherit autotools
# The nested configures don't find the parent aclocal.m4 out of the box, so tell
diff --git a/meta/recipes-extended/hdparm/hdparm/0001-hdparm-Remove-unused-linux-fs.h-header.patch b/meta/recipes-extended/hdparm/hdparm/0001-hdparm-Remove-unused-linux-fs.h-header.patch
new file mode 100644
index 0000000000..dd88743d1e
--- /dev/null
+++ b/meta/recipes-extended/hdparm/hdparm/0001-hdparm-Remove-unused-linux-fs.h-header.patch
@@ -0,0 +1,32 @@
+From c8fc52968f9e97d29ccf6deb348ec02627d74235 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Jul 2022 13:00:40 -0700
+Subject: [PATCH] hdparm: Remove unused linux/fs.h header
+
+this helps fixing builds with glibc 2.36 where mount.h conflits now with
+kernel mount.h which is included indirectly by linux/fs.h see [1] for
+details
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36
+
+Upstream-Status: Submitted [https://sourceforge.net/p/hdparm/patches/52/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ hdparm.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/hdparm.c b/hdparm.c
+index fa21e2f..901bdd8 100644
+--- a/hdparm.c
++++ b/hdparm.c
+@@ -25,7 +25,6 @@
+ #include <sys/mman.h>
+ #include <sys/user.h>
+ #include <linux/types.h>
+-#include <linux/fs.h>
+ #include <linux/major.h>
+ #include <endian.h>
+ #include <asm/byteorder.h>
+--
+2.37.1
+
diff --git a/meta/recipes-extended/hdparm/hdparm_9.63.bb b/meta/recipes-extended/hdparm/hdparm_9.64.bb
index 7900a310a3..eeb63a27e5 100644
--- a/meta/recipes-extended/hdparm/hdparm_9.63.bb
+++ b/meta/recipes-extended/hdparm/hdparm_9.64.bb
@@ -24,9 +24,10 @@ RDEPENDS:wiper = "bash gawk coreutils"
SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \
file://wiper.sh-fix-stat-path.patch \
+ file://0001-hdparm-Remove-unused-linux-fs.h-header.patch \
"
-SRC_URI[sha256sum] = "70785deaebba5877a89c123568b41dee990da55fc51420f13f609a1072899691"
+SRC_URI[sha256sum] = "315b956951c3fea027287de204381534217c0bd0f37b4935877fe2db0cab859a"
EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
diff --git a/meta/recipes-extended/libarchive/libarchive/0001-libarchive-Do-not-include-sys-mount.h-when-linux-fs..patch b/meta/recipes-extended/libarchive/libarchive/0001-libarchive-Do-not-include-sys-mount.h-when-linux-fs..patch
new file mode 100644
index 0000000000..0d21799682
--- /dev/null
+++ b/meta/recipes-extended/libarchive/libarchive/0001-libarchive-Do-not-include-sys-mount.h-when-linux-fs..patch
@@ -0,0 +1,47 @@
+From a2f68263a1da5ad227bcb9cd8fa91b93c8b6c99f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Jul 2022 10:56:53 -0700
+Subject: [PATCH] libarchive: Do not include sys/mount.h when linux/fs.h is
+ present
+
+These headers are in conflict and only one is needed by
+archive_read_disk_posix.c therefore include linux/fs.h if it exists
+otherwise include sys/mount.h
+
+It also helps compiling with glibc 2.36
+where sys/mount.h conflicts with linux/mount.h see [1]
+
+[1] https://sourceware.org/glibc/wiki/Release/2.36
+
+Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/1761]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libarchive/archive_read_disk_posix.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/libarchive/archive_read_disk_posix.c b/libarchive/archive_read_disk_posix.c
+index 2b39e672..a96008db 100644
+--- a/libarchive/archive_read_disk_posix.c
++++ b/libarchive/archive_read_disk_posix.c
+@@ -34,9 +34,6 @@ __FBSDID("$FreeBSD$");
+ #ifdef HAVE_SYS_PARAM_H
+ #include <sys/param.h>
+ #endif
+-#ifdef HAVE_SYS_MOUNT_H
+-#include <sys/mount.h>
+-#endif
+ #ifdef HAVE_SYS_STAT_H
+ #include <sys/stat.h>
+ #endif
+@@ -54,6 +51,8 @@ __FBSDID("$FreeBSD$");
+ #endif
+ #ifdef HAVE_LINUX_FS_H
+ #include <linux/fs.h>
++#elif HAVE_SYS_MOUNT_H
++#include <sys/mount.h>
+ #endif
+ /*
+ * Some Linux distributions have both linux/ext2_fs.h and ext2fs/ext2_fs.h.
+--
+2.25.1
+
diff --git a/meta/recipes-extended/libarchive/libarchive_3.6.1.bb b/meta/recipes-extended/libarchive/libarchive_3.6.1.bb
index 761cfca647..24d7918bf9 100644
--- a/meta/recipes-extended/libarchive/libarchive_3.6.1.bb
+++ b/meta/recipes-extended/libarchive/libarchive_3.6.1.bb
@@ -32,7 +32,9 @@ PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd,"
EXTRA_OECONF += "--enable-largefile"
-SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz"
+SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
+ file://0001-libarchive-Do-not-include-sys-mount.h-when-linux-fs..patch \
+ "
UPSTREAM_CHECK_URI = "http://libarchive.org/"
SRC_URI[sha256sum] = "c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2"
diff --git a/meta/recipes-extended/libidn/libidn2_2.3.2.bb b/meta/recipes-extended/libidn/libidn2_2.3.3.bb
index e1b25b4b8c..a86b2b5a8d 100644
--- a/meta/recipes-extended/libidn/libidn2_2.3.2.bb
+++ b/meta/recipes-extended/libidn/libidn2_2.3.3.bb
@@ -7,11 +7,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2d834ea7d480438ada04e5d846152395 \
file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.unicode;md5=684cf5f7e3fded3546679424528261a9 \
- file://src/idn2.c;endline=16;md5=e4b6d628a84a55f1fd8ae4c76c5f6509 \
- file://lib/idn2.h.in;endline=27;md5=d0fc8ec628be130a1d5b889107e92477"
+ file://src/idn2.c;endline=16;md5=0f347a5b17acf44440bf53e406f1df70 \
+ file://lib/idn2.h.in;endline=27;md5=4d7b3771faa9c60067ed1da914508bc5 \
+ "
SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz"
-SRC_URI[sha256sum] = "76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91"
+SRC_URI[sha256sum] = "f3ac987522c00d33d44b323cae424e2cffcb4c63c6aa6cd1376edacbf1c36eb0"
DEPENDS = "virtual/libiconv libunistring"
diff --git a/meta/recipes-extended/ltp/ltp/0001-kvm-Fix-stack-access-mode-in-KVM-test-ELF-headers.patch b/meta/recipes-extended/ltp/ltp/0001-kvm-Fix-stack-access-mode-in-KVM-test-ELF-headers.patch
new file mode 100644
index 0000000000..764e9c0d9f
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-kvm-Fix-stack-access-mode-in-KVM-test-ELF-headers.patch
@@ -0,0 +1,40 @@
+From 608fc7bcda43e60536ae1f19842f7affba8f0aea Mon Sep 17 00:00:00 2001
+From: Martin Doucha <mdoucha@suse.cz>
+Date: Wed, 1 Jun 2022 16:16:34 +0200
+Subject: [PATCH] kvm: Fix stack access mode in KVM test ELF headers
+
+When the linker converts guest payload binary into a linkable resource
+object file, it somehow defaults to requesting executable stack section
+for the final test binary. This trips some build-time security checks
+on newer systems. Add explicit linker option to make the stack
+non-executable.
+
+Suggested-by: Fabian Vogt <fvogt@suse.com>
+Signed-off-by: Martin Doucha <mdoucha@suse.cz>
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/f9715d7c2e78713e26533c6e0846aaabf5c4095b]
+---
+ testcases/kernel/kvm/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/testcases/kernel/kvm/Makefile b/testcases/kernel/kvm/Makefile
+index 69a9946fe..adab56952 100644
+--- a/testcases/kernel/kvm/Makefile
++++ b/testcases/kernel/kvm/Makefile
+@@ -50,11 +50,11 @@ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+ ifdef VERBOSE
+ $(CC) $(GUEST_CPPFLAGS) $(GUEST_CFLAGS) $(GUEST_LDFLAGS) -o $*-payload.elf $^ $(GUEST_LDLIBS)
+ objcopy -O binary -j .init.boot -j .text -j .data -j .init -j .preinit_array -j .init_array --gap-fill=0 $*-payload.elf $*-payload.bin
+- ld -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
++ ld -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
+ else
+ @$(CC) $(GUEST_CPPFLAGS) $(GUEST_CFLAGS) $(GUEST_LDFLAGS) -o $*-payload.elf $^ $(GUEST_LDLIBS)
+ @objcopy -O binary -j .init.boot -j .text -j .data -j .init -j .preinit_array -j .init_array --gap-fill=0 $*-payload.elf $*-payload.bin
+- @ld -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
++ @ld -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
+ @echo KVM_CC $(target_rel_dir)$@
+ endif
+ @rm $*-payload.elf $*-payload.bin
diff --git a/meta/recipes-extended/ltp/ltp/0001-memcg-functional-Fix-usage-of-PAGESIZE-from-memcg_li.patch b/meta/recipes-extended/ltp/ltp/0001-memcg-functional-Fix-usage-of-PAGESIZE-from-memcg_li.patch
new file mode 100644
index 0000000000..726f6212f3
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-memcg-functional-Fix-usage-of-PAGESIZE-from-memcg_li.patch
@@ -0,0 +1,121 @@
+From bda92ad659a52d38ac810099f69adff626b064c6 Mon Sep 17 00:00:00 2001
+From: Joerg Vehlow <joerg.vehlow@aox.de>
+Date: Mon, 27 Jun 2022 10:44:49 +0200
+Subject: [PATCH] memcg/functional: Fix usage of PAGESIZE from memcg_lib.sh
+
+$PAGESIZES is set in memcg_lib.sh, which was moved to the bottom of the file.
+
+Fixes: 04021637f ("tst_test.sh: Cleanup getopts usage")
+
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Signed-off-by: Joerg Vehlow <joerg.vehlow@aox.de>
+Upstream-Status: Backport [bda92ad659a52d38ac810099f69adff626b064c6]
+---
+ .../controllers/memcg/functional/memcg_failcnt.sh | 7 ++++---
+ .../memcg/functional/memcg_max_usage_in_bytes_test.sh | 10 +++++-----
+ .../memcg/functional/memcg_subgroup_charge.sh | 8 ++++----
+ .../memcg/functional/memcg_usage_in_bytes_test.sh | 10 +++++-----
+ 4 files changed, 18 insertions(+), 17 deletions(-)
+
+diff --git a/testcases/kernel/controllers/memcg/functional/memcg_failcnt.sh b/testcases/kernel/controllers/memcg/functional/memcg_failcnt.sh
+index 1fed01569..1be98a056 100755
+--- a/testcases/kernel/controllers/memcg/functional/memcg_failcnt.sh
++++ b/testcases/kernel/controllers/memcg/functional/memcg_failcnt.sh
+@@ -12,9 +12,6 @@ MEMCG_TESTFUNC=test
+ MEMCG_SHMMAX=1
+ TST_TEST_DATA="--mmap-anon --mmap-file --shm"
+
+-MEMORY_LIMIT=$PAGESIZE
+-MEMORY_TO_ALLOCATE=$((MEMORY_LIMIT * 2))
+-
+ test()
+ {
+ ROD echo $MEMORY_LIMIT \> memory.limit_in_bytes
+@@ -36,4 +33,8 @@ test()
+ }
+
+ . memcg_lib.sh
++
++MEMORY_LIMIT=$PAGESIZE
++MEMORY_TO_ALLOCATE=$((MEMORY_LIMIT * 2))
++
+ tst_run
+diff --git a/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh b/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh
+index d1ffbe053..302810513 100755
+--- a/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh
++++ b/testcases/kernel/controllers/memcg/functional/memcg_max_usage_in_bytes_test.sh
+@@ -9,11 +9,6 @@
+ MEMCG_TESTFUNC=test
+ TST_CNT=4
+
+-
+-MEM_TO_ALLOC=$((PAGESIZE * 1024))
+-MEM_EXPECTED_UPPER=$((MEM_TO_ALLOC + MEM_USAGE_RANGE))
+-MEM_LIMIT=$((MEM_TO_ALLOC * 2))
+-
+ # Run test cases which checks memory.[memsw.]max_usage_in_bytes after make
+ # some memory allocation
+ test_max_usage_in_bytes()
+@@ -88,4 +83,9 @@ test4()
+ }
+
+ . memcg_lib.sh
++
++MEM_TO_ALLOC=$((PAGESIZE * 1024))
++MEM_EXPECTED_UPPER=$((MEM_TO_ALLOC + MEM_USAGE_RANGE))
++MEM_LIMIT=$((MEM_TO_ALLOC * 2))
++
+ tst_run
+diff --git a/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh b/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh
+index 08b6697d4..9bcc01258 100755
+--- a/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh
++++ b/testcases/kernel/controllers/memcg/functional/memcg_subgroup_charge.sh
+@@ -12,10 +12,6 @@
+ MEMCG_TESTFUNC=test
+ TST_CNT=3
+
+-
+-# Allocate memory bigger than per-cpu kernel memory
+-MEM_TO_ALLOC=$((PAGESIZES * 2))
+-
+ # Test the memory charge won't move to subgroup
+ # $1 - memory.limit_in_bytes in sub group
+ test_subgroup()
+@@ -67,4 +63,8 @@ test3()
+ }
+
+ . memcg_lib.sh
++
++# Allocate memory bigger than per-cpu kernel memory
++MEM_TO_ALLOC=$((PAGESIZES * 2))
++
+ tst_run
+diff --git a/testcases/kernel/controllers/memcg/functional/memcg_usage_in_bytes_test.sh b/testcases/kernel/controllers/memcg/functional/memcg_usage_in_bytes_test.sh
+index 6f932124e..125d88e55 100755
+--- a/testcases/kernel/controllers/memcg/functional/memcg_usage_in_bytes_test.sh
++++ b/testcases/kernel/controllers/memcg/functional/memcg_usage_in_bytes_test.sh
+@@ -9,11 +9,6 @@
+ MEMCG_TESTFUNC=test
+ TST_CNT=2
+
+-
+-MEM_TO_ALLOC=$((PAGESIZE * 1024))
+-MEM_EXPECTED_UPPER=$((MEM_TO_ALLOC + MEM_USAGE_RANGE))
+-MEM_LIMIT=$((MEM_TO_ALLOC * 2))
+-
+ test1()
+ {
+ tst_res TINFO "Test memory.usage_in_bytes"
+@@ -35,4 +30,9 @@ test2()
+ }
+
+ . memcg_lib.sh
++
++MEM_TO_ALLOC=$((PAGESIZE * 1024))
++MEM_EXPECTED_UPPER=$((MEM_TO_ALLOC + MEM_USAGE_RANGE))
++MEM_LIMIT=$((MEM_TO_ALLOC * 2))
++
+ tst_run
+--
+2.37.1
+
diff --git a/meta/recipes-extended/ltp/ltp/0001-mountns0-1-3-wait-for-umount-completed-in-thread_b.patch b/meta/recipes-extended/ltp/ltp/0001-mountns0-1-3-wait-for-umount-completed-in-thread_b.patch
new file mode 100644
index 0000000000..1339c603b9
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-mountns0-1-3-wait-for-umount-completed-in-thread_b.patch
@@ -0,0 +1,63 @@
+From 6d4c8343d33e7d8fa059246310413f029a9e8573 Mon Sep 17 00:00:00 2001
+From: Li Wang <liwang@redhat.com>
+Date: Thu, 7 Jul 2022 17:38:45 +0800
+Subject: [PATCH] mountns0[1-3]: wait for umount completed in thread_b
+
+To get rid of race condition (occurs with umount_folders):
+
+ mountns01.c:42: TPASS: shared mount in parent passed
+ mountns01.c:83: TPASS: shared mount in child passed
+ tst_device.c:394: TWARN: umount('B') failed with EINVAL
+ mountns.h:39: TWARN: umount(B) failed: EINVAL (22)
+
+Signed-off-by: Li Wang <liwang@redhat.com>
+Reviewed-by: Yang Xu <xuyang2018.jy@fujitsu.com>
+Upstream-Status: Backport [6d4c8343d33e7d8fa059246310413f029a9e8573]
+---
+ testcases/kernel/containers/mountns/mountns01.c | 2 ++
+ testcases/kernel/containers/mountns/mountns02.c | 2 ++
+ testcases/kernel/containers/mountns/mountns03.c | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/testcases/kernel/containers/mountns/mountns01.c b/testcases/kernel/containers/mountns/mountns01.c
+index e99134aba..e8f176920 100644
+--- a/testcases/kernel/containers/mountns/mountns01.c
++++ b/testcases/kernel/containers/mountns/mountns01.c
+@@ -86,6 +86,8 @@ static void run(void)
+
+ TST_CHECKPOINT_WAKE(0);
+
++ SAFE_WAIT(NULL);
++
+ SAFE_UMOUNT(DIRA);
+ }
+
+diff --git a/testcases/kernel/containers/mountns/mountns02.c b/testcases/kernel/containers/mountns/mountns02.c
+index 258b61217..4b85fa79b 100644
+--- a/testcases/kernel/containers/mountns/mountns02.c
++++ b/testcases/kernel/containers/mountns/mountns02.c
+@@ -87,6 +87,8 @@ static void run(void)
+
+ TST_CHECKPOINT_WAKE(0);
+
++ SAFE_WAIT(NULL);
++
+ SAFE_UMOUNT(DIRA);
+ }
+
+diff --git a/testcases/kernel/containers/mountns/mountns03.c b/testcases/kernel/containers/mountns/mountns03.c
+index f37ae7902..1d26a25d8 100644
+--- a/testcases/kernel/containers/mountns/mountns03.c
++++ b/testcases/kernel/containers/mountns/mountns03.c
+@@ -97,6 +97,8 @@ static void run(void)
+
+ TST_CHECKPOINT_WAKE(0);
+
++ SAFE_WAIT(NULL);
++
+ SAFE_UMOUNT(DIRA);
+ }
+
+--
+2.37.1
+
diff --git a/meta/recipes-extended/ltp/ltp/0001-net_stress-Fix-usage-of-variables-from-tst_net.sh.patch b/meta/recipes-extended/ltp/ltp/0001-net_stress-Fix-usage-of-variables-from-tst_net.sh.patch
new file mode 100644
index 0000000000..f747a1f97f
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-net_stress-Fix-usage-of-variables-from-tst_net.sh.patch
@@ -0,0 +1,154 @@
+From 33c156e295e35d4839a135d8ba5db485b7712ced Mon Sep 17 00:00:00 2001
+From: Joerg Vehlow <joerg.vehlow@aox.de>
+Date: Mon, 27 Jun 2022 09:27:09 +0200
+Subject: [PATCH] net_stress: Fix usage of variables from tst_net.sh
+
+These tests use variables (NS_TIMES, IP_TOTAL, ROUTE_TOTAL
+and IF_UPDOWN_TIMES) from tst_net.sh, before sourcing it.
+
+Fixes: 04021637f ("tst_test.sh: Cleanup getopts usage")
+
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Signed-off-by: Joerg Vehlow <joerg.vehlow@aox.de>
+Upstream-Status: Backport [33c156e295e35d4839a135d8ba5db485b7712ced]
+---
+ testcases/network/stress/interface/if-addr-adddel.sh | 7 ++++---
+ testcases/network/stress/interface/if-addr-addlarge.sh | 7 ++++---
+ testcases/network/stress/interface/if-route-adddel.sh | 5 +++--
+ testcases/network/stress/interface/if-route-addlarge.sh | 5 +++--
+ testcases/network/stress/interface/if-updown.sh | 5 +++--
+ testcases/network/stress/interface/if4-addr-change.sh | 4 +++-
+ 6 files changed, 20 insertions(+), 13 deletions(-)
+
+diff --git a/testcases/network/stress/interface/if-addr-adddel.sh b/testcases/network/stress/interface/if-addr-adddel.sh
+index cb453e612..0750501f0 100755
+--- a/testcases/network/stress/interface/if-addr-adddel.sh
++++ b/testcases/network/stress/interface/if-addr-adddel.sh
+@@ -7,9 +7,6 @@
+
+ IF_CMD='ifconfig'
+
+-# The interval of the check interface activity
+-CHECK_INTERVAL=${CHECK_INTERVAL:-$(($NS_TIMES / 20))}
+-
+ test_body()
+ {
+ local cmd="$CMD"
+@@ -89,4 +86,8 @@ test_body()
+ }
+
+ . if-lib.sh
++
++# The interval of the check interface activity
++CHECK_INTERVAL=${CHECK_INTERVAL:-$(($NS_TIMES / 20))}
++
+ tst_run
+diff --git a/testcases/network/stress/interface/if-addr-addlarge.sh b/testcases/network/stress/interface/if-addr-addlarge.sh
+index 3c876c17d..d0759c86b 100755
+--- a/testcases/network/stress/interface/if-addr-addlarge.sh
++++ b/testcases/network/stress/interface/if-addr-addlarge.sh
+@@ -7,9 +7,6 @@
+
+ IF_CMD='ifconfig'
+
+-# The interval of the check interface activity
+-CHECK_INTERVAL=${CHECK_INTERVAL:-$(($IP_TOTAL / 20))}
+-
+ test_body()
+ {
+ local cmd="$CMD"
+@@ -110,4 +107,8 @@ test_body()
+ }
+
+ . if-lib.sh
++
++# The interval of the check interface activity
++CHECK_INTERVAL=${CHECK_INTERVAL:-$(($IP_TOTAL / 20))}
++
+ tst_run
+diff --git a/testcases/network/stress/interface/if-route-adddel.sh b/testcases/network/stress/interface/if-route-adddel.sh
+index b50da268a..51445e4f7 100755
+--- a/testcases/network/stress/interface/if-route-adddel.sh
++++ b/testcases/network/stress/interface/if-route-adddel.sh
+@@ -7,8 +7,6 @@
+
+ IF_CMD='route'
+
+-CHECK_INTERVAL=${CHECK_INTERVAL:-$(($NS_TIMES / 20))}
+-
+ test_body()
+ {
+ local cmd="$CMD"
+@@ -64,4 +62,7 @@ test_body()
+ }
+
+ . if-lib.sh
++
++CHECK_INTERVAL=${CHECK_INTERVAL:-$(($NS_TIMES / 20))}
++
+ tst_run
+diff --git a/testcases/network/stress/interface/if-route-addlarge.sh b/testcases/network/stress/interface/if-route-addlarge.sh
+index 7d09d1216..355b6b4ab 100755
+--- a/testcases/network/stress/interface/if-route-addlarge.sh
++++ b/testcases/network/stress/interface/if-route-addlarge.sh
+@@ -7,8 +7,6 @@
+
+ IF_CMD='route'
+
+-CHECK_INTERVAL=${CHECK_INTERVAL:-$(($ROUTE_TOTAL / 20))}
+-
+ test_body()
+ {
+ local cmd="$CMD"
+@@ -76,4 +74,7 @@ test_body()
+ }
+
+ . if-lib.sh
++
++CHECK_INTERVAL=${CHECK_INTERVAL:-$(($ROUTE_TOTAL / 20))}
++
+ tst_run
+diff --git a/testcases/network/stress/interface/if-updown.sh b/testcases/network/stress/interface/if-updown.sh
+index 9a5709c85..71c78d785 100755
+--- a/testcases/network/stress/interface/if-updown.sh
++++ b/testcases/network/stress/interface/if-updown.sh
+@@ -8,8 +8,6 @@
+ IF_CMD='ifconfig'
+ TST_CLEANUP="if_cleanup_restore"
+
+-CHECK_INTERVAL=${CHECK_INTERVAL:-$(($IF_UPDOWN_TIMES / 20))}
+-
+ test_body()
+ {
+ local cmd="$CMD"
+@@ -47,4 +45,7 @@ test_body()
+ }
+
+ . if-lib.sh
++
++CHECK_INTERVAL=${CHECK_INTERVAL:-$(($IF_UPDOWN_TIMES / 20))}
++
+ tst_run
+diff --git a/testcases/network/stress/interface/if4-addr-change.sh b/testcases/network/stress/interface/if4-addr-change.sh
+index b9ece2af9..f162e6a51 100755
+--- a/testcases/network/stress/interface/if4-addr-change.sh
++++ b/testcases/network/stress/interface/if4-addr-change.sh
+@@ -9,7 +9,6 @@ TST_CLEANUP="do_cleanup"
+ TST_TESTFUNC="test_body"
+ TST_NEEDS_CMDS="ifconfig"
+
+-CHECK_INTERVAL=${CHECK_INTERVAL:-$(($NS_TIMES / 20))}
+ # Maximum host portion of the IPv4 address on the local host
+ LHOST_IPV4_HOST_MAX="254"
+
+@@ -61,4 +60,7 @@ test_body()
+ }
+
+ . tst_net.sh
++
++CHECK_INTERVAL=${CHECK_INTERVAL:-$(($NS_TIMES / 20))}
++
+ tst_run
+--
+2.37.1
+
diff --git a/meta/recipes-extended/ltp/ltp/0001-netstress-Restore-runtime-to-5m.patch b/meta/recipes-extended/ltp/ltp/0001-netstress-Restore-runtime-to-5m.patch
new file mode 100644
index 0000000000..8acfaf7c8e
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-netstress-Restore-runtime-to-5m.patch
@@ -0,0 +1,53 @@
+From cc4a27c235d0cf69a55cd8829b232566b0223333 Mon Sep 17 00:00:00 2001
+From: Petr Vorel <pvorel@suse.cz>
+Date: Wed, 13 Jul 2022 09:46:14 +0200
+Subject: [PATCH] netstress: Restore runtime to 5m
+
+netstress requires the previous default timeout 5m due longer timeout
+for higher message sizes (e.g. 65535):
+
+./sctp_ipsec.sh -6 -p comp -m transport -s 100:1000:65535:R65535
+sctp_ipsec 1 TPASS: netstress passed, median time 5 ms, data: 5 9 6 5 5
+sctp_ipsec 2 TINFO: run server 'netstress -T sctp -S fd00:1:1:1::1 -D ltp_ns_veth1 -R 500000 -B /tmp/LTP_sctp_ipsec.ARZbGkvjPa'
+sctp_ipsec 2 TINFO: run client 'netstress -l -T sctp -H fd00:1:1:1::1 -n 1000 -N 1000 -S fd00:1:1:1::2 -D ltp_ns_veth2 -a 2 -r 100 -d /tmp/LTP_sctp_ipsec.ARZbGkvjPa/tst_netload.res' 5 times
+sctp_ipsec 2 TPASS: netstress passed, median time 6 ms, data: 8 6 6 5 6
+sctp_ipsec 3 TINFO: run server 'netstress -T sctp -S fd00:1:1:1::1 -D ltp_ns_veth1 -R 500000 -B /tmp/LTP_sctp_ipsec.ARZbGkvjPa'
+sctp_ipsec 3 TINFO: run client 'netstress -l -T sctp -H fd00:1:1:1::1 -n 65535 -N 65535 -S fd00:1:1:1::2 -D ltp_ns_veth2 -a 2 -r 100 -d /tmp/LTP_sctp_ipsec.ARZbGkvjPa/tst_netload.res' 5 times
+sctp_ipsec 3 TWARN: netstress failed, ret: 2
+tst_test.c:1526: TINFO: Timeout per run is 0h 00m 30s
+netstress.c:896: TINFO: IP_BIND_ADDRESS_NO_PORT is used
+netstress.c:898: TINFO: connection: addr 'fd00:1:1:1::1', port '55097'
+netstress.c:900: TINFO: client max req: 100
+netstress.c:901: TINFO: clients num: 2
+netstress.c:906: TINFO: client msg size: 65535
+netstress.c:907: TINFO: server msg size: 65535
+netstress.c:979: TINFO: SCTP client
+netstress.c:475: TINFO: Running the test over IPv6
+Test timeouted, sending SIGKILL!
+tst_test.c:1577: TINFO: If you are running on slow machine, try exporting LTP_TIMEOUT_MUL > 1
+tst_test.c:1579: TBROK: Test killed! (timeout?)
+
+Converting netstress.c to use TST_NO_DEFAULT_MAIN (i.e. implementing main)
+would require more changes, because it uses .forks_child, .needs_checkpoints,
+cleanup function.
+
+Signed-off-by: Petr Vorel <pvorel@suse.cz>
+Upstream-Status: Backport [cc4a27c235d0cf69a55cd8829b232566b0223333]
+---
+ testcases/network/netstress/netstress.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/testcases/network/netstress/netstress.c b/testcases/network/netstress/netstress.c
+index 6c9e83112..7c222531d 100644
+--- a/testcases/network/netstress/netstress.c
++++ b/testcases/network/netstress/netstress.c
+@@ -1028,5 +1028,6 @@ static struct tst_test test = {
+ {"B:", &server_bg, "Run in background, arg is the process directory"},
+ {}
+ },
++ .max_runtime = 300,
+ .needs_checkpoints = 1,
+ };
+--
+2.37.1
+
diff --git a/meta/recipes-extended/ltp/ltp/0001-nfs05_make_tree-Restore-5-min-timeout.patch b/meta/recipes-extended/ltp/ltp/0001-nfs05_make_tree-Restore-5-min-timeout.patch
new file mode 100644
index 0000000000..2b9557ad01
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-nfs05_make_tree-Restore-5-min-timeout.patch
@@ -0,0 +1,31 @@
+From 463da729537faa6d5ef206912fdec871c1059dac Mon Sep 17 00:00:00 2001
+From: Petr Vorel <pvorel@suse.cz>
+Date: Thu, 16 Jun 2022 16:33:31 +0200
+Subject: [PATCH] nfs05_make_tree: Restore 5 min timeout
+
+nfs05_make_tree is a long running test. The previous default timeout 5
+min was enough after reducing runtime in 05be61cf6.
+
+But the new default 30 sec introduced in the concept of max runtime is
+definitely not enough. Restore the previous timeout 5 min.
+
+Signed-off-by: Petr Vorel <pvorel@suse.cz>
+
+Upstream-Status: Backport [463da729537faa6d5ef206912fdec871c1059dac]
+---
+ testcases/network/nfs/nfs_stress/nfs05_make_tree.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
+index fdc13bd5d..5456c1bf0 100644
+--- a/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
++++ b/testcases/network/nfs/nfs_stress/nfs05_make_tree.c
+@@ -215,4 +215,5 @@ static struct tst_test test = {
+ .options = opts,
+ .test_all = do_test,
+ .setup = setup,
++ .max_runtime = 300,
+ };
+--
+2.37.1
+
diff --git a/meta/recipes-extended/ltp/ltp/0001-syscalls-migrate_pages03-restore-runtime-to-5m.patch b/meta/recipes-extended/ltp/ltp/0001-syscalls-migrate_pages03-restore-runtime-to-5m.patch
new file mode 100644
index 0000000000..1652f8c94e
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0001-syscalls-migrate_pages03-restore-runtime-to-5m.patch
@@ -0,0 +1,44 @@
+From 9fb28002bb2ce988b99d1756ff7b902f76e3472a Mon Sep 17 00:00:00 2001
+From: Jan Stancek <jstancek@redhat.com>
+Date: Tue, 21 Jun 2022 10:37:17 +0200
+Subject: [PATCH] syscalls/migrate_pages03: restore runtime to 5m
+
+Arches with large pages have trouble completing all loops in 30s,
+restore runtime to 5m. Also check for remaining runtime and
+exit if we run out.
+
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
+Signed-off-by: Li Wang <liwang@redhat.com>
+Upstream-Status: Backport [9fb28002bb2ce988b99d1756ff7b902f76e3472a]
+---
+ testcases/kernel/syscalls/migrate_pages/migrate_pages03.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/testcases/kernel/syscalls/migrate_pages/migrate_pages03.c b/testcases/kernel/syscalls/migrate_pages/migrate_pages03.c
+index c6afb4cce..2866c96e6 100644
+--- a/testcases/kernel/syscalls/migrate_pages/migrate_pages03.c
++++ b/testcases/kernel/syscalls/migrate_pages/migrate_pages03.c
+@@ -127,6 +127,11 @@ static void migrate_test(void)
+ tst_res(TFAIL | TERRNO, "migrate_pages() failed");
+ return;
+ }
++
++ if (!tst_remaining_runtime()) {
++ tst_res(TINFO, "Out of runtime, exitting...");
++ break;
++ }
+ }
+ SAFE_SETEUID(0);
+
+@@ -134,6 +139,7 @@ static void migrate_test(void)
+ }
+
+ static struct tst_test test = {
++ .max_runtime = 300,
+ .min_kver = "2.6.32",
+ .needs_root = 1,
+ .setup = setup,
+--
+2.37.1
+
diff --git a/meta/recipes-extended/ltp/ltp/0002-kvm-use-LD-instead-of-hardcoding-ld.patch b/meta/recipes-extended/ltp/ltp/0002-kvm-use-LD-instead-of-hardcoding-ld.patch
new file mode 100644
index 0000000000..060ba05835
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0002-kvm-use-LD-instead-of-hardcoding-ld.patch
@@ -0,0 +1,39 @@
+From 1cea308a647c2a2f9790b0bac7c523de7aa83270 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 12 Jul 2022 15:03:54 +0100
+Subject: [PATCH] kvm: use $(LD) instead of hardcoding ld
+
+In cross-compiled builds the host ld may not know the required ELF format,
+so ensure we use $(LD) which will be the cross-capable ld binary.
+
+Closes: https://github.com/linux-test-project/ltp/pull/948
+
+Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Reviewed-by: Martin Doucha <mdoucha@suse.cz>
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ testcases/kernel/kvm/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/testcases/kernel/kvm/Makefile b/testcases/kernel/kvm/Makefile
+index adab56952..d67230735 100644
+--- a/testcases/kernel/kvm/Makefile
++++ b/testcases/kernel/kvm/Makefile
+@@ -50,11 +50,11 @@ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+ ifdef VERBOSE
+ $(CC) $(GUEST_CPPFLAGS) $(GUEST_CFLAGS) $(GUEST_LDFLAGS) -o $*-payload.elf $^ $(GUEST_LDLIBS)
+ objcopy -O binary -j .init.boot -j .text -j .data -j .init -j .preinit_array -j .init_array --gap-fill=0 $*-payload.elf $*-payload.bin
+- ld -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
++ $(LD) -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
+ else
+ @$(CC) $(GUEST_CPPFLAGS) $(GUEST_CFLAGS) $(GUEST_LDFLAGS) -o $*-payload.elf $^ $(GUEST_LDLIBS)
+ @objcopy -O binary -j .init.boot -j .text -j .data -j .init -j .preinit_array -j .init_array --gap-fill=0 $*-payload.elf $*-payload.bin
+- @ld -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
++ @$(LD) -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
+ @echo KVM_CC $(target_rel_dir)$@
+ endif
+ @rm $*-payload.elf $*-payload.bin
diff --git a/meta/recipes-extended/ltp/ltp/0003-Add-KVM_LD-Makefile-variable-for-building-KVM-payloa.patch b/meta/recipes-extended/ltp/ltp/0003-Add-KVM_LD-Makefile-variable-for-building-KVM-payloa.patch
new file mode 100644
index 0000000000..974ca5eebe
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/0003-Add-KVM_LD-Makefile-variable-for-building-KVM-payloa.patch
@@ -0,0 +1,63 @@
+From a8d41b7937a34904611011ca357f8db880d42270 Mon Sep 17 00:00:00 2001
+From: Martin Doucha <mdoucha@suse.cz>
+Date: Mon, 25 Jul 2022 17:37:27 +0200
+Subject: [PATCH] Add KVM_LD Makefile variable for building KVM payload
+ binaries
+
+KVM linker needs to be configurable for cross-compiling but some
+linkers don't support the linker script for wrapping arbitrary files
+into linkable resource files. Allow KVM linker to be changed
+independently of $LD via $KVM_LD.
+
+Signed-off-by: Martin Doucha <mdoucha@suse.cz>
+Acked-by: Richard Palethorpe <rpalethorpe@suse.com>
+
+Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/5ef0b7892a17b64040e55e9ad62d36ebb75d33fd]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ doc/build-system-guide.txt | 5 +++++
+ testcases/kernel/kvm/Makefile | 5 +++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/doc/build-system-guide.txt b/doc/build-system-guide.txt
+index 166f7fb92..b8d267b4b 100644
+--- a/doc/build-system-guide.txt
++++ b/doc/build-system-guide.txt
+@@ -145,6 +145,11 @@ $(CPPFLAGS) : Preprocessor flags, e.g. -I arguments.
+
+ $(DEBUG_CFLAGS) : Debug flags to pass to $(CC), -g, etc.
+
++$(KVM_LD) : Special linker for wrapping KVM payload binaries
++ into linkable object files. Defaults to $(LD).
++ Change this variable if the KVM Makefile fails
++ to build files named *-payload.o.
++
+ $(LD) : The system linker (typically $(CC), but not
+ necessarily).
+
+diff --git a/testcases/kernel/kvm/Makefile b/testcases/kernel/kvm/Makefile
+index d67230735..31f144c26 100644
+--- a/testcases/kernel/kvm/Makefile
++++ b/testcases/kernel/kvm/Makefile
+@@ -11,6 +11,7 @@ GUEST_CPPFLAGS = $(CPPFLAGS) -DCOMPILE_PAYLOAD
+ GUEST_CFLAGS = -ffreestanding -O2 -Wall -fno-asynchronous-unwind-tables -mno-mmx -mno-sse
+ GUEST_LDFLAGS = -nostdlib -Wl,--build-id=none
+ GUEST_LDLIBS =
++KVM_LD ?= $(LD)
+
+ FILTER_OUT_MAKE_TARGETS := lib_guest lib_host lib_x86
+
+@@ -50,11 +51,11 @@ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+ ifdef VERBOSE
+ $(CC) $(GUEST_CPPFLAGS) $(GUEST_CFLAGS) $(GUEST_LDFLAGS) -o $*-payload.elf $^ $(GUEST_LDLIBS)
+ objcopy -O binary -j .init.boot -j .text -j .data -j .init -j .preinit_array -j .init_array --gap-fill=0 $*-payload.elf $*-payload.bin
+- $(LD) -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
++ $(KVM_LD) -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
+ else
+ @$(CC) $(GUEST_CPPFLAGS) $(GUEST_CFLAGS) $(GUEST_LDFLAGS) -o $*-payload.elf $^ $(GUEST_LDLIBS)
+ @objcopy -O binary -j .init.boot -j .text -j .data -j .init -j .preinit_array -j .init_array --gap-fill=0 $*-payload.elf $*-payload.bin
+- @$(LD) -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
++ @$(KVM_LD) -z noexecstack -r -T $(abs_srcdir)/linker/payload.lds --oformat=$(BIN_FORMAT) -o $@ $*-payload.bin
+ @echo KVM_CC $(target_rel_dir)$@
+ endif
+ @rm $*-payload.elf $*-payload.bin
diff --git a/meta/recipes-extended/ltp/ltp_20220527.bb b/meta/recipes-extended/ltp/ltp_20220527.bb
index b3ef8f5910..aa64385846 100644
--- a/meta/recipes-extended/ltp/ltp_20220527.bb
+++ b/meta/recipes-extended/ltp/ltp_20220527.bb
@@ -19,6 +19,7 @@ EXTRA_OECONF:append:libc-musl = " LIBS=-lfts "
# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
# earlier in CFLAGS, etc.
CFLAGS:append:x86-64 = " -fomit-frame-pointer"
+TUNE_CCARGS:remove:x86 = "-mfpmath=sse"
CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
@@ -27,6 +28,15 @@ SRCREV = "6f88e0f6f1d6eb12c48c902f50f47ecbd3b0f18a"
SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
file://0001-Remove-OOM-tests-from-runtest-mm.patch \
file://disable_hanging_tests.patch \
+ file://0001-kvm-Fix-stack-access-mode-in-KVM-test-ELF-headers.patch \
+ file://0002-kvm-use-LD-instead-of-hardcoding-ld.patch \
+ file://0003-Add-KVM_LD-Makefile-variable-for-building-KVM-payloa.patch \
+ file://0001-nfs05_make_tree-Restore-5-min-timeout.patch \
+ file://0001-syscalls-migrate_pages03-restore-runtime-to-5m.patch \
+ file://0001-mountns0-1-3-wait-for-umount-completed-in-thread_b.patch \
+ file://0001-netstress-Restore-runtime-to-5m.patch \
+ file://0001-net_stress-Fix-usage-of-variables-from-tst_net.sh.patch \
+ file://0001-memcg-functional-Fix-usage-of-PAGESIZE-from-memcg_li.patch \
"
S = "${WORKDIR}/git"
@@ -39,6 +49,13 @@ inherit autotools-brokensep pkgconfig
# https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36
LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd', '', d)}"
+# After 0002-kvm-use-LD-instead-of-hardcoding-ld.patch
+# https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb
+# it fails with gold also a bit later when trying to use *-payload.bin
+# http://errors.yoctoproject.org/Errors/Details/663094/
+# work around this by forcing .bfd linked in LD when ld-is-gold is in DISTRO_FEATURES
+KVM_LD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '${HOST_PREFIX}ld.bfd ${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}"
+
TARGET_CC_ARCH += "${LDFLAGS}"
export prefix = "/opt/${PN}"
@@ -51,7 +68,7 @@ EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite "
EXTRA_OECONF += " --without-tirpc "
do_compile() {
- oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}"
+ oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" KVM_LD="${KVM_LD}"
}
do_install(){
@@ -79,6 +96,9 @@ do_install(){
# The controllers memcg_stree test seems to cause us hangs and takes 900s
# (maybe we expect more regular output?), anyhow, skip it
sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers
+
+ # We don't need to ship the compile logs that open_posix_testsuite writes
+ rm -f ${D}${prefix}/testcases/open_posix_testsuite/logfile.*
}
RDEPENDS:${PN} = "\
diff --git a/meta/recipes-extended/procps/procps_3.3.17.bb b/meta/recipes-extended/procps/procps_3.3.17.bb
index 0f5575c9ab..59ad89d326 100644
--- a/meta/recipes-extended/procps/procps_3.3.17.bb
+++ b/meta/recipes-extended/procps/procps_3.3.17.bb
@@ -18,6 +18,10 @@ SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master \
file://0002-proc-escape.c-add-missing-include.patch \
"
SRCREV = "19a508ea121c0c4ac6d0224575a036de745eaaf8"
+# 4.x version is an API incompatible rewrite
+# until procps consumers are transitioned to it we need to stick with 3.x
+# https://gitlab.com/procps-ng/procps/-/issues/239
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>3(\.\d+)+)"
S = "${WORKDIR}/git"
@@ -100,4 +104,4 @@ ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps"
ALTERNATIVE:${PN}-sysctl = "sysctl"
ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl"
-ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl" \ No newline at end of file
+ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl"
diff --git a/meta/recipes-extended/sudo/sudo_1.9.11p2.bb b/meta/recipes-extended/sudo/sudo_1.9.11p3.bb
index b3eae4a0fa..ba610ee2e7 100644
--- a/meta/recipes-extended/sudo/sudo_1.9.11p2.bb
+++ b/meta/recipes-extended/sudo/sudo_1.9.11p3.bb
@@ -8,7 +8,7 @@ SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
PAM_SRC_URI = "file://sudo.pam"
-SRC_URI[sha256sum] = "a21918eb9fc0063794f6887464fa2d924ab6d192e19063191a429605c22791d2"
+SRC_URI[sha256sum] = "4687e7d2f56721708f59cca2e1352c056cb23de526c22725615a42bb094f1f70"
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/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch b/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch
new file mode 100644
index 0000000000..1c1e120deb
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch
@@ -0,0 +1,39 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
+
+CVE: CVE-2022-0529
+Upstream-Status: Inactive-Upstream [need a new release]
+
+diff --git a/process.c b/process.c
+index d2a846e..99b9c7b 100644
+--- a/process.c
++++ b/process.c
+@@ -2507,13 +2507,15 @@ char *wide_to_local_string(wide_string, escape_all)
+ char buf[9];
+ char *buffer = NULL;
+ char *local_string = NULL;
++ size_t buffer_size;
+
+ for (wsize = 0; wide_string[wsize]; wsize++) ;
+
+ if (max_bytes < MAX_ESCAPE_BYTES)
+ max_bytes = MAX_ESCAPE_BYTES;
+
+- if ((buffer = (char *)malloc(wsize * max_bytes + 1)) == NULL) {
++ buffer_size = wsize * max_bytes + 1;
++ if ((buffer = (char *)malloc(buffer_size)) == NULL) {
+ return NULL;
+ }
+
+@@ -2552,7 +2554,11 @@ char *wide_to_local_string(wide_string, escape_all)
+ /* no MB for this wide */
+ /* use escape for wide character */
+ char *escape_string = wide_to_escape_string(wide_string[i]);
+- strcat(buffer, escape_string);
++ size_t buffer_len = strlen(buffer);
++ size_t escape_string_len = strlen(escape_string);
++ if (buffer_len + escape_string_len + 1 > buffer_size)
++ escape_string_len = buffer_size - buffer_len - 1;
++ strncat(buffer, escape_string, escape_string_len);
+ free(escape_string);
+ }
+ }
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch b/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch
new file mode 100644
index 0000000000..363dafddc9
--- /dev/null
+++ b/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch
@@ -0,0 +1,33 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
+
+CVE: CVE-2022-0530
+Upstream-Status: Inactive-Upstream [need a new release]
+
+diff --git a/fileio.c b/fileio.c
+index 6290824..77e4b5f 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -2361,6 +2361,9 @@ int do_string(__G__ length, option) /* return PK-type error code */
+ /* convert UTF-8 to local character set */
+ fn = utf8_to_local_string(G.unipath_filename,
+ G.unicode_escape_all);
++ if (fn == NULL)
++ return PK_ERR;
++
+ /* make sure filename is short enough */
+ if (strlen(fn) >= FILNAMSIZ) {
+ fn[FILNAMSIZ - 1] = '\0';
+diff --git a/process.c b/process.c
+index d2a846e..715bc0f 100644
+--- a/process.c
++++ b/process.c
+@@ -2605,6 +2605,8 @@ char *utf8_to_local_string(utf8_string, escape_all)
+ int escape_all;
+ {
+ zwchar *wide = utf8_to_wide_string(utf8_string);
++ if (wide == NULL)
++ return NULL;
+ char *loc = wide_to_local_string(wide, escape_all);
+ free(wide);
+ return loc;
+
diff --git a/meta/recipes-extended/unzip/unzip_6.0.bb b/meta/recipes-extended/unzip/unzip_6.0.bb
index c222a684b4..f35856cf61 100644
--- a/meta/recipes-extended/unzip/unzip_6.0.bb
+++ b/meta/recipes-extended/unzip/unzip_6.0.bb
@@ -29,6 +29,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/
file://unzip_optimization.patch \
file://0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch \
file://CVE-2021-4217.patch \
+ file://CVE-2022-0529.patch \
+ file://CVE-2022-0530.patch \
"
UPSTREAM_VERSION_UNKNOWN = "1"
diff --git a/meta/recipes-extended/zstd/zstd_1.5.2.bb b/meta/recipes-extended/zstd/zstd_1.5.2.bb
index 3887f31ecf..2a638eb426 100644
--- a/meta/recipes-extended/zstd/zstd_1.5.2.bb
+++ b/meta/recipes-extended/zstd/zstd_1.5.2.bb
@@ -26,6 +26,8 @@ PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
# See programs/README.md for how to use this
ZSTD_LEGACY_SUPPORT ??= "4"
+EXTRA_OEMAKE += "V=1"
+
do_compile () {
oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} -C contrib/pzstd
diff --git a/meta/recipes-gnome/epiphany/epiphany_42.2.bb b/meta/recipes-gnome/epiphany/epiphany_42.3.bb
index dc1b34ac92..f9d60ff2a9 100644
--- a/meta/recipes-gnome/epiphany/epiphany_42.2.bb
+++ b/meta/recipes-gnome/epiphany/epiphany_42.3.bb
@@ -28,7 +28,7 @@ SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@oe.utils.trim_version("${PV}", 1)}/${GN
file://migrator.patch \
file://distributor.patch \
"
-SRC_URI[archive.sha256sum] = "92c02cf886d10d2ccff5de658e1a420eab31d20bb50e746d430e9535b485192d"
+SRC_URI[archive.sha256sum] = "7316d3c6500e825d8e57293fa58047c56727bee16cd6b6ac804ffe5d9b229560"
PACKAGECONFIG_SOUP ?= "soup2"
PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}"
diff --git a/meta/recipes-gnome/gcr/gcr_3.40.0.bb b/meta/recipes-gnome/gcr/gcr_3.40.0.bb
index b6e591fb6e..0c2af42f06 100644
--- a/meta/recipes-gnome/gcr/gcr_3.40.0.bb
+++ b/meta/recipes-gnome/gcr/gcr_3.40.0.bb
@@ -16,6 +16,7 @@ CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
GNOMEBASEBUILDCLASS = "meson"
GTKDOC_MESON_OPTION = "gtk_doc"
inherit gnomebase gtk-icon-cache gtk-doc features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
+UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>\d+\.(?!9\d+)(\d*[02468])+(\.\d+)+)\.tar"
SRC_URI += "file://0001-gcr-meson.build-fix-one-parallel-build-failure.patch \
file://b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch"
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb
index 355e77d107..9a47e908b7 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb
@@ -113,9 +113,6 @@ EOF
}
do_compile:prepend() {
- # This prevents g-ir-scanner from writing cache data to $HOME
- export GI_SCANNER_DISABLE_CACHE=1
-
# Needed to run g-ir unit tests, which won't be able to find the built libraries otherwise
export GIR_EXTRA_LIBS_PATH=$B/.libs
}
diff --git a/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb b/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb
index 392913fcc6..150eca9274 100644
--- a/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb
+++ b/meta/recipes-gnome/gtk-doc/gtk-doc_1.33.2.bb
@@ -18,6 +18,8 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation",
PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments"
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
+CACHED_CONFIGUREVARS += "ac_cv_path_XSLTPROC=xsltproc"
+
SRC_URI[archive.sha256sum] = "cc1b709a20eb030a278a1f9842a362e00402b7f834ae1df4c1998a723152bf43"
SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \
file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \
diff --git a/meta/recipes-gnome/libhandy/libhandy_1.6.2.bb b/meta/recipes-gnome/libhandy/libhandy_1.6.3.bb
index 8d9904637f..01ca699d04 100644
--- a/meta/recipes-gnome/libhandy/libhandy_1.6.2.bb
+++ b/meta/recipes-gnome/libhandy/libhandy_1.6.3.bb
@@ -10,7 +10,7 @@ LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "git://gitlab.gnome.org/GNOME/libhandy.git;protocol=https;branch=libhandy-1-6"
-SRCREV = "f050453109db05621b9a47b9931fe1b571905e67"
+SRCREV = "2885c314c9c84037b6fe55ead6a232e60ebfc9c5"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+))"
diff --git a/meta/recipes-gnome/libnotify/libnotify_0.7.12.bb b/meta/recipes-gnome/libnotify/libnotify_0.8.0.bb
index 21e737fd45..9c9af87e1a 100644
--- a/meta/recipes-gnome/libnotify/libnotify_0.7.12.bb
+++ b/meta/recipes-gnome/libnotify/libnotify_0.8.0.bb
@@ -22,7 +22,7 @@ inherit gnomebase gtk-doc features_check gobject-introspection
# depends on gtk+3 if tests are enabled
ANY_OF_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'tests', '${GTK3DISTROFEATURES}', '', d)}"
-SRC_URI[archive.sha256sum] = "744b2b37508135f8261b755a9debe6e09add421adc75bde930f6e198b70ab46e"
+SRC_URI[archive.sha256sum] = "46a26f0db4e64cf24016291eb1579ed9f0ba7611fe6cd9e1afec8f42780d3924"
EXTRA_OEMESON = "-Dman=false"
diff --git a/meta/recipes-graphics/drm/libdrm_2.4.111.bb b/meta/recipes-graphics/drm/libdrm_2.4.112.bb
index 17b737c556..48838245dd 100644
--- a/meta/recipes-graphics/drm/libdrm_2.4.111.bb
+++ b/meta/recipes-graphics/drm/libdrm_2.4.112.bb
@@ -13,7 +13,7 @@ DEPENDS = "libpthread-stubs"
SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
"
-SRC_URI[sha256sum] = "1ad7164f77424de6f4ecba7c262bde196a214c6e19a6fbf497f0815f4d7ab2a9"
+SRC_URI[sha256sum] = "00b07710bd09b35cd8d80eaf4f4497fe27f4becf467a9830f1f5e8324f8420ff"
inherit meson pkgconfig manpages
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_4.4.1.bb
index 909b8c57d9..c2867d2a9f 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_4.3.0.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_4.4.1.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] = "a49628f4c4c8e6d8df95ef44935a93446cf2e46366915b0e3ca30df21fffb530"
+SRC_URI[sha256sum] = "c5bc33ac099b2e52f01d27cde21cee4281b9d5bfec7684135e268512478bc9ee"
inherit meson pkgconfig lib_package gtk-doc gobject-introspection
diff --git a/meta/recipes-graphics/libva/libva-initial_2.14.0.bb b/meta/recipes-graphics/libva/libva-initial_2.15.0.bb
index 453096822f..453096822f 100644
--- a/meta/recipes-graphics/libva/libva-initial_2.14.0.bb
+++ b/meta/recipes-graphics/libva/libva-initial_2.15.0.bb
diff --git a/meta/recipes-graphics/libva/libva-utils_2.14.0.bb b/meta/recipes-graphics/libva/libva-utils_2.15.0.bb
index b816b5e96d..4c46c386ec 100644
--- a/meta/recipes-graphics/libva/libva-utils_2.14.0.bb
+++ b/meta/recipes-graphics/libva/libva-utils_2.15.0.bb
@@ -14,8 +14,8 @@ SECTION = "x11"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
-SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.14-branch;protocol=https"
-SRCREV = "9cf21686ad9cacef53ee6b3f13c02b830cf0c7a3"
+SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.15-branch;protocol=https"
+SRCREV = "be203c8b85b07e1f7a3faedd13057b0a8cabd3c3"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$"
diff --git a/meta/recipes-graphics/libva/libva.inc b/meta/recipes-graphics/libva/libva.inc
index 148bb03b5f..956cd50756 100644
--- a/meta/recipes-graphics/libva/libva.inc
+++ b/meta/recipes-graphics/libva/libva.inc
@@ -18,7 +18,7 @@ LICENSE = "MIT"
SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2"
LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
-SRC_URI[sha256sum] = "511e9a74d1ccfb548bc192290603082c11074ac59b17aadfd5d56a3f93e58454"
+SRC_URI[sha256sum] = "258ed409458d3e7a000e1908bc852619615ee6a933359c745fcd93eb3e461eca"
S = "${WORKDIR}/libva-${PV}"
diff --git a/meta/recipes-graphics/libva/libva_2.14.0.bb b/meta/recipes-graphics/libva/libva_2.15.0.bb
index 63dc5af8f2..63dc5af8f2 100644
--- a/meta/recipes-graphics/libva/libva_2.14.0.bb
+++ b/meta/recipes-graphics/libva/libva_2.15.0.bb
diff --git a/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch b/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch
new file mode 100644
index 0000000000..48fc1e37ff
--- /dev/null
+++ b/meta/recipes-graphics/mesa/files/0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch
@@ -0,0 +1,65 @@
+Backport merge request to fix mesa compile error when debug build
+enabled.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17439]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From c69c6e7a35205557de73734ad4a1f411c8f99926 Mon Sep 17 00:00:00 2001
+From: t bettler <thomas.bettler@gmail.com>
+Date: Sat, 9 Jul 2022 09:28:51 +0000
+Subject: [PATCH] nir/nir_opt_move: fix ALWAYS_INLINE compiler error
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+fix call to ‘always_inline’ ‘src_is_ssa’
+
+Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6825
+Fixes: f1d20ec67c3f186886b97de94f74484650f8fda1 ("nir/nir_opt_move: handle non-SSA defs ")
+---
+ src/compiler/nir/nir_inline_helpers.h | 10 ++++++++--
+ src/compiler/nir/nir_opt_move.c | 2 +-
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/compiler/nir/nir_inline_helpers.h b/src/compiler/nir/nir_inline_helpers.h
+index 125dd8a537c..ec33f0509f7 100644
+--- a/src/compiler/nir/nir_inline_helpers.h
++++ b/src/compiler/nir/nir_inline_helpers.h
+@@ -73,8 +73,8 @@ nir_foreach_dest(nir_instr *instr, nir_foreach_dest_cb cb, void *state)
+ return _nir_foreach_dest(instr, cb, state);
+ }
+
+-static inline bool
+-nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
++static ALWAYS_INLINE bool
++_nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
+ {
+ switch (instr->type) {
+ case nir_instr_type_alu: {
+@@ -162,3 +162,9 @@ nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
+ dest_state.cb = cb;
+ return _nir_foreach_dest(instr, _nir_visit_dest_indirect, &dest_state);
+ }
++
++static inline bool
++nir_foreach_src(nir_instr *instr, nir_foreach_src_cb cb, void *state)
++{
++ return _nir_foreach_src(instr, cb, state);
++}
+diff --git a/src/compiler/nir/nir_opt_move.c b/src/compiler/nir/nir_opt_move.c
+index 81bcde5c436..051c3cc6295 100644
+--- a/src/compiler/nir/nir_opt_move.c
++++ b/src/compiler/nir/nir_opt_move.c
+@@ -60,7 +60,7 @@ src_is_ssa(nir_src *src, void *state)
+ static ALWAYS_INLINE bool
+ instr_reads_register(nir_instr *instr)
+ {
+- return !nir_foreach_src(instr, src_is_ssa, NULL);
++ return !_nir_foreach_src(instr, src_is_ssa, NULL);
+ }
+
+ static bool
+--
+2.34.1
+
diff --git a/meta/recipes-graphics/mesa/libglu_9.0.2.bb b/meta/recipes-graphics/mesa/libglu_9.0.2.bb
index 64fa82e5a8..0d27dd116b 100644
--- a/meta/recipes-graphics/mesa/libglu_9.0.2.bb
+++ b/meta/recipes-graphics/mesa/libglu_9.0.2.bb
@@ -25,4 +25,4 @@ inherit autotools pkgconfig features_check
REQUIRED_DISTRO_FEATURES = "x11 opengl"
# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
diff --git a/meta/recipes-graphics/mesa/mesa-gl_22.1.2.bb b/meta/recipes-graphics/mesa/mesa-gl_22.1.3.bb
index f2bc8f6b5b..f2bc8f6b5b 100644
--- a/meta/recipes-graphics/mesa/mesa-gl_22.1.2.bb
+++ b/meta/recipes-graphics/mesa/mesa-gl_22.1.3.bb
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 83705fc34d..f02ef2dc2b 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -22,9 +22,10 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
file://0001-util-format-Check-for-NEON-before-using-it.patch \
file://0001-Revert-egl-wayland-deprecate-drm_handle_format-and-d.patch \
file://0001-swrast_kms-use-swkmsDRI2Extension-instead-of-driDRI2.patch \
+ file://0001-nir-nir_opt_move-fix-ALWAYS_INLINE-compiler-error.patch \
"
-SRC_URI[sha256sum] = "0971226b4a6a3d10cfc255736b33e4017e18c14c9db1e53863ac1f8ae0deb9ea"
+SRC_URI[sha256sum] = "b98f32ba7aa2a1ff5725fb36eb999c693079f0ca16f70aa2f103e2b6c3f093e3"
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
@@ -183,7 +184,7 @@ CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS"
CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
# Remove the mesa dependency on mesa-dev, as mesa is empty
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
# Khronos documentation says that include/GLES2/gl2ext.h can be used for
# OpenGL ES 3 specification as well as for OpenGL ES 2.
diff --git a/meta/recipes-graphics/mesa/mesa_22.1.2.bb b/meta/recipes-graphics/mesa/mesa_22.1.3.bb
index 96e8aa38d6..96e8aa38d6 100644
--- a/meta/recipes-graphics/mesa/mesa_22.1.2.bb
+++ b/meta/recipes-graphics/mesa/mesa_22.1.3.bb
diff --git a/meta/recipes-graphics/pango/pango_1.50.7.bb b/meta/recipes-graphics/pango/pango_1.50.8.bb
index 727c170288..936526799f 100644
--- a/meta/recipes-graphics/pango/pango_1.50.7.bb
+++ b/meta/recipes-graphics/pango/pango_1.50.8.bb
@@ -15,6 +15,8 @@ GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gi-docgen ptest-gnome upstream-version-is-even gobject-introspection
+UPSTREAM_CHECK_REGEX = "pango-(?P<pver>\d+\.(?!9\d+)\d+\.\d+)"
+
GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_DISABLE_FLAG = "disabled"
@@ -22,7 +24,7 @@ SRC_URI += "file://run-ptest \
file://0001-Skip-running-test-layout-test.patch \
"
-SRC_URI[archive.sha256sum] = "0477f369a3d4c695df7299a6989dc004756a7f4de27eecac405c6790b7e3ad33"
+SRC_URI[archive.sha256sum] = "cf626f59dd146c023174c4034920e9667f1d25ac2c1569516d63136c311255fa"
DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index 7b8dc5f0b4..932f2928a0 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -14,7 +14,7 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=ma
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "b84975ef4575d8121dbc50fca72341aad4572cdc"
+SRCREV = "c107462e4e429fa1cf6daac39168674c1c0c9fd4"
# (when PV goes above 1.0 remove the trailing r)
PV = "1.0+gitr${SRCPV}"
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch
new file mode 100644
index 0000000000..c2bb43fe76
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch
@@ -0,0 +1,27 @@
+From 8c069a1c4452f626e5bafc547463507d86111319 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 19 Jul 2022 16:55:40 +0200
+Subject: [PATCH] framework/core/hpp_vulkan_resource.h: add header include that
+ defines std::exchange
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/501]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ framework/core/hpp_vulkan_resource.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/framework/core/hpp_vulkan_resource.h b/framework/core/hpp_vulkan_resource.h
+index 0e30f5a..8d83019 100644
+--- a/framework/core/hpp_vulkan_resource.h
++++ b/framework/core/hpp_vulkan_resource.h
+@@ -18,6 +18,7 @@
+ #pragma once
+
+ #include <vulkan/vulkan.hpp>
++#include <utility>
+
+ namespace vkb
+ {
+--
+2.30.2
+
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index 57d3bd8fe5..41cb4a437d 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -8,10 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a"
SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=master;protocol=https \
file://0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch \
file://debugfix.patch \
+ file://0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "0cc04a63583769bd13bcc51229a5a263d59343df"
+SRCREV = "ee6c1522af8ba9b56f8416c2eedafb440f681085"
UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-graphics/waffle/waffle/0001-meson.build-request-native-wayland-scanner.patch b/meta/recipes-graphics/waffle/waffle/0001-meson.build-request-native-wayland-scanner.patch
new file mode 100644
index 0000000000..1b62db92e9
--- /dev/null
+++ b/meta/recipes-graphics/waffle/waffle/0001-meson.build-request-native-wayland-scanner.patch
@@ -0,0 +1,27 @@
+From 2195cec1e5bc66128d72049c11ff381ca4516a4b Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 5 Jul 2022 11:51:39 +0200
+Subject: [PATCH] meson.build: request native wayland-scanner
+
+This matters in cross compilation, as otherwise meson will
+try to use a cross-binary, and fail.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/waffle/-/merge_requests/110]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 0bb6128..0b6da1f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -108,7 +108,7 @@ else
+ 'wayland-egl', version : '>= 9.1', required : get_option('wayland'),
+ )
+ dep_wayland_scanner = dependency(
+- 'wayland-scanner', version : '>= 1.15', required : get_option('wayland'),
++ 'wayland-scanner', version : '>= 1.15', required : get_option('wayland'), native: true,
+ )
+ if dep_wayland_scanner.found()
+ prog_wayland_scanner = find_program(dep_wayland_scanner.get_pkgconfig_variable('wayland_scanner'))
diff --git a/meta/recipes-graphics/waffle/waffle_1.7.0.bb b/meta/recipes-graphics/waffle/waffle_1.7.0.bb
index f1fd9e7630..dc475908d0 100644
--- a/meta/recipes-graphics/waffle/waffle_1.7.0.bb
+++ b/meta/recipes-graphics/waffle/waffle_1.7.0.bb
@@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \
SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=master \
file://0001-waffle-do-not-make-core-protocol-into-the-library.patch \
+ file://0001-meson.build-request-native-wayland-scanner.patch \
"
SRCREV = "905c6c10f2483adf0cbfa024e2d3c2ed541fb300"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.25.bb b/meta/recipes-graphics/wayland/wayland-protocols_1.26.bb
index 92ba296165..322f55dc71 100644
--- a/meta/recipes-graphics/wayland/wayland-protocols_1.25.bb
+++ b/meta/recipes-graphics/wayland/wayland-protocols_1.26.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
"
-SRC_URI[sha256sum] = "f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460"
+SRC_URI[sha256sum] = "c553384c1c68afd762fa537a2569cc9074fe7600da12d3472761e77a2ba56f13"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
diff --git a/meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch b/meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch
deleted file mode 100644
index e3e71925b8..0000000000
--- a/meta/recipes-graphics/wayland/wayland/0002-Do-not-hardcode-the-path-to-wayland-scanner.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3e7cd56611aeec274e48a4816bc7c21f74f15be0 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 17 Feb 2020 21:46:18 +0100
-Subject: [PATCH] Do not hardcode the path to wayland-scanner
-
-This results in host contamination during builds.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- src/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/meson.build b/src/meson.build
-index 15730a3..61edbc8 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -52,7 +52,7 @@ if get_option('scanner')
- 'datarootdir=' + join_paths('${prefix}', get_option('datadir')),
- 'pkgdatadir=' + join_paths('${datarootdir}', meson.project_name()),
- 'bindir=' + join_paths('${prefix}', get_option('bindir')),
-- 'wayland_scanner=${bindir}/wayland-scanner'
-+ 'wayland_scanner=wayland-scanner'
- ],
- filebase: 'wayland-scanner'
- )
diff --git a/meta/recipes-graphics/wayland/wayland_1.20.0.bb b/meta/recipes-graphics/wayland/wayland_1.21.0.bb
index dd48a29dc4..ce59e601d2 100644
--- a/meta/recipes-graphics/wayland/wayland_1.20.0.bb
+++ b/meta/recipes-graphics/wayland/wayland_1.21.0.bb
@@ -12,12 +12,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b31d8f53b6aaf2b4985d7dd7810a70d1 \
DEPENDS = "expat libffi wayland-native"
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
file://run-ptest \
- file://0002-Do-not-hardcode-the-path-to-wayland-scanner.patch \
file://0001-build-Fix-strndup-detection-on-MinGW.patch \
"
-SRC_URI[sha256sum] = "b8a034154c7059772e0fdbd27dbfcda6c732df29cae56a82274f6ec5d7cd8725"
+SRC_URI[sha256sum] = "6dc64d7fc16837a693a51cfdb2e568db538bfdc9f457d4656285bb9594ef11ac"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
UPSTREAM_CHECK_REGEX = "wayland-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
diff --git a/meta/recipes-graphics/wayland/weston_10.0.0.bb b/meta/recipes-graphics/wayland/weston_10.0.1.bb
index 93f7b59659..e27dac164e 100644
--- a/meta/recipes-graphics/wayland/weston_10.0.0.bb
+++ b/meta/recipes-graphics/wayland/weston_10.0.1.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
file://libweston/compositor.c;endline=27;md5=eb6d5297798cabe2ddc65e2af519bcf0 \
"
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \
file://weston.png \
file://weston.desktop \
file://xwayland.weston-start \
@@ -15,7 +15,7 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch "
-SRC_URI[sha256sum] = "5c23964112b90238bed39e5dd1e41cd71a79398813cdc3bbb15a9fdc94e547ae"
+SRC_URI[sha256sum] = "8a9e52506a865a7410981b04f8341b89b84106db8531ab1f9fdd37b5dc034115"
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
diff --git a/meta/recipes-graphics/xorg-app/xev_1.2.4.bb b/meta/recipes-graphics/xorg-app/xev_1.2.5.bb
index 9407fa65f1..0e3def6eee 100644
--- a/meta/recipes-graphics/xorg-app/xev_1.2.4.bb
+++ b/meta/recipes-graphics/xorg-app/xev_1.2.5.bb
@@ -14,4 +14,6 @@ DEPENDS += "libxrandr xorgproto"
SRC_URI += "file://diet-x11.patch"
-SRC_URI[sha256sum] = "d700e08bfe751ed2dbf802baa204b056d0e49348b6eb3c6f9cb035d8ae4885e2"
+SRC_URI[sha256sum] = "c9461a4389714e0f33974f9e75934bdc38d836a0f059b8dc089c7cbf2ce36ec1"
+
+SRC_URI_EXT = "xz"
diff --git a/meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb b/meta/recipes-graphics/xorg-app/xmodmap_1.0.11.bb
index 7dedb03a2b..dc955aa977 100644
--- a/meta/recipes-graphics/xorg-app/xmodmap_1.0.10.bb
+++ b/meta/recipes-graphics/xorg-app/xmodmap_1.0.11.bb
@@ -12,5 +12,6 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=272c17e96370e1e74773fa22d9989621"
PE = "1"
-SRC_URI[md5sum] = "51f1d30a525e9903280ffeea2744b1f6"
-SRC_URI[sha256sum] = "473f0941d7439d501bb895ff358832b936ec34c749b9704c37a15e11c318487c"
+SRC_URI[sha256sum] = "9a2f8168f7b0bc382828847403902cb6bf175e17658b36189eac87edda877e81"
+
+SRC_URI_EXT = "xz"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb b/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb
deleted file mode 100644
index 1896fff9f9..0000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-keyboard_1.9.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require xorg-driver-input.inc
-
-SUMMARY = "X.Org X server -- keyboard input driver"
-
-DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \
-driver supports the standard OS-provided keyboard interface. The driver \
-functions as a keyboard input device, and may be used as the X server's \
-core keyboard."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=ea2099d24ac9e316a6d4b9f20b3d4e10"
-
-SRC_URI[md5sum] = "a3a3f0dd32361dcdbd406e894dafe090"
-SRC_URI[sha256sum] = "f7c900f21752683402992b288d5a2826de7a6c0c0abac2aadd7e8a409e170388"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/64bit_time_t_support.patch b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/64bit_time_t_support.patch
deleted file mode 100644
index 4bb7fb3e23..0000000000
--- a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/64bit_time_t_support.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-This patch avoids using time field of input_event structure which is not available
-on 32bit arches supporting 64bit time_t structs, Patch makes it compatible with new
-and keeps old input.h implementation functional as well.
-
-See https://sourceware.org/glibc/wiki/Y2038ProofnessDesign
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/src/eventcomm.c
-+++ b/src/eventcomm.c
-@@ -575,10 +575,12 @@ SynapticsReadEvent(InputInfoPtr pInfo, s
- ev->type = EV_SYN;
- ev->code = SYN_REPORT;
- ev->value = 0;
-- ev->time = last_event_time;
-- } else if (ev->type == EV_SYN)
-- last_event_time = ev->time;
--
-+ ev->input_event_sec = last_event_time.tv_sec;
-+ ev->input_event_usec = last_event_time.tv_usec;
-+ } else if (ev->type == EV_SYN) {
-+ last_event_time.tv_sec = ev->input_event_sec;
-+ last_event_time.tv_usec = ev->input_event_usec;
-+ }
- return TRUE;
- }
-
-@@ -725,7 +727,7 @@ EventReadHwState(InputInfoPtr pInfo,
- case SYN_REPORT:
- hw->numFingers = count_fingers(pInfo, comm);
- if (proto_data->have_monotonic_clock)
-- hw->millis = 1000 * ev.time.tv_sec + ev.time.tv_usec / 1000;
-+ hw->millis = 1000 * ev.input_event_sec + ev.input_event_usec / 1000;
- else
- hw->millis = GetTimeInMillis();
- SynapticsCopyHwState(hwRet, hw);
---- a/src/eventcomm.h
-+++ b/src/eventcomm.h
-@@ -34,6 +34,11 @@
- #include <xf86Xinput.h>
- #include "synproto.h"
-
-+#ifndef input_event_sec
-+#define input_event_sec time.tv_sec
-+#define input_event_usec time.tv_usec
-+#endif
-+
- /* for auto-dev: */
- #define DEV_INPUT_EVENT "/dev/input"
- #define EVENT_DEV_NAME "event"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.1.bb b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.2.bb
index 388350c96e..8e446290b2 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.1.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-input-synaptics_1.9.2.bb
@@ -10,9 +10,8 @@ advanced features of the touchpad to become available."
LIC_FILES_CHKSUM = "file://COPYING;md5=55aacd3535a741824955c5eb8f061398"
-SRC_URI += "file://64bit_time_t_support.patch"
-
-SRC_URI[md5sum] = "cfb79d3c975151f9bbf30b727c260cb9"
-SRC_URI[sha256sum] = "7af83526eff1c76e8b9e1553b34245c203d029028d8044dd9dcf71eef1001576"
+SRC_URI[sha256sum] = "b8fa4aab913fc63754bbd6439e020658c412743a055201ddf212760593962c38"
DEPENDS += "libxi mtdev libxtst libevdev"
+
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.3.bb b/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.6.0.bb
index c498477604..32eb8a4816 100644
--- a/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.5.3.bb
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-cirrus_1.6.0.bb
@@ -7,7 +7,8 @@ the driver is still useful."
LIC_FILES_CHKSUM = "file://COPYING;md5=6ddc7ca860dc5fd014e7f160ea699295"
-SRC_URI[md5sum] = "7d7dfd4cdc42aa8b6e923510fa00ad2b"
-SRC_URI[sha256sum] = "edc87b20a55259126b5239b5c1ef913419eab7ded0ed12ae9ae989460d7351ab"
+SRC_URI[sha256sum] = "0ef3fa0083de3d9a040f11b3af38598d8405f1165b908fdd6712c30038326401"
DEPENDS += "libpciaccess"
+
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
diff --git a/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch b/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch
index ec7c7d80c1..9ee7abe775 100644
--- a/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch
+++ b/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch
@@ -1,4 +1,4 @@
-From b08c43a0842076e0a94e88ad6456a9326cd7ffc9 Mon Sep 17 00:00:00 2001
+From 0c0790e90a68bf8290da5c0e57142bf7c620f039 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Tue, 17 May 2011 23:03:02 +0000
Subject: [PATCH] Improve handling of 'all' architecture recipes and their
@@ -21,12 +21,12 @@ RP 17/5/2011
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 622c27b..5ee84ed 100644
+index b80e3de..80208bb 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3,12 +3,12 @@ AC_INIT([encodings], [1.0.5],
+@@ -3,12 +3,12 @@ AC_INIT([encodings], [1.0.6],
[https://gitlab.freedesktop.org/xorg/font/encodings/issues])
- AM_INIT_AUTOMAKE([foreign dist-bzip2])
+ AM_INIT_AUTOMAKE([foreign dist-xz])
-# Require xorg-macros: XORG_DEFAULT_OPTIONS
m4_ifndef([XORG_MACROS_VERSION],
diff --git a/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb b/meta/recipes-graphics/xorg-font/encodings_1.0.6.bb
index 8ddbaf24dd..be82414eef 100644
--- a/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
+++ b/meta/recipes-graphics/xorg-font/encodings_1.0.6.bb
@@ -7,14 +7,14 @@ require xorg-font-common.inc
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=9da93f2daf2d5572faa2bfaf0dbd9e76"
PE = "1"
-PR = "r3"
DEPENDS = "mkfontscale-native mkfontdir-native font-util-native"
RDEPENDS:${PN} = ""
SRC_URI += "file://nocompiler.patch"
-SRC_URI[md5sum] = "bbae4f247b88ccde0e85ed6a403da22a"
-SRC_URI[sha256sum] = "bd96e16143a044b19e87f217cf6a3763a70c561d1076aad6f6d862ec41774a31"
+SRC_URI[sha256sum] = "77e301de661f35a622b18f60b555a7e7d8c4d5f43ed41410e830d5ac9084fc26"
+
+SRC_URI_EXT = "xz"
inherit allarch
diff --git a/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb b/meta/recipes-graphics/xorg-font/font-util_1.3.3.bb
index b3e832756b..64c705770d 100644
--- a/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
+++ b/meta/recipes-graphics/xorg-font/font-util_1.3.3.bb
@@ -16,7 +16,8 @@ RDEPENDS:${PN}:class-native = ""
BBCLASSEXTEND = "native"
-SRC_URI[md5sum] = "3d6adb76fdd072db8c8fae41b40855e8"
-SRC_URI[sha256sum] = "3ad880444123ac06a7238546fa38a2a6ad7f7e0cc3614de7e103863616522282"
+SRC_URI[sha256sum] = "e791c890779c40056ab63aaed5e031bb6e2890a98418ca09c534e6261a2eebd2"
SYSROOT_DIRS_IGNORE:remove = "${datadir}/fonts"
+
+SRC_URI_EXT = "xz"
diff --git a/meta/recipes-graphics/xorg-font/xorg-font-common.inc b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
index 2df23efed4..edf7cf7642 100644
--- a/meta/recipes-graphics/xorg-font/xorg-font-common.inc
+++ b/meta/recipes-graphics/xorg-font/xorg-font-common.inc
@@ -9,7 +9,8 @@ RDEPENDS:${PN} = "encodings font-util font-alias"
XORG_PN = "${BPN}"
-SRC_URI = "${XORG_MIRROR}/individual/font/${XORG_PN}-${PV}.tar.bz2"
+SRC_URI_EXT = "bz2"
+SRC_URI = "${XORG_MIRROR}/individual/font/${XORG_PN}-${PV}.tar.${SRC_URI_EXT}"
S = "${WORKDIR}/${XORG_PN}-${PV}"
inherit autotools pkgconfig features_check
diff --git a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
index b398e8b626..7bf702076d 100644
--- a/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78
inherit autotools
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb b/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
index 08773c8ccc..83f11769f5 100644
--- a/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
+++ b/meta/recipes-graphics/xorg-lib/xtrans_1.4.0.bb
@@ -16,7 +16,7 @@ SRC_URI += "file://multilibfix.patch"
PE = "1"
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
inherit gettext
diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto/0001-xcb-proto.pc.in-reinstate-libdir.patch b/meta/recipes-graphics/xorg-proto/xcb-proto/0001-xcb-proto.pc.in-reinstate-libdir.patch
new file mode 100644
index 0000000000..fe0a96c207
--- /dev/null
+++ b/meta/recipes-graphics/xorg-proto/xcb-proto/0001-xcb-proto.pc.in-reinstate-libdir.patch
@@ -0,0 +1,29 @@
+From ed499cffabe64fc1dc5898cb69ffa7e62c19e9d8 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 5 Jul 2022 21:19:20 +0200
+Subject: [PATCH] xcb-proto.pc.in: reinstate libdir
+
+Otherwise the following occurs when building libxcb:
+| checking for xcb-proto >= 1.14... no
+| configure: error: Package requirements (xcb-proto >= 1.14) were not met:
+|
+| Variable 'libdir' not defined in '/srv/work/alex/poky/build-64-alt/tmp/work/core2-64-poky-linux/libxcb/1.15-r0/recipe-sysroot/usr/share/pkgconfig/xcb-proto.pc'
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/proto/xcbproto/-/merge_requests/31]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ xcb-proto.pc.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/xcb-proto.pc.in b/xcb-proto.pc.in
+index 0822b18..c7c8b47 100644
+--- a/xcb-proto.pc.in
++++ b/xcb-proto.pc.in
+@@ -2,6 +2,7 @@ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+ datarootdir=@datarootdir@
+ datadir=@datadir@
++libdir=@libdir@
+ xcbincludedir=${pc_sysrootdir}@xcbincludedir@
+ PYTHON_PREFIX=@PYTHON_PREFIX@
+ pythondir=${pc_sysrootdir}@pythondir@
diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.bb b/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.2.bb
index f050ed366c..4e4472a9c1 100644
--- a/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.bb
+++ b/meta/recipes-graphics/xorg-proto/xcb-proto_1.15.2.bb
@@ -11,8 +11,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d763b081cb10c223435b01e00dc0aba7 \
file://src/dri2.xml;beginline=2;endline=28;md5=f8763b13ff432e8597e0d610cf598e65"
-SRC_URI = "https://xorg.freedesktop.org/archive/individual/proto/${BP}.tar.xz"
-SRC_URI[sha256sum] = "d34c3b264e8365d16fa9db49179cfa3e9952baaf9275badda0f413966b65955f"
+SRC_URI = "https://xorg.freedesktop.org/archive/individual/proto/${BP}.tar.xz \
+ file://0001-xcb-proto.pc.in-reinstate-libdir.patch \
+ "
+SRC_URI[sha256sum] = "7072beb1f680a2fe3f9e535b797c146d22528990c72f63ddb49d2f350a3653ed"
inherit autotools pkgconfig python3native
@@ -22,7 +24,7 @@ FILES:${PN} = ""
FILES:${PN}-dev += "${datadir}/xcb/*.xml ${datadir}/xcb/*.xsd"
FILES:python-xcbgen = "${PYTHON_SITEPACKAGES_DIR}"
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb b/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb
index 7786318476..a1e852b9eb 100644
--- a/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb
+++ b/meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb
@@ -19,7 +19,7 @@ PACKAGECONFIG[legacy] = "-Dlegacy=true,-Dlegacy=false"
# Datadir only used to install pc files, $datadir/pkgconfig
datadir="${libdir}"
# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb b/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb
index 0164256eb4..13d8ce22df 100644
--- a/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb
+++ b/meta/recipes-graphics/xorg-util/util-macros_1.19.3.bb
@@ -13,7 +13,7 @@ SRC_URI[md5sum] = "66cb74d4a0120a06e32c3b01c29417d8"
SRC_URI[sha256sum] = "624bb6c3a4613d18114a7e3849a3d70f2d7af9dc6eabeaba98060d87e3aef35b"
# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-render-Fix-build-with-gcc-12.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-render-Fix-build-with-gcc-12.patch
deleted file mode 100644
index df9332fae7..0000000000
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-render-Fix-build-with-gcc-12.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 12041ad0610f1345d6b9994c32943fd4dd01f65d Mon Sep 17 00:00:00 2001
-From: Olivier Fourdan <ofourdan@redhat.com>
-Date: Thu, 20 Jan 2022 10:20:38 +0100
-Subject: [PATCH] render: Fix build with gcc 12
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The xserver fails to compile with the latest gcc 12:
-
- render/picture.c: In function ‘CreateSolidPicture’:
- render/picture.c:874:26: error: array subscript ‘union _SourcePict[0]’ is partly outside array bounds of ‘unsigned char[16]’ [-Werror=array-bounds]
- 874 | pPicture->pSourcePict->type = SourcePictTypeSolidFill;
- | ^~
- render/picture.c:868:45: note: object of size 16 allocated by ‘malloc’
- 868 | pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictSolidFill));
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- render/picture.c: In function ‘CreateLinearGradientPicture’:
- render/picture.c:906:26: error: array subscript ‘union _SourcePict[0]’ is partly outside array bounds of ‘unsigned char[32]’ [-Werror=array-bounds]
- 906 | pPicture->pSourcePict->linear.type = SourcePictTypeLinear;
- | ^~
- render/picture.c:899:45: note: object of size 32 allocated by ‘malloc’
- 899 | pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictLinearGradient));
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- render/picture.c: In function ‘CreateConicalGradientPicture’:
- render/picture.c:989:26: error: array subscript ‘union _SourcePict[0]’ is partly outside array bounds of ‘unsigned char[32]’ [-Werror=array-bounds]
- 989 | pPicture->pSourcePict->conical.type = SourcePictTypeConical;
- | ^~
- render/picture.c:982:45: note: object of size 32 allocated by ‘malloc’
- 982 | pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictConicalGradient));
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- cc1: some warnings being treated as errors
- ninja: build stopped: subcommand failed.
-
-This is because gcc 12 has become stricter and raises a warning now.
-
-Fix the warning/error by allocating enough memory to store the union
-struct.
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/-/commit/c6b0dcb82d4db07a2f32c09a8c09c85a5f57248e]
-Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
-Acked-by: Michel Dänzer <mdaenzer@redhat.com>
-Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1256
----
- render/picture.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/render/picture.c b/render/picture.c
-index afa0d25..2be4b19 100644
---- a/render/picture.c
-+++ b/render/picture.c
-@@ -865,7 +865,7 @@ CreateSolidPicture(Picture pid, xRenderColor * color, int *error)
- }
-
- pPicture->id = pid;
-- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictSolidFill));
-+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
- if (!pPicture->pSourcePict) {
- *error = BadAlloc;
- free(pPicture);
-@@ -896,7 +896,7 @@ CreateLinearGradientPicture(Picture pid, xPointFixed * p1, xPointFixed * p2,
- }
-
- pPicture->id = pid;
-- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictLinearGradient));
-+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
- if (!pPicture->pSourcePict) {
- *error = BadAlloc;
- free(pPicture);
-@@ -936,7 +936,7 @@ CreateRadialGradientPicture(Picture pid, xPointFixed * inner,
- }
-
- pPicture->id = pid;
-- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictRadialGradient));
-+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
- if (!pPicture->pSourcePict) {
- *error = BadAlloc;
- free(pPicture);
-@@ -979,7 +979,7 @@ CreateConicalGradientPicture(Picture pid, xPointFixed * center, xFixed angle,
- }
-
- pPicture->id = pid;
-- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictConicalGradient));
-+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
- if (!pPicture->pSourcePict) {
- *error = BadAlloc;
- free(pPicture);
---
-2.35.1
-
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.3.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb
index 1f53ab5177..b9cbc9989e 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.3.bb
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb
@@ -1,10 +1,9 @@
require xserver-xorg.inc
SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \
- file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \
- file://0001-render-Fix-build-with-gcc-12.patch \
- "
-SRC_URI[sha256sum] = "61d6aad5b6b47a116b960bd7f0cba4ee7e6da95d6bb0b127bde75d7d1acdebe5"
+ file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \
+ "
+SRC_URI[sha256sum] = "5cc4be8ee47edb58d4a90e603a59d56b40291ad38371b0bd2471fc3cbee1c587"
# These extensions are now integrated into the server, so declare the migration
# path for in-place upgrades.
diff --git a/meta/recipes-graphics/xwayland/xwayland_22.1.2.bb b/meta/recipes-graphics/xwayland/xwayland_22.1.3.bb
index 8c52613109..da1b27525d 100644
--- a/meta/recipes-graphics/xwayland/xwayland_22.1.2.bb
+++ b/meta/recipes-graphics/xwayland/xwayland_22.1.3.bb
@@ -10,7 +10,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz"
-SRC_URI[sha256sum] = "743c4d56cfc0818755e2281d625d51860b41a473c641e179649a4f41776d1fca"
+SRC_URI[sha256sum] = "a712eb7bce32cd934df36814b5dd046aa670899c16fe98f2afb003578f86a1c5"
UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
diff --git a/meta/recipes-kernel/kmod/kmod/0001-depmod-Add-support-for-excluding-a-directory.patch b/meta/recipes-kernel/kmod/kmod/0001-depmod-Add-support-for-excluding-a-directory.patch
deleted file mode 100644
index ea0570af2b..0000000000
--- a/meta/recipes-kernel/kmod/kmod/0001-depmod-Add-support-for-excluding-a-directory.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From f50e2d67575ac5f256fb853ca9d29aeac92d9a57 Mon Sep 17 00:00:00 2001
-From: Saul Wold <saul.wold@windriver.com>
-Date: Thu, 31 Mar 2022 14:56:28 -0700
-Subject: [PATCH] depmod: Add support for excluding a directory
-
-This adds support to depmod to enable a new exclude directive in
-the depmod.d/*.conf configuration file. Currently depmod
-already excludes directories named source or build. This change
-will allow additional directories like .debug to be excluded also
-via a new exclude directive.
-
-depmod.d/exclude.conf example:
-exclude .debug
-
-Upstream-Status: Accepted
-
-Signed-off-by: Saul Wold <saul.wold@windriver.com>
-[ Fix warnings and make should_exclude_dir() return bool ]
-Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
----
- man/depmod.d.xml | 14 ++++++++++
- tools/depmod.c | 66 +++++++++++++++++++++++++++++++++++++++++++++---
- 2 files changed, 76 insertions(+), 4 deletions(-)
-
-diff --git a/man/depmod.d.xml b/man/depmod.d.xml
-index b315e93..76548e9 100644
---- a/man/depmod.d.xml
-+++ b/man/depmod.d.xml
-@@ -131,6 +131,20 @@
- </para>
- </listitem>
- </varlistentry>
-+ <varlistentry>
-+ <term>exclude <replaceable>excludedir</replaceable>
-+ </term>
-+ <listitem>
-+ <para>
-+ This specifies the trailing directories that will be excluded
-+ during the search for kernel modules.
-+ </para>
-+ <para>
-+ The <replaceable>excludedir</replaceable> is the trailing directory
-+ to exclude
-+ </para>
-+ </listitem>
-+ </varlistentry>
- </variablelist>
- </refsect1>
-
-diff --git a/tools/depmod.c b/tools/depmod.c
-index 07a35ba..4117dd1 100644
---- a/tools/depmod.c
-+++ b/tools/depmod.c
-@@ -458,6 +458,11 @@ struct cfg_external {
- char path[];
- };
-
-+struct cfg_exclude {
-+ struct cfg_exclude *next;
-+ char exclude_dir[];
-+};
-+
- struct cfg {
- const char *kversion;
- char dirname[PATH_MAX];
-@@ -469,6 +474,7 @@ struct cfg {
- struct cfg_override *overrides;
- struct cfg_search *searches;
- struct cfg_external *externals;
-+ struct cfg_exclude *excludes;
- };
-
- static enum search_type cfg_define_search_type(const char *path)
-@@ -580,6 +586,30 @@ static void cfg_external_free(struct cfg_external *ext)
- free(ext);
- }
-
-+static int cfg_exclude_add(struct cfg *cfg, const char *path)
-+{
-+ struct cfg_exclude *exc;
-+ size_t len = strlen(path);
-+
-+ exc = malloc(sizeof(struct cfg_exclude) + len + 1);
-+ if (exc == NULL) {
-+ ERR("exclude add: out of memory\n");
-+ return -ENOMEM;
-+ }
-+ memcpy(exc->exclude_dir, path, len + 1);
-+
-+ DBG("exclude add: %s\n", path);
-+
-+ exc->next = cfg->excludes;
-+ cfg->excludes = exc;
-+ return 0;
-+}
-+
-+static void cfg_exclude_free(struct cfg_exclude *exc)
-+{
-+ free(exc);
-+}
-+
- static int cfg_kernel_matches(const struct cfg *cfg, const char *pattern)
- {
- regex_t re;
-@@ -657,6 +687,11 @@ static int cfg_file_parse(struct cfg *cfg, const char *filename)
- }
-
- cfg_external_add(cfg, dir);
-+ } else if (streq(cmd, "exclude")) {
-+ const char *sp;
-+ while ((sp = strtok_r(NULL, "\t ", &saveptr)) != NULL) {
-+ cfg_exclude_add(cfg, sp);
-+ }
- } else if (streq(cmd, "include")
- || streq(cmd, "make_map_files")) {
- INF("%s:%u: command %s not implemented yet\n",
-@@ -857,6 +892,12 @@ static void cfg_free(struct cfg *cfg)
- cfg->externals = cfg->externals->next;
- cfg_external_free(tmp);
- }
-+
-+ while (cfg->excludes) {
-+ struct cfg_exclude *tmp = cfg->excludes;
-+ cfg->excludes = cfg->excludes->next;
-+ cfg_exclude_free(tmp);
-+ }
- }
-
-
-@@ -1229,6 +1270,25 @@ add:
- return 0;
- }
-
-+static bool should_exclude_dir(const struct cfg *cfg, const char *name)
-+{
-+ struct cfg_exclude *exc;
-+
-+ if (name[0] == '.' && (name[1] == '\0' ||
-+ (name[1] == '.' && name[2] == '\0')))
-+ return true;
-+
-+ if (streq(name, "build") || streq(name, "source"))
-+ return true;
-+
-+ for (exc = cfg->excludes; exc != NULL; exc = exc->next) {
-+ if (streq(name, exc->exclude_dir))
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
- static int depmod_modules_search_dir(struct depmod *depmod, DIR *d, size_t baselen, struct scratchbuf *s_path)
- {
- struct dirent *de;
-@@ -1240,11 +1300,9 @@ static int depmod_modules_search_dir(struct depmod *depmod, DIR *d, size_t basel
- size_t namelen;
- uint8_t is_dir;
-
-- if (name[0] == '.' && (name[1] == '\0' ||
-- (name[1] == '.' && name[2] == '\0')))
-- continue;
-- if (streq(name, "build") || streq(name, "source"))
-+ if (should_exclude_dir(depmod->cfg, name))
- continue;
-+
- namelen = strlen(name);
- if (scratchbuf_alloc(s_path, baselen + namelen + 2) < 0) {
- err = -ENOMEM;
---
-2.31.1
-
diff --git a/meta/recipes-kernel/kmod/kmod_29.bb b/meta/recipes-kernel/kmod/kmod_30.bb
index 32dc49c126..8eb83efe6d 100644
--- a/meta/recipes-kernel/kmod/kmod_29.bb
+++ b/meta/recipes-kernel/kmod/kmod_30.bb
@@ -15,12 +15,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
"
inherit autotools bash-completion gtk-doc pkgconfig manpages update-alternatives
-SRCREV = "b6ecfc916a17eab8f93be5b09f4e4f845aabd3d1"
+SRCREV = "5d46434a63ae0160150a0efdde1914873697e273"
SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git;branch=master \
file://depmod-search.conf \
file://avoid_parallel_tests.patch \
- file://0001-depmod-Add-support-for-excluding-a-directory.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20220610.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20220708.bb
index 78b38df461..91c32e49d6 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_20220610.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20220708.bb
@@ -27,7 +27,6 @@ LICENSE = "\
& Firmware-go7007 \
& Firmware-GPLv2 \
& Firmware-hfi1_firmware \
- & Firmware-i2400m \
& Firmware-i915 \
& Firmware-ibt_firmware \
& Firmware-ice \
@@ -57,7 +56,6 @@ LICENSE = "\
& Firmware-rtlwifi_firmware \
& Firmware-imx-sdma_firmware \
& Firmware-siano \
- & Firmware-tda7706-firmware \
& Firmware-ti-connectivity \
& Firmware-ti-keystone \
& Firmware-ueagle-atm4-firmware \
@@ -69,7 +67,6 @@ LICENSE = "\
& WHENCE \
"
-WHENCE_CHKSUM = "385947b278a6646ae4c3d39ba8c9b1bb"
LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
@@ -92,7 +89,6 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
- file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \
file://LICENSE.ice;md5=742ab4850f2670792940e6d15c974b2f \
@@ -124,7 +120,6 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \
file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \
- file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \
file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \
file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \
file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \
@@ -135,6 +130,9 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
file://WHENCE;md5=${WHENCE_CHKSUM} \
"
+# WHENCE checksum is defined separately to ease overriding it if
+# class-devupstream is selected.
+WHENCE_CHKSUM = "def08711eb23ba967fb7e1f8cff66178"
# These are not common licenses, set NO_GENERIC_LICENSE for them
# so that the license files will be copied from fetched source
@@ -160,7 +158,6 @@ NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28"
NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007"
NO_GENERIC_LICENSE[Firmware-GPLv2] = "GPL-2"
NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware"
-NO_GENERIC_LICENSE[Firmware-i2400m] = "LICENCE.i2400m"
NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915"
NO_GENERIC_LICENSE[Firmware-ibt_firmware] = "LICENCE.ibt_firmware"
NO_GENERIC_LICENSE[Firmware-ice] = "LICENSE.ice"
@@ -191,7 +188,6 @@ NO_GENERIC_LICENSE[Firmware-ralink-firmware] = "LICENCE.ralink-firmware.txt"
NO_GENERIC_LICENSE[Firmware-rtlwifi_firmware] = "LICENCE.rtlwifi_firmware.txt"
NO_GENERIC_LICENSE[Firmware-siano] = "LICENCE.siano"
NO_GENERIC_LICENSE[Firmware-imx-sdma_firmware] = "LICENSE.sdma_firmware"
-NO_GENERIC_LICENSE[Firmware-tda7706-firmware] = "LICENCE.tda7706-firmware.txt"
NO_GENERIC_LICENSE[Firmware-ti-connectivity] = "LICENCE.ti-connectivity"
NO_GENERIC_LICENSE[Firmware-ti-keystone] = "LICENCE.ti-keystone"
NO_GENERIC_LICENSE[Firmware-ueagle-atm4-firmware] = "LICENCE.ueagle-atm4-firmware"
@@ -213,7 +209,7 @@ SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmw
# Pin this to the 20220509 release, override this in local.conf
SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
-SRC_URI[sha256sum] = "faf3aedf89530e61f4fa1e8c7303dead9127cc24416945647797d079feb12837"
+SRC_URI[sha256sum] = "0abec827a035c82bdcabdf82aa37ded247bc682ef05861bd409ea6f477bab81d"
inherit allarch
@@ -1033,7 +1029,6 @@ LICENSE:${PN} = "\
& Firmware-fw_sst_0f28 \
& Firmware-go7007 \
& Firmware-hfi1_firmware \
- & Firmware-i2400m \
& Firmware-ibt_firmware \
& Firmware-it913x \
& Firmware-IntcSST2 \
@@ -1054,7 +1049,6 @@ LICENSE:${PN} = "\
& Firmware-ralink-firmware \
& Firmware-imx-sdma_firmware \
& Firmware-siano \
- & Firmware-tda7706-firmware \
& Firmware-ti-connectivity \
& Firmware-ti-keystone \
& Firmware-ueagle-atm4-firmware \
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
index 47f09952de..71778bb4e3 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
@@ -103,7 +103,7 @@ do_install_armmultilib () {
BBCLASSEXTEND = "nativesdk"
-RDEPENDS:${PN}-dev = ""
+DEV_PKG_DEPENDENCY = ""
RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
INHIBIT_DEFAULT_DEPS = "1"
diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 9654488a54..f8f717199c 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -128,8 +128,12 @@ do_install() {
# breaks workflows.
cp -a --parents include/generated/autoconf.h $kerneldir/build 2>/dev/null || :
- if [ -e $kerneldir/include/generated/.vdso-offsets.h.cmd ]; then
- rm $kerneldir/include/generated/.vdso-offsets.h.cmd
+ if [ -e $kerneldir/include/generated/.vdso-offsets.h.cmd ] ||
+ [ -e $kerneldir/build/include/generated/.vdso-offsets.h.cmd ] ||
+ [ -e $kerneldir/build/include/generated/.vdso32-offsets.h.cmd ] ; then
+ rm -f $kerneldir/include/generated/.vdso-offsets.h.cmd
+ rm -f $kerneldir/build/include/generated/.vdso-offsets.h.cmd
+ rm -f $kerneldir/build/include/generated/.vdso32-offsets.h.cmd
fi
)
diff --git a/meta/recipes-kernel/linux/linux-yocto-dev.bb b/meta/recipes-kernel/linux/linux-yocto-dev.bb
index d35632071b..5a420b7fb2 100644
--- a/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -16,7 +16,7 @@ inherit pkgconfig
# provide this .inc to set specific revisions
include recipes-kernel/linux/linux-yocto-dev-revisions.inc
-KBRANCH = "v5.18/standard/base"
+KBRANCH = "v5.19/standard/base"
KMETA = "kernel-meta"
SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name=machine \
@@ -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.18+"
+LINUX_VERSION ?= "5.19+"
LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
index ce903a7372..53ccd41033 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/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 ?= "5629d552de7759e4bb9821e210f3673c14900dd0"
-SRCREV_meta ?= "2f6fa8da5f84c343e6ea57c76829eaca1cc6a840"
+SRCREV_machine ?= "63771123b1eea439bea2cf80f9f5682667528d9f"
+SRCREV_meta ?= "96ea2660bb97e15f48f4885b9e436f24c3606bd9"
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.119"
+LINUX_VERSION ?= "5.10.130"
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
index b052db8a15..b6e443d4da 100644
--- a/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
@@ -11,13 +11,13 @@ python () {
raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
}
-SRCREV_machine ?= "83bec9a458b