summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb5
-rw-r--r--meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb2
-rw-r--r--meta/classes/baremetal-image.bbclass18
-rw-r--r--meta/classes/buildhistory.bbclass5
-rw-r--r--meta/classes/buildstats.bbclass32
-rw-r--r--meta/classes/clutter.bbclass18
-rw-r--r--meta/classes/cmake.bbclass8
-rw-r--r--meta/classes/gi-docgen.bbclass24
-rw-r--r--meta/classes/gnomebase.bbclass3
-rw-r--r--meta/classes/icecc.bbclass6
-rw-r--r--meta/classes/image-live.bbclass2
-rw-r--r--meta/classes/image-mklibs.bbclass56
-rw-r--r--meta/classes/image.bbclass4
-rw-r--r--meta/classes/image_types.bbclass15
-rw-r--r--meta/classes/kernel-fitimage.bbclass47
-rw-r--r--meta/classes/kernel-yocto.bbclass19
-rw-r--r--meta/classes/license_image.bbclass20
-rw-r--r--meta/classes/meson-routines.bbclass51
-rw-r--r--meta/classes/meson.bbclass52
-rw-r--r--meta/classes/native.bbclass8
-rw-r--r--meta/classes/npm.bbclass6
-rw-r--r--meta/classes/package.bbclass4
-rw-r--r--meta/classes/package_rpm.bbclass4
-rw-r--r--meta/classes/populate_sdk_ext.bbclass4
-rw-r--r--meta/classes/ptest.bbclass11
-rw-r--r--meta/classes/qemuboot.bbclass4
-rw-r--r--meta/classes/reproducible_build.bbclass18
-rw-r--r--meta/classes/sanity.bbclass9
-rw-r--r--meta/classes/sstate.bbclass26
-rw-r--r--meta/classes/testimage.bbclass6
-rw-r--r--meta/classes/uboot-config.bbclass4
-rw-r--r--meta/classes/uboot-sign.bbclass29
-rw-r--r--meta/classes/update-alternatives.bbclass4
-rw-r--r--meta/conf/bitbake.conf26
-rw-r--r--meta/conf/distro/include/cve-extra-exclusions.inc73
-rw-r--r--meta/conf/distro/include/default-distrovars.inc5
-rw-r--r--meta/conf/distro/include/distro_alias.inc11
-rw-r--r--meta/conf/distro/include/maintainers.inc88
-rw-r--r--meta/conf/distro/include/ptest-packagelists.inc49
-rw-r--r--meta/conf/distro/include/tcmode-default.inc6
-rw-r--r--meta/conf/distro/include/yocto-uninative.inc8
-rw-r--r--meta/conf/local.conf.sample7
-rw-r--r--meta/conf/local.conf.sample.extended9
-rw-r--r--meta/conf/machine-sdk/ppc64.conf2
-rw-r--r--meta/conf/machine/include/arm/arch-armv4.inc2
-rw-r--r--meta/conf/machine/include/qemuboot-x86.inc11
-rw-r--r--meta/conf/machine/include/riscv/qemuriscv.inc1
-rw-r--r--meta/conf/machine/qemuarm.conf1
-rw-r--r--meta/conf/machine/qemuarm64.conf1
-rw-r--r--meta/conf/sanity.conf2
-rw-r--r--meta/lib/oe/gpg_sign.py2
-rw-r--r--meta/lib/oe/package_manager/__init__.py2
-rw-r--r--meta/lib/oe/package_manager/deb/__init__.py6
-rw-r--r--meta/lib/oe/package_manager/ipk/__init__.py2
-rw-r--r--meta/lib/oe/package_manager/rpm/__init__.py3
-rw-r--r--meta/lib/oe/prservice.py2
-rw-r--r--meta/lib/oe/rootfs.py10
-rw-r--r--meta/lib/oe/sstatesig.py17
-rw-r--r--meta/lib/oeqa/core/case.py9
-rw-r--r--meta/lib/oeqa/core/decorator/oetimeout.py5
-rw-r--r--meta/lib/oeqa/core/target/qemu.py33
-rw-r--r--meta/lib/oeqa/core/target/ssh.py17
-rw-r--r--meta/lib/oeqa/core/tests/cases/timeout.py13
-rwxr-xr-xmeta/lib/oeqa/core/tests/test_data.py2
-rwxr-xr-xmeta/lib/oeqa/core/tests/test_decorators.py6
-rw-r--r--meta/lib/oeqa/manual/bsp-hw.json278
-rw-r--r--meta/lib/oeqa/manual/toaster-managed-mode.json6
-rw-r--r--meta/lib/oeqa/runtime/cases/rpm.py9
-rw-r--r--meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py4
-rw-r--r--meta/lib/oeqa/selftest/cases/bblayers.py5
-rw-r--r--meta/lib/oeqa/selftest/cases/buildoptions.py4
-rw-r--r--meta/lib/oeqa/selftest/cases/imagefeatures.py18
-rw-r--r--meta/lib/oeqa/selftest/cases/runqemu.py9
-rw-r--r--meta/lib/oeqa/selftest/cases/runtime_test.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/sstatetests.py10
-rw-r--r--meta/lib/oeqa/selftest/cases/wic.py6
-rw-r--r--meta/lib/oeqa/targetcontrol.py3
-rw-r--r--meta/lib/oeqa/utils/commands.py3
-rw-r--r--meta/lib/oeqa/utils/dump.py32
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py116
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb (renamed from meta/recipes-bsp/gnu-efi/gnu-efi_3.0.12.bb)3
-rw-r--r--meta/recipes-bsp/grub/grub2.inc12
-rw-r--r--meta/recipes-bsp/opensbi/opensbi-payloads.inc15
-rw-r--r--meta/recipes-bsp/opensbi/opensbi_0.9.bb3
-rw-r--r--meta/recipes-bsp/u-boot/files/0001-add-valid-fdt-check.patch36
-rw-r--r--meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch71
-rw-r--r--meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch419
-rw-r--r--meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch105
-rw-r--r--meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch73
-rw-r--r--meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch245
-rw-r--r--meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch109
-rw-r--r--meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb (renamed from meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb)2
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-common.inc9
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb (renamed from meta/recipes-bsp/u-boot/u-boot-tools_2021.01.bb)0
-rw-r--r--meta/recipes-bsp/u-boot/u-boot.inc7
-rw-r--r--meta/recipes-bsp/u-boot/u-boot_2021.04.bb (renamed from meta/recipes-bsp/u-boot/u-boot_2021.01.bb)0
-rw-r--r--meta/recipes-connectivity/avahi/avahi_0.8.bb5
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.16/0001-avoid-start-failure-with-bind-user.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.16/bind-ensure-searching-for-json-headers-searches-sysr.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.16/bind9 (renamed from meta/recipes-connectivity/bind/bind-9.16.12/bind9)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.16/conf.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.12/conf.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.16/generate-rndc-key.sh (renamed from meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.16/init.d-add-support-for-read-only-rootfs.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.16/make-etc-initd-bind-stop-work.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.16/named.service (renamed from meta/recipes-connectivity/bind/bind-9.16.12/named.service)0
-rw-r--r--meta/recipes-connectivity/bind/bind_9.16.16.bb (renamed from meta/recipes-connectivity/bind/bind_9.16.12.bb)6
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5.inc2
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch25
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch48
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5_5.58.bb (renamed from meta/recipes-connectivity/bluez5/bluez5_5.56.bb)6
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb (renamed from meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb)2
-rw-r--r--meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb (renamed from meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.14.1.bb)2
-rw-r--r--meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch28
-rw-r--r--meta/recipes-connectivity/ofono/ofono_1.32.bb (renamed from meta/recipes-connectivity/ofono/ofono_1.31.bb)13
-rw-r--r--meta/recipes-connectivity/openssh/openssh_8.6p1.bb (renamed from meta/recipes-connectivity/openssh/openssh_8.5p1.bb)8
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch17
-rw-r--r--meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch58
-rw-r--r--meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch28
-rw-r--r--meta/recipes-core/busybox/busybox/longopts.cfg15
-rw-r--r--meta/recipes-core/busybox/busybox_1.33.1.bb (renamed from meta/recipes-core/busybox/busybox_1.33.0.bb)5
-rw-r--r--meta/recipes-core/coreutils/coreutils_8.32.bb4
-rw-r--r--meta/recipes-core/ell/ell_0.40.bb (renamed from meta/recipes-core/ell/ell_0.39.bb)2
-rw-r--r--meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch83
-rw-r--r--meta/recipes-core/expat/expat/run-ptest4
-rw-r--r--meta/recipes-core/expat/expat_2.4.1.bb (renamed from meta/recipes-core/expat/expat_2.2.10.bb)9
-rw-r--r--meta/recipes-core/gettext/gettext_0.21.bb2
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch10
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb (renamed from meta/recipes-core/glib-2.0/glib-2.0_2.68.0.bb)2
-rw-r--r--meta/recipes-core/glib-networking/glib-networking_2.68.1.bb (renamed from meta/recipes-core/glib-networking/glib-networking_2.66.0.bb)4
-rw-r--r--meta/recipes-core/glibc/glibc-version.inc2
-rw-r--r--meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch49
-rw-r--r--meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch116
-rw-r--r--meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch58
-rw-r--r--meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch185
-rw-r--r--meta/recipes-core/glibc/glibc/CVE-2021-27645.patch51
-rw-r--r--meta/recipes-core/glibc/glibc/check-test-wrapper9
-rw-r--r--meta/recipes-core/glibc/glibc_2.33.bb21
-rw-r--r--meta/recipes-core/images/build-appliance-image_15.0.0.bb2
-rw-r--r--meta/recipes-core/images/core-image-ptest-all.bb (renamed from meta/recipes-sato/images/core-image-sato-sdk-ptest.bb)6
-rw-r--r--meta/recipes-core/images/core-image-ptest-fast.bb (renamed from meta/recipes-sato/images/core-image-sato-ptest-fast.bb)3
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-framework/rootfs2
-rw-r--r--meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch32
-rw-r--r--meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch33
-rw-r--r--meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.22.bb (renamed from meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.18.bb)0
-rw-r--r--meta/recipes-core/libxcrypt/libxcrypt.inc10
-rw-r--r--meta/recipes-core/libxcrypt/libxcrypt_4.4.22.bb (renamed from meta/recipes-core/libxcrypt/libxcrypt_4.4.18.bb)0
-rw-r--r--meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch34
-rw-r--r--meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch37
-rw-r--r--meta/recipes-core/libxml/libxml2/CVE-2020-24977.patch41
-rw-r--r--meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch36
-rw-r--r--meta/recipes-core/libxml/libxml2/fix-python39.patch94
-rw-r--r--meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch33
-rw-r--r--meta/recipes-core/libxml/libxml2/remove-fuzz-from-ptests.patch43
-rw-r--r--meta/recipes-core/libxml/libxml2/runtest.patch45
-rw-r--r--meta/recipes-core/libxml/libxml2_2.9.12.bb (renamed from meta/recipes-core/libxml/libxml2_2.9.10.bb)17
-rw-r--r--meta/recipes-core/meta/cve-update-db-native.bb7
-rw-r--r--meta/recipes-core/musl/libssp-nonshared.bb11
-rw-r--r--meta/recipes-core/musl/libssp-nonshared/ssp-local.c45
-rw-r--r--meta/recipes-core/musl/libssp-nonshared/stack_chk.c40
-rw-r--r--meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch49
-rw-r--r--meta/recipes-core/musl/libucontext_git.bb22
-rw-r--r--meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch32
-rw-r--r--meta/recipes-core/musl/musl_git.bb3
-rw-r--r--meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch51
-rw-r--r--meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch93
-rw-r--r--meta/recipes-core/ovmf/ovmf/reproducible.patch165
-rw-r--r--meta/recipes-core/ovmf/ovmf_git.bb17
-rw-r--r--meta/recipes-core/systemd/systemd-boot_248.3.bb (renamed from meta/recipes-core/systemd/systemd-boot_247.6.bb)0
-rw-r--r--meta/recipes-core/systemd/systemd-conf_1.0.bb (renamed from meta/recipes-core/systemd/systemd-conf_247.6.bb)2
-rwxr-xr-xmeta/recipes-core/systemd/systemd-systemctl/systemctl24
-rw-r--r--meta/recipes-core/systemd/systemd.inc7
-rw-r--r--meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch39
-rw-r--r--meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch227
-rw-r--r--meta/recipes-core/systemd/systemd/0001-test-parse-argument-Include-signal.h.patch29
-rw-r--r--meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch29
-rw-r--r--meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch26
-rw-r--r--meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch46
-rw-r--r--meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch110
-rw-r--r--meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch56
-rw-r--r--meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch17
-rw-r--r--meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch12
-rw-r--r--meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch27
-rw-r--r--meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch9
-rw-r--r--meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch19
-rw-r--r--meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch11
-rw-r--r--meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch12
-rw-r--r--meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch46
-rw-r--r--meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch10
-rw-r--r--meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch12
-rw-r--r--meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch116
-rw-r--r--meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch20
-rw-r--r--meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch97
-rw-r--r--meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch16
-rw-r--r--meta/recipes-core/systemd/systemd_248.3.bb (renamed from meta/recipes-core/systemd/systemd_247.6.bb)16
-rw-r--r--meta/recipes-core/util-linux/util-linux.inc3
-rw-r--r--meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch2
-rw-r--r--meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch48
-rw-r--r--meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch2
-rw-r--r--meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch32
-rw-r--r--meta/recipes-devtools/apt/apt_2.2.3.bb (renamed from meta/recipes-devtools/apt/apt_2.2.2.bb)5
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.36.inc3
-rw-r--r--meta/recipes-devtools/binutils/binutils/0017-Add-support-for-the-DW_FORM_strx-forms-to-the-BFD-li.patch183
-rw-r--r--meta/recipes-devtools/binutils/binutils/0018-Add-DWARF-5-support-in-gold.patch1374
-rw-r--r--meta/recipes-devtools/binutils/binutils/CVE-2021-20197.patch388
-rw-r--r--meta/recipes-devtools/binutils/binutils_2.36.bb2
-rw-r--r--meta/recipes-devtools/bison/bison_3.7.6.bb (renamed from meta/recipes-devtools/bison/bison_3.7.5.bb)23
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools_5.12.1.bb (renamed from meta/recipes-devtools/btrfs-tools/btrfs-tools_5.11.1.bb)7
-rw-r--r--meta/recipes-devtools/ccache/ccache_4.3.bb (renamed from meta/recipes-devtools/ccache/ccache_4.2.1.bb)4
-rw-r--r--meta/recipes-devtools/cmake/cmake-native_3.20.3.bb (renamed from meta/recipes-devtools/cmake/cmake-native_3.19.5.bb)2
-rw-r--r--meta/recipes-devtools/cmake/cmake.inc5
-rw-r--r--meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch4
-rw-r--r--meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch122
-rw-r--r--meta/recipes-devtools/cmake/cmake_3.20.3.bb (renamed from meta/recipes-devtools/cmake/cmake_3.19.5.bb)0
-rw-r--r--meta/recipes-devtools/createrepo-c/createrepo-c/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch6
-rw-r--r--meta/recipes-devtools/createrepo-c/createrepo-c_0.17.2.bb (renamed from meta/recipes-devtools/createrepo-c/createrepo-c_0.17.0.bb)2
-rw-r--r--meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb1
-rw-r--r--meta/recipes-devtools/distcc/distcc_3.4.bb (renamed from meta/recipes-devtools/distcc/distcc_3.3.5.bb)2
-rw-r--r--meta/recipes-devtools/dnf/dnf/0001-dnf-rpm-miscutils.py-fix-usage-of-_.patch39
-rw-r--r--meta/recipes-devtools/dnf/dnf/0002-dnf-rpm-miscutils.py-do-not-hardcode-usr-bin-rpmkeys.patch37
-rw-r--r--meta/recipes-devtools/dnf/dnf_4.7.0.bb (renamed from meta/recipes-devtools/dnf/dnf_4.6.0.bb)4
-rw-r--r--meta/recipes-devtools/dpkg/dpkg_1.20.9.bb (renamed from meta/recipes-devtools/dpkg/dpkg_1.20.7.1.bb)4
-rw-r--r--meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-do-unlock-on-error.patch24
-rw-r--r--meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-lib-ext2fs-unix_io.c-revert-parts-of-libext2fs-fix-p.patch48
-rw-r--r--meta/recipes-devtools/e2fsprogs/e2fsprogs/e2fsprogs-fix-missing-check-for-permission-denied.patch2
-rw-r--r--meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch6
-rw-r--r--meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.2.bb (renamed from meta/recipes-devtools/e2fsprogs/e2fsprogs_1.46.1.bb)4
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.185.bb (renamed from meta/recipes-devtools/elfutils/elfutils_0.183.bb)12
-rw-r--r--meta/recipes-devtools/elfutils/files/0001-add-support-for-ipkg-to-debuginfod.cxx.patch33
-rw-r--r--meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch63
-rw-r--r--meta/recipes-devtools/elfutils/files/0002-musl-libs.patch4
-rw-r--r--meta/recipes-devtools/elfutils/files/0003-musl-utils.patch8
-rw-r--r--meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch4
-rw-r--r--meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch16
-rw-r--r--meta/recipes-devtools/erofs-utils/erofs-utils_1.2.1.bb23
-rw-r--r--meta/recipes-devtools/flex/flex_2.6.4.bb6
-rw-r--r--meta/recipes-devtools/gcc/gcc-11.1.inc (renamed from meta/recipes-devtools/gcc/gcc-10.3.inc)20
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-common.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian.inc11
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian_11.1.bb (renamed from meta/recipes-devtools/gcc/gcc-cross-canadian_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross.inc8
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_11.1.bb (renamed from meta/recipes-devtools/gcc/gcc-cross_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk_11.1.bb (renamed from meta/recipes-devtools/gcc/gcc-crosssdk_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime_11.1.bb (renamed from meta/recipes-devtools/gcc/gcc-runtime_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-sanitizers.inc4
-rw-r--r--meta/recipes-devtools/gcc/gcc-sanitizers_11.1.bb (renamed from meta/recipes-devtools/gcc/gcc-sanitizers_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-source_11.1.bb (renamed from meta/recipes-devtools/gcc/gcc-source_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-target.inc4
-rw-r--r--meta/recipes-devtools/gcc/gcc/0001-Revert-libstdc-Install-libstdc-gdb.py-more-robustly-.patch76
-rw-r--r--meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch10
-rw-r--r--meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch52
-rw-r--r--meta/recipes-devtools/gcc/gcc/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch6
-rw-r--r--meta/recipes-devtools/gcc/gcc/0004-64-bit-multilib-hack.patch10
-rw-r--r--meta/recipes-devtools/gcc/gcc/0005-optional-libstdc.patch26
-rw-r--r--meta/recipes-devtools/gcc/gcc/0006-COLLECT_GCC_OPTIONS.patch6
-rw-r--r--meta/recipes-devtools/gcc/gcc/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch16
-rw-r--r--meta/recipes-devtools/gcc/gcc/0008-fortran-cross-compile-hack.patch10
-rw-r--r--meta/recipes-devtools/gcc/gcc/0009-cpp-honor-sysroot.patch14
-rw-r--r--meta/recipes-devtools/gcc/gcc/0010-MIPS64-Default-to-N64-ABI.patch6
-rw-r--r--meta/recipes-devtools/gcc/gcc/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch28
-rw-r--r--meta/recipes-devtools/gcc/gcc/0012-gcc-Fix-argument-list-too-long-error.patch6
-rw-r--r--meta/recipes-devtools/gcc/gcc/0013-Disable-sdt.patch16
-rw-r--r--meta/recipes-devtools/gcc/gcc/0014-libtool.patch2
-rw-r--r--meta/recipes-devtools/gcc/gcc/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch4
-rw-r--r--meta/recipes-devtools/gcc/gcc/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch14
-rw-r--r--meta/recipes-devtools/gcc/gcc/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch2
-rw-r--r--meta/recipes-devtools/gcc/gcc/0018-export-CPP.patch4
-rw-r--r--meta/recipes-devtools/gcc/gcc/0019-Ensure-target-gcc-headers-can-be-included.patch74
-rw-r--r--meta/recipes-devtools/gcc/gcc/0020-Don-t-search-host-directory-during-relink-if-inst_pr.patch2
-rw-r--r--meta/recipes-devtools/gcc/gcc/0021-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch4
-rw-r--r--meta/recipes-devtools/gcc/gcc/0022-aarch64-Add-support-for-musl-ldso.patch4
-rw-r--r--meta/recipes-devtools/gcc/gcc/0023-libcc1-fix-libcc1-s-install-path-and-rpath.patch8
-rw-r--r--meta/recipes-devtools/gcc/gcc/0024-handle-sysroot-support-for-nativesdk-gcc.patch216
-rw-r--r--meta/recipes-devtools/gcc/gcc/0025-Search-target-sysroot-gcc-version-specific-dirs-with.patch8
-rw-r--r--meta/recipes-devtools/gcc/gcc/0026-Fix-various-_FOR_BUILD-and-related-variables.patch18
-rw-r--r--meta/recipes-devtools/gcc/gcc/0027-nios2-Define-MUSL_DYNAMIC_LINKER.patch4
-rw-r--r--meta/recipes-devtools/gcc/gcc/0028-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch14
-rw-r--r--meta/recipes-devtools/gcc/gcc/0029-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch4
-rw-r--r--meta/recipes-devtools/gcc/gcc/0030-sync-gcc-stddef.h-with-musl.patch4
-rw-r--r--meta/recipes-devtools/gcc/gcc/0031-fix-segmentation-fault-in-precompiled-header-generat.patch6
-rw-r--r--meta/recipes-devtools/gcc/gcc/0032-Fix-for-testsuite-failure.patch2
-rw-r--r--meta/recipes-devtools/gcc/gcc/0033-Re-introduce-spe-commandline-options.patch11
-rw-r--r--meta/recipes-devtools/gcc/gcc/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch12
-rw-r--r--meta/recipes-devtools/gcc/gcc/0035-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch34
-rw-r--r--meta/recipes-devtools/gcc/gcc/0036-mingw32-Enable-operation_not_supported.patch4
-rw-r--r--meta/recipes-devtools/gcc/gcc/0037-libatomic-Do-not-enforce-march-on-aarch64.patch8
-rw-r--r--meta/recipes-devtools/gcc/gcc/0038-arc-Update-64bit-move-split-patterns.patch290
-rw-r--r--meta/recipes-devtools/gcc/gcc/0038-libatomic-libgomp-libitc-Fix-bootstrap-PR70454.patch209
-rw-r--r--meta/recipes-devtools/gcc/gcc/0039-arc-Fix-u-maddhisi-patterns.patch127
-rw-r--r--meta/recipes-devtools/gcc/gcc/0040-arc-Update-doloop_end-patterns.patch105
-rw-r--r--meta/recipes-devtools/gcc/gcc_11.1.bb (renamed from meta/recipes-devtools/gcc/gcc_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/libgcc-initial.inc2
-rw-r--r--meta/recipes-devtools/gcc/libgcc-initial_11.1.bb (renamed from meta/recipes-devtools/gcc/libgcc-initial_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/libgcc_11.1.bb (renamed from meta/recipes-devtools/gcc/libgcc_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/libgfortran_11.1.bb (renamed from meta/recipes-devtools/gcc/libgfortran_10.3.bb)0
-rw-r--r--meta/recipes-devtools/gdb/gdb-10.2.inc (renamed from meta/recipes-devtools/gdb/gdb-10.1.inc)2
-rw-r--r--meta/recipes-devtools/gdb/gdb-common.inc2
-rw-r--r--meta/recipes-devtools/gdb/gdb-cross-canadian_10.2.bb (renamed from meta/recipes-devtools/gdb/gdb-cross-canadian_10.1.bb)0
-rw-r--r--meta/recipes-devtools/gdb/gdb-cross_10.2.bb (renamed from meta/recipes-devtools/gdb/gdb-cross_10.1.bb)0
-rw-r--r--meta/recipes-devtools/gdb/gdb_10.2.bb (renamed from meta/recipes-devtools/gdb/gdb_10.1.bb)0
-rw-r--r--meta/recipes-devtools/git/git_2.32.0.bb (renamed from meta/recipes-devtools/git/git_2.31.1.bb)4
-rw-r--r--meta/recipes-devtools/gnu-config/gnu-config_git.bb4
-rw-r--r--meta/recipes-devtools/go/go-1.16.5.inc (renamed from meta/recipes-devtools/go/go-1.16.3.inc)4
-rw-r--r--meta/recipes-devtools/go/go-binary-native_1.16.5.bb (renamed from meta/recipes-devtools/go/go-binary-native_1.16.3.bb)4
-rw-r--r--meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb (renamed from meta/recipes-devtools/go/go-cross-canadian_1.16.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-cross_1.16.5.bb (renamed from meta/recipes-devtools/go/go-cross_1.16.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-crosssdk_1.16.5.bb (renamed from meta/recipes-devtools/go/go-crosssdk_1.16.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-native_1.16.5.bb (renamed from meta/recipes-devtools/go/go-native_1.16.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-runtime_1.16.5.bb (renamed from meta/recipes-devtools/go/go-runtime_1.16.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go_1.16.5.bb (renamed from meta/recipes-devtools/go/go_1.16.3.bb)0
-rw-r--r--meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb1
-rw-r--r--meta/recipes-devtools/jquery/jquery_3.6.0.bb5
-rw-r--r--meta/recipes-devtools/libdnf/libdnf/0001-drop-FindPythonInstDir.cmake.patch42
-rw-r--r--meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch17
-rw-r--r--meta/recipes-devtools/libdnf/libdnf_0.63.0.bb (renamed from meta/recipes-devtools/libdnf/libdnf_0.58.0.bb)5
-rw-r--r--meta/recipes-devtools/libedit/libedit_20210522-3.1.bb (renamed from meta/recipes-devtools/libedit/libedit_20210216-3.1.bb)2
-rw-r--r--meta/recipes-devtools/libmodulemd/libmodulemd_git.bb4
-rw-r--r--meta/recipes-devtools/llvm/llvm/0001-nfc-Fix-missing-include.patch26
-rw-r--r--meta/recipes-devtools/llvm/llvm_git.bb7
-rw-r--r--meta/recipes-devtools/m4/m4-1.4.18.inc1
-rw-r--r--meta/recipes-devtools/m4/m4/0001-c-stack-stop-using-SIGSTKSZ.patch84
-rw-r--r--meta/recipes-devtools/meson/meson.inc16
-rw-r--r--meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch18
-rw-r--r--meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch8
-rw-r--r--meta/recipes-devtools/meson/meson/0001-minstall-Correctly-set-uid-gid-of-installed-files.patch28
-rw-r--r--meta/recipes-devtools/meson/meson/0001-python-module-do-not-manipulate-the-environment-when.patch14
-rw-r--r--meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch10
-rw-r--r--meta/recipes-devtools/meson/meson/0003-native_bindir.patch58
-rw-r--r--meta/recipes-devtools/meson/meson/4e312c19e693a69b0650ce6c8a8903163c959996.patch412
-rw-r--r--meta/recipes-devtools/meson/meson/cross-prop-default.patch23
-rw-r--r--meta/recipes-devtools/meson/meson/gi-target-dep.patch2
-rw-r--r--meta/recipes-devtools/meson/meson_0.58.0.bb (renamed from meta/recipes-devtools/meson/meson_0.57.1.bb)0
-rw-r--r--meta/recipes-devtools/meson/nativesdk-meson_0.58.0.bb (renamed from meta/recipes-devtools/meson/nativesdk-meson_0.57.1.bb)14
-rw-r--r--meta/recipes-devtools/mklibs/files/ac_init_fix.patch19
-rw-r--r--meta/recipes-devtools/mklibs/files/avoid-failure-on-symbol-provided-by-application.patch103
-rw-r--r--meta/recipes-devtools/mklibs/files/fix_STT_GNU_IFUNC.patch26
-rw-r--r--meta/recipes-devtools/mklibs/files/fix_cross_compile.patch81
-rw-r--r--meta/recipes-devtools/mklibs/files/show-GNU-unique-symbols-as-provided-symbols.patch34
-rw-r--r--meta/recipes-devtools/mklibs/files/sysrooted-ldso.patch18
-rw-r--r--meta/recipes-devtools/mklibs/mklibs-native_0.1.44.bb22
-rw-r--r--meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch32
-rw-r--r--meta/recipes-devtools/mmc/mmc-utils_git.bb6
-rw-r--r--meta/recipes-devtools/mtools/mtools_4.0.29.bb (renamed from meta/recipes-devtools/mtools/mtools_4.0.26.bb)2
-rw-r--r--meta/recipes-devtools/opkg-utils/opkg-utils_0.4.5.bb (renamed from meta/recipes-devtools/opkg-utils/opkg-utils_0.4.3.bb)4
-rw-r--r--meta/recipes-devtools/opkg/opkg/0001-tests-let-the-OS-negotiate-relative-package-dirs.patch43
-rw-r--r--meta/recipes-devtools/opkg/opkg/sourcedateepoch.patch24
-rw-r--r--meta/recipes-devtools/opkg/opkg_0.4.5.bb (renamed from meta/recipes-devtools/opkg/opkg_0.4.4.bb)19
-rw-r--r--meta/recipes-devtools/patchelf/patchelf/6edec83653ce1b5fc201ff6db93b966394766814.patch44
-rw-r--r--meta/recipes-devtools/patchelf/patchelf/alignmentfix.patch44
-rw-r--r--meta/recipes-devtools/patchelf/patchelf_0.12.bb2
-rw-r--r--meta/recipes-devtools/perl-cross/files/0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch27
-rw-r--r--meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch (renamed from meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch)0
-rw-r--r--meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch (renamed from meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch)0
-rw-r--r--meta/recipes-devtools/perl-cross/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch (renamed from meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch)0
-rw-r--r--meta/recipes-devtools/perl-cross/files/README.md29
-rw-r--r--meta/recipes-devtools/perl-cross/files/determinism.patch46
-rw-r--r--meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb39
-rw-r--r--meta/recipes-devtools/perl/files/determinism.patch23
-rw-r--r--meta/recipes-devtools/perl/libtest-needs-perl_0.002009.bb (renamed from meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb)4
-rw-r--r--meta/recipes-devtools/perl/perl_5.34.0.bb (renamed from meta/recipes-devtools/perl/perl_5.32.1.bb)19
-rw-r--r--meta/recipes-devtools/pkgconf/pkgconf_1.7.4.bb (renamed from meta/recipes-devtools/pkgconf/pkgconf_1.7.3.bb)2
-rw-r--r--meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-remove-support-for-the-__int64-type.-See-1.patch144
-rw-r--r--meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-use-C99-printf-format-specifiers-on-Window.patch68
-rw-r--r--meta/recipes-devtools/pkgconfig/pkgconfig_git.bb4
-rw-r--r--meta/recipes-devtools/python-numpy/python3-numpy_1.20.3.bb (renamed from meta/recipes-devtools/python-numpy/python3-numpy_1.20.1.bb)2
-rw-r--r--meta/recipes-devtools/python/files/0001-conditionally-do-not-fetch-code-by-easy_install.patch4
-rw-r--r--meta/recipes-devtools/python/python-cython.inc2
-rw-r--r--meta/recipes-devtools/python/python3-attrs_21.2.0.bb (renamed from meta/recipes-devtools/python/python3-attrs_20.3.0.bb)3
-rw-r--r--meta/recipes-devtools/python/python3-cython_0.29.23.bb (renamed from meta/recipes-devtools/python/python3-cython_0.29.22.bb)0
-rw-r--r--meta/recipes-devtools/python/python3-docutils_0.16.bb17
-rw-r--r--meta/recipes-devtools/python/python3-docutils_0.17.1.bb11
-rw-r--r--meta/recipes-devtools/python/python3-git_3.1.17.bb (renamed from meta/recipes-devtools/python/python3-git_3.1.14.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-hypothesis_6.13.14.bb (renamed from meta/recipes-devtools/python/python3-hypothesis_6.2.0.bb)4
-rw-r--r--meta/recipes-devtools/python/python3-importlib-metadata_4.5.0.bb (renamed from meta/recipes-devtools/python/python3-importlib-metadata_3.4.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-jinja2_3.0.1.bb (renamed from meta/recipes-devtools/python/python3-jinja2_2.11.3.bb)6
-rw-r--r--meta/recipes-devtools/python/python3-libarchive-c_3.1.bb (renamed from meta/recipes-devtools/python/python3-libarchive-c_2.9.bb)5
-rw-r--r--meta/recipes-devtools/python/python3-magic_0.4.23.bb (renamed from meta/recipes-devtools/python/python3-magic_0.4.22.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-markdown_3.3.4.bb13
-rw-r--r--meta/recipes-devtools/python/python3-markupsafe_2.0.1.bb (renamed from meta/recipes-devtools/python/python3-markupsafe_1.1.1.bb)5
-rw-r--r--meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb (renamed from meta/recipes-devtools/python/python3-more-itertools_8.7.0.bb)8
-rw-r--r--meta/recipes-devtools/python/python3-pycairo_1.20.1.bb (renamed from meta/recipes-devtools/python/python3-pycairo_1.20.0.bb)4
-rw-r--r--meta/recipes-devtools/python/python3-pygments_2.9.0.bb (renamed from meta/recipes-devtools/python/python3-pygments_2.8.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pytest_6.2.4.bb (renamed from meta/recipes-devtools/python/python3-pytest_6.2.2.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pyyaml_5.4.1.bb19
-rw-r--r--meta/recipes-devtools/python/python3-scons-native_4.1.0.bb (renamed from meta/recipes-devtools/python/python3-scons-native_3.1.2.bb)0
-rw-r--r--meta/recipes-devtools/python/python3-scons/0001-Fix-man-page-installation.patch46
-rw-r--r--meta/recipes-devtools/python/python3-scons_3.1.2.bb34
-rw-r--r--meta/recipes-devtools/python/python3-scons_4.1.0.bb27
-rw-r--r--meta/recipes-devtools/python/python3-setuptools-scm_6.0.1.bb (renamed from meta/recipes-devtools/python/python3-setuptools-scm_5.0.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-setuptools/reproducibility.patch40
-rw-r--r--meta/recipes-devtools/python/python3-setuptools_57.0.0.bb (renamed from meta/recipes-devtools/python/python3-setuptools_56.0.0.bb)5
-rw-r--r--meta/recipes-devtools/python/python3-six_1.15.0.bb5
-rw-r--r--meta/recipes-devtools/python/python3-six_1.16.0.bb4
-rw-r--r--meta/recipes-devtools/python/python3-smartypants_2.0.0.bb13
-rw-r--r--meta/recipes-devtools/python/python3-sortedcontainers_2.4.0.bb (renamed from meta/recipes-devtools/python/python3-sortedcontainers_2.3.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-typogrify_2.0.7.bb14
-rw-r--r--meta/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch3
-rw-r--r--meta/recipes-devtools/python/python3_3.9.5.bb (renamed from meta/recipes-devtools/python/python3_3.9.4.bb)5
-rw-r--r--meta/recipes-devtools/qemu/qemu-native_6.0.0.bb (renamed from meta/recipes-devtools/qemu/qemu-native_5.2.0.bb)2
-rw-r--r--meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb (renamed from meta/recipes-devtools/qemu/qemu-system-native_5.2.0.bb)7
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc24
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch10
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch50
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch6
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-qemu-Do-not-include-file-if-not-exists.patch10
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-tests-meson.build-use-relative-path-to-refer-to-file.patch15
-rw-r--r--meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch12
-rw-r--r--meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch8
-rw-r--r--meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch32
-rw-r--r--meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch8
-rw-r--r--meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch12
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2020-35517_1.patch153
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2020-35517_2.patch117
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2020-35517_3.patch303
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2021-20203.patch73
-rw-r--r--meta/recipes-devtools/qemu/qemu/cross.patch12
-rw-r--r--meta/recipes-devtools/qemu/qemu/determinism.patch29
-rw-r--r--meta/recipes-devtools/qemu/qemu/mingwfix.patch21
-rw-r--r--meta/recipes-devtools/qemu/qemu/mmap.patch29
-rw-r--r--meta/recipes-devtools/qemu/qemu/mmap2.patch25
-rw-r--r--meta/recipes-devtools/qemu/qemu_6.0.0.bb (renamed from meta/recipes-devtools/qemu/qemu_5.2.0.bb)5
-rw-r--r--meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch8
-rw-r--r--meta/recipes-devtools/rpm/rpm_4.16.1.3.bb (renamed from meta/recipes-devtools/rpm/rpm_4.16.1.2.bb)7
-rw-r--r--meta/recipes-devtools/rsync/files/0001-rsync-ssl-Verify-the-hostname-in-the-certificate-whe.patch31
-rw-r--r--meta/recipes-devtools/rsync/rsync_3.2.3.bb1
-rw-r--r--meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb2
-rw-r--r--meta/recipes-devtools/strace/strace_5.12.bb (renamed from meta/recipes-devtools/strace/strace_5.11.bb)2
-rw-r--r--meta/recipes-devtools/swig/swig.inc2
-rw-r--r--meta/recipes-devtools/swig/swig/0001-Add-Node-7.x-aka-V8-5.2-support.patch330
-rw-r--r--meta/recipes-devtools/swig/swig/0001-Fix-generated-code-for-constant-expressions-containi.patch179
-rw-r--r--meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch13
-rw-r--r--meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch7
-rw-r--r--meta/recipes-devtools/swig/swig/Python-Fix-new-GCC8-warnings-in-generated-code.patch191
-rw-r--r--meta/recipes-devtools/swig/swig/determinism.patch8
-rw-r--r--meta/recipes-devtools/swig/swig/swig-3.0.12-Coverity-fix-issue-reported-for-SWIG_Python_FixMetho.patch36
-rw-r--r--meta/recipes-devtools/swig/swig_3.0.12.bb13
-rw-r--r--meta/recipes-devtools/swig/swig_4.0.2.bb7
-rw-r--r--meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch56
-rw-r--r--meta/recipes-devtools/tcf-agent/tcf-agent_git.bb1
-rw-r--r--meta/recipes-devtools/unfs3/unfs3_git.bb2
-rw-r--r--meta/recipes-devtools/vala/vala_0.52.4.bb (renamed from meta/recipes-devtools/vala/vala_0.50.4.bb)2
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/remove-for-aarch643
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/remove-for-all2
-rwxr-xr-xmeta/recipes-devtools/valgrind/valgrind/run-ptest12
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/taskset_nondeterministic_tests4
-rw-r--r--meta/recipes-devtools/valgrind/valgrind_3.17.0.bb7
-rw-r--r--meta/recipes-extended/at/at_3.2.2.bb (renamed from meta/recipes-extended/at/at_3.2.1.bb)3
-rw-r--r--meta/recipes-extended/bash/bash.inc3
-rw-r--r--meta/recipes-extended/cpio/cpio_2.13.bb3
-rw-r--r--meta/recipes-extended/cronie/cronie_1.5.7.bb (renamed from meta/recipes-extended/cronie/cronie_1.5.5.bb)3
-rw-r--r--meta/recipes-extended/cups/cups.inc4
-rw-r--r--meta/recipes-extended/diffutils/diffutils/0001-c-stack-stop-using-SIGSTKSZ.patch84
-rw-r--r--meta/recipes-extended/diffutils/diffutils_3.7.bb1
-rw-r--r--meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch2
-rw-r--r--meta/recipes-extended/ethtool/ethtool_5.12.bb (renamed from meta/recipes-extended/ethtool/ethtool_5.10.bb)2
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript_9.54.0.bb4
-rw-r--r--meta/recipes-extended/hdparm/hdparm_9.62.bb (renamed from meta/recipes-extended/hdparm/hdparm_9.60.bb)3
-rw-r--r--meta/recipes-extended/less/less_590.bb (renamed from meta/recipes-extended/less/less_563.bb)2
-rw-r--r--meta/recipes-extended/libarchive/libarchive_3.5.1.bb4
-rw-r--r--meta/recipes-extended/libidn/libidn2_2.3.1.bb (renamed from meta/recipes-extended/libidn/libidn2_2.3.0.bb)8
-rw-r--r--meta/recipes-extended/libsolv/libsolv_0.7.19.bb (renamed from meta/recipes-extended/libsolv/libsolv_0.7.18.bb)4
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb (renamed from meta/recipes-extended/libtirpc/libtirpc_1.3.1.bb)2
-rw-r--r--meta/recipes-extended/logrotate/logrotate_3.18.1.bb (renamed from meta/recipes-extended/logrotate/logrotate_3.18.0.bb)5
-rw-r--r--meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch27
-rw-r--r--meta/recipes-extended/lsb/lsb-release_1.4.bb1
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-Add-more-musl-exclusions.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch81
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-generate-makefiles.sh-Avoid-inc.patch40
-rw-r--r--meta/recipes-extended/ltp/ltp/0002-Makefile-Avoid-wildcard-determinism-issues.patch310
-rw-r--r--meta/recipes-extended/ltp/ltp/0003-syscalls-swapon-swapoff-Move-common-library-to-libs.patch133
-rw-r--r--meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp/determinism.patch43
-rw-r--r--meta/recipes-extended/ltp/ltp/disable_hanging_tests.patch45
-rw-r--r--meta/recipes-extended/ltp/ltp/libswapon.patch368
-rw-r--r--meta/recipes-extended/ltp/ltp_20210524.bb (renamed from meta/recipes-extended/ltp/ltp_20210121.bb)37
-rw-r--r--meta/recipes-extended/pam/libpam/pam-volatiles.conf1
-rw-r--r--meta/recipes-extended/pam/libpam/run-ptest5
-rw-r--r--meta/recipes-extended/pam/libpam_1.5.1.bb22
-rw-r--r--meta/recipes-extended/parted/parted_3.4.bb2
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch58
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb (renamed from meta/recipes-extended/rpcbind/rpcbind_1.2.5.bb)3
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch11
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng_0.12.09.bb (renamed from meta/recipes-extended/stress-ng/stress-ng_0.12.05.bb)2
-rw-r--r--meta/recipes-extended/sudo/sudo_1.9.7.bb (renamed from meta/recipes-extended/sudo/sudo_1.9.6p1.bb)2
-rw-r--r--meta/recipes-extended/sysklogd/sysklogd_2.2.3.bb (renamed from meta/recipes-extended/sysklogd/sysklogd_2.2.2.bb)2
-rw-r--r--meta/recipes-extended/sysstat/sysstat.inc4
-rw-r--r--meta/recipes-extended/unzip/unzip/unzip_optimization.patch127
-rw-r--r--meta/recipes-extended/unzip/unzip_6.0.bb4
-rw-r--r--meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb3
-rw-r--r--meta/recipes-extended/zstd/zstd/0001-Makefile-sort-all-wildcard-file-list-expansions.patch16
-rw-r--r--meta/recipes-extended/zstd/zstd/0001-MinGW-Build-Fixes.patch193
-rw-r--r--meta/recipes-extended/zstd/zstd_1.5.0.bb (renamed from meta/recipes-extended/zstd/zstd_1.4.9.bb)3
-rw-r--r--meta/recipes-gnome/epiphany/epiphany_40.2.bb (renamed from meta/recipes-gnome/epiphany/epiphany_3.38.3.bb)9
-rw-r--r--meta/recipes-gnome/epiphany/files/0002-help-meson.build-disable-the-use-of-yelp.patch8
-rw-r--r--meta/recipes-gnome/gcr/gcr/0001-gcr-meson.build-fix-one-parallel-build-failure.patch37
-rw-r--r--meta/recipes-gnome/gcr/gcr_3.40.0.bb2
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch171
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch38
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Work-around-thumbnailer-cross-compile-failure.patch28
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch94
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0004-Do-not-run-tests-when-building.patch39
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch28
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch55
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/missing-test-data.patch30
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.6.bb (renamed from meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb)34
-rw-r--r--meta/recipes-gnome/gi-docgen/gi-docgen_git.bb22
-rw-r--r--meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb2
-rw-r--r--meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb2
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch2
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-meson.build-exclude-girepo_dep-if-introspection-data.patch25
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb (renamed from meta/recipes-gnome/gobject-introspection/gobject-introspection_1.66.1.bb)3
-rw-r--r--meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_40.0.bb (renamed from meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb)4
-rw-r--r--meta/recipes-gnome/gtk+/gtk+3_3.24.29.bb (renamed from meta/recipes-gnome/gtk+/gtk+3_3.24.25.bb)2
-rw-r--r--meta/recipes-gnome/libgudev/files/0001-gudevenumtypes-make-deterministic.patch44
-rw-r--r--meta/recipes-gnome/libgudev/libgudev_236.bb (renamed from meta/recipes-gnome/libgudev/libgudev_234.bb)12
-rw-r--r--meta/recipes-gnome/libhandy/libhandy_1.2.2.bb (renamed from meta/recipes-gnome/libhandy/libhandy_1.2.0.bb)2
-rw-r--r--meta/recipes-gnome/libnotify/libnotify_0.7.9.bb12
-rw-r--r--meta/recipes-gnome/librsvg/librsvg_2.40.21.bb3
-rw-r--r--meta/recipes-graphics/builder/builder_0.1.bb2
-rw-r--r--meta/recipes-graphics/cairo/cairo/CVE-2020-35492.patch60
-rw-r--r--meta/recipes-graphics/cairo/cairo_1.16.0.bb1
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0.inc49
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0/0001-Remove-clutter.types-as-it-is-build-configuration-sp.patch143
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0/install-examples.patch19
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0/run-installed-tests-with-tap-output.patch30
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0/run-ptest3
-rw-r--r--meta/recipes-graphics/clutter/clutter-1.0_1.26.4.bb10
-rw-r--r--meta/recipes-graphics/clutter/clutter-gst-3.0.inc23
-rw-r--r--meta/recipes-graphics/clutter/clutter-gst-3.0/0001-Install-example-binary-needed-for-core-image-clutter.patch33
-rw-r--r--meta/recipes-graphics/clutter/clutter-gst-3.0_3.0.27.bb7
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk-1.0.inc23
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk-1.0/0001-Add-a-config-variable-for-enabling-disabling-introsp.patch37
-rw-r--r--meta/recipes-graphics/clutter/clutter-gtk-1.0_1.8.4.bb7
-rw-r--r--meta/recipes-graphics/cogl/cogl-1.0.inc84
-rw-r--r--meta/recipes-graphics/cogl/cogl-1.0/0001-configure.ac-don-t-require-eglmesaext.h.patch92
-rw-r--r--meta/recipes-graphics/cogl/cogl-1.0_1.22.8.bb6
-rw-r--r--meta/recipes-graphics/drm/libdrm_2.4.106.bb (renamed from meta/recipes-graphics/drm/libdrm_2.4.105.bb)2
-rw-r--r--meta/recipes-graphics/glslang/glslang_11.4.0.bb (renamed from meta/recipes-graphics/glslang/glslang_11.2.0.bb)2
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz/0001-Removed-unused-variable-supp_size-from-plan_subset_e.patch44
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb (renamed from meta/recipes-graphics/harfbuzz/harfbuzz_2.7.4.bb)6
-rw-r--r--meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch42
-rw-r--r--meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch38
-rw-r--r--meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb8
-rw-r--r--meta/recipes-graphics/images/core-image-clutter.bb15
-rw-r--r--meta/recipes-graphics/images/core-image-weston-sdk.bb11
-rw-r--r--meta/recipes-graphics/images/core-image-weston.bb2
-rw-r--r--meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.0.bb (renamed from meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.6.bb)14
-rw-r--r--meta/recipes-graphics/libepoxy/libepoxy_1.5.8.bb (renamed from meta/recipes-graphics/libepoxy/libepoxy_1.5.5.bb)2
-rw-r--r--meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch18
-rw-r--r--meta/recipes-graphics/mesa/mesa-gl_21.1.2.bb (renamed from meta/recipes-graphics/mesa/mesa-gl_21.0.2.bb)0
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc6
-rw-r--r--meta/recipes-graphics/mesa/mesa_21.1.2.bb (renamed from meta/recipes-graphics/mesa/mesa_21.0.2.bb)1
-rw-r--r--meta/recipes-graphics/mx/mx-1.0/fix-test-includes.patch20
-rw-r--r--meta/recipes-graphics/mx/mx-1.0_1.4.7.bb16
-rw-r--r--meta/recipes-graphics/mx/mx.inc27
-rw-r--r--meta/recipes-graphics/packagegroups/packagegroup-core-clutter.bb22
-rw-r--r--meta/recipes-graphics/pango/pango_1.48.5.bb (renamed from meta/recipes-graphics/pango/pango_1.48.2.bb)5
-rw-r--r--meta/recipes-graphics/piglit/piglit_git.bb2
-rw-r--r--meta/recipes-graphics/shaderc/files/0002-libshaderc_util-fix-glslang-header-file-location.patch12
-rw-r--r--meta/recipes-graphics/shaderc/shaderc_2021.0.bb (renamed from meta/recipes-graphics/shaderc/shaderc_2020.5.bb)2
-rw-r--r--meta/recipes-graphics/spir/spirv-tools_2021.1.bb (renamed from meta/recipes-graphics/spir/spirv-tools_2020.7.bb)2
-rw-r--r--meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.4.bb (renamed from meta/recipes-graphics/ttf-fonts/liberation-fonts_2.00.1.bb)17
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch36
-rw-r--r--meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb (renamed from meta/recipes-graphics/virglrenderer/virglrenderer_0.8.2.bb)7
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-headers_1.2.176.0.bb (renamed from meta/recipes-graphics/vulkan/vulkan-headers_1.2.170.0.bb)2
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-loader_1.2.176.0.bb (renamed from meta/recipes-graphics/vulkan/vulkan-loader_1.2.170.0.bb)2
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples_git.bb2
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-tools_1.2.176.0.bb (renamed from meta/recipes-graphics/vulkan/vulkan-tools_1.2.170.0.bb)4
-rw-r--r--meta/recipes-graphics/wayland/libinput_1.18.0.bb (renamed from meta/recipes-graphics/wayland/libinput_1.16.4.bb)4
-rw-r--r--meta/recipes-graphics/wayland/wayland-protocols_1.21.bb (renamed from meta/recipes-graphics/wayland/wayland-protocols_1.20.bb)3
-rw-r--r--meta/recipes-graphics/wayland/wayland_1.19.0.bb6
-rw-r--r--meta/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch32
-rw-r--r--meta/recipes-graphics/wayland/weston/xwayland.weston-start2
-rw-r--r--meta/recipes-graphics/wayland/weston_9.0.0.bb1
-rw-r--r--meta/recipes-graphics/xorg-app/xkbcomp_1.4.5.bb (renamed from meta/recipes-graphics/xorg-app/xkbcomp_1.4.4.bb)4
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.30.0.bb11
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.0.1.bb11
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11_1.7.1.bb (renamed from meta/recipes-graphics/xorg-lib/libx11_1.7.0.bb)2
-rw-r--r--meta/recipes-graphics/xorg-lib/libxfixes_6.0.0.bb (renamed from meta/recipes-graphics/xorg-lib/libxfixes_5.0.3.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb (renamed from meta/recipes-graphics/xorg-lib/libxkbcommon_1.0.3.bb)2
-rw-r--r--meta/recipes-graphics/xorg-lib/libxres_1.2.1.bb (renamed from meta/recipes-graphics/xorg-lib/libxres_1.2.0.bb)3
-rw-r--r--meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.1.bb (renamed from meta/recipes-graphics/xorg-proto/xorgproto_2020.1.bb)6
-rw-r--r--meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.11.bb (renamed from meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.10.bb)2
-rw-r--r--meta/recipes-graphics/xwayland/xwayland_21.1.1.bb7
-rw-r--r--meta/recipes-kernel/dtc/dtc/0001-fdtdump-Fix-gcc11-warning.patch35
-rw-r--r--meta/recipes-kernel/dtc/dtc_1.6.1.bb (renamed from meta/recipes-kernel/dtc/dtc_1.6.0.bb)4
-rw-r--r--meta/recipes-kernel/kern-tools/kern-tools-native_git.bb2
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb (renamed from meta/recipes-kernel/kexec/kexec-tools_2.0.21.bb)2
-rw-r--r--meta/recipes-kernel/kmod/kmod.inc4
-rw-r--r--meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb (renamed from meta/recipes-kernel/linux-firmware/linux-firmware_20210208.bb)19
-rw-r--r--meta/recipes-kernel/linux/kernel-devsrc.bb2
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-dev.bb2
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb6
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.4.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.4.bb8
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.10.bb24
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.4.bb22
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-Fix-memory-leaks-on-event-destroy.patch58
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch37
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0002-Fix-filter-interpreter-early-exits-on-uninitialized-.patch159
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-tracing-record-slab-name-for-kmem_cache_free-.patch91
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0004-Fix-kretprobe-null-ptr-deref-on-session-destroy.patch41
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.12.6.bb (renamed from meta/recipes-kernel/lttng/lttng-modules_2.12.5.bb)16
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb (renamed from meta/recipes-kernel/lttng/lttng-tools_2.12.3.bb)9
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb (renamed from meta/recipes-kernel/lttng/lttng-ust_2.12.1.bb)3
-rw-r--r--meta/recipes-kernel/perf/perf.bb2
-rw-r--r--meta/recipes-kernel/powertop/powertop_2.14.bb (renamed from meta/recipes-kernel/powertop/powertop_2.13.bb)14
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch44
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.inc5
-rw-r--r--meta/recipes-kernel/wireless-regdb/wireless-regdb_2021.04.21.bb (renamed from meta/recipes-kernel/wireless-regdb/wireless-regdb_2020.11.20.bb)2
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib/0001-ucm_exec.c-Include-limits.h-explicitly-to-fix-build-.patch41
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch31
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib_1.2.5.bb (renamed from meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb)4
-rw-r--r--meta/recipes-multimedia/alsa/alsa-plugins_1.2.5.bb (renamed from meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb)3
-rw-r--r--meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb (renamed from meta/recipes-multimedia/alsa/alsa-tools_1.2.2.bb)3
-rw-r--r--meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.bb (renamed from meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb)4
-rw-r--r--meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.5.bb (renamed from meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb)4
-rw-r--r--meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.5.bb (renamed from meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb)0
-rw-r--r--meta/recipes-multimedia/alsa/alsa-utils.inc5
-rw-r--r--meta/recipes-multimedia/alsa/alsa-utils_1.2.5.bb (renamed from meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb)0
-rw-r--r--meta/recipes-multimedia/alsa/files/0001-utils.c-Include-limits.h-explicitly-to-fix-build-on-.patch37
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg/mips64_cpu_detection.patch32
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb (renamed from meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.2.bb)27
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch50
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb1
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch100
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb1
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc23
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch257
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch)0
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch36
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch110
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch48
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch58
-rwxr-xr-xmeta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb12
-rw-r--r--meta/recipes-multimedia/libid3tag/libid3tag/cflags_filter.patch8
-rw-r--r--meta/recipes-multimedia/libogg/libogg_1.3.5.bb (renamed from meta/recipes-multimedia/libogg/libogg_1.3.4.bb)4
-rw-r--r--meta/recipes-multimedia/libtiff/tiff_4.3.0.bb (renamed from meta/recipes-multimedia/libtiff/tiff_4.2.0.bb)6
-rw-r--r--meta/recipes-multimedia/mpg123/mpg123_1.27.2.bb (renamed from meta/recipes-multimedia/mpg123/mpg123_1.26.5.bb)2
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch26
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb1
-rw-r--r--meta/recipes-multimedia/x264/x264_git.bb2
-rw-r--r--meta/recipes-rt/rt-tests/rt-tests.inc4
-rw-r--r--meta/recipes-sato/puzzles/files/0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch32
-rw-r--r--meta/recipes-sato/puzzles/puzzles_git.bb40
-rw-r--r--meta/recipes-sato/rxvt-unicode/rxvt-unicode/0001-libev-remove-deprecated-throw-specification.patch30
-rw-r--r--meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.26.bb (renamed from meta/recipes-sato/rxvt-unicode/rxvt-unicode_9.22.bb)4
-rw-r--r--meta/recipes-sato/webkit/libwpe_1.10.0.bb (renamed from meta/recipes-sato/webkit/libwpe_1.8.0.bb)2
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch14
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Extend-atomics-check-to-include-1-byte-CAS-test.patch77
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch91
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-MiniBrowser-Fix-reproduciblity.patch31
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch37
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/include_xutil.patch18
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch33
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch20
-rw-r--r--meta/recipes-sato/webkit/webkitgtk_2.32.1.bb (renamed from meta/recipes-sato/webkit/webkitgtk_2.30.6.bb)7
-rw-r--r--meta/recipes-sato/webkit/wpebackend-fdo_1.8.4.bb (renamed from meta/recipes-sato/webkit/wpebackend-fdo_1.8.2.bb)2
-rw-r--r--meta/recipes-support/atk/at-spi2-core_2.40.2.bb (renamed from meta/recipes-support/atk/at-spi2-core_2.40.0.bb)2
-rw-r--r--meta/recipes-support/attr/acl_2.3.1.bb (renamed from meta/recipes-support/attr/acl_2.2.53.bb)3
-rw-r--r--meta/recipes-support/boost/boost-1.76.0.inc (renamed from meta/recipes-support/boost/boost-1.75.0.inc)6
-rw-r--r--meta/recipes-support/boost/boost/0001-Fixes-wrong-type-for-mutex-in-regex-v5.patch54
-rw-r--r--meta/recipes-support/boost/boost_1.76.0.bb (renamed from meta/recipes-support/boost/boost_1.75.0.bb)1
-rw-r--r--meta/recipes-support/curl/curl_7.77.0.bb (renamed from meta/recipes-support/curl/curl_7.76.0.bb)2
-rw-r--r--meta/recipes-support/db/db_5.3.28.bb2
-rw-r--r--meta/recipes-support/diffoscope/diffoscope_177.bb (renamed from meta/recipes-support/diffoscope/diffoscope_172.bb)3
-rw-r--r--meta/recipes-support/gnupg/gnupg/0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch105
-rw-r--r--meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch6
-rw-r--r--meta/recipes-support/gnupg/gnupg/0002-use-pkgconfig-instead-of-npth-config.patch73
-rw-r--r--meta/recipes-support/gnupg/gnupg/0003-dirmngr-uses-libgpg-error.patch17
-rw-r--r--meta/recipes-support/gnupg/gnupg/relocate.patch20
-rw-r--r--meta/recipes-support/gnupg/gnupg_2.3.1.bb (renamed from meta/recipes-support/gnupg/gnupg_2.2.27.bb)3
-rw-r--r--meta/recipes-support/gnutls/gnutls_3.7.2.bb (renamed from meta/recipes-support/gnutls/gnutls_3.7.1.bb)6
-rw-r--r--meta/recipes-support/gnutls/libtasn1_4.17.0.bb (renamed from meta/recipes-support/gnutls/libtasn1_4.16.0.bb)6
-rw-r--r--meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch20
-rw-r--r--meta/recipes-support/libcap/libcap_2.50.bb (renamed from meta/recipes-support/libcap/libcap_2.49.bb)23
-rw-r--r--meta/recipes-support/libevent/libevent/0002-test-regress.h-Increase-default-timeval-tolerance-50.patch33
-rw-r--r--meta/recipes-support/libevent/libevent_2.1.12.bb1
-rw-r--r--meta/recipes-support/libfm/libfm_1.3.2.bb (renamed from meta/recipes-support/libfm/libfm_1.3.1.bb)3
-rw-r--r--meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb (renamed from meta/recipes-support/libgcrypt/libgcrypt_1.9.2.bb)4
-rw-r--r--meta/recipes-support/libgpg-error/libgpg-error/0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch27
-rw-r--r--meta/recipes-support/libgpg-error/libgpg-error/fix-cross.patch28
-rw-r--r--meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch129
-rw-r--r--meta/recipes-support/libgpg-error/libgpg-error_1.42.bb (renamed from meta/recipes-support/libgpg-error/libgpg-error_1.41.bb)4
-rw-r--r--meta/recipes-support/libical/libical_3.0.10.bb (renamed from meta/recipes-support/libical/libical_3.0.9.bb)2
-rw-r--r--meta/recipes-support/libjitterentropy/libjitterentropy_3.0.2.bb (renamed from meta/recipes-support/libjitterentropy/libjitterentropy_3.0.1.bb)2
-rw-r--r--meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.73.bb (renamed from meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb)4
-rw-r--r--meta/recipes-support/libpcre/libpcre2_10.37.bb (renamed from meta/recipes-support/libpcre/libpcre2_10.36.bb)4
-rw-r--r--meta/recipes-support/libseccomp/files/run-ptest4
-rw-r--r--meta/recipes-support/libseccomp/libseccomp_2.5.1.bb54
-rw-r--r--meta/recipes-support/libssh2/files/0001-kex.c-move-EC-macro-outside-of-if-check-549-550.patch112
-rw-r--r--meta/recipes-support/libssh2/libssh2_1.9.0.bb3
-rw-r--r--meta/recipes-support/liburcu/liburcu_0.13.0.bb (renamed from meta/recipes-support/liburcu/liburcu_0.12.2.bb)4
-rw-r--r--meta/recipes-support/lz4/lz4_1.9.3.bb2
-rw-r--r--meta/recipes-support/npth/npth/0001-Revert-Fix-problem-with-regression-tests-on-recent-g.patch43
-rw-r--r--meta/recipes-support/npth/npth_1.6.bb1
-rw-r--r--meta/recipes-support/p11-kit/p11-kit_0.24.0.bb (renamed from meta/recipes-support/p11-kit/p11-kit_0.23.22.bb)4
-rw-r--r--meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb2
-rw-r--r--meta/recipes-support/re2c/re2c_2.1.1.bb (renamed from meta/recipes-support/re2c/re2c_2.0.3.bb)2
-rw-r--r--meta/recipes-support/rng-tools/rng-tools_6.12.bb (renamed from meta/recipes-support/rng-tools/rng-tools_6.11.bb)2
-rw-r--r--meta/recipes-support/sqlite/sqlite3_3.35.5.bb (renamed from meta/recipes-support/sqlite/sqlite3_3.35.3.bb)2
-rw-r--r--meta/recipes-support/vte/vte_0.64.1.bb (renamed from meta/recipes-support/vte/vte_0.64.0.bb)5
-rw-r--r--meta/recipes-support/xxhash/files/0001-Makefile-escape-special-regex-characters-in-paths.patch55
-rw-r--r--meta/recipes-support/xxhash/xxhash_0.8.0.bb4
-rwxr-xr-xscripts/combo-layer2
-rw-r--r--scripts/lib/devtool/standard.py8
-rw-r--r--scripts/lib/devtool/upgrade.py3
-rw-r--r--scripts/lib/wic/help.py1
-rw-r--r--scripts/lib/wic/ksparser.py7
-rw-r--r--scripts/lib/wic/partition.py16
-rw-r--r--scripts/lib/wic/plugins/imager/direct.py2
-rw-r--r--scripts/lib/wic/plugins/source/rawcopy.py6
-rwxr-xr-xscripts/oe-buildenv-internal4
-rwxr-xr-xscripts/oe-time-dd-test.sh1
-rw-r--r--scripts/pybootchartgui/pybootchartgui/draw.py2
-rwxr-xr-xscripts/runqemu27
-rwxr-xr-xscripts/yocto-check-layer5
726 files changed, 9728 insertions, 10389 deletions
diff --git a/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb b/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
index ee945c1ff0..19ef16988f 100644
--- a/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
+++ b/meta-skeleton/recipes-baremetal/baremetal-examples/baremetal-helloworld_git.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "These are introductory examples to showcase the use of QEMU to ru
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449"
-SRCREV = "99f4fa4a3b266b42b52af302610b0f4f429ba5e3"
+SRCREV = "0bf9ea216e6f76be50726a3a74e527b7bbb0ad93"
PV = "0.1+git${SRCPV}"
SRC_URI = "git://github.com/aehs29/baremetal-helloqemu.git;protocol=https;branch=master"
@@ -28,12 +28,13 @@ inherit baremetal-image
# machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57
# but the examples can also be run on other architectures/machines
# such as vexpress-a15 by overriding the setting on the machine.conf
-COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64"
+COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64"
BAREMETAL_QEMUARCH ?= ""
BAREMETAL_QEMUARCH_qemuarmv5 = "versatile"
BAREMETAL_QEMUARCH_qemuarm = "arm"
BAREMETAL_QEMUARCH_qemuarm64 = "aarch64"
+BAREMETAL_QEMUARCH_qemuriscv64 = "riscv64"
EXTRA_OEMAKE_append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"
diff --git a/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb b/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb
index e7d50aefda..1290968b9d 100644
--- a/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb
+++ b/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb
@@ -6,7 +6,7 @@ SUMMARY = "An example of a multilib image"
#
# First include a base image to base things off
-require recipes-sato/images/core-image-sato.bb
+require recipes-graphics/images/core-image-weston.bb
# Now add the multilib packages we want to install
IMAGE_INSTALL += "lib32-bash"
diff --git a/meta/classes/baremetal-image.bbclass b/meta/classes/baremetal-image.bbclass
index b0f5e885b5..8708a54301 100644
--- a/meta/classes/baremetal-image.bbclass
+++ b/meta/classes/baremetal-image.bbclass
@@ -50,6 +50,10 @@ python do_rootfs(){
if os.path.lexists(manifest_link):
os.remove(manifest_link)
os.symlink(os.path.basename(manifest_name), manifest_link)
+ # A lot of postprocess commands assume the existence of rootfs/etc
+ sysconfdir = d.getVar("IMAGE_ROOTFS") + d.getVar('sysconfdir')
+ bb.utils.mkdirhier(sysconfdir)
+
execute_pre_post_process(d, d.getVar('ROOTFS_POSTPROCESS_COMMAND'))
}
@@ -73,7 +77,19 @@ QB_DEFAULT_KERNEL ?= "${IMAGE_LINK_NAME}.bin"
QB_MEM ?= "-m 256"
QB_DEFAULT_FSTYPE ?= "bin"
QB_DTB ?= ""
-QB_OPT_APPEND = "-nographic"
+QB_OPT_APPEND_append = " -nographic"
+
+# RISC-V tunes set the BIOS, unset, and instruct QEMU to
+# ignore the BIOS and boot from -kernel
+QB_DEFAULT_BIOS_qemuriscv64 = ""
+QB_OPT_APPEND_append_qemuriscv64 = " -bios none"
+
+
+# Use the medium-any code model for the RISC-V 64 bit implementation,
+# since medlow can only access addresses below 0x80000000 and RAM
+# starts at 0x80000000 on RISC-V 64
+CFLAGS_append_qemuriscv64 = " -mcmodel=medany"
+
# This next part is necessary to trick the build system into thinking
# its building an image recipe so it generates the qemuboot.conf
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 49af61c9c5..55b12d7893 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -43,6 +43,7 @@ BUILDHISTORY_COMMIT ?= "1"
BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>"
BUILDHISTORY_PUSH_REPO ?= ""
BUILDHISTORY_TAG ?= "build"
+BUILDHISTORY_PATH_PREFIX_STRIP ?= ""
SSTATEPOSTINSTFUNCS_append = " buildhistory_emit_pkghistory"
# We want to avoid influencing the signatures of sstate tasks - first the function itself:
@@ -697,7 +698,7 @@ python buildhistory_write_sigs() {
if hasattr(bb.parse.siggen, 'dump_siglist'):
taskoutdir = os.path.join(d.getVar('BUILDHISTORY_DIR'), 'task')
bb.utils.mkdirhier(taskoutdir)
- bb.parse.siggen.dump_siglist(os.path.join(taskoutdir, 'tasksigs.txt'))
+ bb.parse.siggen.dump_siglist(os.path.join(taskoutdir, 'tasksigs.txt'), d.getVar("BUILDHISTORY_PATH_PREFIX_STRIP"))
}
def buildhistory_get_build_id(d):
@@ -875,7 +876,7 @@ python buildhistory_eventhandler() {
entries = [ x for x in os.listdir(rootdir) if not x.startswith('.') ]
bb.utils.mkdirhier(olddir)
for entry in entries:
- os.rename(os.path.join(rootdir, entry),
+ bb.utils.rename(os.path.join(rootdir, entry),
os.path.join(olddir, entry))
elif isinstance(e, bb.event.BuildCompleted):
if reset:
diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.bbclass
index 8e03039aeb..8a1466d3fe 100644
--- a/meta/classes/buildstats.bbclass
+++ b/meta/classes/buildstats.bbclass
@@ -104,7 +104,7 @@ def write_task_data(status, logfile, e, d):
f.write("Status: FAILED \n")
f.write("Ended: %0.2f \n" % e.time)
-def write_host_data(logfile, e, d):
+def write_host_data(logfile, e, d, type):
import subprocess, os, datetime
# minimum time allowed for each command to run, in seconds
time_threshold = 0.5
@@ -112,15 +112,22 @@ def write_host_data(logfile, e, d):
num_cmds = 0
# interval at which data will be logged
interval = int(d.getVar("BB_HEARTBEAT_EVENT", False))
- # the commands to be run at each interval
- cmds = d.getVar('BB_LOG_HOST_STAT_CMDS')
- # if no commands are passed, issue a warning and return
- if cmds is None:
- d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0")
- d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0")
- bb.warn("buildstats: Collecting host data failed. Set BB_LOG_HOST_STAT_CMDS=\"command1 ; command2 ; ... \" in conf/local.conf\n")
- return
- # find the total commands
+ msg = ""
+ if type == "interval":
+ cmds = d.getVar('BB_LOG_HOST_STAT_CMDS_INTERVAL')
+ msg = "Host Stats: Collecting data at interval.\n"
+ if cmds is None:
+ d.setVar("BB_LOG_HOST_STAT_ON_INTERVAL", "0")
+ bb.warn("buildstats: Collecting host data at intervals failed. Set BB_LOG_HOST_STAT_CMDS_INTERVAL=\"command1 ; command2 ; ... \" in conf/local.conf\n")
+ return
+ if type == "failure":
+ cmds = d.getVar('BB_LOG_HOST_STAT_CMDS_FAILURE')
+ msg = "Host Stats: Collecting data on failure.\n"
+ msg += "Failed at task " + e.task + "\n"
+ if cmds is None:
+ d.setVar("BB_LOG_HOST_STAT_ON_FAILURE", "0")
+ bb.warn("buildstats: Collecting host data on failure failed. Set BB_LOG_HOST_STAT_CMDS_FAILURE=\"command1 ; command2 ; ... \" in conf/local.conf\n")
+ return
c_san = []
for cmd in cmds.split(";"):
if len(cmd) == 0:
@@ -147,6 +154,7 @@ def write_host_data(logfile, e, d):
os.environ['PATH'] = path + ":" + opath + ":" + ospath
with open(logfile, "a") as f:
f.write("Event Time: %f\nDate: %s\n" % (e.time, datetime.datetime.now()))
+ f.write("%s" % msg)
for c in c_san:
try:
output = subprocess.check_output(c.split(), stderr=subprocess.STDOUT, timeout=limit).decode('utf-8')
@@ -171,7 +179,7 @@ python run_buildstats () {
taskdir = os.path.join(bsdir, d.getVar('PF'))
if isinstance(e, bb.event.HeartbeatEvent) and bb.utils.to_boolean(d.getVar("BB_LOG_HOST_STAT_ON_INTERVAL")):
bb.utils.mkdirhier(bsdir)
- write_host_data(os.path.join(bsdir, "host_stats"), e, d)
+ write_host_data(os.path.join(bsdir, "host_stats"), e, d, "interval")
if isinstance(e, bb.event.BuildStarted):
########################################################################
@@ -247,7 +255,7 @@ python run_buildstats () {
with open(build_status, "a") as f:
f.write(d.expand("Failed at: ${PF} at task: %s \n" % e.task))
if bb.utils.to_boolean(d.getVar("BB_LOG_HOST_STAT_ON_FAILURE")):
- write_host_data(build_status, e, d)
+ write_host_data(os.path.join(bsdir, "host_stats"), e, d, "failure")
}
addhandler run_buildstats
diff --git a/meta/classes/clutter.bbclass b/meta/classes/clutter.bbclass
deleted file mode 100644
index 24b53a13e4..0000000000
--- a/meta/classes/clutter.bbclass
+++ /dev/null
@@ -1,18 +0,0 @@
-def get_minor_dir(v):
- import re
- m = re.match(r"^([0-9]+)\.([0-9]+)", v)
- return "%s.%s" % (m.group(1), m.group(2))
-
-def get_real_name(n):
- import re
- m = re.match(r"^([a-z]+(-[a-z]+)?)(-[0-9]+\.[0-9]+)?", n)
- return "%s" % (m.group(1))
-
-VERMINOR = "${@get_minor_dir("${PV}")}"
-REALNAME = "${@get_real_name("${BPN}")}"
-
-SRC_URI = "${GNOME_MIRROR}/${REALNAME}/${VERMINOR}/${REALNAME}-${PV}.tar.xz;name=archive"
-S = "${WORKDIR}/${REALNAME}-${PV}"
-
-CLUTTERBASEBUILDCLASS ??= "autotools"
-inherit ${CLUTTERBASEBUILDCLASS} pkgconfig gtk-doc gettext
diff --git a/meta/classes/cmake.bbclass b/meta/classes/cmake.bbclass
index 8876ce5aa5..f01db7480b 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes/cmake.bbclass
@@ -149,16 +149,14 @@ addtask generate_toolchain_file after do_patch before do_configure
CONFIGURE_FILES = "CMakeLists.txt"
+do_configure[cleandirs] = "${@d.getVar('B') if d.getVar('S') != d.getVar('B') else ''}"
+
cmake_do_configure() {
if [ "${OECMAKE_BUILDPATH}" ]; then
bbnote "cmake.bbclass no longer uses OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build."
fi
- if [ "${S}" != "${B}" ]; then
- rm -rf ${B}
- mkdir -p ${B}
- cd ${B}
- else
+ if [ "${S}" = "${B}" ]; then
find ${B} -name CMakeFiles -or -name Makefile -or -name cmake_install.cmake -or -name CMakeCache.txt -delete
fi
diff --git a/meta/classes/gi-docgen.bbclass b/meta/classes/gi-docgen.bbclass
new file mode 100644
index 0000000000..5750f7028d
--- /dev/null
+++ b/meta/classes/gi-docgen.bbclass
@@ -0,0 +1,24 @@
+# gi-docgen is a new gnome documentation generator, which
+# seems to be a successor to gtk-doc:
+# https://gitlab.gnome.org/GNOME/gi-docgen
+
+# This variable is set to True if api-documentation is in
+# DISTRO_FEATURES, and False otherwise.
+GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'True', 'False', d)}"
+# When building native recipes, disable gi-docgen, as it is not necessary,
+# pulls in additional dependencies, and makes build times longer
+GIDOCGEN_ENABLED_class-native = "False"
+GIDOCGEN_ENABLED_class-nativesdk = "False"
+
+# meson: default option name to enable/disable gi-docgen. This matches most
+# projects' configuration. In doubts - check meson_options.txt in project's
+# source path.
+GIDOCGEN_MESON_OPTION ?= 'gtk_doc'
+GIDOCGEN_MESON_ENABLE_FLAG ?= 'true'
+GIDOCGEN_MESON_DISABLE_FLAG ?= 'false'
+
+# Auto enable/disable based on GIDOCGEN_ENABLED
+EXTRA_OEMESON_prepend = "-D${GIDOCGEN_MESON_OPTION}=${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '${GIDOCGEN_MESON_ENABLE_FLAG}', '${GIDOCGEN_MESON_DISABLE_FLAG}', d)} "
+
+DEPENDS_append = "${@' gi-docgen-native gi-docgen' if d.getVar('GIDOCGEN_ENABLED') == 'True' else ''}"
+
diff --git a/meta/classes/gnomebase.bbclass b/meta/classes/gnomebase.bbclass
index efcb6caae1..884b1a106f 100644
--- a/meta/classes/gnomebase.bbclass
+++ b/meta/classes/gnomebase.bbclass
@@ -1,5 +1,6 @@
def gnome_verdir(v):
- return oe.utils.trim_version(v, 2)
+ return ".".join(v.split(".")[:-1])
+
GNOME_COMPRESS_TYPE ?= "xz"
SECTION ?= "x11/gnome"
diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
index d095305ed8..80943fcf02 100644
--- a/meta/classes/icecc.bbclass
+++ b/meta/classes/icecc.bbclass
@@ -138,10 +138,6 @@ def use_icecc(bb,d):
if icecc_is_cross_canadian(bb, d):
return "no"
- if d.getVar('INHIBIT_DEFAULT_DEPS', False):
- # We don't have a compiler, so no icecc
- return "no"
-
pn = d.getVar('PN')
bpn = d.getVar('BPN')
@@ -362,7 +358,7 @@ set_icecc_env() {
ICECC_WHICH_AS="${@bb.utils.which(os.getenv('PATH'), 'as')}"
if [ ! -x "${ICECC_CC}" -o ! -x "${ICECC_CXX}" ]
then
- bbwarn "Cannot use icecc: could not get ICECC_CC or ICECC_CXX"
+ bbnote "Cannot use icecc: could not get ICECC_CC or ICECC_CXX"
return
fi
diff --git a/meta/classes/image-live.bbclass b/meta/classes/image-live.bbclass
index 8b08305cdb..fd876ed8e1 100644
--- a/meta/classes/image-live.bbclass
+++ b/meta/classes/image-live.bbclass
@@ -261,4 +261,4 @@ python do_bootimg() {
do_bootimg[subimages] = "hddimg iso"
do_bootimg[imgsuffix] = "."
-addtask bootimg before do_image_complete
+addtask bootimg before do_image_complete after do_rootfs
diff --git a/meta/classes/image-mklibs.bbclass b/meta/classes/image-mklibs.bbclass
deleted file mode 100644
index 68e11d4365..0000000000
--- a/meta/classes/image-mklibs.bbclass
+++ /dev/null
@@ -1,56 +0,0 @@
-do_rootfs[depends] += "mklibs-native:do_populate_sysroot"
-
-IMAGE_PREPROCESS_COMMAND += "mklibs_optimize_image; "
-
-inherit linuxloader
-
-mklibs_optimize_image_doit() {
- rm -rf ${WORKDIR}/mklibs
- mkdir -p ${WORKDIR}/mklibs/dest
- cd ${IMAGE_ROOTFS}
- du -bs > ${WORKDIR}/mklibs/du.before.mklibs.txt
-
- # Build a list of dynamically linked executable ELF files.
- # Omit libc/libpthread as a special case because it has an interpreter
- # but is primarily what we intend to strip down.
- for i in `find . -type f -executable ! -name 'libc-*' ! -name 'libpthread-*'`; do
- file $i | grep -q ELF || continue
- ${HOST_PREFIX}readelf -l $i | grep -q INTERP || continue
- echo $i
- done > ${WORKDIR}/mklibs/executables.list
-
- dynamic_loader=${@get_linuxloader(d)}
-
- mklibs -v \
- --ldlib ${dynamic_loader} \
- --libdir ${baselib} \
- --sysroot ${PKG_CONFIG_SYSROOT_DIR} \
- --gcc-options "--sysroot=${PKG_CONFIG_SYSROOT_DIR}" \
- --root ${IMAGE_ROOTFS} \
- --target `echo ${TARGET_PREFIX} | sed 's/-$//' ` \
- -d ${WORKDIR}/mklibs/dest \
- `cat ${WORKDIR}/mklibs/executables.list`
-
- cd ${WORKDIR}/mklibs/dest
- for i in *
- do
- cp $i `find ${IMAGE_ROOTFS} -name $i`
- done
-
- cd ${IMAGE_ROOTFS}
- du -bs > ${WORKDIR}/mklibs/du.after.mklibs.txt
-
- echo rootfs size before mklibs optimization: `cat ${WORKDIR}/mklibs/du.before.mklibs.txt`
- echo rootfs size after mklibs optimization: `cat ${WORKDIR}/mklibs/du.after.mklibs.txt`
-}
-
-mklibs_optimize_image() {
- for img in ${MKLIBS_OPTIMIZED_IMAGES}
- do
- if [ "${img}" = "${PN}" ] || [ "${img}" = "all" ]
- then
- mklibs_optimize_image_doit
- break
- fi
- done
-}
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 013455f492..67603d958d 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -38,7 +38,7 @@ IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs read-only-rootfs-de
# Generate companion debugfs?
IMAGE_GEN_DEBUGFS ?= "0"
-# These pacackages will be installed as additional into debug rootfs
+# These packages will be installed as additional into debug rootfs
IMAGE_INSTALL_DEBUGFS ?= ""
# These packages will be removed from a read-only rootfs after all other
@@ -657,7 +657,7 @@ reproducible_final_image_task () {
fi
# Set mtime of all files to a reproducible value
bbnote "reproducible_final_image_task: mtime set to $REPRODUCIBLE_TIMESTAMP_ROOTFS"
- find ${IMAGE_ROOTFS} -exec touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS {} \;
+ find ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS
fi
}
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 8028691405..954d6739ec 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -108,6 +108,11 @@ IMAGE_CMD_squashfs-xz = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME
IMAGE_CMD_squashfs-lzo = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lzo ${EXTRA_IMAGECMD} -noappend -comp lzo"
IMAGE_CMD_squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lz4 ${EXTRA_IMAGECMD} -noappend -comp lz4"
+IMAGE_CMD_erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs ${IMAGE_ROOTFS}"
+IMAGE_CMD_erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4 ${IMAGE_ROOTFS}"
+IMAGE_CMD_erofs-lz4hc = "mkfs.erofs -zlz4hc ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4hc ${IMAGE_ROOTFS}"
+
+
IMAGE_CMD_TAR ?= "tar"
# ignore return code 1 "file changed as we read it" as other tasks(e.g. do_image_wic) may be hardlinking rootfs
IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --sort=name --format=posix --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]"
@@ -243,6 +248,9 @@ do_image_ubi[depends] += "mtd-utils-native:do_populate_sysroot"
do_image_ubifs[depends] += "mtd-utils-native:do_populate_sysroot"
do_image_multiubi[depends] += "mtd-utils-native:do_populate_sysroot"
do_image_f2fs[depends] += "f2fs-tools-native:do_populate_sysroot"
+do_image_erofs[depends] += "erofs-utils-native:do_populate_sysroot"
+do_image_erofs_lz4[depends] += "erofs-utils-native:do_populate_sysroot"
+do_image_erofs_lz4hc[depends] += "erofs-utils-native:do_populate_sysroot"
# This variable is available to request which values are suitable for IMAGE_FSTYPES
IMAGE_TYPES = " \
@@ -261,6 +269,7 @@ IMAGE_TYPES = " \
wic wic.gz wic.bz2 wic.lzma wic.zst \
container \
f2fs \
+ erofs erofs-lz4 erofs-lz4hc \
"
# Compression is a special case of conversion. The old variable
@@ -269,7 +278,7 @@ IMAGE_TYPES = " \
# CONVERSION_CMD/DEPENDS.
COMPRESSIONTYPES ?= ""
-CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip zst sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vhd vhdx vdi qcow2 base64 ${COMPRESSIONTYPES}"
+CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip zst sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vhd vhdx vdi qcow2 base64 gzsync zsync ${COMPRESSIONTYPES}"
CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_CMD_gz = "gzip -f -9 -n -c --rsyncable ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz"
CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
@@ -293,6 +302,8 @@ CONVERSION_CMD_vhd = "qemu-img convert -O vpc -o subformat=fixed ${IMAGE_NAME}${
CONVERSION_CMD_vdi = "qemu-img convert -O vdi ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.vdi"
CONVERSION_CMD_qcow2 = "qemu-img convert -O qcow2 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qcow2"
CONVERSION_CMD_base64 = "base64 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.base64"
+CONVERSION_CMD_zsync = "zsyncmake_curl ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
+CONVERSION_CMD_gzsync = "zsyncmake_curl -z ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
CONVERSION_DEPENDS_lzma = "xz-native"
CONVERSION_DEPENDS_gz = "pigz-native"
CONVERSION_DEPENDS_bz2 = "pbzip2-native"
@@ -310,6 +321,8 @@ CONVERSION_DEPENDS_qcow2 = "qemu-system-native"
CONVERSION_DEPENDS_base64 = "coreutils-native"
CONVERSION_DEPENDS_vhdx = "qemu-system-native"
CONVERSION_DEPENDS_vhd = "qemu-system-native"
+CONVERSION_DEPENDS_zsync = "zsync-curl-native"
+CONVERSION_DEPENDS_gzsync = "zsync-curl-native"
RUNNABLE_IMAGE_TYPES ?= "ext2 ext3 ext4"
RUNNABLE_MACHINE_PATTERNS ?= "qemu"
diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass
index 5cfd8af99d..e363eeb64c 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes/kernel-fitimage.bbclass
@@ -217,13 +217,13 @@ fitimage_emit_section_boot_script() {
bootscr_sign_keyname="${UBOOT_SIGN_KEYNAME}"
cat << EOF >> ${1}
- bootscr@${2} {
+ bootscr-${2} {
description = "U-boot script";
data = /incbin/("${3}");
type = "script";
arch = "${UBOOT_ARCH}";
compression = "none";
- hash@1 {
+ hash-1 {
algo = "${bootscr_csum}";
};
};
@@ -232,7 +232,7 @@ EOF
if [ "${UBOOT_SIGN_ENABLE}" = "1" -a "${FIT_SIGN_INDIVIDUAL}" = "1" -a -n "${bootscr_sign_keyname}" ] ; then
sed -i '$ d' ${1}
cat << EOF >> ${1}
- signature@1 {
+ signature-1 {
algo = "${bootscr_csum},${bootscr_sign_algo}";
key-name-hint = "${bootscr_sign_keyname}";
};
@@ -331,7 +331,7 @@ fitimage_emit_section_config() {
conf_csum="${FIT_HASH_ALG}"
conf_sign_algo="${FIT_SIGN_ALG}"
- if [ -n "${UBOOT_SIGN_ENABLE}" ] ; then
+ if [ "${UBOOT_SIGN_ENABLE}" = "1" ] ; then
conf_sign_keyname="${UBOOT_SIGN_KEYNAME}"
fi
@@ -383,7 +383,7 @@ fitimage_emit_section_config() {
if [ -n "${bootscr_id}" ]; then
conf_desc="${conf_desc}${sep}u-boot script"
sep=", "
- bootscr_line="bootscr = \"bootscr@${bootscr_id}\";"
+ bootscr_line="bootscr = \"bootscr-${bootscr_id}\";"
fi
if [ -n "${config_id}" ]; then
@@ -667,7 +667,34 @@ do_assemble_fitimage_initramfs() {
addtask assemble_fitimage_initramfs before do_deploy after do_bundle_initramfs
-addtask generate_rsa_keys before do_assemble_fitimage after do_compile
+do_kernel_generate_rsa_keys() {
+ if [ "${UBOOT_SIGN_ENABLE}" = "0" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then
+ bbwarn "FIT_GENERATE_KEYS is set to 1 even though UBOOT_SIGN_ENABLE is set to 0. The keys will not be generated as they won't be used."
+ fi
+
+ if [ "${UBOOT_SIGN_ENABLE}" = "1" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then
+
+ # Generate keys only if they don't already exist
+ if [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key ] || \
+ [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt ]; then
+
+ # make directory if it does not already exist
+ mkdir -p "${UBOOT_SIGN_KEYDIR}"
+
+ echo "Generating RSA private key for signing fitImage"
+ openssl genrsa ${FIT_KEY_GENRSA_ARGS} -out \
+ "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \
+ "${FIT_SIGN_NUMBITS}"
+
+ echo "Generating certificate for signing fitImage"
+ openssl req ${FIT_KEY_REQ_ARGS} "${FIT_KEY_SIGN_PKCS}" \
+ -key "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \
+ -out "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt
+ fi
+ fi
+}
+
+addtask kernel_generate_rsa_keys before do_assemble_fitimage after do_compile
kernel_do_deploy[vardepsexclude] = "DATETIME"
kernel_do_deploy_append() {
@@ -718,13 +745,13 @@ kernel_do_deploy_append() {
# - Removes do_assemble_fitimage. FIT generation is done through
# do_assemble_fitimage_initramfs. do_assemble_fitimage is not needed
# and should not be part of the tasks to be executed.
-# - Since do_generate_rsa_keys is inserted by default
+# - Since do_kernel_generate_rsa_keys is inserted by default
# between do_compile and do_assemble_fitimage, this is
-# not suitable in case of initramfs bundles. do_generate_rsa_keys
+# not suitable in case of initramfs bundles. do_kernel_generate_rsa_keys
# should be between do_bundle_initramfs and do_assemble_fitimage_initramfs.
python () {
if d.getVar('INITRAMFS_IMAGE_BUNDLE') == "1":
bb.build.deltask('do_assemble_fitimage', d)
- bb.build.deltask('generate_rsa_keys', d)
- bb.build.addtask('generate_rsa_keys', 'do_assemble_fitimage_initramfs', 'do_bundle_initramfs', d)
+ bb.build.deltask('kernel_generate_rsa_keys', d)
+ bb.build.addtask('kernel_generate_rsa_keys', 'do_assemble_fitimage_initramfs', 'do_bundle_initramfs', d)
}
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 15c8dbb81f..ba139dd7f8 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -113,6 +113,8 @@ do_kernel_metadata() {
cd ${S}
export KMETA=${KMETA}
+ bbnote "do_kernel_metadata: for summary/debug, set KCONF_AUDIT_LEVEL > 0"
+
# if kernel tools are available in-tree, they are preferred
# and are placed on the path before any external tools. Unless
# the external tools flag is set, in that case we do nothing.
@@ -290,6 +292,21 @@ do_kernel_metadata() {
fi
fi
fi
+
+ if [ ${KCONF_AUDIT_LEVEL} -gt 0 ]; then
+ bbnote "kernel meta data summary for ${KMACHINE} (${LINUX_KERNEL_TYPE}):"
+ bbnote "======================================================================"
+ if [ -n "${KMETA_EXTERNAL_BSPS}" ]; then
+ bbnote "Non kernel-cache (external) bsp"
+ fi
+ bbnote "BSP entry point / definition: $bsp_definition"
+ if [ -n "$in_tree_defconfig" ]; then
+ bbnote "KBUILD_DEFCONFIG: ${KBUILD_DEFCONFIG}"
+ fi
+ bbnote "Fragments from SRC_URI: $sccs_from_src_uri"
+ bbnote "KERNEL_FEATURES: $KERNEL_FEATURES_FINAL"
+ bbnote "Final scc/cfg list: $sccs_defconfig $bsp_definition $sccs $KERNEL_FEATURES_FINAL"
+ fi
}
do_patch() {
@@ -378,7 +395,7 @@ do_kernel_checkout() {
# checkout and clobber any unimportant files
git checkout -f ${machine_branch}
}
-do_kernel_checkout[dirs] = "${S}"
+do_kernel_checkout[dirs] = "${S} ${WORKDIR}"
addtask kernel_checkout before do_kernel_metadata after do_symlink_kernsrc
addtask kernel_metadata after do_validate_branches do_unpack before do_patch
diff --git a/meta/classes/license_image.bbclass b/meta/classes/license_image.bbclass
index c96b032ebd..73cebb4d55 100644
--- a/meta/classes/license_image.bbclass
+++ b/meta/classes/license_image.bbclass
@@ -1,3 +1,5 @@
+ROOTFS_LICENSE_DIR = "${IMAGE_ROOTFS}/usr/share/common-licenses"
+
python write_package_manifest() {
# Get list of installed packages
license_image_dir = d.expand('${LICENSE_DIRECTORY}/${IMAGE_NAME}')
@@ -104,8 +106,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True):
copy_lic_manifest = d.getVar('COPY_LIC_MANIFEST')
copy_lic_dirs = d.getVar('COPY_LIC_DIRS')
if rootfs and copy_lic_manifest == "1":
- rootfs_license_dir = os.path.join(d.getVar('IMAGE_ROOTFS'),
- 'usr', 'share', 'common-licenses')
+ rootfs_license_dir = d.getVar('ROOTFS_LICENSE_DIR')
bb.utils.mkdirhier(rootfs_license_dir)
rootfs_license_manifest = os.path.join(rootfs_license_dir,
os.path.split(license_manifest)[1])
@@ -143,12 +144,13 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True):
continue
# Make sure we use only canonical name for the license file
- rootfs_license = os.path.join(rootfs_license_dir, "generic_%s" % generic_lic)
+ generic_lic_file = "generic_%s" % generic_lic
+ rootfs_license = os.path.join(rootfs_license_dir, generic_lic_file)
if not os.path.exists(rootfs_license):
oe.path.copyhardlink(pkg_license, rootfs_license)
if not os.path.exists(pkg_rootfs_license):
- os.symlink(os.path.join('..', lic), pkg_rootfs_license)
+ os.symlink(os.path.join('..', generic_lic_file), pkg_rootfs_license)
else:
if (oe.license.license_ok(canonical_license(d,
lic), bad_licenses) == False or
@@ -267,3 +269,13 @@ python do_populate_lic_deploy() {
addtask populate_lic_deploy before do_build after do_image_complete
do_populate_lic_deploy[recrdeptask] += "do_populate_lic do_deploy"
+python license_qa_dead_symlink() {
+ import os
+
+ for root, dirs, files in os.walk(d.getVar('ROOTFS_LICENSE_DIR')):
+ for file in files:
+ full_path = root + "/" + file
+ if os.path.islink(full_path) and not os.path.exists(full_path):
+ bb.error("broken symlink: " + full_path)
+}
+IMAGE_QA_COMMANDS += "license_qa_dead_symlink"
diff --git a/meta/classes/meson-routines.bbclass b/meta/classes/meson-routines.bbclass
new file mode 100644
index 0000000000..be3aeedeba
--- /dev/null
+++ b/meta/classes/meson-routines.bbclass
@@ -0,0 +1,51 @@
+inherit siteinfo
+
+def meson_array(var, d):
+ items = d.getVar(var).split()
+ return repr(items[0] if len(items) == 1 else items)
+
+# Map our ARCH values to what Meson expects:
+# http://mesonbuild.com/Reference-tables.html#cpu-families
+def meson_cpu_family(var, d):
+ import re
+ arch = d.getVar(var)
+ if arch == 'powerpc':
+ return 'ppc'
+ elif arch == 'powerpc64' or arch == 'powerpc64le':
+ return 'ppc64'
+ elif arch == 'armeb':
+ return 'arm'
+ elif arch == 'aarch64_be':
+ return 'aarch64'
+ elif arch == 'mipsel':
+ return 'mips'
+ elif arch == 'mips64el':
+ return 'mips64'
+ elif re.match(r"i[3-6]86", arch):
+ return "x86"
+ elif arch == "microblazeel":
+ return "microblaze"
+ else:
+ return arch
+
+# Map our OS values to what Meson expects:
+# https://mesonbuild.com/Reference-tables.html#operating-system-names
+def meson_operating_system(var, d):
+ os = d.getVar(var)
+ if "mingw" in os:
+ return "windows"
+ # avoid e.g 'linux-gnueabi'
+ elif "linux" in os:
+ return "linux"
+ else:
+ return os
+
+def meson_endian(prefix, d):
+ arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS")
+ sitedata = siteinfo_data_for_machine(arch, os, d)
+ if "endian-little" in sitedata:
+ return "little"
+ elif "endian-big" in sitedata:
+ return "big"
+ else:
+ bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
index bf9b02e06e..8ae0285f72 100644
--- a/meta/classes/meson.bbclass
+++ b/meta/classes/meson.bbclass
@@ -1,4 +1,4 @@
-inherit siteinfo python3native
+inherit python3native meson-routines
DEPENDS_append = " meson-native ninja-native"
@@ -35,56 +35,6 @@ MESON_CROSS_FILE = ""
MESON_CROSS_FILE_class-target = "--cross-file ${WORKDIR}/meson.cross"
MESON_CROSS_FILE_class-nativesdk = "--cross-file ${WORKDIR}/meson.cross"
-def meson_array(var, d):
- items = d.getVar(var).split()
- return repr(items[0] if len(items) == 1 else items)
-
-# Map our ARCH values to what Meson expects:
-# http://mesonbuild.com/Reference-tables.html#cpu-families
-def meson_cpu_family(var, d):
- import re
- arch = d.getVar(var)
- if arch == 'powerpc':
- return 'ppc'
- elif arch == 'powerpc64' or arch == 'powerpc64le':
- return 'ppc64'
- elif arch == 'armeb':
- return 'arm'
- elif arch == 'aarch64_be':
- return 'aarch64'
- elif arch == 'mipsel':
- return 'mips'
- elif arch == 'mips64el':
- return 'mips64'
- elif re.match(r"i[3-6]86", arch):
- return "x86"
- elif arch == "microblazeel":
- return "microblaze"
- else:
- return arch
-
-# Map our OS values to what Meson expects:
-# https://mesonbuild.com/Reference-tables.html#operating-system-names
-def meson_operating_system(var, d):
- os = d.getVar(var)
- if "mingw" in os:
- return "windows"
- # avoid e.g 'linux-gnueabi'
- elif "linux" in os:
- return "linux"
- else:
- return os
-
-def meson_endian(prefix, d):
- arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS")
- sitedata = siteinfo_data_for_machine(arch, os, d)
- if "endian-little" in sitedata:
- return "little"
- elif "endian-big" in sitedata:
- return "big"
- else:
- bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
-
addtask write_config before do_configure
do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS LDFLAGS"
do_write_config() {
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index a0838e41b9..561cc23f68 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -119,6 +119,7 @@ python native_virtclass_handler () {
pn = e.data.getVar("PN")
if not pn.endswith("-native"):
return
+ bpn = e.data.getVar("BPN")
# Set features here to prevent appends and distro features backfill
# from modifying native distro features
@@ -146,7 +147,10 @@ python native_virtclass_handler () {
elif "-cross-" in dep:
newdeps.append(dep.replace("-cross", "-native"))
elif not dep.endswith("-native"):
- newdeps.append(dep.replace("-native", "") + "-native")
+ # Replace ${PN} with ${BPN} in the dependency to make sure
+ # dependencies on, e.g., ${PN}-foo become ${BPN}-foo-native
+ # rather than ${BPN}-native-foo-native.
+ newdeps.append(dep.replace(pn, bpn) + "-native")
else:
newdeps.append(dep)
d.setVar(varname, " ".join(newdeps), parsing=True)
@@ -166,7 +170,7 @@ python native_virtclass_handler () {
if prov.find(pn) != -1:
nprovides.append(prov)
elif not prov.endswith("-native"):
- nprovides.append(prov.replace(prov, prov + "-native"))
+ nprovides.append(prov + "-native")
else:
nprovides.append(prov)
e.data.setVar("PROVIDES", ' '.join(nprovides))
diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass
index 55a6985fb0..8f8712a024 100644
--- a/meta/classes/npm.bbclass
+++ b/meta/classes/npm.bbclass
@@ -247,8 +247,10 @@ python npm_do_compile() {
# Add node-gyp configuration
configs.append(("arch", d.getVar("NPM_ARCH")))
configs.append(("release", "true"))
- sysroot = d.getVar("RECIPE_SYSROOT_NATIVE")
- nodedir = os.path.join(sysroot, d.getVar("prefix_native").strip("/"))
+ nodedir = d.getVar("NPM_NODEDIR")
+ if not nodedir:
+ sysroot = d.getVar("RECIPE_SYSROOT_NATIVE")
+ nodedir = os.path.join(sysroot, d.getVar("prefix_native").strip("/"))
configs.append(("nodedir", nodedir))
configs.append(("python", d.getVar("PYTHON")))
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index e3f0a7060b..cf30f33f3d 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1049,7 +1049,7 @@ python fixup_perms () {
# Create path to move directory to, move it, and then setup the symlink
bb.utils.mkdirhier(os.path.dirname(target))
#bb.note("Fixup Perms: Rename %s -> %s" % (dir, ptarget))
- os.rename(origin, target)
+ bb.utils.rename(origin, target)
#bb.note("Fixup Perms: Link %s -> %s" % (dir, link))
os.symlink(link, origin)
@@ -1967,7 +1967,7 @@ python package_do_shlibs() {
for (old, new) in renames:
bb.note("Renaming %s to %s" % (old, new))
- os.rename(old, new)
+ bb.utils.rename(old, new)
pkgfiles[pkg].remove(old)
shlibs_file = os.path.join(shlibswork_dir, pkg + ".list")
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 84a9a6dd12..86706da842 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -684,8 +684,8 @@ python do_package_rpm () {
cmd = cmd + " --define '_use_internal_dependency_generator 0'"
cmd = cmd + " --define '_binaries_in_noarch_packages_terminate_build 0'"
cmd = cmd + " --define '_build_id_links none'"
- cmd = cmd + " --define '_binary_payload w6T.xzdio'"
- cmd = cmd + " --define '_source_payload w6T.xzdio'"
+ cmd = cmd + " --define '_binary_payload w6T%d.xzdio'" % int(d.getVar("XZ_THREADS"))
+ cmd = cmd + " --define '_source_payload w6T%d.xzdio'" % int(d.getVar("XZ_THREADS"))
cmd = cmd + " --define 'clamp_mtime_to_source_date_epoch 1'"
cmd = cmd + " --define 'use_source_date_epoch_as_buildtime 1'"
cmd = cmd + " --define '_buildhost reproducible'"
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index 84232ed9f5..fe840d9cfb 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -165,7 +165,7 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath):
shutil.rmtree(temp_sdkbasepath)
except FileNotFoundError:
pass
- os.rename(sdkbasepath, temp_sdkbasepath)
+ bb.utils.rename(sdkbasepath, temp_sdkbasepath)
cmdprefix = '. %s .; ' % conf_initpath
logfile = d.getVar('WORKDIR') + '/tasklist_bb_log.txt'
try:
@@ -175,7 +175,7 @@ def create_filtered_tasklist(d, sdkbasepath, tasklistfile, conf_initpath):
if 'attempted to execute unexpectedly and should have been setscened' in e.stdout:
msg += '\n----------\n\nNOTE: "attempted to execute unexpectedly and should have been setscened" errors indicate this may be caused by missing sstate artifacts that were likely produced in earlier builds, but have been subsequently deleted for some reason.\n'
bb.fatal(msg)
- os.rename(temp_sdkbasepath, sdkbasepath)
+ bb.utils.rename(temp_sdkbasepath, sdkbasepath)
# Clean out residue of running bitbake, which check_sstate_task_list()
# will effectively do
clean_esdk_builddir(d, sdkbasepath)
diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass
index 47611edea2..466916299a 100644
--- a/meta/classes/ptest.bbclass
+++ b/meta/classes/ptest.bbclass
@@ -20,6 +20,8 @@ RRECOMMENDS_${PN}-ptest += "ptest-runner"
PACKAGES =+ "${@bb.utils.contains('PTEST_ENABLED', '1', '${PN}-ptest', '', d)}"
+require conf/distro/include/ptest-packagelists.inc
+
do_configure_ptest() {
:
}
@@ -116,4 +118,13 @@ python () {
if not(d.getVar('PTEST_ENABLED') == "1"):
for i in ['do_configure_ptest_base', 'do_compile_ptest_base', 'do_install_ptest_base']:
bb.build.deltask(i, d)
+
+ # This checks that ptest package is actually included
+ # in standard oe-core ptest images - only for oe-core recipes
+ if not 'meta/recipes' in d.getVar('FILE') or not(d.getVar('PTEST_ENABLED') == "1"):
+ return
+
+ enabled_ptests = " ".join([d.getVar('PTESTS_FAST'),d.getVar('PTESTS_SLOW'), d.getVar('PTESTS_PROBLEMS')]).split()
+ if (d.getVar('PN') + "-ptest").replace(d.getVar('MLPREFIX'), '') not in enabled_ptests:
+ bb.error("Recipe %s supports ptests but is not included in oe-core's conf/distro/include/ptest-packagelists.inc" % d.getVar("PN"))
}
diff --git a/meta/classes/qemuboot.bbclass b/meta/classes/qemuboot.bbclass
index 1f8012edc1..2b50ddaa22 100644
--- a/meta/classes/qemuboot.bbclass
+++ b/meta/classes/qemuboot.bbclass
@@ -19,6 +19,9 @@
# QB_CPU_KVM: the similar to QB_CPU, but used when kvm, e.g., '-cpu kvm64',
# set it when support kvm.
#
+# QB_SMP: amount of CPU cores inside qemu guest, each mapped to a thread on the host,
+# e.g. "-smp 8".
+#
# QB_KERNEL_CMDLINE_APPEND: options to append to kernel's -append
# option, e.g., "console=ttyS0 console=tty"
#
@@ -80,6 +83,7 @@
# See "runqemu help" for more info
QB_MEM ?= "-m 256"
+QB_SMP ?= ""
QB_SERIAL_OPT ?= "-serial mon:stdio -serial null"
QB_DEFAULT_KERNEL ?= "${KERNEL_IMAGETYPE}"
QB_DEFAULT_FSTYPE ?= "ext4"
diff --git a/meta/classes/reproducible_build.bbclass b/meta/classes/reproducible_build.bbclass
index f06e00d70d..278eeedc74 100644
--- a/meta/classes/reproducible_build.bbclass
+++ b/meta/classes/reproducible_build.bbclass
@@ -41,6 +41,9 @@ SDE_DIR = "${WORKDIR}/source-date-epoch"
SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
+# Enable compiler warning when the __TIME__, __DATE__ and __TIMESTAMP__ macros are used.
+TARGET_CC_ARCH_append_class-target = " -Wdate-time"
+
# A SOURCE_DATE_EPOCH of '0' might be misinterpreted as no SDE
export SOURCE_DATE_EPOCH_FALLBACK ??= "1302044400"
@@ -63,7 +66,7 @@ python do_deploy_source_date_epoch_setscene () {
if os.path.exists(sde_file):
target = d.getVar('SDE_FILE')
bb.debug(1, "Moving setscene SDE file %s -> %s" % (sde_file, target))
- os.rename(sde_file, target)
+ bb.utils.rename(sde_file, target)
else:
bb.debug(1, "%s not found!" % sde_file)
}
@@ -77,17 +80,16 @@ python create_source_date_epoch_stamp() {
import oe.reproducible
epochfile = d.getVar('SDE_FILE')
- # If it exists we need to regenerate as the sources may have changed
- if os.path.isfile(epochfile):
- bb.debug(1, "Deleting existing SOURCE_DATE_EPOCH from: %s" % epochfile)
- os.remove(epochfile)
+ tmp_file = "%s.new" % epochfile
source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
bb.utils.mkdirhier(d.getVar('SDE_DIR'))
- with open(epochfile, 'w') as f:
+ with open(tmp_file, 'w') as f:
f.write(str(source_date_epoch))
+
+ os.rename(tmp_file, epochfile)
}
def get_source_date_epoch_value(d):
@@ -97,7 +99,7 @@ def get_source_date_epoch_value(d):
epochfile = d.getVar('SDE_FILE')
source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
- if os.path.isfile(epochfile):
+ try:
with open(epochfile, 'r') as f:
s = f.read()
try:
@@ -110,7 +112,7 @@ def get_source_date_epoch_value(d):
bb.warn("SOURCE_DATE_EPOCH value '%s' is invalid. Reverting to SOURCE_DATE_EPOCH_FALLBACK" % s)
source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
- else:
+ except FileNotFoundError:
bb.debug(1, "Cannot find %s. SOURCE_DATE_EPOCH will default to %d" % (epochfile, source_date_epoch))
d.setVar('__CACHED_SOURCE_DATE_EPOCH', str(source_date_epoch))
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index a377917f2a..e907a3566f 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -392,9 +392,12 @@ def check_connectivity(d):
msg = data.getVar('CONNECTIVITY_CHECK_MSG') or ""
if len(msg) == 0:
msg = "%s.\n" % err
- msg += " Please ensure your host's network is configured correctly,\n"
- msg += " or set BB_NO_NETWORK = \"1\" to disable network access if\n"
- msg += " all required sources are on local disk.\n"
+ msg += " Please ensure your host's network is configured correctly.\n"
+ msg += " If your ISP or network is blocking the above URL,\n"
+ msg += " try with another domain name, for example by setting:\n"
+ msg += " CONNECTIVITY_CHECK_URIS = \"https://www.yoctoproject.org/\""
+ msg += " You could also set BB_NO_NETWORK = \"1\" to disable network\n"
+ msg += " access if all required sources are on local disk.\n"
retval = msg
return retval
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 8e8efd18d5..3a3f7cc24b 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -319,6 +319,8 @@ def sstate_install(ss, d):
if os.path.exists(i):
with open(i, "r") as f:
manifests = f.readlines()
+ # We append new entries, we don't remove older entries which may have the same
+ # manifest name but different versions from stamp/workdir. See below.
if filedata not in manifests:
with open(i, "a+") as f:
f.write(filedata)
@@ -401,7 +403,7 @@ def sstate_installpkgdir(ss, d):
for state in ss['dirs']:
prepdir(state[1])
- os.rename(sstateinst + state[0], state[1])
+ bb.utils.rename(sstateinst + state[0], state[1])
sstate_install(ss, d)
for plain in ss['plaindirs']:
@@ -413,7 +415,7 @@ def sstate_installpkgdir(ss, d):
dest = plain
bb.utils.mkdirhier(src)
prepdir(dest)
- os.rename(src, dest)
+ bb.utils.rename(src, dest)
return True
@@ -664,7 +666,7 @@ def sstate_package(ss, d):
continue
bb.error("sstate found an absolute path symlink %s pointing at %s. Please replace this with a relative link." % (srcpath, link))
bb.debug(2, "Preparing tree %s for packaging at %s" % (state[1], sstatebuild + state[0]))
- os.rename(state[1], sstatebuild + state[0])
+ bb.utils.rename(state[1], sstatebuild + state[0])
workdir = d.getVar('WORKDIR')
sharedworkdir = os.path.join(d.getVar('TMPDIR'), "work-shared")
@@ -674,7 +676,7 @@ def sstate_package(ss, d):
pdir = plain.replace(sharedworkdir, sstatebuild)
bb.utils.mkdirhier(plain)
bb.utils.mkdirhier(pdir)
- os.rename(plain, pdir)
+ bb.utils.rename(plain, pdir)
d.setVar('SSTATE_BUILDDIR', sstatebuild)
d.setVar('SSTATE_INSTDIR', sstatebuild)
@@ -704,6 +706,8 @@ def sstate_package(ss, d):
return
+sstate_package[vardepsexclude] += "SSTATE_SIG_KEY"
+
def pstaging_fetch(sstatefetch, d):
import bb.fetch2
@@ -1183,11 +1187,21 @@ python sstate_eventhandler_reachablestamps() {
i = d.expand("${SSTATE_MANIFESTS}/index-" + a)
if not os.path.exists(i):
continue
+ manseen = set()
+ ignore = []
with open(i, "r") as f:
lines = f.readlines()
- for l in lines:
+ for l in reversed(lines):
try:
(stamp, manifest, workdir) = l.split()
+ # The index may have multiple entries for the same manifest as the code above only appends
+ # new entries and there may be an entry with matching manifest but differing version in stamp/workdir.
+ # The last entry in the list is the valid one, any earlier entries with matching manifests
+ # should be ignored.
+ if manifest in manseen:
+ ignore.append(l)
+ continue
+ manseen.add(manifest)
if stamp not in stamps and stamp not in preservestamps and stamp in machineindex:
toremove.append(l)
if stamp not in seen:
@@ -1218,6 +1232,8 @@ python sstate_eventhandler_reachablestamps() {
with open(i, "w") as f:
for l in lines:
+ if l in ignore:
+ continue
f.write(l)
machineindex |= set(stamps)
with open(mi, "w") as f:
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index e613759503..43de9d4d76 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -127,6 +127,11 @@ testimage_dump_host () {
netstat -an
}
+testimage_dump_monitor () {
+ query-status
+ query-block
+}
+
python do_testimage() {
testimage_main(d)
}
@@ -320,6 +325,7 @@ def testimage_main(d):
target_kwargs['powercontrol_extra_args'] = d.getVar("TEST_POWERCONTROL_EXTRA_ARGS") or ""
target_kwargs['serialcontrol_cmd'] = d.getVar("TEST_SERIALCONTROL_CMD") or None
target_kwargs['serialcontrol_extra_args'] = d.getVar("TEST_SERIALCONTROL_EXTRA_ARGS") or ""
+ target_kwargs['testimage_dump_monitor'] = d.getVar("testimage_dump_monitor") or ""
target_kwargs['testimage_dump_target'] = d.getVar("testimage_dump_target") or ""
def export_ssh_agent(d):
diff --git a/meta/classes/uboot-config.bbclass b/meta/classes/uboot-config.bbclass
index 3bba02828b..451db0c650 100644
--- a/meta/classes/uboot-config.bbclass
+++ b/meta/classes/uboot-config.bbclass
@@ -71,6 +71,10 @@ UBOOT_MKIMAGE_SIGN ?= "${UBOOT_MKIMAGE}"
UBOOT_MKIMAGE_SIGN_ARGS ?= ""
SPL_MKIMAGE_SIGN_ARGS ?= ""
+# Options to deploy the u-boot device tree
+UBOOT_DTB ?= ""
+UBOOT_DTB_BINARY ??= ""
+
python () {
ubootmachine = d.getVar("UBOOT_MACHINE")
ubootconfigflags = d.getVarFlags('UBOOT_CONFIG')
diff --git a/meta/classes/uboot-sign.bbclass b/meta/classes/uboot-sign.bbclass
index d11882f90f..29b2edc833 100644
--- a/meta/classes/uboot-sign.bbclass
+++ b/meta/classes/uboot-sign.bbclass
@@ -255,32 +255,7 @@ do_install_append() {
fi
}
-do_generate_rsa_keys() {
- if [ "${UBOOT_SIGN_ENABLE}" = "0" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then
- bbwarn "FIT_GENERATE_KEYS is set to 1 even though UBOOT_SIGN_ENABLE is set to 0. The keys will not be generated as they won't be used."
- fi
-
- if [ "${UBOOT_SIGN_ENABLE}" = "1" ] && [ "${FIT_GENERATE_KEYS}" = "1" ]; then
-
- # Generate keys only if they don't already exist
- if [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key ] || \
- [ ! -f "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt ]; then
-
- # make directory if it does not already exist
- mkdir -p "${UBOOT_SIGN_KEYDIR}"
-
- echo "Generating RSA private key for signing fitImage"
- openssl genrsa ${FIT_KEY_GENRSA_ARGS} -out \
- "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \
- "${FIT_SIGN_NUMBITS}"
-
- echo "Generating certificate for signing fitImage"
- openssl req ${FIT_KEY_REQ_ARGS} "${FIT_KEY_SIGN_PKCS}" \
- -key "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \
- -out "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt
- fi
- fi
-
+do_uboot_generate_rsa_keys() {
if [ "${SPL_SIGN_ENABLE}" = "0" ] && [ "${UBOOT_FIT_GENERATE_KEYS}" = "1" ]; then
bbwarn "UBOOT_FIT_GENERATE_KEYS is set to 1 eventhough SPL_SIGN_ENABLE is set to 0. The keys will not be generated as they won't be used."
fi
@@ -308,7 +283,7 @@ do_generate_rsa_keys() {
}
-addtask generate_rsa_keys before do_uboot_assemble_fitimage after do_compile
+addtask uboot_generate_rsa_keys before do_uboot_assemble_fitimage after do_compile
# Create a ITS file for the U-boot FIT, for use when
# we want to sign it so that the SPL can verify it
diff --git a/meta/classes/update-alternatives.bbclass b/meta/classes/update-alternatives.bbclass
index 8c2b66e7f1..000e4d5664 100644
--- a/meta/classes/update-alternatives.bbclass
+++ b/meta/classes/update-alternatives.bbclass
@@ -184,7 +184,7 @@ python apply_update_alternative_renames () {
link_rename.append((alt_target, alt_target_rename))
else:
bb.note('%s: Rename %s -> %s' % (pn, alt_target, alt_target_rename))
- os.rename(src, dest)
+ bb.utils.rename(src, dest)
update_files(alt_target, alt_target_rename, pkg, d)
else:
bb.warn("%s: alternative target (%s or %s) does not exist, skipping..." % (pn, alt_target, alt_target_rename))
@@ -201,7 +201,7 @@ python apply_update_alternative_renames () {
if os.path.lexists(link_target):
# Ok, the link_target exists, we can rename
bb.note('%s: Rename (link) %s -> %s' % (pn, alt_target, alt_target_rename))
- os.rename(src, dest)
+ bb.utils.rename(src, dest)
else:
# Try to resolve the broken link to link.${BPN}
link_maybe = '%s.%s' % (os.readlink(src), pn)
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 385fc7dd55..f451ba6a47 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -173,25 +173,25 @@ DATETIME = "${DATE}${TIME}"
# python-native should be here but python relies on building
# its own in staging
ASSUME_PROVIDED = "\
+ bash-native \
bzip2-native \
chrpath-native \
+ diffstat-native \
file-native \
findutils-native \
gawk-native \
git-native \
grep-native \
- diffstat-native \
- patch-native \
- libgcc-native \
hostperl-runtime-native \
hostpython-runtime-native \
+ libgcc-native \
+ patch-native \
+ sed-native \
tar-native \
- virtual/libintl-native \
- virtual/libiconv-native \
- virtual/crypt-native \
texinfo-native \
- bash-native \
- sed-native \
+ virtual/crypt-native \
+ virtual/libiconv-native \
+ virtual/libintl-native \
wget-native \
"
# gzip-native should be listed above?
@@ -527,7 +527,7 @@ export STRIP = "${HOST_PREFIX}strip"
export OBJCOPY = "${HOST_PREFIX}objcopy"
export OBJDUMP = "${HOST_PREFIX}objdump"
export STRINGS = "${HOST_PREFIX}strings"
-export NM = "${HOST_PREFIX}nm"
+export NM = "${HOST_PREFIX}gcc-nm"
export READELF = "${HOST_PREFIX}readelf"
PYTHON = "${@sys.executable}"
@@ -635,6 +635,7 @@ BBLAYERS_FETCH_DIR ??= "${COREBASE}"
##################################################################
APACHE_MIRROR = "https://archive.apache.org/dist"
+CPAN_MIRROR = "https://search.cpan.org/CPAN"
DEBIAN_MIRROR = "http://ftp.debian.org/debian/pool"
GENTOO_MIRROR = "http://distfiles.gentoo.org/distfiles"
GNOME_GIT = "git://gitlab.gnome.org/GNOME"
@@ -643,12 +644,12 @@ GNU_MIRROR = "https://ftp.gnu.org/gnu"
GNUPG_MIRROR = "https://www.gnupg.org/ftp/gcrypt"
GPE_MIRROR = "http://gpe.linuxtogo.org/download/source"
KERNELORG_MIRROR = "https://cdn.kernel.org/pub"
+SAMBA_MIRROR = "http://samba.org/samba/ftp"
+SAVANNAH_GNU_MIRROR = "https://download.savannah.gnu.org/releases"
+SAVANNAH_NONGNU_MIRROR = "https://download.savannah.nongnu.org/releases"
SOURCEFORGE_MIRROR = "https://downloads.sourceforge.net"
XLIBS_MIRROR = "https://xlibs.freedesktop.org/release"
XORG_MIRROR = "https://www.x.org/releases/"
-SAVANNAH_GNU_MIRROR = "https://download.savannah.gnu.org/releases"
-SAVANNAH_NONGNU_MIRROR = "https://download.savannah.nongnu.org/releases"
-CPAN_MIRROR = "https://search.cpan.org/CPAN"
SRC_URI[vardepsexclude] += "\
APACHE_MIRROR \
@@ -661,6 +662,7 @@ SRC_URI[vardepsexclude] += "\
GNUPG_MIRROR \
GPE_MIRROR \
KERNELORG_MIRROR \
+ SAMBA_MIRROR \
SAVANNAH_GNU_MIRROR \
SAVANNAH_NONGNU_MIRROR \
SOURCEFORGE_MIRROR \
diff --git a/meta/conf/distro/include/cve-extra-exclusions.inc b/meta/conf/distro/include/cve-extra-exclusions.inc
new file mode 100644
index 0000000000..cf07acce1d
--- /dev/null
+++ b/meta/conf/distro/include/cve-extra-exclusions.inc
@@ -0,0 +1,73 @@
+# This file contains a list of CVE's where resolution has proven to be impractical
+# or there is no reasonable action the Yocto Project can take to resolve the issue.
+# It contains all the information we are aware of about an issue and analysis about
+# why we believe it can't be fixed/handled. Additional information is welcome through
+# patches to the file.
+#
+# Include this file in your local.conf or distro.conf to exclude these CVE's
+# from the cve-check results or add to the bitbake command with:
+# -R conf/distro/include/cve-extra-exclusions.inc
+#
+# The file is not included by default since users should review this data to ensure
+# it matches their expectations and usage of the project.
+#
+# We may also include "in-flight" information about current/ongoing CVE work with
+# the aim of sharing that work and ensuring we don't duplicate it.
+#
+
+
+# strace https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2000-0006
+# CVE is more than 20 years old with no resolution evident
+# broken links in CVE database references make resolution impractical
+CVE_CHECK_WHITELIST += "CVE-2000-0006"
+
+# epiphany https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2005-0238
+# The issue here is spoofing of domain names using characters from other character sets.
+# There has been much discussion amongst the epiphany and webkit developers and
+# whilst there are improvements about how domains are handled and displayed to the user
+# there is unlikely ever to be a single fix to webkit or epiphany which addresses this
+# problem. Whitelisted as there isn't any mitigation or fix or way to progress this further
+# we can seem to take.
+CVE_CHECK_WHITELIST += "CVE-2005-0238"
+
+# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4756
+# Issue is memory exhaustion via glob() calls, e.g. from within an ftp server
+# Best discussion in https://bugzilla.redhat.com/show_bug.cgi?id=681681
+# Upstream don't see it as a security issue, ftp servers shouldn't be passing
+# this to libc glob. Exclude as upstream have no plans to add BSD's GLOB_LIMIT or similar
+CVE_CHECK_WHITELIST += "CVE-2010-4756"
+
+# go https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-29509
+# go https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2020-29511
+# The encoding/xml package in go can potentially be used for security exploits if not used correctly
+# CVE applies to a netapp product as well as flagging a general issue. We don't ship anything
+# exposing this interface in an exploitable way
+CVE_CHECK_WHITELIST += "CVE-2020-29509 CVE-2020-29511"
+
+
+
+#### 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_WHITELIST += "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.
+
+# flex:flex-native https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-6293
+# Upstream bug, still open: https://github.com/westes/flex/issues/414
+# Causes memory exhaustion so potential DoS but no buffer overflow, low priority
+
+# 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
+
+
+
diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc
index 433d4b6651..ac10245767 100644
--- a/meta/conf/distro/include/default-distrovars.inc
+++ b/meta/conf/distro/include/default-distrovars.inc
@@ -10,7 +10,10 @@ LOCALE_UTF8_ONLY ?= "0"
LOCALE_UTF8_IS_DEFAULT ?= "1"
LOCALE_UTF8_IS_DEFAULT_class-nativesdk = "0"
-DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat"
+# seccomp is not yet ported to rv32
+DISTRO_FEATURES_DEFAULT_remove_riscv32 = "seccomp"
+
+DISTRO_FEATURES_DEFAULT ?= "acl alsa argp 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/distro_alias.inc b/meta/conf/distro/include/distro_alias.inc
index b4dfcfc5f5..001d269346 100644
--- a/meta/conf/distro/include/distro_alias.inc
+++ b/meta/conf/distro/include/distro_alias.inc
@@ -26,21 +26,11 @@ DISTRO_PN_ALIAS_pn-builder = "OE-Core"
DISTRO_PN_ALIAS_pn-buildtools-tarball = "OE-Core"
DISTRO_PN_ALIAS_pn-cdrtools = "OpenSUSE=cdrtools OSPDT"
DISTRO_PN_ALIAS_pn-chkconfig-alternatives = "Mandriva=chkconfig Debian=chkconfig"
-DISTRO_PN_ALIAS_pn-clutter = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
-DISTRO_PN_ALIAS_pn-clutter-1.8 = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
-DISTRO_PN_ALIAS_pn-clutter-gst-1.0 = "Debian=clutter-gst Ubuntu=clutter-gst Fedora=clutter-gst"
-DISTRO_PN_ALIAS_pn-clutter-gst-1.8 = "Fedora=clutter-gst Debian=libclutter-gst"
-DISTRO_PN_ALIAS_pn-clutter-gst-3.0 = "Ubuntu=libclutter-gst Debian=libclutter-gst"
-DISTRO_PN_ALIAS_pn-clutter-gtk-1.0 = "Debian=clutter-gtk Ubuntu=clutter-gtk Fedora=clutter-gtk"
-DISTRO_PN_ALIAS_pn-clutter-gtk-1.8 = "Fedora=clutter-gtk OpenSuSE=clutter-gtk Ubuntu=clutter-gtk-0.10 Mandriva=clutter-gtk Debian=clutter-gtk"
-DISTRO_PN_ALIAS_pn-cogl-1.0 = "Debian=cogl Ubuntu=cogl Fedora=cogl"
-DISTRO_PN_ALIAS_pn-cogl = "Fedora=cogl OpenSuse=cogl Ubuntu=cogl Mandriva=cogl Debian=cogl"
DISTRO_PN_ALIAS_pn-connman = "Meego=connman"
DISTRO_PN_ALIAS_pn-connman-conf = "OE-Core"
DISTRO_PN_ALIAS_pn-connman-gnome = "Intel"
DISTRO_PN_ALIAS_pn-console-tools = "Debian=console-tools Ubuntu=console-tools"
DISTRO_PN_ALIAS_pn-core-image-base = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-full-cmdline = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-kernel-dev = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-minimal = "OE-Core"
@@ -248,7 +238,6 @@ DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-boot = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-buildessential = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-eclipse-debug = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-full-cmdline = "OE-Core"
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 0973633f58..71943ffe26 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -48,9 +48,9 @@ RECIPE_MAINTAINER_pn-asciidoc = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-aspell = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-assimp = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-at = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-at-spi2-atk = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-at-spi2-core = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-atk = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-at-spi2-atk = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-at-spi2-core = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-atk = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-attr = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-autoconf = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-autoconf-archive = "Robert Yang <liezhi.yang@windriver.com>"
@@ -93,12 +93,8 @@ RECIPE_MAINTAINER_pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.co
RECIPE_MAINTAINER_pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-chrpath = "Yi Zhao <yi.zhao@windriver.com>"
-RECIPE_MAINTAINER_pn-clutter-1.0 = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-clutter-gst-3.0 = "Ross Burton <ross.burton@arm.com>"
-RECIPE_MAINTAINER_pn-clutter-gtk-1.0 = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-cmake = "Pascal Bach <pascal.bach@siemens.com>"
RECIPE_MAINTAINER_pn-cmake-native = "Pascal Bach <pascal.bach@siemens.com>"
-RECIPE_MAINTAINER_pn-cogl-1.0 = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-connman = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-connman-conf = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-connman-gnome = "Ross Burton <ross.burton@arm.com>"
@@ -111,16 +107,16 @@ RECIPE_MAINTAINER_pn-core-image-minimal-mtdutils = "Richard Purdie <richard.purd
RECIPE_MAINTAINER_pn-core-image-tiny-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-full-cmdline = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-kernel-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-ptest-all = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-ptest-fast = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-sato = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-sato-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-testmaster-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-testmaster = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-clutter = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-weston = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER_pn-core-image-weston-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-x11 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-sato-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-sato-ptest-fast = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-sato-sdk-ptest = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-cracklib = "Armin Kuster <akuster808@gmail.com>"
@@ -168,6 +164,7 @@ RECIPE_MAINTAINER_pn-ell = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
RECIPE_MAINTAINER_pn-enchant2 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-encodings = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-epiphany = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-erofs-utils = "Richard Weinberger <richard@nod.at>"
RECIPE_MAINTAINER_pn-ethtool = "Changhyeok Bae <changhyeok.bae@gmail.com>"
RECIPE_MAINTAINER_pn-eudev = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-expat = "Yi Zhao <yi.zhao@windriver.com>"
@@ -191,7 +188,7 @@ RECIPE_MAINTAINER_pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r
RECIPE_MAINTAINER_pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-source-10.3.0 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-source-11.1.0 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gconf = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-gdb = "Khem Raj <raj.khem@gmail.com>"
@@ -202,6 +199,7 @@ RECIPE_MAINTAINER_pn-gdk-pixbuf = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-gettext = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-gettext-minimal-native = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-ghostscript = "Hongxu Jia <hongxu.jia@windriver.com>"
+RECIPE_MAINTAINER_pn-gi-docgen = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-git = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-glew = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -312,7 +310,7 @@ RECIPE_MAINTAINER_pn-libcap-ng-python = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-libcgroup = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libconvert-asn1-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-libconvert-asn1-perl = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-libcroco = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -322,7 +320,7 @@ RECIPE_MAINTAINER_pn-libdrm = "Otavio Salvador <otavio.salvador@ossystems.com.br
RECIPE_MAINTAINER_pn-libedit = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libepoxy = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-liberation-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-liberror-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-liberror-perl = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-libevdev = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libevent = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libexif = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -353,7 +351,7 @@ RECIPE_MAINTAINER_pn-libmd = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libmicrohttpd = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libmnl = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libmpc = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-libmodule-build-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-libmodule-build-perl = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-libmodulemd = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libnewt = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-libnl = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -378,6 +376,7 @@ RECIPE_MAINTAINER_pn-librepo = "Wang Mingyu <wangmy@fujitsu.com>"
RECIPE_MAINTAINER_pn-librsvg = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libsamplerate0 = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER_pn-libsdl2 = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER_pn-libseccomp = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libsecret = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libsm = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libsndfile1 = "Unassigned <unassigned@yoctoproject.org>"
@@ -386,9 +385,9 @@ RECIPE_MAINTAINER_pn-libsoup-2.4 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libssh2 = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER_pn-libssp-nonshared = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libtasn1 = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libtest-needs-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-libtest-needs-perl = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-libtheora = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER_pn-libtimedate-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-libtimedate-perl = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-libtirpc = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libtool = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-libtool-cross = "Robert Yang <liezhi.yang@windriver.com>"
@@ -397,7 +396,7 @@ RECIPE_MAINTAINER_pn-libucontext = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libunistring = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libunwind = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER_pn-liburcu = "Wang Mingyu <wangmy@fujitsu.com>"
-RECIPE_MAINTAINER_pn-liburi-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-liburi-perl = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-libusb1 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libubootenv = "Stefano Babic <sbabic@denx.de>"
RECIPE_MAINTAINER_pn-libuv = "Armin Kuster <akuster@mvista.com>"
@@ -425,12 +424,12 @@ RECIPE_MAINTAINER_pn-libxi = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxinerama = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxkbcommon = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxkbfile = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxml-namespacesupport-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-libxml-parser-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-libxml-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-libxml-sax-base-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-libxml-sax-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-libxml-simple-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-libxml-namespacesupport-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-libxml-parser-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-libxml-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-libxml-sax-base-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-libxml-sax-perl = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-libxml-simple-perl = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-libxml2 = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-libxmu = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxpm = "Armin Kuster <akuster808@gmail.com>"
@@ -503,7 +502,6 @@ RECIPE_MAINTAINER_pn-mingetty = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-mini-x-session = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-minicom = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-mkfontscale = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-mklibs-native = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-mmc-utils = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-mobile-broadband-provider-info = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-modutils-initscripts = "Yi Zhao <yi.zhao@windriver.com>"
@@ -517,7 +515,6 @@ RECIPE_MAINTAINER_pn-mtools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-musl = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-musl-obstack = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-musl-utils = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-mx-1.0 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-nasm = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-nativesdk-buildtools-perl-dummy = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-nativesdk-icecc-toolchain = "Joshua Watt <JPEWhacker@gmail.com>"
@@ -561,6 +558,7 @@ RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>"
RECIPE_MAINTAINER_pn-perl = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-perlcross = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-piglit = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-pigz = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-pinentry = "Armin Kuster <akuster808@gmail.com>"
@@ -585,8 +583,8 @@ RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Unassigned <unassigned@yocto
RECIPE_MAINTAINER_pn-puzzles = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-python3 = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-async = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-atomicwrites = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-python3-attrs = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-atomicwrites = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-attrs = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-python3-cython = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-dbus = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
RECIPE_MAINTAINER_pn-python3-dbusmock = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
@@ -596,42 +594,46 @@ RECIPE_MAINTAINER_pn-python3-pycryptodomex = "Joshua Watt <JPEWhacker@gmail.com>
RECIPE_MAINTAINER_pn-python3-extras = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-hypothesis = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-python3-importlib-metadata = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-python3-iniconfig = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-hypothesis = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-importlib-metadata = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-iniconfig = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-markdown = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-python3-markupsafe = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-python3-more-itertools = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-more-itertools = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-packaging = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-python3-pathlib2 = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-packaging = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-pathlib2 = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-python3-pbr = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
RECIPE_MAINTAINER_pn-python3-pip = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
-RECIPE_MAINTAINER_pn-python3-pluggy = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-python3-py = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-pluggy = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-py = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-pyyaml = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-python3-pycairo = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
RECIPE_MAINTAINER_pn-python3-pyelftools = "Joshua Watt <JPEWhacker@gmail.com>"
RECIPE_MAINTAINER_pn-python3-pygments = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-pygobject = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
RECIPE_MAINTAINER_pn-python3-pyparsing = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-pytest = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-pytest = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-python3-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-setuptools-scm = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-setuptools-scm = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-python3-six = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER_pn-python3-smartypants = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-python3-smmap = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-sortedcontainers = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-sortedcontainers = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-python3-subunit = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-python3-testtools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
-RECIPE_MAINTAINER_pn-python3-toml = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-python3-wcwidth = "Tim Orling <timothy.t.orling@linux.intel.com>"
-RECIPE_MAINTAINER_pn-python3-zipp = "Tim Orling <timothy.t.orling@linux.intel.com>"
+RECIPE_MAINTAINER_pn-python3-toml = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-typogrify = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER_pn-python3-wcwidth = "Tim Orling <timothy.t.orling@intel.com>"
+RECIPE_MAINTAINER_pn-python3-zipp = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER_pn-qemu = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-qemu-helper-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-qemu-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index e0a876dbdc..d489ad8200 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -14,17 +14,21 @@ PTESTS_FAST = "\
diffutils-ptest \
elfutils-ptest \
ethtool-ptest \
+ expat-ptest \
flex-ptest \
gawk-ptest \
gdbm-ptest \
gdk-pixbuf-ptest \
gettext-ptest \
+ glib-networking-ptest \
gzip-ptest \
json-glib-ptest \
libconvert-asn1-perl-ptest \
liberror-perl-ptest \
+ libnl-ptest \
libmodule-build-perl-ptest \
libpcre-ptest \
+ libssh2-ptest \
libtimedate-perl-ptest \
libtest-needs-perl-ptest \
liburi-perl-ptest \
@@ -43,6 +47,12 @@ PTESTS_FAST = "\
opkg-ptest \
pango-ptest \
parted-ptest \
+ python3-atomicwrites-ptest \
+ python3-jinja2-ptest \
+ python3-markupsafe-ptest \
+ python3-more-itertools-ptest \
+ python3-pluggy-ptest \
+ python3-wcwidth-ptest \
qemu-ptest \
quilt-ptest \
sed-ptest \
@@ -51,17 +61,7 @@ PTESTS_FAST = "\
zlib-ptest \
"
PTESTS_FAST_remove_mips64 = "qemu-ptest"
-
-#PTESTS_PROBLEMS = "\
-# ruby-ptest \ # Timeout
-# clutter-1.0-ptest \ # Doesn't build due to depends on cogl-1.0
-# lz4-ptest \ # Needs a rewrite
-# rt-tests-ptest \ # Needs to be checked whether it runs at all
-# bash-ptest \ # Test outcomes are non-deterministic by design
-# ifupdown-ptest \ # Tested separately in lib/oeqa/selftest/cases/imagefeatures.py
-# mdadm-ptest \ # Tests rely on non-deterministic sleep() amounts
-# libinput-ptest \ # Tests need an unloaded system to be reliable
-#"
+PTESTS_PROBLEMS_append_mips64 = "qemu-ptest"
PTESTS_SLOW = "\
babeltrace-ptest \
@@ -85,3 +85,30 @@ PTESTS_SLOW = "\
"
PTESTS_SLOW_remove_riscv64 = "valgrind-ptest"
+PTESTS_PROBLEMS_append_riscv64 = "valgrind-ptest"
+
+# ruby-ptest \ # Timeout
+# lz4-ptest \ # Needs a rewrite
+# rt-tests-ptest \ # Needs to be checked whether it runs at all
+# bash-ptest \ # Test outcomes are non-deterministic by design
+# ifupdown-ptest \ # Tested separately in lib/oeqa/selftest/cases/imagefeatures.py
+# mdadm-ptest \ # Tests rely on non-deterministic sleep() amounts
+# libinput-ptest \ # Tests need an unloaded system to be reliable
+# libpam-ptest \ # Needs pam DISTRO_FEATURE
+# numactl-ptest \ # qemu not (yet) configured for numa; all tests are skipped
+# libseccomp-ptest \ # tests failed: 38; add to slow tests once addressed
+# python3-numpy-ptest \ # requires even more RAM and (possibly) disk space; multiple failures
+
+PTESTS_PROBLEMS = "\
+ ruby-ptest \
+ lz4-ptest \
+ rt-tests-ptest \
+ bash-ptest \
+ ifupdown-ptest \
+ mdadm-ptest \
+ libinput-ptest \
+ libpam-ptest \
+ libseccomp-ptest \
+ numactl-ptest \
+ python3-numpy-ptest \
+"
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index 76ada982f9..c6e5ac61d7 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -16,17 +16,17 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = "nativesdk-gcc-runtime"
# Default libc config
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
-GCCVERSION ?= "10.%"
+GCCVERSION ?= "11.%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.36%"
GDBVERSION ?= "10.%"
GLIBCVERSION ?= "2.33"
LINUXLIBCVERSION ?= "5.10%"
-QEMUVERSION ?= "5.2%"
+QEMUVERSION ?= "6.0%"
GOVERSION ?= "1.16%"
# 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 ?= "11.1.0"
+LLVMVERSION ?= "12.0.0"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc
index a2a2dd18ec..740cca0ecf 100644
--- a/meta/conf/distro/include/yocto-uninative.inc
+++ b/meta/conf/distro/include/yocto-uninative.inc
@@ -8,7 +8,7 @@
UNINATIVE_MAXGLIBCVERSION = "2.33"
-UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/3.0/"
-UNINATIVE_CHECKSUM[aarch64] ?= "1c668909098c5b56132067adc69a249cb771f4560428e5822de903a12d97bf33"
-UNINATIVE_CHECKSUM[i686] ?= "e6cc2fc056234cffa6a2ff084cce27d544ea3f487a62b5e253351cefd4421900"
-UNINATIVE_CHECKSUM[x86_64] ?= "5ec5a9276046e7eceeac749a18b175667384e1f445cd4526300a41404d985a5b"
+UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/3.2/"
+UNINATIVE_CHECKSUM[aarch64] ?= "4f0872cdca2775b637a8a99815ca5c8dd42146abe903a24a50ee0448358c764b"
+UNINATIVE_CHECKSUM[i686] ?= "e2eeab92e67263db37d9bb6d4c58579abd1f47ff4cded3171bde572fece124b2"
+UNINATIVE_CHECKSUM[x86_64] ?= "3ee8c7d55e2d4c7ae3887cddb97219f97b94efddfeee2e24923c0cb0e8ce84c6"
diff --git a/meta/conf/local.conf.sample b/meta/conf/local.conf.sample
index 870509cf1f..9caac6e152 100644
--- a/meta/conf/local.conf.sample
+++ b/meta/conf/local.conf.sample
@@ -126,11 +126,8 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
# enable extra features. Some available options which can be included in this variable
# are:
# - 'buildstats' collect build statistics
-# - 'image-mklibs' to reduce shared library files size for an image
# - 'image-prelink' in order to prelink the filesystem image
-# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
-# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-USER_CLASSES ?= "buildstats image-mklibs image-prelink"
+USER_CLASSES ?= "buildstats image-prelink"
#
@@ -167,7 +164,7 @@ PATCHRESOLVE = "noop"
#
# Monitor the disk space during the build. If there is less that 1GB of space or less
# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
-# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# shutdown the build. If there is less than 100MB or 1K inodes, perform a hard abort
# of the build. The reason for this is that running completely out of space can corrupt
# files and damages the build in ways which may not be easily recoverable.
# It's necessary to monitor /tmp, if there is no space left the build will fail
diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended
index 785a1e59df..6585ae710a 100644
--- a/meta/conf/local.conf.sample.extended
+++ b/meta/conf/local.conf.sample.extended
@@ -120,15 +120,6 @@
#
# TCMODE ?= "external-sourcery"
-# mklibs library size optimization is more useful to smaller images,
-# and less useful for bigger images. Also mklibs library optimization
-# can break the ABI compatibility, so should not be applied to the
-# images which are to be extended or upgraded later.
-#This enabled mklibs library size optimization just for the specified image.
-#MKLIBS_OPTIMIZED_IMAGES ?= "core-image-minimal"
-#This enable mklibs library size optimization will be for all the images.
-#MKLIBS_OPTIMIZED_IMAGES ?= "all"
-
# This value is currently used by pseudo to determine if the recipe should
# build both the 32-bit and 64-bit wrapper libraries on a 64-bit build system.
#
diff --git a/meta/conf/machine-sdk/ppc64.conf b/meta/conf/machine-sdk/ppc64.conf
new file mode 100644
index 0000000000..1eb064eef0
--- /dev/null
+++ b/meta/conf/machine-sdk/ppc64.conf
@@ -0,0 +1,2 @@
+SDK_ARCH = "ppc64"
+ABIEXTENSION_class-nativesdk = ""
diff --git a/meta/conf/machine/include/arm/arch-armv4.inc b/meta/conf/machine/include/arm/arch-armv4.inc
index fac2bdf952..b71739c20a 100644
--- a/meta/conf/machine/include/arm/arch-armv4.inc
+++ b/meta/conf/machine/include/arm/arch-armv4.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv4"
TUNEVALID[arm] = "Enable ARM instruction set"
TUNEVALID[armv4] = "Enable instructions for ARMv4"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4t', '', d)}"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
# enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb
# maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does
# checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value
diff --git a/meta/conf/machine/include/qemuboot-x86.inc b/meta/conf/machine/include/qemuboot-x86.inc
index 2a4760c717..a2dcdc6d5a 100644
--- a/meta/conf/machine/include/qemuboot-x86.inc
+++ b/meta/conf/machine/include/qemuboot-x86.inc
@@ -1,13 +1,14 @@
# For runqemu
IMAGE_CLASSES += "qemuboot"
-QB_CPU_x86 = "-cpu core2duo"
-QB_CPU_KVM_x86 = "-cpu core2duo"
+QB_SMP = "-smp 4"
+QB_CPU_x86 = "-cpu IvyBridge -machine q35"
+QB_CPU_KVM_x86 = "-cpu IvyBridge -machine q35"
-QB_CPU_x86-64 = "-cpu core2duo"
-QB_CPU_KVM_x86-64 = "-cpu core2duo"
+QB_CPU_x86-64 = "-cpu IvyBridge -machine q35"
+QB_CPU_KVM_x86-64 = "-cpu IvyBridge -machine q35"
QB_AUDIO_DRV = "alsa"
QB_AUDIO_OPT = "-soundhw ac97,es1370"
-QB_KERNEL_CMDLINE_APPEND = "oprofile.timer=1"
+QB_KERNEL_CMDLINE_APPEND = "oprofile.timer=1 tsc=reliable no_timer_check rcupdate.rcu_expedited=1"
QB_OPT_APPEND = "-usb -device usb-tablet"
diff --git a/meta/conf/machine/include/riscv/qemuriscv.inc b/meta/conf/machine/include/riscv/qemuriscv.inc
index 428d28bde1..20e2d465a1 100644
--- a/meta/conf/machine/include/riscv/qemuriscv.inc
+++ b/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -26,6 +26,7 @@ UBOOT_ENTRYPOINT_riscv32 = "0x80400000"
UBOOT_ENTRYPOINT_riscv64 = "0x80200000"
# qemuboot options
+QB_SMP = "-smp 4"
QB_KERNEL_CMDLINE_APPEND = "earlycon=sbi"
QB_MACHINE = "-machine virt"
QB_DEFAULT_BIOS = "fw_jump.elf"
diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
index e5ec4cc065..34fcde698c 100644
--- a/meta/conf/machine/qemuarm.conf
+++ b/meta/conf/machine/qemuarm.conf
@@ -16,6 +16,7 @@ SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine virt,highmem=off"
QB_CPU = "-cpu cortex-a15"
+QB_SMP = "-smp 4"
# Standard Serial console
QB_KERNEL_CMDLINE_APPEND = "vmalloc=256"
# For graphics to work we need to define the VGA device as well as the necessary USB devices
diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf
index 51f7ecdcfd..150a0744eb 100644
--- a/meta/conf/machine/qemuarm64.conf
+++ b/meta/conf/machine/qemuarm64.conf
@@ -16,6 +16,7 @@ SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
QB_SYSTEM_NAME = "qemu-system-aarch64"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a57"
+QB_SMP = "-smp 4"
QB_CPU_KVM = "-cpu host -machine gic-version=3"
# For graphics to work we need to define the VGA device as well as the necessary USB devices
QB_GRAPHICS = "-device VGA,edid=on"
diff --git a/meta/conf/sanity.conf b/meta/conf/sanity.conf
index ef7cee6b6b..68d4523afc 100644
--- a/meta/conf/sanity.conf
+++ b/meta/conf/sanity.conf
@@ -3,7 +3,7 @@
# See sanity.bbclass
#
# Expert users can confirm their sanity with "touch conf/sanity.conf"
-BB_MIN_VERSION = "1.49.2"
+BB_MIN_VERSION = "1.51.0"
SANITY_ABIFILE = "${TMPDIR}/abi_version"
diff --git a/meta/lib/oe/gpg_sign.py b/meta/lib/oe/gpg_sign.py
index 7634d7ef1d..492f096eaa 100644
--- a/meta/lib/oe/gpg_sign.py
+++ b/meta/lib/oe/gpg_sign.py
@@ -111,7 +111,7 @@ class LocalSigner(object):
def verify(self, sig_file):
"""Verify signature"""
- cmd = self.gpg_cmd + [" --verify", "--no-permission-warning"]
+ cmd = self.gpg_cmd + ["--verify", "--no-permission-warning"]
if self.gpg_path:
cmd += ["--homedir", self.gpg_path]
diff --git a/meta/lib/oe/package_manager/__init__.py b/meta/lib/oe/package_manager/__init__.py
index 8e7128b195..4d22bc0296 100644
--- a/meta/lib/oe/package_manager/__init__.py
+++ b/meta/lib/oe/package_manager/__init__.py
@@ -189,7 +189,7 @@ class PackageManager(object, metaclass=ABCMeta):
bb.utils.remove(self.intercepts_dir, True)
bb.utils.mkdirhier(self.intercepts_dir)
for intercept in postinst_intercepts:
- bb.utils.copyfile(intercept, os.path.join(self.intercepts_dir, os.path.basename(intercept)))
+ shutil.copy(intercept, os.path.join(self.intercepts_dir, os.path.basename(intercept)))
@abstractmethod
def _handle_intercept_failure(self, failed_script):
diff --git a/meta/lib/oe/package_manager/deb/__init__.py b/meta/lib/oe/package_manager/deb/__init__.py
index 2ee68fefb1..a4b6b6f647 100644
--- a/meta/lib/oe/package_manager/deb/__init__.py
+++ b/meta/lib/oe/package_manager/deb/__init__.py
@@ -214,7 +214,7 @@ class DpkgPM(OpkgDpkgPM):
tmp_sf.write(status)
- os.rename(status_file + ".tmp", status_file)
+ bb.utils.rename(status_file + ".tmp", status_file)
def run_pre_post_installs(self, package_name=None):
"""
@@ -299,13 +299,13 @@ class DpkgPM(OpkgDpkgPM):
for dir in dirs:
new_dir = re.sub(r"\.dpkg-new", "", dir)
if dir != new_dir:
- os.rename(os.path.join(root, dir),
+ bb.utils.rename(os.path.join(root, dir),
os.path.join(root, new_dir))
for file in files:
new_file = re.sub(r"\.dpkg-new", "", file)
if file != new_file:
- os.rename(os.path.join(root, file),
+ bb.utils.rename(os.path.join(root, file),
os.path.join(root, new_file))
diff --git a/meta/lib/oe/package_manager/ipk/__init__.py b/meta/lib/oe/package_manager/ipk/__init__.py
index da488c1c7f..4cd3963111 100644
--- a/meta/lib/oe/package_manager/ipk/__init__.py
+++ b/meta/lib/oe/package_manager/ipk/__init__.py
@@ -213,7 +213,7 @@ class OpkgPM(OpkgDpkgPM):
tmp_sf.write(status)
- os.rename(status_file + ".tmp", status_file)
+ bb.utils.rename(status_file + ".tmp", status_file)
def _create_custom_config(self):
bb.note("Building from feeds activated!")
diff --git a/meta/lib/oe/package_manager/rpm/__init__.py b/meta/lib/oe/package_manager/rpm/__init__.py
index 6df0092281..b392581069 100644
--- a/meta/lib/oe/package_manager/rpm/__init__.py
+++ b/meta/lib/oe/package_manager/rpm/__init__.py
@@ -199,6 +199,9 @@ class RpmPM(PackageManager):
failed_scriptlets_pkgnames = collections.OrderedDict()
for line in output.splitlines():
+ if line.startswith("Error: Systemctl"):
+ bb.error(line)
+
if line.startswith("Error in POSTIN scriptlet in rpm package"):
failed_scriptlets_pkgnames[line.split()[-1]] = True
diff --git a/meta/lib/oe/prservice.py b/meta/lib/oe/prservice.py
index fcdbe66c19..15ce060ff6 100644
--- a/meta/lib/oe/prservice.py
+++ b/meta/lib/oe/prservice.py
@@ -7,7 +7,7 @@ def prserv_make_conn(d, check = False):
host_params = list([_f for _f in (d.getVar("PRSERV_HOST") or '').split(':') if _f])
try:
conn = None
- conn = prserv.serv.PRServerConnection(host_params[0], int(host_params[1]))
+ conn = prserv.serv.connect(host_params[0], int(host_params[1]))
if check:
if not conn.ping():
raise Exception('service not available')
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 5f81023040..ad9fd77c8b 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -114,7 +114,7 @@ class Rootfs(object, metaclass=ABCMeta):
shutil.rmtree(self.image_rootfs + '-orig')
except:
pass
- os.rename(self.image_rootfs, self.image_rootfs + '-orig')
+ bb.utils.rename(self.image_rootfs, self.image_rootfs + '-orig')
bb.note(" Creating debug rootfs...")
bb.utils.mkdirhier(self.image_rootfs)
@@ -165,10 +165,10 @@ class Rootfs(object, metaclass=ABCMeta):
shutil.rmtree(self.image_rootfs + '-dbg')
except:
pass
- os.rename(self.image_rootfs, self.image_rootfs + '-dbg')
+ bb.utils.rename(self.image_rootfs, self.image_rootfs + '-dbg')
- bb.note(" Restoreing original rootfs...")
- os.rename(self.image_rootfs + '-orig', self.image_rootfs)
+ bb.note(" Restoring original rootfs...")
+ bb.utils.rename(self.image_rootfs + '-orig', self.image_rootfs)
def _exec_shell_cmd(self, cmd):
fakerootcmd = self.d.getVar('FAKEROOT')
@@ -305,7 +305,7 @@ class Rootfs(object, metaclass=ABCMeta):
def _check_for_kernel_modules(self, modules_dir):
for root, dirs, files in os.walk(modules_dir, topdown=True):
for name in files:
- found_ko = name.endswith(".ko")
+ found_ko = name.endswith((".ko", ".ko.gz", ".ko.xz"))
if found_ko:
return found_ko
return False
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 6cd6e11acc..47f3ca4efb 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -248,13 +248,24 @@ class SignatureGeneratorOEBasicHashMixIn(object):
f.write(' "\n')
f.write('SIGGEN_LOCKEDSIGS_TYPES_%s = "%s"' % (self.machine, " ".join(l)))
- def dump_siglist(self, sigfile):
+ def dump_siglist(self, sigfile, path_prefix_strip=None):
+ def strip_fn(fn):
+ nonlocal path_prefix_strip
+ if not path_prefix_strip:
+ return fn
+
+ fn_exp = fn.split(":")
+ if fn_exp[-1].startswith(path_prefix_strip):
+ fn_exp[-1] = fn_exp[-1][len(path_prefix_strip):]
+
+ return ":".join(fn_exp)
+
with open(sigfile, "w") as f:
tasks = []
for taskitem in self.taskhash:
(fn, task) = taskitem.rsplit(":", 1)
pn = self.lockedpnmap[fn]
- tasks.append((pn, task, fn, self.taskhash[taskitem]))
+ tasks.append((pn, task, strip_fn(fn), self.taskhash[taskitem]))
for (pn, task, fn, taskhash) in sorted(tasks):
f.write('%s:%s %s %s\n' % (pn, task, fn, taskhash))
@@ -453,7 +464,7 @@ def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache):
manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-%s-%s.%s" % (pkgarch, taskdata, taskname))
if os.path.exists(manifest):
return manifest, d2
- bb.error("Manifest %s not found in %s (variant '%s')?" % (manifest, d2.expand(" ".join(pkgarchs)), variant))
+ bb.fatal("Manifest %s not found in %s (variant '%s')?" % (manifest, d2.expand(" ".join(pkgarchs)), variant))
return None, d2
def OEOuthashBasic(path, sigfile, task, d):
diff --git a/meta/lib/oeqa/core/case.py b/meta/lib/oeqa/core/case.py
index aae451fef2..bc4446a938 100644
--- a/meta/lib/oeqa/core/case.py
+++ b/meta/lib/oeqa/core/case.py
@@ -43,8 +43,13 @@ class OETestCase(unittest.TestCase):
clss.tearDownClassMethod()
def _oeSetUp(self):
- for d in self.decorators:
- d.setUpDecorator()
+ try:
+ for d in self.decorators:
+ d.setUpDecorator()
+ except:
+ for d in self.decorators:
+ d.tearDownDecorator()
+ raise
self.setUpMethod()
def _oeTearDown(self):
diff --git a/meta/lib/oeqa/core/decorator/oetimeout.py b/meta/lib/oeqa/core/decorator/oetimeout.py
index df90d1c798..5e6873ad48 100644
--- a/meta/lib/oeqa/core/decorator/oetimeout.py
+++ b/meta/lib/oeqa/core/decorator/oetimeout.py
@@ -24,5 +24,6 @@ class OETimeout(OETestDecorator):
def tearDownDecorator(self):
signal.alarm(0)
- signal.signal(signal.SIGALRM, self.alarmSignal)
- self.logger.debug("Removed SIGALRM handler")
+ if hasattr(self, 'alarmSignal'):
+ signal.signal(signal.SIGALRM, self.alarmSignal)
+ self.logger.debug("Removed SIGALRM handler")
diff --git a/meta/lib/oeqa/core/target/qemu.py b/meta/lib/oeqa/core/target/qemu.py
index 792efca1f8..79fd724f7d 100644
--- a/meta/lib/oeqa/core/target/qemu.py
+++ b/meta/lib/oeqa/core/target/qemu.py
@@ -8,10 +8,13 @@ import os
import sys
import signal
import time
+import glob
+import subprocess
from collections import defaultdict
from .ssh import OESSHTarget
from oeqa.utils.qemurunner import QemuRunner
+from oeqa.utils.dump import MonitorDumper
from oeqa.utils.dump import TargetDumper
supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic']
@@ -35,6 +38,8 @@ class OEQemuTarget(OESSHTarget):
self.ovmf = ovmf
self.use_slirp = slirp
self.boot_patterns = boot_patterns
+ self.dump_dir = dump_dir
+ self.bootlog = bootlog
self.runner = QemuRunner(machine=machine, rootfs=rootfs, tmpdir=tmpdir,
deploy_dir_image=dir_image, display=display,
@@ -43,6 +48,11 @@ class OEQemuTarget(OESSHTarget):
dump_host_cmds=dump_host_cmds, logger=logger,
serial_ports=serial_ports, boot_patterns = boot_patterns,
use_ovmf=ovmf, tmpfsdir=tmpfsdir)
+ dump_monitor_cmds = kwargs.get("testimage_dump_monitor")
+ self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner)
+ if self.monitor_dumper:
+ self.monitor_dumper.create_dir("qmp")
+
dump_target_cmds = kwargs.get("testimage_dump_target")
self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner)
self.target_dumper.create_dir("qemu")
@@ -68,7 +78,28 @@ class OEQemuTarget(OESSHTarget):
self.server_ip = self.runner.server_ip
else:
self.stop()
- raise RuntimeError("FAILED to start qemu - check the task log and the boot log")
+ # Display the first 20 lines of top and
+ # last 20 lines of the bootlog when the
+ # target is not being booted up.
+ topfile = glob.glob(self.dump_dir + "/*_qemu/host_*_top")
+ msg = "\n\n===== start: snippet =====\n\n"
+ for f in topfile:
+ msg += "file: %s\n\n" % f
+ with open(f) as tf:
+ for x in range(20):
+ msg += next(tf)
+ msg += "\n\n===== end: snippet =====\n\n"
+ blcmd = ["tail", "-20", self.bootlog]
+ msg += "===== start: snippet =====\n\n"
+ try:
+ out = subprocess.check_output(blcmd, stderr=subprocess.STDOUT, timeout=1).decode('utf-8')
+ msg += "file: %s\n\n" % self.bootlog
+ msg += out
+ except (subprocess.CalledProcessError, subprocess.TimeoutExpired, FileNotFoundError) as err:
+ msg += "Error running command: %s\n%s\n" % (blcmd, err)
+ msg += "\n\n===== end: snippet =====\n"
+
+ raise RuntimeError("FAILED to start qemu - check the task log and the boot log %s" % (msg))
def stop(self):
self.runner.stop()
diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py
index 461448dbc5..923a223b25 100644
--- a/meta/lib/oeqa/core/target/ssh.py
+++ b/meta/lib/oeqa/core/target/ssh.py
@@ -43,6 +43,7 @@ class OESSHTarget(OETarget):
if port:
self.ssh = self.ssh + [ '-p', port ]
self.scp = self.scp + [ '-P', port ]
+ self._monitor_dumper = None
def start(self, **kwargs):
pass
@@ -50,6 +51,15 @@ class OESSHTarget(OETarget):
def stop(self, **kwargs):
pass
+ @property
+ def monitor_dumper(self):
+ return self._monitor_dumper
+
+ @monitor_dumper.setter
+ def monitor_dumper(self, dumper):
+ self._monitor_dumper = dumper
+ self.monitor_dumper.dump_monitor()
+
def _run(self, command, timeout=None, ignore_status=True):
"""
Runs command in target using SSHProcess.
@@ -87,9 +97,14 @@ class OESSHTarget(OETarget):
processTimeout = self.timeout
status, output = self._run(sshCmd, processTimeout, True)
- self.logger.debug('Command: %s\nOutput: %s\n' % (command, output))
+ self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output))
if (status == 255) and (('No route to host') in output):
+ if self.monitor_dumper:
+ self.monitor_dumper.dump_monitor()
+ if status == 255:
self.target_dumper.dump_target()
+ if self.monitor_dumper:
+ self.monitor_dumper.dump_monitor()
return (status, output)
def copyTo(self, localSrc, remoteDst):
diff --git a/meta/lib/oeqa/core/tests/cases/timeout.py b/meta/lib/oeqa/core/tests/cases/timeout.py
index 5dfecc7b7c..69cf969a67 100644
--- a/meta/lib/oeqa/core/tests/cases/timeout.py
+++ b/meta/lib/oeqa/core/tests/cases/timeout.py
@@ -8,6 +8,7 @@ from time import sleep
from oeqa.core.case import OETestCase
from oeqa.core.decorator.oetimeout import OETimeout
+from oeqa.core.decorator.depends import OETestDepends
class TimeoutTest(OETestCase):
@@ -19,3 +20,15 @@ class TimeoutTest(OETestCase):
def testTimeoutFail(self):
sleep(2)
self.assertTrue(True, msg='How is this possible?')
+
+
+ def testTimeoutSkip(self):
+ self.skipTest("This test needs to be skipped, so that testTimeoutDepends()'s OETestDepends kicks in")
+
+ @OETestDepends(["timeout.TimeoutTest.testTimeoutSkip"])
+ @OETimeout(3)
+ def testTimeoutDepends(self):
+ self.assertTrue(False, msg='How is this possible?')
+
+ def testTimeoutUnrelated(self):
+ sleep(6)
diff --git a/meta/lib/oeqa/core/tests/test_data.py b/meta/lib/oeqa/core/tests/test_data.py
index ac74098b78..acd726f3a0 100755
--- a/meta/lib/oeqa/core/tests/test_data.py
+++ b/meta/lib/oeqa/core/tests/test_data.py
@@ -33,7 +33,7 @@ class TestData(TestBase):
def test_data_fail_wrong_variable(self):
expectedError = 'AssertionError'
- d = {'IMAGE' : 'core-image-sato', 'ARCH' : 'arm'}
+ d = {'IMAGE' : 'core-image-weston', 'ARCH' : 'arm'}
tc = self._testLoader(d=d, modules=self.modules)
results = tc.runTests()
diff --git a/meta/lib/oeqa/core/tests/test_decorators.py b/meta/lib/oeqa/core/tests/test_decorators.py
index b798bf7d33..5095f39948 100755
--- a/meta/lib/oeqa/core/tests/test_decorators.py
+++ b/meta/lib/oeqa/core/tests/test_decorators.py
@@ -133,5 +133,11 @@ class TestTimeoutDecorator(TestBase):
msg = "OETestTimeout didn't restore SIGALRM"
self.assertIs(alarm_signal, signal.getsignal(signal.SIGALRM), msg=msg)
+ def test_timeout_cancel(self):
+ tests = ['timeout.TimeoutTest.testTimeoutSkip', 'timeout.TimeoutTest.testTimeoutDepends', 'timeout.TimeoutTest.testTimeoutUnrelated']
+ msg = 'Unrelated test failed to complete'
+ tc = self._testLoader(modules=self.modules, tests=tests)
+ self.assertTrue(tc.runTests().wasSuccessful(), msg=msg)
+
if __name__ == '__main__':
unittest.main()
diff --git a/meta/lib/oeqa/manual/bsp-hw.json b/meta/lib/oeqa/manual/bsp-hw.json
index 75b89758cb..ca91987e31 100644
--- a/meta/lib/oeqa/manual/bsp-hw.json
+++ b/meta/lib/oeqa/manual/bsp-hw.json
@@ -61,70 +61,6 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-hw.boot_from_runlevel_3",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Boot into system and edit /etc/inittab to make sure that system enter at the run level 3 by default, this is done by changing the line \n\n\nid:5:initdefault \n\nto \n\nid:3:initdefault \n\n",
- "expected_results": ""
- },
- "2": {
- "action": "Reboot system, and press \"Tab\" to enter \"grub\"",
- "expected_results": ""
- },
- "3": {
- "action": "Get into the \"kernel\" line with the edit option \"e\" and add \"psplash=false text\" at the end line.",
- "expected_results": ""
- },
- "4": {
- "action": "Press \"F10\" or \"ctrl+x\" to boot system",
- "expected_results": ""
- },
- "5": {
- "action": "If system ask you for a login type \"root\"",
- "expected_results": "System should boot to run level 3, showing the command prompt."
- }
- },
- "summary": "boot_from_runlevel_3"
- }
- },
- {
- "test": {
- "@alias": "bsps-hw.bsps-hw.boot_from_runlevel_5",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Boot into system and edit /etc/inittab to make sure that system enter at the run level 5 by default, this is done by changing the line \n\nid:3:initdefault \n\nto \n\nid:5:initdefault \n\n",
- "expected_results": ""
- },
- "2": {
- "action": "Reboot system, and press \"Tab\" to enter \"grub\"",
- "expected_results": ""
- },
- "3": {
- "action": "Get into the \"kernel\" line with the edit option \"e\" and add \"psplash=false text\" at the end line.",
- "expected_results": ""
- },
- "4": {
- "action": "Press \"F10\" or \"ctrl+x\" to boot system \nNote: The test is only for sato image.",
- "expected_results": "System should boot to runlevel 5 ."
- }
- },
- "summary": "boot_from_runlevel_5"
- }
- },
- {
- "test": {
"@alias": "bsps-hw.bsps-hw.switch_among_multi_applications_and_desktop",
"author": [
{
@@ -155,70 +91,6 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-hw.ethernet_static_ip_set_in_connman",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Boot the system and check internet connection is on . ",
- "expected_results": ""
- },
- "2": {
- "action": "Launch connmand-properties (up-right corner on desktop)",
- "expected_results": ""
- },
- "3": {
- "action": "Choose Ethernet device and set a valid static ip address for it. \nFor example, in our internal network, we can set as following: \nip address: 10.239.48.xxx \nMask: 255.255.255.0 \nGateway (Broadcast): 10.239.48.255",
- "expected_results": ""
- },
- "4": {
- "action": "Check the Network configuration with \"ifconfig\"",
- "expected_results": "Static IP was set successfully \n"
- },
- "5": {
- "action": "ping to another IP adress",
- "expected_results": "Ping works correclty\n"
- }
- },
- "summary": "ethernet_static_ip_set_in_connman"
- }
- },
- {
- "test": {
- "@alias": "bsps-hw.bsps-hw.ethernet_get_IP_in_connman_via_DHCP",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Launch connmand-properties (up-right corner on your desktop). ",
- "expected_results": ""
- },
- "2": {
- "action": "Check if Ethernet device can work properly with static IP, doing \"ping XXX.XXX.XXX.XXX\", once this is set.",
- "expected_results": "Ping executed successfully . \n\n"
- },
- "3": {
- "action": "Then choose DHCP method for Ethernet device in connmand-properties.",
- "expected_results": ""
- },
- "4": {
- "action": "Check with 'ifconfig\" and \"ping\" if Ethernet device get IP address via DHCP.",
- "expected_results": "Ethernet device can get dynamic IP address via DHCP in connmand ."
- }
- },
- "summary": "ethernet_get_IP_in_connman_via_DHCP"
- }
- },
- {
- "test": {
"@alias": "bsps-hw.bsps-hw.connman_offline_mode_in_connman-gnome",
"author": [
{
@@ -241,40 +113,6 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-hw.standby",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "boot system and launch terminal; check output of \"date\" and launch script \"continue.sh\"",
- "expected_results": ""
- },
- "2": {
- "action": "echo \"mem\" > /sys/power/state",
- "expected_results": ""
- },
- "3": {
- "action": "After system go into S3 mode, move mouse or press any key to make it resume (on NUC press power button)",
- "expected_results": ""
- },
- "4": {
- "action": "Check \"date\" and script \"continue.sh\"",
- "expected_results": ""
- },
- "5": {
- "action": "Check if application can work as normal \ncontinue.sh as below: \n \n#!/bin/sh \n \ni=1 \nwhile [ 0 ] \ndo \n echo $i \n sleep 1 \n i=$((i+1)) \ndone ",
- "expected_results": "Screen should resume back and script can run continuously incrementing the i's value from where it was before going to standby state. Date should be the same with the corresponding time increment."
- }
- },
- "summary": "standby"
- }
- },
- {
- "test": {
"@alias": "bsps-hw.bsps-hw.check_CPU_utilization_after_standby",
"author": [
{
@@ -305,88 +143,6 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-hw.Test_if_LAN_device_works_well_after_resume_from_suspend_state",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "boot system and launch terminal",
- "expected_results": ""
- },
- "2": {
- "action": "echo \"mem\" > /sys/power/state",
- "expected_results": ""
- },
- "3": {
- "action": "After system go into S3 mode, move mouse or press any key to make it resume",
- "expected_results": ""
- },
- "4": {
- "action": "check ping status \n\nNote: This TC apply only for core-image-full-cmd.",
- "expected_results": "ping should always work before/after standby"
- }
- },
- "summary": "Test_if_LAN_device_works_well_after_resume_from_suspend_state"
- }
- },
- {
- "test": {
- "@alias": "bsps-hw.bsps-hw.Test_if_usb_hid_device_works_well_after_resume_from_suspend_state",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "boot system and launch terminal",
- "expected_results": ""
- },
- "2": {
- "action": "echo \"mem\" > /sys/power/state",
- "expected_results": ""
- },
- "3": {
- "action": "After system go into S3 mode, resume the device by pressing the power button or using HID devices",
- "expected_results": "Devices resumes "
- },
- "4": {
- "action": "check usb mouse and keyboard",
- "expected_results": "Usb mouse and keyboard should work"
- }
- },
- "summary": "Test_if_usb_hid_device_works_well_after_resume_from_suspend_state"
- }
- },
- {
- "test": {
- "@alias": "bsps-hw.bsps-hw.click_terminal_icon_on_X_desktop",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "After system launch and X start up, click terminal icon on desktop",
- "expected_results": ""
- },
- "2": {
- "action": "Check if only one terminal window launched and no other problem met",
- "expected_results": "There should be no problem after launching terminal . "
- }
- },
- "summary": "click_terminal_icon_on_X_desktop"
- }
- },
- {
- "test": {
"@alias": "bsps-hw.bsps-hw.Add_multiple_files_in_media_player",
"author": [
{
@@ -839,40 +595,6 @@
},
{
"test": {
- "@alias": "bsps-hw.bsps-hw.Check_if_RTC_(Real_Time_Clock)_can_work_correctly",
- "author": [
- {
- "email": "yi.zhao@windriver.com",
- "name": "yi.zhao@windriver.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Read time from RTC registers. root@localhost:/root> hwclock -r Sun Mar 22 04:05:47 1970 -0.001948 seconds ",
- "expected_results": "Can read and set the time from RTC.\n"
- },
- "2": {
- "action": "Set system current time root@localhost:/root> date 062309452008 ",
- "expected_results": ""
- },
- "3": {
- "action": "Synchronize the system current time to RTC registers root@localhost:/root> hwclock -w ",
- "expected_results": ""
- },
- "4": {
- "action": "Read time from RTC registers root@localhost:/root> hwclock -r ",
- "expected_results": ""
- },
- "5": {
- "action": "Reboot target and read time from RTC again\n",
- "expected_results": ""
- }
- },
- "summary": "Check_if_RTC_(Real_Time_Clock)_can_work_correctly"
- }
- },
- {
- "test": {
"@alias": "bsps-hw.bsps-hw.System_can_boot_up_via_NFS",
"author": [
{
diff --git a/meta/lib/oeqa/manual/toaster-managed-mode.json b/meta/lib/oeqa/manual/toaster-managed-mode.json
index 12374c7c64..38b396ab09 100644
--- a/meta/lib/oeqa/manual/toaster-managed-mode.json
+++ b/meta/lib/oeqa/manual/toaster-managed-mode.json
@@ -2348,7 +2348,7 @@
"expected_results": ""
},
"3": {
- "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. ",
+ "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base) to name a few. ",
"expected_results": " All recipes are built correctly \n\n"
},
"4": {
@@ -2382,7 +2382,7 @@
"expected_results": ""
},
"3": {
- "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n",
+ "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base) to name a few. \n\n",
"expected_results": "All recipes are built correctly \n\n"
},
"4": {
@@ -2420,7 +2420,7 @@
"expected_results": ""
},
"3": {
- "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n",
+ "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base) to name a few. \n\n",
"expected_results": " All recipes are built correctly \n\n"
},
"4": {
diff --git a/meta/lib/oeqa/runtime/cases/rpm.py b/meta/lib/oeqa/runtime/cases/rpm.py
index 8e18b426f8..7a9d62c003 100644
--- a/meta/lib/oeqa/runtime/cases/rpm.py
+++ b/meta/lib/oeqa/runtime/cases/rpm.py
@@ -141,13 +141,4 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
self.tc.target.run('rm -f %s' % self.dst)
- # if using systemd this should ensure all entries are flushed to /var
- status, output = self.target.run("journalctl --sync")
- # Get the amount of entries in the log file
- status, output = self.target.run(check_log_cmd)
- msg = 'Failed to get the final size of the log file.'
- self.assertEqual(0, status, msg=msg)
- # Check that there's enough of them
- self.assertGreaterEqual(int(output), 80,
- 'Cound not find sufficient amount of rpm entries in /var/log/messages, found {} entries'.format(output))
diff --git a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
index f7c356ad09..7ac03f0cec 100644
--- a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
+++ b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
@@ -90,7 +90,7 @@ class RebuildFromSState(SStateBase):
self.assertFalse(failed_cleansstate, msg="The following recipes have failed cleansstate(all others have passed both cleansstate and rebuild from sstate tests): %s" % ' '.join(map(str, failed_cleansstate)))
def test_sstate_relocation(self):
- self.run_test_sstate_rebuild(['core-image-sato-sdk'], relocate=True, rebuild_dependencies=True)
+ self.run_test_sstate_rebuild(['core-image-weston-sdk'], relocate=True, rebuild_dependencies=True)
def test_sstate_rebuild(self):
- self.run_test_sstate_rebuild(['core-image-sato-sdk'], relocate=False, rebuild_dependencies=True)
+ self.run_test_sstate_rebuild(['core-image-weston-sdk'], relocate=False, rebuild_dependencies=True)
diff --git a/meta/lib/oeqa/selftest/cases/bblayers.py b/meta/lib/oeqa/selftest/cases/bblayers.py
index f131d9856c..7d74833f61 100644
--- a/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -12,6 +12,11 @@ from oeqa.selftest.case import OESelftestTestCase
class BitbakeLayers(OESelftestTestCase):
+ def test_bitbakelayers_layerindexshowdepends(self):
+ result = runCmd('bitbake-layers layerindex-show-depends meta-poky')
+ find_in_contents = re.search("openembedded-core", result.output)
+ self.assertTrue(find_in_contents, msg = "openembedded-core should have been listed at this step. bitbake-layers layerindex-show-depends meta-poky output: %s" % result.output)
+
def test_bitbakelayers_showcrossdepends(self):
result = runCmd('bitbake-layers show-cross-depends')
self.assertIn('aspell', result.output)
diff --git a/meta/lib/oeqa/selftest/cases/buildoptions.py b/meta/lib/oeqa/selftest/cases/buildoptions.py
index 1859d3222a..754b77defd 100644
--- a/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -50,9 +50,9 @@ class ImageOptionsTests(OESelftestTestCase):
def test_read_only_image(self):
distro_features = get_bb_var('DISTRO_FEATURES')
if not ('x11' in distro_features and 'opengl' in distro_features):
- self.skipTest('core-image-sato requires x11 and opengl in distro features')
+ self.skipTest('core-image-sato/weston requires x11 and opengl in distro features')
self.write_config('IMAGE_FEATURES += "read-only-rootfs"')
- bitbake("core-image-sato")
+ bitbake("core-image-sato core-image-weston")
# do_image will fail if there are any pending postinsts
class DiskMonTest(OESelftestTestCase):
diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 6723a8198f..2de22d3404 100644
--- a/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -68,18 +68,6 @@ class ImageFeatures(OESelftestTestCase):
self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output)
- def test_clutter_image_can_be_built(self):
- """
- Summary: Check if clutter image can be built
- Expected: 1. core-image-clutter can be built
- Product: oe-core
- Author: Ionut Chisanovici <ionutx.chisanovici@intel.com>
- AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
- """
-
- # Build a core-image-clutter
- bitbake('core-image-clutter')
-
def test_wayland_support_in_image(self):
"""
Summary: Check Wayland support in image
@@ -240,8 +228,8 @@ USERADD_GID_TABLES += "files/static-group"
def test_no_busybox_base_utils(self):
config = """
-# Enable x11
-DISTRO_FEATURES_append += "x11"
+# Enable wayland
+DISTRO_FEATURES_append += "pam opengl wayland"
# Switch to systemd
DISTRO_FEATURES += "systemd"
@@ -262,7 +250,7 @@ PNBLACKLIST[busybox] = "Don't build this"
"""
self.write_config(config)
- bitbake("--graphviz core-image-sato")
+ bitbake("--graphviz core-image-weston")
def test_image_gen_debugfs(self):
"""
diff --git a/meta/lib/oeqa/selftest/cases/runqemu.py b/meta/lib/oeqa/selftest/cases/runqemu.py
index 7e676bcb41..da22f77b27 100644
--- a/meta/lib/oeqa/selftest/cases/runqemu.py
+++ b/meta/lib/oeqa/selftest/cases/runqemu.py
@@ -163,12 +163,11 @@ class QemuTest(OESelftestTestCase):
bitbake(cls.recipe)
def _start_qemu_shutdown_check_if_shutdown_succeeded(self, qemu, timeout):
+ # Allow the runner's LoggingThread instance to exit without errors
+ # (such as the exception "Console connection closed unexpectedly")
+ # as qemu will disappear when we shut it down
+ qemu.runner.allowexit()
qemu.run_serial("shutdown -h now")
- # Stop thread will stop the LoggingThread instance used for logging
- # qemu through serial console, stop thread will prevent this code
- # from facing exception (Console connection closed unexpectedly)
- # when qemu was shutdown by the above shutdown command
- qemu.runner.stop_thread()
time_track = 0
try:
while True:
diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py
index b20c5b427b..84c2cb77e8 100644
--- a/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -128,7 +128,6 @@ class TestImage(OESelftestTestCase):
features += 'TEST_SUITES = "ping ssh selftest"\n'
self.write_config(features)
- # Build core-image-sato and testimage
bitbake('core-image-full-cmdline socat')
bitbake('-c testimage core-image-full-cmdline')
@@ -164,7 +163,6 @@ class TestImage(OESelftestTestCase):
features += 'PSEUDO_IGNORE_PATHS .= ",%s"\n' % self.gpg_home
self.write_config(features)
- # Build core-image-sato and testimage
bitbake('core-image-full-cmdline socat')
bitbake('-c testimage core-image-full-cmdline')
diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py
index c46e8ba489..9db2a0bb44 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -261,7 +261,7 @@ PACKAGE_CLASSES = "package_rpm package_ipk package_deb"
BB_SIGNATURE_HANDLER = "OEBasicHash"
""")
self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash")
- bitbake("core-image-sato -S none")
+ bitbake("core-image-weston -S none")
self.write_config("""
MACHINE = "qemux86"
TMPDIR = "${TOPDIR}/tmp-sstatesamehash2"
@@ -273,12 +273,12 @@ PACKAGE_CLASSES = "package_rpm package_ipk package_deb"
BB_SIGNATURE_HANDLER = "OEBasicHash"
""")
self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2")
- bitbake("core-image-sato -S none")
+ bitbake("core-image-weston -S none")
def get_files(d):
f = []
for root, dirs, files in os.walk(d):
- if "core-image-sato" in root:
+ if "core-image-weston" in root:
# SDKMACHINE changing will change
# do_rootfs/do_testimage/do_build stamps of images which
# is safe to ignore.
@@ -306,7 +306,7 @@ NATIVELSBSTRING = \"DistroA\"
BB_SIGNATURE_HANDLER = "OEBasicHash"
""")
self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash")
- bitbake("core-image-sato -S none")
+ bitbake("core-image-weston -S none")
self.write_config("""
TMPDIR = \"${TOPDIR}/tmp-sstatesamehash2\"
TCLIBCAPPEND = \"\"
@@ -314,7 +314,7 @@ NATIVELSBSTRING = \"DistroB\"
BB_SIGNATURE_HANDLER = "OEBasicHash"
""")
self.track_for_cleanup(self.topdir + "/tmp-sstatesamehash2")
- bitbake("core-image-sato -S none")
+ bitbake("core-image-weston -S none")
def get_files(d):
f = []
diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index fa81584a8c..a11e2d0781 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -1306,8 +1306,8 @@ class Wic2(WicTestCase):
result = runCmd("%s/usr/sbin/sfdisk -F %s" % (sysroot, new_image_path))
self.assertTrue("0 B, 0 bytes, 0 sectors" in result.output)
- os.rename(image_path, image_path + '.bak')
- os.rename(new_image_path, image_path)
+ bb.utils.rename(image_path, image_path + '.bak')
+ bb.utils.rename(new_image_path, image_path)
# Check if it boots in qemu
with runqemu('core-image-minimal', ssh=False) as qemu:
@@ -1318,7 +1318,7 @@ class Wic2(WicTestCase):
if os.path.exists(new_image_path):
os.unlink(new_image_path)
if os.path.exists(image_path + '.bak'):
- os.rename(image_path + '.bak', image_path)
+ bb.utils.rename(image_path + '.bak', image_path)
def test_wic_ls_ext(self):
"""Test listing content of the ext partition using 'wic ls'"""
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
index 12057f855a..005ebaa7f3 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -17,6 +17,7 @@ from oeqa.utils.sshcontrol import SSHControl
from oeqa.utils.qemurunner import QemuRunner
from oeqa.utils.qemutinyrunner import QemuTinyRunner
from oeqa.utils.dump import TargetDumper
+from oeqa.utils.dump import MonitorDumper
from oeqa.controllers.testtargetloader import TestTargetLoader
from abc import ABCMeta, abstractmethod
@@ -108,6 +109,7 @@ class QemuTarget(BaseTarget):
self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % self.datetime)
dump_target_cmds = d.getVar("testimage_dump_target")
dump_host_cmds = d.getVar("testimage_dump_host")
+ dump_monitor_cmds = d.getVar("testimage_dump_monitor")
dump_dir = d.getVar("TESTIMAGE_DUMP_DIR")
if not dump_dir:
dump_dir = os.path.join(d.getVar('LOG_DIR'), 'runtime-hostdump')
@@ -149,6 +151,7 @@ class QemuTarget(BaseTarget):
serial_ports = len(d.getVar("SERIAL_CONSOLES").split()))
self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner)
+ self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner)
def deploy(self):
bb.utils.mkdirhier(self.testdir)
diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py
index a71c16ab14..024261410e 100644
--- a/meta/lib/oeqa/utils/commands.py
+++ b/meta/lib/oeqa/utils/commands.py
@@ -174,11 +174,8 @@ def runCmd(command, ignore_status=False, timeout=None, assert_error=True, sync=T
if native_sysroot:
extra_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \
(native_sysroot, native_sysroot, native_sysroot)
- extra_libpaths = "%s/lib:%s/usr/lib" % \
- (native_sysroot, native_sysroot)
nenv = dict(options.get('env', os.environ))
nenv['PATH'] = extra_paths + ':' + nenv.get('PATH', '')
- nenv['LD_LIBRARY_PATH'] = extra_libpaths + ':' + nenv.get('LD_LIBRARY_PATH', '')
options['env'] = nenv
cmd = Command(command, timeout=timeout, output_log=output_log, **options)
diff --git a/meta/lib/oeqa/utils/dump.py b/meta/lib/oeqa/utils/dump.py
index 09a44329e0..843e19fe8a 100644
--- a/meta/lib/oeqa/utils/dump.py
+++ b/meta/lib/oeqa/utils/dump.py
@@ -4,6 +4,7 @@
import os
import sys
+import json
import errno
import datetime
import itertools
@@ -51,6 +52,8 @@ class BaseDumper(object):
prefix = "host"
elif isinstance(self, TargetDumper):
prefix = "target"
+ elif isinstance(self, MonitorDumper):
+ prefix = "qmp"
else:
prefix = "unknown"
for i in itertools.count():
@@ -58,9 +61,12 @@ class BaseDumper(object):
fullname = os.path.join(self.dump_dir, filename)
if not os.path.exists(fullname):
break
- with open(fullname, 'w') as dump_file:
- dump_file.write(output)
-
+ if isinstance(self, MonitorDumper):
+ with open(fullname, 'w') as json_file:
+ json.dump(output, json_file, indent=4)
+ else:
+ with open(fullname, 'w') as dump_file:
+ dump_file.write(output)
class HostDumper(BaseDumper):
""" Class to get dumps from the host running the tests """
@@ -96,3 +102,23 @@ class TargetDumper(BaseDumper):
except:
print("Tried to dump info from target but "
"serial console failed")
+ print("Failed CMD: %s" % (cmd))
+
+class MonitorDumper(BaseDumper):
+ """ Class to get dumps via the Qemu Monitor, it only works with QemuRunner """
+
+ def __init__(self, cmds, parent_dir, runner):
+ super(MonitorDumper, self).__init__(cmds, parent_dir)
+ self.runner = runner
+
+ def dump_monitor(self, dump_dir=""):
+ if self.runner is None:
+ return
+ if dump_dir:
+ self.dump_dir = dump_dir
+ for cmd in self.cmds:
+ try:
+ output = self.runner.run_monitor(cmd)
+ self._write_dump(cmd, output)
+ except:
+ print("Failed to dump QMP CMD: %s" % (cmd))
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 278904ba0b..5dc1a136e3 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -20,8 +20,10 @@ import string
import threading
import codecs
import logging
+import tempfile
from oeqa.utils.dump import HostDumper
from collections import defaultdict
+import importlib
# Get Unicode non printable control chars
control_range = list(range(0,32))+list(range(127,160))
@@ -63,7 +65,7 @@ class QemuRunner:
self.boot_patterns = boot_patterns
self.tmpfsdir = tmpfsdir
- self.runqemutime = 120
+ self.runqemutime = 300
if not workdir:
workdir = os.getcwd()
self.qemu_pidfile = workdir + '/pidfile_' + str(os.getpid())
@@ -71,6 +73,8 @@ class QemuRunner:
self.monitorpipe = None
self.logger = logger
+ # Whether we're expecting an exit and should show related errors
+ self.canexit = False
# Enable testing other OS's
# Set commands for target communication, and default to Linux ALWAYS
@@ -172,6 +176,23 @@ class QemuRunner:
return self.launch(launch_cmd, qemuparams=qemuparams, get_ip=get_ip, extra_bootparams=extra_bootparams, env=env)
def launch(self, launch_cmd, get_ip = True, qemuparams = None, extra_bootparams = None, env = None):
+ # use logfile to determine the recipe-sysroot-native path and
+ # then add in the site-packages path components and add that
+ # to the python sys.path so qmp.py can be found.
+ python_path = os.path.dirname(os.path.dirname(self.logfile))
+ python_path += "/recipe-sysroot-native/usr/lib/python3.9/site-packages"
+ sys.path.append(python_path)
+ importlib.invalidate_caches()
+ try:
+ qmp = importlib.import_module("qmp")
+ except:
+ self.logger.error("qemurunner: qmp.py missing, please ensure it's installed")
+ return False
+ # Path relative to tmpdir used as cwd for qemu below to avoid unix socket path length issues
+ qmp_file = "." + next(tempfile._get_candidate_names())
+ qmp_param = ' -S -qmp unix:./%s,server,wait' % (qmp_file)
+ qmp_port = self.tmpdir + "/" + qmp_file
+
try:
if self.serial_ports >= 2:
self.threadsock, threadport = self.create_socket()
@@ -188,7 +209,8 @@ class QemuRunner:
# and analyze descendents in order to determine it.
if os.path.exists(self.qemu_pidfile):
os.remove(self.qemu_pidfile)
- self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
+ self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1} {2}"'.format(bootparams, self.qemu_pidfile, qmp_param)
+
if qemuparams:
self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
@@ -206,7 +228,7 @@ class QemuRunner:
# blocking at the end of the runqemu script when using this within
# oe-selftest (this makes stty error out immediately). There ought
# to be a proper fix but this will suffice for now.
- self.runqemu = subprocess.Popen(launch_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, preexec_fn=os.setpgrp, env=env)
+ self.runqemu = subprocess.Popen(launch_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, stdin=subprocess.PIPE, preexec_fn=os.setpgrp, env=env, cwd=self.tmpdir)
output = self.runqemu.stdout
#
@@ -242,6 +264,7 @@ class QemuRunner:
while not self.is_alive() and time.time() < endtime:
if self.runqemu.poll():
if self.runqemu_exited:
+ self.logger.warning("runqemu during is_alive() test")
return False
if self.runqemu.returncode:
# No point waiting any longer
@@ -253,7 +276,10 @@ class QemuRunner:
time.sleep(0.5)
if self.runqemu_exited:
- return False
+ self.logger.warning("runqemu after timeout")
+
+ if self.runqemu.returncode:
+ self.logger.warning('runqemu exited with code %d' % self.runqemu.returncode)
if not self.is_alive():
self.logger.error("Qemu pid didn't appear in %s seconds (%s)" %
@@ -280,6 +306,62 @@ class QemuRunner:
self.logger.error("No output from runqemu.\n")
return False
+ # Create the client socket for the QEMU Monitor Control Socket
+ # This will allow us to read status from Qemu if the the process
+ # is still alive
+ self.logger.debug("QMP Initializing to %s" % (qmp_port))
+ # chdir dance for path length issues with unix sockets
+ origpath = os.getcwd()
+ try:
+ os.chdir(os.path.dirname(qmp_port))
+ try:
+ self.qmp = qmp.QEMUMonitorProtocol(os.path.basename(qmp_port))
+ except OSError as msg:
+ self.logger.warning("Failed to initialize qemu monitor socket: %s File: %s" % (msg, msg.filename))
+ return False
+
+ self.logger.debug("QMP Connecting to %s" % (qmp_port))
+ if not os.path.exists(qmp_port) and self.is_alive():
+ self.logger.debug("QMP Port does not exist waiting for it to be created")
+ endtime = time.time() + self.runqemutime
+ while not os.path.exists(qmp_port) and self.is_alive() and time.time() < endtime:
+ self.logger.info("QMP port does not exist yet!")
+ time.sleep(0.5)
+ if not os.path.exists(qmp_port) and self.is_alive():
+ self.logger.warning("QMP Port still does not exist but QEMU is alive")
+ return False
+
+ try:
+ self.qmp.connect()
+ except OSError as msg:
+ self.logger.warning("Failed to connect qemu monitor socket: %s File: %s" % (msg, msg.filename))
+ return False
+ except qmp.QMPConnectError as msg:
+ self.logger.warning("Failed to communicate with qemu monitor: %s" % (msg))
+ return False
+ finally:
+ os.chdir(origpath)
+
+ # We worry that mmap'd libraries may cause page faults which hang the qemu VM for periods
+ # causing failures. Before we "start" qemu, read through it's mapped files to try and
+ # ensure we don't hit page faults later
+ mapdir = "/proc/" + str(self.qemupid) + "/map_files/"
+ try:
+ for f in os.listdir(mapdir):
+ linktarget = os.readlink(os.path.join(mapdir, f))
+ if not linktarget.startswith("/") or linktarget.startswith("/dev") or "deleted" in linktarget:
+ continue
+ with open(linktarget, "rb") as readf:
+ data = True
+ while data:
+ data = readf.read(4096)
+ # Centos7 doesn't allow us to read /map_files/
+ except PermissionError:
+ pass
+
+ # Release the qemu process to continue running
+ self.run_monitor('cont')
+
# We are alive: qemu is running
out = self.getOutput(output)
netconf = False # network configuration is not required by default
@@ -380,7 +462,6 @@ class QemuRunner:
sock.close()
stopread = True
-
if not reachedlogin:
if time.time() >= endtime:
self.logger.warning("Target didn't reach login banner in %d seconds (%s)" %
@@ -441,6 +522,9 @@ class QemuRunner:
self.runqemu.stdout.close()
self.runqemu_exited = True
+ if hasattr(self, 'qmp') and self.qmp:
+ self.qmp.close()
+ self.qmp = None
if hasattr(self, 'server_socket') and self.server_socket:
self.server_socket.close()
self.server_socket = None
@@ -471,6 +555,11 @@ class QemuRunner:
self.thread.stop()
self.thread.join()
+ def allowexit(self):
+ self.canexit = True
+ if self.thread:
+ self.thread.allowexit()
+
def restart(self, qemuparams = None):
self.logger.warning("Restarting qemu process")
if self.runqemu.poll() is None:
@@ -499,6 +588,9 @@ class QemuRunner:
return True
return False
+ def run_monitor(self, command, timeout=60):
+ return self.qmp.cmd(command)
+
def run_serial(self, command, raw=False, timeout=60):
# We assume target system have echo to get command status
if not raw:
@@ -526,7 +618,9 @@ class QemuRunner:
if re.search(self.boot_patterns['search_cmd_finished'], data):
break
else:
- raise Exception("No data on serial console socket")
+ if self.canexit:
+ return (1, "")
+ raise Exception("No data on serial console socket, connection closed?")
if data:
if raw:
@@ -564,6 +658,7 @@ class LoggingThread(threading.Thread):
self.logger = logger
self.readsock = None
self.running = False
+ self.canexit = False
self.errorevents = select.POLLERR | select.POLLHUP | select.POLLNVAL
self.readevents = select.POLLIN | select.POLLPRI
@@ -597,6 +692,9 @@ class LoggingThread(threading.Thread):
self.close_ignore_error(self.writepipe)
self.running = False
+ def allowexit(self):
+ self.canexit = True
+
def eventloop(self):
poll = select.poll()
event_read_mask = self.errorevents | self.readevents
@@ -642,7 +740,7 @@ class LoggingThread(threading.Thread):
data = self.readsock.recv(count)
except socket.error as e:
if e.errno == errno.EAGAIN or e.errno == errno.EWOULDBLOCK:
- return ''
+ return b''
else:
raise
@@ -653,7 +751,9 @@ class LoggingThread(threading.Thread):
# happened. But for this code it counts as an
# error since the connection shouldn't go away
# until qemu exits.
- raise Exception("Console connection closed unexpectedly")
+ if not self.canexit:
+ raise Exception("Console connection closed unexpectedly")
+ return b''
return data
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.12.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb
index d27126603f..fa9886037c 100644
--- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.12.bb
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.13.bb
@@ -19,8 +19,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/files/${BP}.tar.bz2 \
file://gnu-efi-3.0.9-fix-clang-build.patch \
"
-SRC_URI[md5sum] = "926763ff37bc9db3a9035cec41eb2f45"
-SRC_URI[sha256sum] = "0196f2e1fd3c334b66e610a608a0e59233474c7a01bec7bc53989639aa327669"
+SRC_URI[sha256sum] = "2fccf715279c46ee69c4859186af8150d07a13f4d19876e5459cd65be82d3b7d"
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
COMPATIBLE_HOST_armv4 = 'null'
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc
index 590deb8d92..3c6b434c2d 100644
--- a/meta/recipes-bsp/grub/grub2.inc
+++ b/meta/recipes-bsp/grub/grub2.inc
@@ -27,6 +27,16 @@ SRC_URI[sha256sum] = "2c87f1f21e2ab50043e6cd9163c08f1b6c3a6171556bf23ff9ed65b074
REALPV = "2.06~rc1"
PV = "2.04+${REALPV}"
+# Fixed in 2.06~rc1, can be removed for 2.06 final
+CVE_CHECK_WHITELIST += "\
+ CVE-2020-14308 CVE-2020-14309 CVE-2020-14310 CVE-2020-14311 CVE-2020-10713 \
+ CVE-2020-14372 CVE-2020-15705 CVE-2020-15706 CVE-2020-15707 \
+ CVE-2020-25632 CVE-2020-25647 CVE-2020-27749 CVE-2020-27779 \
+ CVE-2021-3418 CVE-2021-20225 CVE-2021-20233"
+
+# Applies only to RHEL
+CVE_CHECK_WHITELIST += "CVE-2019-14865"
+
S = "${WORKDIR}/grub-${REALPV}"
UPSTREAM_CHECK_URI = "${GNU_MIRROR}/grub"
@@ -49,6 +59,8 @@ GRUBPLATFORM ??= "pc"
inherit autotools gettext texinfo pkgconfig
+CFLAGS_remove = "-O2"
+
EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} \
--disable-grub-mkfont \
--program-prefix="" \
diff --git a/meta/recipes-bsp/opensbi/opensbi-payloads.inc b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
index 2e32943245..cc31ab3b1d 100644
--- a/meta/recipes-bsp/opensbi/opensbi-payloads.inc
+++ b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
@@ -7,12 +7,25 @@ def riscv_get_extra_oemake_image(d):
return "FW_PAYLOAD_PATH=" + deploy_dir + "/" + sbi_payload
+def riscv_get_extra_oemake_fdt(d):
+ sbi_fdt = d.getVar('RISCV_SBI_FDT')
+ deploy_dir = d.getVar('DEPLOY_DIR_IMAGE')
+
+ if sbi_fdt is None:
+ return ""
+
+ return "FW_FDT_PATH=" + deploy_dir + "/" + sbi_fdt
+
def riscv_get_do_compile_depends(d):
sbi_payload = d.getVar('RISCV_SBI_PAYLOAD')
+ sbi_fdt = d.getVar('RISCV_SBI_FDT')
- if sbi_payload is None:
+ if sbi_payload is None and sbi_fdt is None:
return ""
+ if sbi_fdt is not None and 'u-boot.bin' in sbi_payload:
+ return "virtual/kernel:do_deploy virtual/bootloader:do_deploy"
+
if 'linux' in sbi_payload or 'Image' in sbi_payload:
return "virtual/kernel:do_deploy"
if 'u-boot.bin' in sbi_payload:
diff --git a/meta/recipes-bsp/opensbi/opensbi_0.9.bb b/meta/recipes-bsp/opensbi/opensbi_0.9.bb
index cb1c3f2ebf..5fee52136d 100644
--- a/meta/recipes-bsp/opensbi/opensbi_0.9.bb
+++ b/meta/recipes-bsp/opensbi/opensbi_0.9.bb
@@ -15,9 +15,10 @@ SRC_URI = "git://github.com/riscv/opensbi.git;branch=master \
S = "${WORKDIR}/git"
-EXTRA_OEMAKE += "PLATFORM=${RISCV_SBI_PLAT} I=${D}"
+EXTRA_OEMAKE += "PLATFORM=${RISCV_SBI_PLAT} I=${D} FW_PIC=n"
# If RISCV_SBI_PAYLOAD is set then include it as a payload
EXTRA_OEMAKE_append = " ${@riscv_get_extra_oemake_image(d)}"
+EXTRA_OEMAKE_append = " ${@riscv_get_extra_oemake_fdt(d)}"
# Required if specifying a custom payload
do_compile[depends] += "${@riscv_get_do_compile_depends(d)}"
diff --git a/meta/recipes-bsp/u-boot/files/0001-add-valid-fdt-check.patch b/meta/recipes-bsp/u-boot/files/0001-add-valid-fdt-check.patch
deleted file mode 100644
index d4ac9e2ed9..0000000000
--- a/meta/recipes-bsp/u-boot/files/0001-add-valid-fdt-check.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From ea1a9ec5f430359720d9a0621ed1acfbba6a142a Mon Sep 17 00:00:00 2001
-From: Heinrich Schuchardt <xypron.glpk@gmx.de>
-Date: Wed, 13 Jan 2021 02:09:12 +0100
-Subject: [PATCH] image-fit: fit_check_format check for valid FDT
-
-fit_check_format() must check that the buffer contains a flattened device
-tree before calling any device tree library functions.
-
-Failure to do may cause segmentation faults.
-
-Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
-
-Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/ea1a9ec5f430359720d9a0621ed1acfbba6a142a]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
----
- common/image-fit.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/common/image-fit.c b/common/image-fit.c
-index 6a8787ca0a..21c44bdf69 100644
---- a/common/image-fit.c
-+++ b/common/image-fit.c
-@@ -1553,6 +1553,12 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp)
- */
- int fit_check_format(const void *fit)
- {
-+ /* A FIT image must be a valid FDT */
-+ if (fdt_check_header(fit)) {
-+ debug("Wrong FIT format: not a flattened device tree\n");
-+ return 0;
-+ }
-+
- /* mandatory / node 'description' property */
- if (fdt_getprop(fit, 0, FIT_DESC_PROP, NULL) == NULL) {
- debug("Wrong FIT format: no description\n");
diff --git a/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch b/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch
deleted file mode 100644
index 98ec2c709d..0000000000
--- a/meta/recipes-bsp/u-boot/files/CVE-2021-27097-1.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 8a7d4cf9820ea16fabd25a6379351b4dc291204b Mon Sep 17 00:00:00 2001
-From: Simon Glass <sjg@chromium.org>
-Date: Mon, 15 Feb 2021 17:08:05 -0700
-Subject: [PATCH] fdt_region: Check for a single root node of the correct name
-
-At present fdt_find_regions() assumes that the FIT is a valid devicetree.
-If the FIT has two root nodes this is currently not detected in this
-function, nor does libfdt's fdt_check_full() notice. Also it is possible
-for the root node to have a name even though it should not.
-
-Add checks for these and return -FDT_ERR_BADSTRUCTURE if a problem is
-detected.
-
-CVE-2021-27097
-
-Signed-off-by: Simon Glass <sjg@chromium.org>
-Reported-by: Bruce Monroe <bruce.monroe@intel.com>
-Reported-by: Arie Haenel <arie.haenel@intel.com>
-Reported-by: Julien Lenoir <julien.lenoir@intel.com>
-
-CVE: CVE-2021-27097
-Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/8a7d4cf9820ea16fabd25a6379351b4dc291204b]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
----
- common/fdt_region.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/common/fdt_region.c b/common/fdt_region.c
-index ff12c518e9..e4ef0ca770 100644
---- a/common/fdt_region.c
-+++ b/common/fdt_region.c
-@@ -43,6 +43,7 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count,
- int depth = -1;
- int want = 0;
- int base = fdt_off_dt_struct(fdt);
-+ bool expect_end = false;
-
- end = path;
- *end = '\0';
-@@ -59,6 +60,10 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count,
- tag = fdt_next_tag(fdt, offset, &nextoffset);
- stop_at = nextoffset;
-
-+ /* If we see two root nodes, something is wrong */
-+ if (expect_end && tag != FDT_END)
-+ return -FDT_ERR_BADLAYOUT;
-+
- switch (tag) {
- case FDT_PROP:
- include = want >= 2;
-@@ -81,6 +86,10 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count,
- if (depth == FDT_MAX_DEPTH)
- return -FDT_ERR_BADSTRUCTURE;
- name = fdt_get_name(fdt, offset, &len);
-+
-+ /* The root node must have an empty name */
-+ if (!depth && *name)
-+ return -FDT_ERR_BADLAYOUT;
- if (end - path + 2 + len >= path_len)
- return -FDT_ERR_NOSPACE;
- if (end != path + 1)
-@@ -108,6 +117,8 @@ int fdt_find_regions(const void *fdt, char * const inc[], int inc_count,
- while (end > path && *--end != '/')
- ;
- *end = '\0';
-+ if (depth == -1)
-+ expect_end = true;
- break;
-
- case FDT_END:
diff --git a/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch b/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch
deleted file mode 100644
index b13c44e787..0000000000
--- a/meta/recipes-bsp/u-boot/files/CVE-2021-27097-2.patch
+++ /dev/null
@@ -1,419 +0,0 @@
-From c5819701a3de61e2ba2ef7ad0b616565b32305e5 Mon Sep 17 00:00:00 2001
-From: Simon Glass <sjg@chromium.org>
-Date: Mon, 15 Feb 2021 17:08:09 -0700
-Subject: [PATCH] image: Adjust the workings of fit_check_format()
-
-At present this function does not accept a size for the FIT. This means
-that it must be read from the FIT itself, introducing potential security
-risk. Update the function to include a size parameter, which can be
-invalid, in which case fit_check_format() calculates it.
-
-For now no callers pass the size, but this can be updated later.
-
-Also adjust the return value to an error code so that all the different
-types of problems can be distinguished by the user.
-
-Signed-off-by: Simon Glass <sjg@chromium.org>
-Reported-by: Bruce Monroe <bruce.monroe@intel.com>
-Reported-by: Arie Haenel <arie.haenel@intel.com>
-Reported-by: Julien Lenoir <julien.lenoir@intel.com>
-
-CVE: CVE-2021-27097 CVE-2021-27138
-Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/c5819701a3de61e2ba2ef7ad0b616565b32305e5]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
----
- arch/arm/cpu/armv8/sec_firmware.c | 2 +-
- cmd/bootm.c | 6 ++---
- cmd/disk.c | 2 +-
- cmd/fpga.c | 2 +-
- cmd/nand.c | 2 +-
- cmd/source.c | 2 +-
- cmd/ximg.c | 2 +-
- common/image-fdt.c | 2 +-
- common/image-fit.c | 46 +++++++++++++++++---------------------
- common/splash_source.c | 6 ++---
- common/update.c | 4 ++--
- drivers/fpga/socfpga_arria10.c | 6 ++---
- drivers/net/fsl-mc/mc.c | 2 +-
- drivers/net/pfe_eth/pfe_firmware.c | 2 +-
- include/image.h | 21 ++++++++++++++++-
- tools/fit_common.c | 3 ++-
- tools/fit_image.c | 2 +-
- tools/mkimage.h | 2 ++
- 18 files changed, 65 insertions(+), 49 deletions(-)
-
-diff --git a/arch/arm/cpu/armv8/sec_firmware.c b/arch/arm/cpu/armv8/sec_firmware.c
-index bfc0fac3ef..0561f5efd1 100644
---- a/arch/arm/cpu/armv8/sec_firmware.c
-+++ b/arch/arm/cpu/armv8/sec_firmware.c
-@@ -316,7 +316,7 @@ __weak bool sec_firmware_is_valid(const void *sec_firmware_img)
- return false;
- }
-
-- if (!fit_check_format(sec_firmware_img)) {
-+ if (fit_check_format(sec_firmware_img, IMAGE_SIZE_INVAL)) {
- printf("SEC Firmware: Bad firmware image (bad FIT header)\n");
- return false;
- }
-diff --git a/cmd/bootm.c b/cmd/bootm.c
-index e6b0e04413..a0f823f968 100644
---- a/cmd/bootm.c
-+++ b/cmd/bootm.c
-@@ -291,7 +291,7 @@ static int image_info(ulong addr)
- case IMAGE_FORMAT_FIT:
- puts(" FIT image found\n");
-
-- if (!fit_check_format(hdr)) {
-+ if (fit_check_format(hdr, IMAGE_SIZE_INVAL)) {
- puts("Bad FIT image format!\n");
- unmap_sysmem(hdr);
- return 1;
-@@ -368,7 +368,7 @@ static int do_imls_nor(void)
- #endif
- #if defined(CONFIG_FIT)
- case IMAGE_FORMAT_FIT:
-- if (!fit_check_format(hdr))
-+ if (fit_check_format(hdr, IMAGE_SIZE_INVAL))
- goto next_sector;
-
- printf("FIT Image at %08lX:\n", (ulong)hdr);
-@@ -448,7 +448,7 @@ static int nand_imls_fitimage(struct mtd_info *mtd, int nand_dev, loff_t off,
- return ret;
- }
-
-- if (!fit_check_format(imgdata)) {
-+ if (fit_check_format(imgdata, IMAGE_SIZE_INVAL)) {
- free(imgdata);
- return 0;
- }
-diff --git a/cmd/disk.c b/cmd/disk.c
-index 8060e753eb..3195db9127 100644
---- a/cmd/disk.c
-+++ b/cmd/disk.c
-@@ -114,7 +114,7 @@ int common_diskboot(struct cmd_tbl *cmdtp, const char *intf, int argc,
- /* This cannot be done earlier,
- * we need complete FIT image in RAM first */
- if (genimg_get_format((void *) addr) == IMAGE_FORMAT_FIT) {
-- if (!fit_check_format(fit_hdr)) {
-+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
- bootstage_error(BOOTSTAGE_ID_IDE_FIT_READ);
- puts("** Bad FIT image format\n");
- return 1;
-diff --git a/cmd/fpga.c b/cmd/fpga.c
-index 8ae1c936fb..51410a8e42 100644
---- a/cmd/fpga.c
-+++ b/cmd/fpga.c
-@@ -330,7 +330,7 @@ static int do_fpga_loadmk(struct cmd_tbl *cmdtp, int flag, int argc,
- return CMD_RET_FAILURE;
- }
-
-- if (!fit_check_format(fit_hdr)) {
-+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
- puts("Bad FIT image format\n");
- return CMD_RET_FAILURE;
- }
-diff --git a/cmd/nand.c b/cmd/nand.c
-index 92d039af8f..97e117a979 100644
---- a/cmd/nand.c
-+++ b/cmd/nand.c
-@@ -917,7 +917,7 @@ static int nand_load_image(struct cmd_tbl *cmdtp, struct mtd_info *mtd,
- #if defined(CONFIG_FIT)
- /* This cannot be done earlier, we need complete FIT image in RAM first */
- if (genimg_get_format ((void *)addr) == IMAGE_FORMAT_FIT) {
-- if (!fit_check_format (fit_hdr)) {
-+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
- bootstage_error(BOOTSTAGE_ID_NAND_FIT_READ);
- puts ("** Bad FIT image format\n");
- return 1;
-diff --git a/cmd/source.c b/cmd/source.c
-index b6c709a3d2..71f71528ad 100644
---- a/cmd/source.c
-+++ b/cmd/source.c
-@@ -107,7 +107,7 @@ int image_source_script(ulong addr, const char *fit_uname)
- #if defined(CONFIG_FIT)
- case IMAGE_FORMAT_FIT:
- fit_hdr = buf;
-- if (!fit_check_format (fit_hdr)) {
-+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
- puts ("Bad FIT image format\n");
- return 1;
- }
-diff --git a/cmd/ximg.c b/cmd/ximg.c
-index 159ba51648..ef738ebfa2 100644
---- a/cmd/ximg.c
-+++ b/cmd/ximg.c
-@@ -136,7 +136,7 @@ do_imgextract(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
- "at %08lx ...\n", uname, addr);
-
- fit_hdr = (const void *)addr;
-- if (!fit_check_format(fit_hdr)) {
-+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
- puts("Bad FIT image format\n");
- return 1;
- }
-diff --git a/common/image-fdt.c b/common/image-fdt.c
-index 327a8c4c39..4105259212 100644
---- a/common/image-fdt.c
-+++ b/common/image-fdt.c
-@@ -399,7 +399,7 @@ int boot_get_fdt(int flag, int argc, char *const argv[], uint8_t arch,
- */
- #if CONFIG_IS_ENABLED(FIT)
- /* check FDT blob vs FIT blob */
-- if (fit_check_format(buf)) {
-+ if (!fit_check_format(buf, IMAGE_SIZE_INVAL)) {
- ulong load, len;
-
- fdt_noffset = boot_get_fdt_fit(images,
-diff --git a/common/image-fit.c b/common/image-fit.c
-index 9637d747fb..402f08fc9d 100644
---- a/common/image-fit.c
-+++ b/common/image-fit.c
-@@ -8,6 +8,8 @@
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- */
-
-+#define LOG_CATEGORY LOGC_BOOT
-+
- #ifdef USE_HOSTCC
- #include "mkimage.h"
- #include <time.h>
-@@ -1550,49 +1552,41 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp)
- return (comp == image_comp);
- }
-
--/**
-- * fit_check_format - sanity check FIT image format
-- * @fit: pointer to the FIT format image header
-- *
-- * fit_check_format() runs a basic sanity FIT image verification.
-- * Routine checks for mandatory properties, nodes, etc.
-- *
-- * returns:
-- * 1, on success
-- * 0, on failure
-- */
--int fit_check_format(const void *fit)
-+int fit_check_format(const void *fit, ulong size)
- {
-+ int ret;
-+
- /* A FIT image must be a valid FDT */
-- if (fdt_check_header(fit)) {
-- debug("Wrong FIT format: not a flattened device tree\n");
-- return 0;
-+ ret = fdt_check_header(fit);
-+ if (ret) {
-+ log_debug("Wrong FIT format: not a flattened device tree (err=%d)\n",
-+ ret);
-+ return -ENOEXEC;
- }
-
- /* mandatory / node 'description' property */
-- if (fdt_getprop(fit, 0, FIT_DESC_PROP, NULL) == NULL) {
-- debug("Wrong FIT format: no description\n");
-- return 0;
-+ if (!fdt_getprop(fit, 0, FIT_DESC_PROP, NULL)) {
-+ log_debug("Wrong FIT format: no description\n");
-+ return -ENOMSG;
- }
-
- if (IMAGE_ENABLE_TIMESTAMP) {
- /* mandatory / node 'timestamp' property */
-- if (fdt_getprop(fit, 0, FIT_TIMESTAMP_PROP, NULL) == NULL) {
-- debug("Wrong FIT format: no timestamp\n");
-- return 0;
-+ if (!fdt_getprop(fit, 0, FIT_TIMESTAMP_PROP, NULL)) {
-+ log_debug("Wrong FIT format: no timestamp\n");
-+ return -ENODATA;
- }
- }
-
- /* mandatory subimages parent '/images' node */
- if (fdt_path_offset(fit, FIT_IMAGES_PATH) < 0) {
-- debug("Wrong FIT format: no images parent node\n");
-- return 0;
-+ log_debug("Wrong FIT format: no images parent node\n");
-+ return -ENOENT;
- }
-
-- return 1;
-+ return 0;
- }
-
--
- /**
- * fit_conf_find_compat
- * @fit: pointer to the FIT format image header
-@@ -1929,7 +1923,7 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
- printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr);
-
- bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT);
-- if (!fit_check_format(fit)) {
-+ if (fit_check_format(fit, IMAGE_SIZE_INVAL)) {
- printf("Bad FIT %s image format!\n", prop_name);
- bootstage_error(bootstage_id + BOOTSTAGE_SUB_FORMAT);
- return -ENOEXEC;
-diff --git a/common/splash_source.c b/common/splash_source.c
-index f51ca5ddf3..bad9a7790a 100644
---- a/common/splash_source.c
-+++ b/common/splash_source.c
-@@ -336,10 +336,10 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
- if (res < 0)
- return res;
-
-- res = fit_check_format(fit_header);
-- if (!res) {
-+ res = fit_check_format(fit_header, IMAGE_SIZE_INVAL);
-+ if (res) {
- debug("Could not find valid FIT image\n");
-- return -EINVAL;
-+ return res;
- }
-
- /* Get the splash image node */
-diff --git a/common/update.c b/common/update.c
-index a5879cb52c..f0848954e5 100644
---- a/common/update.c
-+++ b/common/update.c
-@@ -286,7 +286,7 @@ int update_tftp(ulong addr, char *interface, char *devstring)
- got_update_file:
- fit = map_sysmem(addr, 0);
-
-- if (!fit_check_format((void *)fit)) {
-+ if (fit_check_format((void *)fit, IMAGE_SIZE_INVAL)) {
- printf("Bad FIT format of the update file, aborting "
- "auto-update\n");
- return 1;
-@@ -363,7 +363,7 @@ int fit_update(const void *fit)
- if (!fit)
- return -EINVAL;
-
-- if (!fit_check_format((void *)fit)) {
-+ if (fit_check_format((void *)fit, IMAGE_SIZE_INVAL)) {
- printf("Bad FIT format of the update file, aborting auto-update\n");
- return -EINVAL;
- }
-diff --git a/drivers/fpga/socfpga_arria10.c b/drivers/fpga/socfpga_arria10.c
-index 44e1ac54c3..18f99676d2 100644
---- a/drivers/fpga/socfpga_arria10.c
-+++ b/drivers/fpga/socfpga_arria10.c
-@@ -565,10 +565,10 @@ static int first_loading_rbf_to_buffer(struct udevice *dev,
- if (ret < 0)
- return ret;
-
-- ret = fit_check_format(buffer_p);
-- if (!ret) {
-+ ret = fit_check_format(buffer_p, IMAGE_SIZE_INVAL);
-+ if (ret) {
- debug("FPGA: No valid FIT image was found.\n");
-- return -EBADF;
-+ return ret;
- }
-
- confs_noffset = fdt_path_offset(buffer_p, FIT_CONFS_PATH);
-diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c
-index 84db6be624..81265ee356 100644
---- a/drivers/net/fsl-mc/mc.c
-+++ b/drivers/net/fsl-mc/mc.c
-@@ -141,7 +141,7 @@ int parse_mc_firmware_fit_image(u64 mc_fw_addr,
- return -EINVAL;
- }
-
-- if (!fit_check_format(fit_hdr)) {
-+ if (fit_check_format(fit_hdr, IMAGE_SIZE_INVAL)) {
- printf("fsl-mc: ERR: Bad firmware image (bad FIT header)\n");
- return -EINVAL;
- }
-diff --git a/drivers/net/pfe_eth/pfe_firmware.c b/drivers/net/pfe_eth/pfe_firmware.c
-index 41999e176d..eee70a2e73 100644
---- a/drivers/net/pfe_eth/pfe_firmware.c
-+++ b/drivers/net/pfe_eth/pfe_firmware.c
-@@ -160,7 +160,7 @@ static int pfe_fit_check(void)
- return ret;
- }
-
-- if (!fit_check_format(pfe_fit_addr)) {
-+ if (fit_check_format(pfe_fit_addr, IMAGE_SIZE_INVAL)) {
- printf("PFE Firmware: Bad firmware image (bad FIT header)\n");
- ret = -1;
- return ret;
-diff --git a/include/image.h b/include/image.h
-index 41473dbb9c..8c152c5c5f 100644
---- a/include/image.h
-+++ b/include/image.h
-@@ -134,6 +134,9 @@ extern ulong image_load_addr; /* Default Load Address */
- extern ulong image_save_addr; /* Default Save Address */
- extern ulong image_save_size; /* Default Save Size */
-
-+/* An invalid size, meaning that the image size is not known */
-+#define IMAGE_SIZE_INVAL (-1UL)
-+
- enum ih_category {
- IH_ARCH,
- IH_COMP,
-@@ -1141,7 +1144,23 @@ int fit_image_check_os(const void *fit, int noffset, uint8_t os);
- int fit_image_check_arch(const void *fit, int noffset, uint8_t arch);
- int fit_image_check_type(const void *fit, int noffset, uint8_t type);
- int fit_image_check_comp(const void *fit, int noffset, uint8_t comp);
--int fit_check_format(const void *fit);
-+
-+/**
-+ * fit_check_format() - Check that the FIT is valid
-+ *
-+ * This performs various checks on the FIT to make sure it is suitable for
-+ * use, looking for mandatory properties, nodes, etc.
-+ *
-+ * If FIT_FULL_CHECK is enabled, it also runs it through libfdt to make
-+ * sure that there are no strange tags or broken nodes in the FIT.
-+ *
-+ * @fit: pointer to the FIT format image header
-+ * @return 0 if OK, -ENOEXEC if not an FDT file, -EINVAL if the full FDT check
-+ * failed (e.g. due to bad structure), -ENOMSG if the description is
-+ * missing, -ENODATA if the timestamp is missing, -ENOENT if the /images
-+ * path is missing
-+ */
-+int fit_check_format(const void *fit, ulong size);
-
- int fit_conf_find_compat(const void *fit, const void *fdt);
-
-diff --git a/tools/fit_common.c b/tools/fit_common.c
-index cdf987d3c1..52b63296f8 100644
---- a/tools/fit_common.c
-+++ b/tools/fit_common.c
-@@ -26,7 +26,8 @@
- int fit_verify_header(unsigned char *ptr, int image_size,
- struct image_tool_params *params)
- {
-- if (fdt_check_header(ptr) != EXIT_SUCCESS || !fit_check_format(ptr))
-+ if (fdt_check_header(ptr) != EXIT_SUCCESS ||
-+ fit_check_format(ptr, IMAGE_SIZE_INVAL))
- return EXIT_FAILURE;
-
- return EXIT_SUCCESS;
-diff --git a/tools/fit_image.c b/tools/fit_image.c
-index 06faeda7c2..d440d143c6 100644
---- a/tools/fit_image.c
-+++ b/tools/fit_image.c
-@@ -883,7 +883,7 @@ static int fit_extract_contents(void *ptr, struct image_tool_params *params)
- /* Indent string is defined in header image.h */
- p = IMAGE_INDENT_STRING;
-
-- if (!fit_check_format(fit)) {
-+ if (fit_check_format(fit, IMAGE_SIZE_INVAL)) {
- printf("Bad FIT image format\n");
- return -1;
- }
-diff --git a/tools/mkimage.h b/tools/mkimage.h
-index 5b096a545b..0d3148444c 100644
---- a/tools/mkimage.h
-+++ b/tools/mkimage.h
-@@ -29,6 +29,8 @@
- #define debug(fmt,args...)
- #endif /* MKIMAGE_DEBUG */
-
-+#define log_debug(fmt, args...) debug(fmt, ##args)
-+
- static inline void *map_sysmem(ulong paddr, unsigned long len)
- {
- return (void *)(uintptr_t)paddr;
diff --git a/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch b/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch
deleted file mode 100644
index 86f7e8ce55..0000000000
--- a/meta/recipes-bsp/u-boot/files/CVE-2021-27097-3.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 6f3c2d8aa5e6cbd80b5e869bbbddecb66c329d01 Mon Sep 17 00:00:00 2001
-From: Simon Glass <sjg@chromium.org>
-Date: Mon, 15 Feb 2021 17:08:10 -0700
-Subject: [PATCH] image: Add an option to do a full check of the FIT
-
-Some strange modifications of the FIT can introduce security risks. Add an
-option to check it thoroughly, using libfdt's fdt_check_full() function.
-
-Enable this by default if signature verification is enabled.
-
-CVE-2021-27097
-
-Signed-off-by: Simon Glass <sjg@chromium.org>
-Reported-by: Bruce Monroe <bruce.monroe@intel.com>
-Reported-by: Arie Haenel <arie.haenel@intel.com>
-Reported-by: Julien Lenoir <julien.lenoir@intel.com>
-
-CVE: CVE-2021-27097
-Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/6f3c2d8aa5e6cbd80b5e869bbbddecb66c329d01]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
----
- common/Kconfig.boot | 20 ++++++++++++++++++++
- common/image-fit.c | 16 ++++++++++++++++
- 2 files changed, 36 insertions(+)
-
-diff --git a/common/Kconfig.boot b/common/Kconfig.boot
-index 5eaabdfc27..7532e55edb 100644
---- a/common/Kconfig.boot
-+++ b/common/Kconfig.boot
-@@ -63,6 +63,15 @@ config FIT_ENABLE_SHA512_SUPPORT
- SHA512 checksum is a 512-bit (64-byte) hash value used to check that
- the image contents have not been corrupted.
-
-+config FIT_FULL_CHECK
-+ bool "Do a full check of the FIT before using it"
-+ default y
-+ help
-+ Enable this do a full check of the FIT to make sure it is valid. This
-+ helps to protect against carefully crafted FITs which take advantage
-+ of bugs or omissions in the code. This includes a bad structure,
-+ multiple root nodes and the like.
-+
- config FIT_SIGNATURE
- bool "Enable signature verification of FIT uImages"
- depends on DM
-@@ -70,6 +79,7 @@ config FIT_SIGNATURE
- select RSA
- select RSA_VERIFY
- select IMAGE_SIGN_INFO
-+ select FIT_FULL_CHECK
- help
- This option enables signature verification of FIT uImages,
- using a hash signed and verified using RSA. If
-@@ -159,6 +169,15 @@ config SPL_FIT_PRINT
- help
- Support printing the content of the fitImage in a verbose manner in SPL.
-
-+config SPL_FIT_FULL_CHECK
-+ bool "Do a full check of the FIT before using it"
-+ help
-+ Enable this do a full check of the FIT to make sure it is valid. This
-+ helps to protect against carefully crafted FITs which take advantage
-+ of bugs or omissions in the code. This includes a bad structure,
-+ multiple root nodes and the like.
-+
-+
- config SPL_FIT_SIGNATURE
- bool "Enable signature verification of FIT firmware within SPL"
- depends on SPL_DM
-@@ -168,6 +187,7 @@ config SPL_FIT_SIGNATURE
- select SPL_RSA
- select SPL_RSA_VERIFY
- select SPL_IMAGE_SIGN_INFO
-+ select SPL_FIT_FULL_CHECK
-
- config SPL_LOAD_FIT
- bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
-diff --git a/common/image-fit.c b/common/image-fit.c
-index f6c0428a96..bcf395f6a1 100644
---- a/common/image-fit.c
-+++ b/common/image-fit.c
-@@ -1580,6 +1580,22 @@ int fit_check_format(const void *fit, ulong size)
- return -ENOEXEC;
- }
-
-+ if (CONFIG_IS_ENABLED(FIT_FULL_CHECK)) {
-+ /*
-+ * If we are not given the size, make do wtih calculating it.
-+ * This is not as secure, so we should consider a flag to
-+ * control this.
-+ */
-+ if (size == IMAGE_SIZE_INVAL)
-+ size = fdt_totalsize(fit);
-+ ret = fdt_check_full(fit, size);
-+
-+ if (ret) {
-+ log_debug("FIT check error %d\n", ret);
-+ return -EINVAL;
-+ }
-+ }
-+
- /* mandatory / node 'description' property */
- if (!fdt_getprop(fit, 0, FIT_DESC_PROP, NULL)) {
- log_debug("Wrong FIT format: no description\n");
diff --git a/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch b/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch
deleted file mode 100644
index 060cac1cf6..0000000000
--- a/meta/recipes-bsp/u-boot/files/CVE-2021-27097-4.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 124c255731c76a2b09587378b2bcce561bcd3f2d Mon Sep 17 00:00:00 2001
-From: Simon Glass <sjg@chromium.org>
-Date: Mon, 15 Feb 2021 17:08:11 -0700
-Subject: [PATCH] libfdt: Check for multiple/invalid root nodes
-
-It is possible to construct a devicetree blob with multiple root nodes.
-Update fdt_check_full() to check for this, along with a root node with an
-invalid name.
-
-CVE-2021-27097
-
-Signed-off-by: Simon Glass <sjg@chromium.org>
-Reported-by: Bruce Monroe <bruce.monroe@intel.com>
-Reported-by: Arie Haenel <arie.haenel@intel.com>
-Reported-by: Julien Lenoir <julien.lenoir@intel.com>
-
-CVE: CVE-2021-27097
-Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/124c255731c76a2b09587378b2bcce561bcd3f2d]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
----
- scripts/dtc/libfdt/fdt_ro.c | 17 +++++++++++++++++
- test/py/tests/test_vboot.py | 3 ++-
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/scripts/dtc/libfdt/fdt_ro.c b/scripts/dtc/libfdt/fdt_ro.c
-index d984bab036..efe7efe921 100644
---- a/scripts/dtc/libfdt/fdt_ro.c
-+++ b/scripts/dtc/libfdt/fdt_ro.c
-@@ -867,6 +867,7 @@ int fdt_check_full(const void *fdt, size_t bufsize)
- unsigned depth = 0;
- const void *prop;
- const char *propname;
-+ bool expect_end = false;
-
- if (bufsize < FDT_V1_SIZE)
- return -FDT_ERR_TRUNCATED;
-@@ -887,6 +888,10 @@ int fdt_check_full(const void *fdt, size_t bufsize)
- if (nextoffset < 0)
- return nextoffset;
-
-+ /* If we see two root nodes, something is wrong */
-+ if (expect_end && tag != FDT_END)
-+ return -FDT_ERR_BADLAYOUT;
-+
- switch (tag) {
- case FDT_NOP:
- break;
-@@ -900,12 +905,24 @@ int fdt_check_full(const void *fdt, size_t bufsize)
- depth++;
- if (depth > INT_MAX)
- return -FDT_ERR_BADSTRUCTURE;
-+
-+ /* The root node must have an empty name */
-+ if (depth == 1) {
-+ const char *name;
-+ int len;
-+
-+ name = fdt_get_name(fdt, offset, &len);
-+ if (*name || len)
-+ return -FDT_ERR_BADLAYOUT;
-+ }
- break;
-
- case FDT_END_NODE:
- if (depth == 0)
- return -FDT_ERR_BADSTRUCTURE;
- depth--;
-+ if (depth == 0)
-+ expect_end = true;
- break;
-
- case FDT_PROP:
diff --git a/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch b/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch
deleted file mode 100644
index 562f8151bb..0000000000
--- a/meta/recipes-bsp/u-boot/files/CVE-2021-27138-1.patch
+++ /dev/null
@@ -1,245 +0,0 @@
-From 79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4 Mon Sep 17 00:00:00 2001
-From: Simon Glass <sjg@chromium.org>
-Date: Mon, 15 Feb 2021 17:08:06 -0700
-Subject: [PATCH] fit: Don't allow verification of images with @ nodes
-
-When searching for a node called 'fred', any unit address appended to the
-name is ignored by libfdt, meaning that 'fred' can match 'fred@1'. This
-means that we cannot be sure that the node originally intended is the one
-that is used.
-
-Disallow use of nodes with unit addresses.
-
-Update the forge test also, since it uses @ addresses.
-
-CVE-2021-27138
-
-Signed-off-by: Simon Glass <sjg@chromium.org>
-Reported-by: Bruce Monroe <bruce.monroe@intel.com>
-Reported-by: Arie Haenel <arie.haenel@intel.com>
-Reported-by: Julien Lenoir <julien.lenoir@intel.com>
-
-CVE: CVE-2021-27138
-Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
----
- common/image-fit-sig.c | 22 ++++++++++++++++++++--
- common/image-fit.c | 20 +++++++++++++++-----
- test/py/tests/test_fit.py | 24 ++++++++++++------------
- test/py/tests/vboot_forge.py | 12 ++++++------
- 4 files changed, 53 insertions(+), 25 deletions(-)
-
-diff --git a/common/image-fit-sig.c b/common/image-fit-sig.c
-index 897e04c7a3..34ebb8edfe 100644
---- a/common/image-fit-sig.c
-+++ b/common/image-fit-sig.c
-@@ -149,6 +149,14 @@ static int fit_image_verify_sig(const void *fit, int image_noffset,
- fdt_for_each_subnode(noffset, fit, image_noffset) {
- const char *name = fit_get_name(fit, noffset, NULL);
-
-+ /*
-+ * We don't support this since libfdt considers names with the
-+ * name root but different @ suffix to be equal
-+ */
-+ if (strchr(name, '@')) {
-+ err_msg = "Node name contains @";
-+ goto error;
-+ }
- if (!strncmp(name, FIT_SIG_NODENAME,
- strlen(FIT_SIG_NODENAME))) {
- ret = fit_image_check_sig(fit, noffset, data,
-@@ -398,9 +406,10 @@ error:
- return -EPERM;
- }
-
--int fit_config_verify_required_sigs(const void *fit, int conf_noffset,
-- const void *sig_blob)
-+static int fit_config_verify_required_sigs(const void *fit, int conf_noffset,
-+ const void *sig_blob)
- {
-+ const char *name = fit_get_name(fit, conf_noffset, NULL);
- int noffset;
- int sig_node;
- int verified = 0;
-@@ -408,6 +417,15 @@ int fit_config_verify_required_sigs(const void *fit, int conf_noffset,
- bool reqd_policy_all = true;
- const char *reqd_mode;
-
-+ /*
-+ * We don't support this since libfdt considers names with the
-+ * name root but different @ suffix to be equal
-+ */
-+ if (strchr(name, '@')) {
-+ printf("Configuration node '%s' contains '@'\n", name);
-+ return -EPERM;
-+ }
-+
- /* Work out what we need to verify */
- sig_node = fdt_subnode_offset(sig_blob, 0, FIT_SIG_NODENAME);
- if (sig_node < 0) {
-diff --git a/common/image-fit.c b/common/image-fit.c
-index adc3e551de..c3dc814115 100644
---- a/common/image-fit.c
-+++ b/common/image-fit.c
-@@ -1369,21 +1369,31 @@ error:
- */
- int fit_image_verify(const void *fit, int image_noffset)
- {
-+ const char *name = fit_get_name(fit, image_noffset, NULL);
- const void *data;
- size_t size;
-- int noffset = 0;
- char *err_msg = "";
-
-+ if (strchr(name, '@')) {
-+ /*
-+ * We don't support this since libfdt considers names with the
-+ * name root but different @ suffix to be equal
-+ */
-+ err_msg = "Node name contains @";
-+ goto err;
-+ }
- /* Get image data and data length */
- if (fit_image_get_data_and_size(fit, image_noffset, &data, &size)) {
- err_msg = "Can't get image data/size";
-- printf("error!\n%s for '%s' hash node in '%s' image node\n",
-- err_msg, fit_get_name(fit, noffset, NULL),
-- fit_get_name(fit, image_noffset, NULL));
-- return 0;
-+ goto err;
- }
-
- return fit_image_verify_with_data(fit, image_noffset, data, size);
-+
-+err:
-+ printf("error!\n%s in '%s' image node\n", err_msg,
-+ fit_get_name(fit, image_noffset, NULL));
-+ return 0;
- }
-
- /**
-diff --git a/test/py/tests/test_fit.py b/test/py/tests/test_fit.py
-index 84b3f95850..6d5b43c3ba 100755
---- a/test/py/tests/test_fit.py
-+++ b/test/py/tests/test_fit.py
-@@ -17,7 +17,7 @@ base_its = '''
- #address-cells = <1>;
-
- images {
-- kernel@1 {
-+ kernel-1 {
- data = /incbin/("%(kernel)s");
- type = "kernel";
- arch = "sandbox";
-@@ -26,7 +26,7 @@ base_its = '''
- load = <0x40000>;
- entry = <0x8>;
- };
-- kernel@2 {
-+ kernel-2 {
- data = /incbin/("%(loadables1)s");
- type = "kernel";
- arch = "sandbox";
-@@ -35,19 +35,19 @@ base_its = '''
- %(loadables1_load)s
- entry = <0x0>;
- };
-- fdt@1 {
-+ fdt-1 {
- description = "snow";
- data = /incbin/("%(fdt)s");
- type = "flat_dt";
- arch = "sandbox";
- %(fdt_load)s
- compression = "%(compression)s";
-- signature@1 {
-+ signature-1 {
- algo = "sha1,rsa2048";
- key-name-hint = "dev";
- };
- };
-- ramdisk@1 {
-+ ramdisk-1 {
- description = "snow";
- data = /incbin/("%(ramdisk)s");
- type = "ramdisk";
-@@ -56,7 +56,7 @@ base_its = '''
- %(ramdisk_load)s
- compression = "%(compression)s";
- };
-- ramdisk@2 {
-+ ramdisk-2 {
- description = "snow";
- data = /incbin/("%(loadables2)s");
- type = "ramdisk";
-@@ -67,10 +67,10 @@ base_its = '''
- };
- };
- configurations {
-- default = "conf@1";
-- conf@1 {
-- kernel = "kernel@1";
-- fdt = "fdt@1";
-+ default = "conf-1";
-+ conf-1 {
-+ kernel = "kernel-1";
-+ fdt = "fdt-1";
- %(ramdisk_config)s
- %(loadables_config)s
- };
-@@ -410,7 +410,7 @@ def test_fit(u_boot_console):
-
- # Try a ramdisk
- with cons.log.section('Kernel + FDT + Ramdisk load'):
-- params['ramdisk_config'] = 'ramdisk = "ramdisk@1";'
-+ params['ramdisk_config'] = 'ramdisk = "ramdisk-1";'
- params['ramdisk_load'] = 'load = <%#x>;' % params['ramdisk_addr']
- fit = make_fit(mkimage, params)
- cons.restart_uboot()
-@@ -419,7 +419,7 @@ def test_fit(u_boot_console):
-
- # Configuration with some Loadables
- with cons.log.section('Kernel + FDT + Ramdisk load + Loadables'):
-- params['loadables_config'] = 'loadables = "kernel@2", "ramdisk@2";'
-+ params['loadables_config'] = 'loadables = "kernel-2", "ramdisk-2";'
- params['loadables1_load'] = ('load = <%#x>;' %
- params['loadables1_addr'])
- params['loadables2_load'] = ('load = <%#x>;' %
-diff --git a/test/py/tests/vboot_forge.py b/test/py/tests/vboot_forge.py
-index 0fb7ef4024..b41105bd0e 100644
---- a/test/py/tests/vboot_forge.py
-+++ b/test/py/tests/vboot_forge.py
-@@ -376,12 +376,12 @@ def manipulate(root, strblock):
- """
- Maliciously manipulates the structure to create a crafted FIT file
- """
-- # locate /images/kernel@1 (frankly, it just expects it to be the first one)
-+ # locate /images/kernel-1 (frankly, it just expects it to be the first one)
- kernel_node = root[0][0]
- # clone it to save time filling all the properties
- fake_kernel = kernel_node.clone()
- # rename the node
-- fake_kernel.name = b'kernel@2'
-+ fake_kernel.name = b'kernel-2'
- # get rid of signatures/hashes
- fake_kernel.children = []
- # NOTE: this simply replaces the first prop... either description or data
-@@ -391,13 +391,13 @@ def manipulate(root, strblock):
- root[0].children.append(fake_kernel)
-
- # modify the default configuration
-- root[1].props[0].value = b'conf@2\x00'
-+ root[1].props[0].value = b'conf-2\x00'
- # clone the first (only?) configuration
- fake_conf = root[1][0].clone()
- # rename and change kernel and fdt properties to select the crafted kernel
-- fake_conf.name = b'conf@2'
-- fake_conf.props[0].value = b'kernel@2\x00'
-- fake_conf.props[1].value = b'fdt@1\x00'
-+ fake_conf.name = b'conf-2'
-+ fake_conf.props[0].value = b'kernel-2\x00'
-+ fake_conf.props[1].value = b'fdt-1\x00'
- # insert the new configuration under /configurations
- root[1].children.append(fake_conf)
-
diff --git a/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch b/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch
deleted file mode 100644
index 946196c378..0000000000
--- a/meta/recipes-bsp/u-boot/files/CVE-2021-27138-2.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 3f04db891a353f4b127ed57279279f851c6b4917 Mon Sep 17 00:00:00 2001
-From: Simon Glass <sjg@chromium.org>
-Date: Mon, 15 Feb 2021 17:08:12 -0700
-Subject: [PATCH] image: Check for unit addresses in FITs
-
-Using unit addresses in a FIT is a security risk. Add a check for this
-and disallow it.
-
-CVE-2021-27138
-
-Signed-off-by: Simon Glass <sjg@chromium.org>
-Reported-by: Bruce Monroe <bruce.monroe@intel.com>
-Reported-by: Arie Haenel <arie.haenel@intel.com>
-Reported-by: Julien Lenoir <julien.lenoir@intel.com>
-
-CVE: CVE-2021-27138
-Upstream-Status: Backport[https://github.com/u-boot/u-boot/commit/3f04db891a353f4b127ed57279279f851c6b4917]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
----
- common/image-fit.c | 56 +++++++++++++++++++++++++++++++++++++++++----
- test/py/tests/test_vboot.py | 9 ++++----
- 2 files changed, 57 insertions(+), 8 deletions(-)
-
-diff --git a/common/image-fit.c b/common/image-fit.c
-index bcf395f6a1..28b3d2b191 100644
---- a/common/image-fit.c
-+++ b/common/image-fit.c
-@@ -1568,6 +1568,34 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp)
- return (comp == image_comp);
- }
-
-+/**
-+ * fdt_check_no_at() - Check for nodes whose names contain '@'
-+ *
-+ * This checks the parent node and all subnodes recursively
-+ *
-+ * @fit: FIT to check
-+ * @parent: Parent node to check
-+ * @return 0 if OK, -EADDRNOTAVAIL is a node has a name containing '@'
-+ */
-+static int fdt_check_no_at(const void *fit, int parent)
-+{
-+ const char *name;
-+ int node;
-+ int ret;
-+
-+ name = fdt_get_name(fit, parent, NULL);
-+ if (!name || strchr(name, '@'))
-+ return -EADDRNOTAVAIL;
-+
-+ fdt_for_each_subnode(node, fit, parent) {
-+ ret = fdt_check_no_at(fit, node);
-+ if (ret)
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
- int fit_check_format(const void *fit, ulong size)
- {
- int ret;
-@@ -1589,10 +1617,27 @@ int fit_check_format(const void *fit, ulong size)
- if (size == IMAGE_SIZE_INVAL)
- size = fdt_totalsize(fit);
- ret = fdt_check_full(fit, size);
-+ if (ret)
-+ ret = -EINVAL;
-+
-+ /*
-+ * U-Boot stopped using unit addressed in 2017. Since libfdt
-+ * can match nodes ignoring any unit address, signature
-+ * verification can see the wrong node if one is inserted with
-+ * the same name as a valid node but with a unit address
-+ * attached. Protect against this by disallowing unit addresses.
-+ */
-+ if (!ret && CONFIG_IS_ENABLED(FIT_SIGNATURE)) {
-+ ret = fdt_check_no_at(fit, 0);
-
-+ if (ret) {
-+ log_debug("FIT check error %d\n", ret);
-+ return ret;
-+ }
-+ }
- if (ret) {
- log_debug("FIT check error %d\n", ret);
-- return -EINVAL;
-+ return ret;
- }
- }
-
-@@ -1955,10 +2000,13 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
- printf("## Loading %s from FIT Image at %08lx ...\n", prop_name, addr);
-
- bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT);
-- if (fit_check_format(fit, IMAGE_SIZE_INVAL)) {
-- printf("Bad FIT %s image format!\n", prop_name);
-+ ret = fit_check_format(fit, IMAGE_SIZE_INVAL);
-+ if (ret) {
-+ printf("Bad FIT %s image format! (err=%d)\n", prop_name, ret);
-+ if (CONFIG_IS_ENABLED(FIT_SIGNATURE) && ret == -EADDRNOTAVAIL)
-+ printf("Signature checking prevents use of unit addresses (@) in nodes\n");
- bootstage_error(bootstage_id + BOOTSTAGE_SUB_FORMAT);
-- return -ENOEXEC;
-+ return ret;
- }
- bootstage_mark(bootstage_id + BOOTSTAGE_SUB_FORMAT_OK);
- if (fit_uname) {
diff --git a/meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb b/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb
index 613e3161fb..2cf87c794e 100644
--- a/meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb
+++ b/meta/recipes-bsp/u-boot/libubootenv_0.3.2.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b36
SECTION = "libs"
SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https"
-SRCREV = "824551ac77bab1d0f7ae34d7a7c77b155240e754"
+SRCREV = "ba7564f5006d09bec51058cf4f5ac90d4dc18b3c"
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 993478a73b..dbbb9ff145 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -12,16 +12,9 @@ PE = "1"
# We use the revision in order to avoid having to fetch it from the
# repo during parse
-SRCREV = "c4fddedc48f336eabc4ce3f74940e6aa372de18c"
+SRCREV = "b46dd116ce03e235f2a7d4843c6278e1da44b5e1"
SRC_URI = "git://git.denx.de/u-boot.git \
- file://0001-add-valid-fdt-check.patch \
- file://CVE-2021-27097-1.patch \
- file://CVE-2021-27097-2.patch \
- file://CVE-2021-27097-3.patch \
- file://CVE-2021-27097-4.patch \
- file://CVE-2021-27138-1.patch \
- file://CVE-2021-27138-2.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2021.01.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb
index ef386f76e6..ef386f76e6 100644
--- a/meta/recipes-bsp/u-boot/u-boot-tools_2021.01.bb
+++ b/meta/recipes-bsp/u-boot/u-boot-tools_2021.04.bb
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 5398c2e621..8ccc532f7e 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -5,7 +5,7 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
DEPENDS += "kern-tools-native"
-inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1 python3native
+inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1 python3native kernel-arch
DEPENDS += "swig-native"
@@ -346,6 +346,11 @@ do_deploy () {
ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}
ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}
fi
+
+ if [ -n "${UBOOT_DTB}" ]
+ then
+ install -m 644 ${B}/arch/${UBOOT_ARCH}/dts/${UBOOT_DTB_BINARY} ${DEPLOYDIR}/
+ fi
}
addtask deploy before do_build after do_compile
diff --git a/meta/recipes-bsp/u-boot/u-boot_2021.01.bb b/meta/recipes-bsp/u-boot/u-boot_2021.04.bb
index bbbc99bf8d..bbbc99bf8d 100644
--- a/meta/recipes-bsp/u-boot/u-boot_2021.01.bb
+++ b/meta/recipes-bsp/u-boot/u-boot_2021.04.bb
diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb
index c8a3f876aa..5c46bbf58e 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -30,10 +30,13 @@ UPSTREAM_CHECK_URI = "https://github.com/lathiat/avahi/releases/"
SRC_URI[md5sum] = "229c6aa30674fc43c202b22c5f8c2be7"
SRC_URI[sha256sum] = "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda"
+# Issue only affects Debian/SUSE, not us
+CVE_CHECK_WHITELIST += "CVE-2021-26720"
+
DEPENDS = "expat libcap libdaemon glib-2.0 intltool-native"
# For gtk related PACKAGECONFIGs: gtk, gtk3
-AVAHI_GTK ?= "gtk3"
+AVAHI_GTK ?= ""
PACKAGECONFIG ??= "dbus ${@bb.utils.contains_any('DISTRO_FEATURES','x11 wayland','${AVAHI_GTK}','',d)}"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
diff --git a/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch b/meta/recipes-connectivity/bind/bind-9.16.16/0001-avoid-start-failure-with-bind-user.patch
index 8db96ec049..8db96ec049 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.12/0001-avoid-start-failure-with-bind-user.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.16/0001-avoid-start-failure-with-bind-user.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/meta/recipes-connectivity/bind/bind-9.16.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch
index 5bcc16c9b2..5bcc16c9b2 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.12/0001-named-lwresd-V-and-start-log-hide-build-options.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.16/0001-named-lwresd-V-and-start-log-hide-build-options.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch b/meta/recipes-connectivity/bind/bind-9.16.16/bind-ensure-searching-for-json-headers-searches-sysr.patch
index f9cdc7ca4d..f9cdc7ca4d 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.12/bind-ensure-searching-for-json-headers-searches-sysr.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.16/bind-ensure-searching-for-json-headers-searches-sysr.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.12/bind9 b/meta/recipes-connectivity/bind/bind-9.16.16/bind9
index 968679ff7f..968679ff7f 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.12/bind9
+++ b/meta/recipes-connectivity/bind/bind-9.16.16/bind9
diff --git a/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch b/meta/recipes-connectivity/bind/bind-9.16.16/conf.patch
index aad345f9fc..aad345f9fc 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.12/conf.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.16/conf.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh b/meta/recipes-connectivity/bind/bind-9.16.16/generate-rndc-key.sh
index 633e29c0e6..633e29c0e6 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.12/generate-rndc-key.sh
+++ b/meta/recipes-connectivity/bind/bind-9.16.16/generate-rndc-key.sh
diff --git a/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch b/meta/recipes-connectivity/bind/bind-9.16.16/init.d-add-support-for-read-only-rootfs.patch
index 11db95ede1..11db95ede1 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.12/init.d-add-support-for-read-only-rootfs.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.16/init.d-add-support-for-read-only-rootfs.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch b/meta/recipes-connectivity/bind/bind-9.16.16/make-etc-initd-bind-stop-work.patch
index 146f3e35db..146f3e35db 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.12/make-etc-initd-bind-stop-work.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.16/make-etc-initd-bind-stop-work.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.12/named.service b/meta/recipes-connectivity/bind/bind-9.16.16/named.service
index cda56ef015..cda56ef015 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.12/named.service
+++ b/meta/recipes-connectivity/bind/bind-9.16.16/named.service
diff --git a/meta/recipes-connectivity/bind/bind_9.16.12.bb b/meta/recipes-connectivity/bind/bind_9.16.16.bb
index 09f77038fa..b152598402 100644
--- a/meta/recipes-connectivity/bind/bind_9.16.12.bb
+++ b/meta/recipes-connectivity/bind/bind_9.16.16.bb
@@ -20,12 +20,16 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
file://0001-avoid-start-failure-with-bind-user.patch \
"
-SRC_URI[sha256sum] = "9914af9311fd349cab441097898d94fb28d0bfd9bf6ed04fe1f97f042644da7f"
+SRC_URI[sha256sum] = "6c913902adf878e7dc5e229cea94faefc9d40f44775a30213edd08860f761d7b"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
# stay at 9.16 follow the ESV versions divisible by 4
UPSTREAM_CHECK_REGEX = "(?P<pver>9.(16|20|24|28)(\.\d+)+(-P\d+)*)/"
+# Issue only affects dhcpd with recent bind versions. We don't ship dhcpd anymore
+# so the issue doesn't affect us.
+CVE_CHECK_WHITELIST += "CVE-2019-6470"
+
inherit autotools update-rc.d systemd useradd pkgconfig multilib_header update-alternatives
# PACKAGECONFIGs readline and libedit should NOT be set at same time
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index a7b628ce1b..635cad813e 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -52,6 +52,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \
file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
file://0001-test-gatt-Fix-hung-issue.patch \
+ file://0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch \
+ file://0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch \
"
S = "${WORKDIR}/bluez-${PV}"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch
new file mode 100644
index 0000000000..03b42f73cb
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-Makefile.am-add-missing-mkdir-for-ell-shared.patch
@@ -0,0 +1,25 @@
+From d341ba650af1b7068d9ad034732b4f41b91bb2c1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sun, 25 Apr 2021 18:56:41 +0200
+Subject: [PATCH] Makefile.am: add missing mkdir for ell/shared
+
+This addresses build errors out of source tree.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index be5d5c7..72ad425 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -623,6 +623,7 @@ lib/bluetooth/%.h: lib/%.h
+ $(AM_V_GEN)$(LN_S) -f $(abspath $<) $@
+
+ ell/shared: Makefile
++ $(AM_V_at)$(MKDIR_P) ell
+ $(AM_V_GEN)for f in $(ell_shared) ; do \
+ if [ ! -f $$f ] ; then \
+ $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch
new file mode 100644
index 0000000000..d9067df02d
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-audio-Rename-pause-funciton-to-avoid-shadowing-glibc.patch
@@ -0,0 +1,48 @@
+From 8adab7f1e04948e78854953f9373cac741445a0f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Apr 2021 21:09:33 -0700
+Subject: [PATCH] audio: Rename pause funciton to avoid shadowing glibc
+ defintions
+
+Fixes
+profiles/audio/media.c:1284:13: error: static declaration of 'pause' follows non-static declaration
+static bool pause(void *user_data)
+ ^
+/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/bluez5/5.56-r0/recipe-sysroot/usr/include/unistd.h:478:12: note: previous declaration is here
+extern int pause (void);
+ ^
+../bluez-5.56/profiles/audio/media.c:1334:11: warning: incompatible function pointer types initializing 'bool (*)(void *)' with an expression of type 'int (void)' [-Wincompatible-function-pointer-types]
+ .pause = pause,
+ ^~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ profiles/audio/media.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/profiles/audio/media.c b/profiles/audio/media.c
+index c84bbe2..7110089 100644
+--- a/profiles/audio/media.c
++++ b/profiles/audio/media.c
+@@ -1281,7 +1281,7 @@ static bool stop(void *user_data)
+ return media_player_send(mp, "Stop");
+ }
+
+-static bool pause(void *user_data)
++static bool apause(void *user_data)
+ {
+ struct media_player *mp = user_data;
+
+@@ -1331,7 +1331,7 @@ static struct avrcp_player_cb player_cb = {
+ .set_volume = set_volume,
+ .play = play,
+ .stop = stop,
+- .pause = pause,
++ .pause = apause,
+ .next = next,
+ .previous = previous,
+ };
+--
+2.31.1
+
diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.56.bb b/meta/recipes-connectivity/bluez5/bluez5_5.58.bb
index 676cb2dbb2..eb8475ec1e 100644
--- a/meta/recipes-connectivity/bluez5/bluez5_5.56.bb
+++ b/meta/recipes-connectivity/bluez5/bluez5_5.58.bb
@@ -1,7 +1,9 @@
require bluez5.inc
-SRC_URI[md5sum] = "e6c51b2aefa7c56ff072819a78611fa5"
-SRC_URI[sha256sum] = "59c4dba9fc8aae2a6a5f8f12f19bc1b0c2dc27355c7ca3123eed3fe6bd7d0b9d"
+SRC_URI[sha256sum] = "c8065e75a5eb67236849ef68a354b1700540305a8c88ef0a0fd6288f19daf1f1"
+
+# These issues have kernel fixes rather than bluez fixes so exclude here
+CVE_CHECK_WHITELIST += "CVE-2020-12352 CVE-2020-24490"
# noinst programs in Makefile.tools that are conditional on READLINE
# support
diff --git a/meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb b/meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb
index e27b42d232..3631123374 100644
--- a/meta/recipes-connectivity/iproute2/iproute2_5.11.0.bb
+++ b/meta/recipes-connectivity/iproute2/iproute2_5.12.0.bb
@@ -4,7 +4,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
file://0001-libc-compat.h-add-musl-workaround.patch \
"
-SRC_URI[sha256sum] = "c5e2ea108212b3445051b35953ec267f9f3469e1d5c67ac034ab559849505c54"
+SRC_URI[sha256sum] = "9d268db98a36ee2a0e3ff3b92b2efff66fc1138a51e409bdef6ab3cfe15f326f"
# CFLAGS are computed in Makefile and reference CCOPTS
#
diff --git a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.14.1.bb b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb
index 9a83898e52..75e8ba06d9 100644
--- a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.14.1.bb
+++ b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.15.bb
@@ -11,7 +11,7 @@ DEPENDS = "avahi"
SRC_URI = "git://github.com/lathiat/nss-mdns \
"
-SRCREV = "41c9c5e78f287ed4b41ac438c1873fa71bfa70ae"
+SRCREV = "65ad25563937682ab2770c36d56667a754837102"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch b/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch
new file mode 100644
index 0000000000..3655b3fd66
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono/0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch
@@ -0,0 +1,28 @@
+From 76e4054801350ebd4a44057379431a33d460ad0f Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 21 Apr 2021 11:01:34 +0000
+Subject: [PATCH] mbim: Fix build with ell-0.39 by restoring unlikely macro
+ from ell/util.h
+
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ drivers/mbimmodem/mbim-private.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/drivers/mbimmodem/mbim-private.h b/drivers/mbimmodem/mbim-private.h
+index 51693eae..d917312c 100644
+--- a/drivers/mbimmodem/mbim-private.h
++++ b/drivers/mbimmodem/mbim-private.h
+@@ -30,6 +30,10 @@
+ __result; })
+ #endif
+
++/* used to be part of ell/util.h before 0.39:
++ https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=2a682421b06e41c45098217a686157f576847021 */
++#define unlikely(x) __builtin_expect(!!(x), 0)
++
+ enum mbim_control_message {
+ MBIM_OPEN_MSG = 0x1,
+ MBIM_CLOSE_MSG = 0x2,
diff --git a/meta/recipes-connectivity/ofono/ofono_1.31.bb b/meta/recipes-connectivity/ofono/ofono_1.32.bb
index 7d0976ad7f..f3d875b204 100644
--- a/meta/recipes-connectivity/ofono/ofono_1.31.bb
+++ b/meta/recipes-connectivity/ofono/ofono_1.32.bb
@@ -11,9 +11,9 @@ SRC_URI = "\
${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
file://ofono \
file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \
+ file://0002-mbim-Fix-build-with-ell-0.39-by-restoring-unlikely-m.patch \
"
-SRC_URI[md5sum] = "1c26340e3c6ed132cc812595081bb3dc"
-SRC_URI[sha256sum] = "a15c5d28096c10eb30e47a68b6dc2e7c4a5a99d7f4cfedf0b69624f33d859e9b"
+SRC_URI[sha256sum] = "f7d775887b7b80cf3b82e3f0a6c2696c6d01963d222ca2217919d21b9e803042"
inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data
@@ -30,9 +30,14 @@ PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5"
EXTRA_OECONF += "--enable-test --enable-external-ell"
+do_configure_prepend() {
+ bbnote "Removing bundled ell from ${S}/ell to prevent including it"
+ rm -rf ${S}/ell
+}
+
do_install_append() {
- install -d ${D}${sysconfdir}/init.d/
- install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono
}
PACKAGES =+ "${PN}-tests"
diff --git a/meta/recipes-connectivity/openssh/openssh_8.5p1.bb b/meta/recipes-connectivity/openssh/openssh_8.6p1.bb
index 6a49cf71cc..e8f041c58c 100644
--- a/meta/recipes-connectivity/openssh/openssh_8.5p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_8.6p1.bb
@@ -25,12 +25,18 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar
file://sshd_check_keys \
file://add-test-support-for-busybox.patch \
"
-SRC_URI[sha256sum] = "f52f3f41d429aa9918e38cf200af225ccdd8e66f052da572870c89737646ec25"
+SRC_URI[sha256sum] = "c3e6e4da1621762c850d03b47eed1e48dff4cc9608ddeb547202a234df8ed7ae"
+
+# This CVE is specific to OpenSSH with the pam opie which we don't build/use here
+CVE_CHECK_WHITELIST += "CVE-2007-2768"
# This CVE is specific to OpenSSH server, as used in Fedora and Red Hat Enterprise Linux 7
# and when running in a Kerberos environment. As such it is not relevant to OpenEmbedded
CVE_CHECK_WHITELIST += "CVE-2014-9278"
+# CVE only applies to some distributed RHEL binaries
+CVE_CHECK_WHITELIST += "CVE-2008-3844"
+
PAM_SRC_URI = "file://sshd"
inherit manpages useradd update-rc.d update-alternatives systemd
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 949c788344..003cfbc8d8 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
@@ -25,16 +25,19 @@ Signed-off-by: Martin Hundebøll <martin@geanix.com>
Update to fix buildpaths qa issue for '-fmacro-prefix-map'.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Update to fix buildpaths qa issue for '-ffile-prefix-map'.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
Configurations/unix-Makefile.tmpl | 10 +++++++++-
crypto/build.info | 2 +-
2 files changed, 10 insertions(+), 2 deletions(-)
-diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
-index 16af4d2087..54c162784c 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
-@@ -317,13 +317,22 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (),
+@@ -420,13 +420,23 @@ BIN_LDFLAGS={- join(' ', $target{bin_lfl
'$(CNF_LDFLAGS)', '$(LDFLAGS)') -}
BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS)
@@ -49,6 +52,7 @@ index 16af4d2087..54c162784c 100644
+CFLAGS_Q={- for (@{$config{CFLAGS}}) {
+ s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g;
+ s|-fmacro-prefix-map=[^ ]+|-fmacro-prefix-map=|g;
++ s|-ffile-prefix-map=[^ ]+|-ffile-prefix-map=|g;
+ }
+ join(' ', @{$config{CFLAGS}}) -}
+
@@ -58,11 +62,9 @@ index 16af4d2087..54c162784c 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 b515b7318e..8c9cee2a09 100644
--- a/crypto/build.info
+++ b/crypto/build.info
-@@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \
+@@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink
ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl
DEPEND[cversion.o]=buildinf.h
@@ -71,6 +73,3 @@ index b515b7318e..8c9cee2a09 100644
DEPEND[buildinf.h]=../configdata.pm
GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME)
---
-2.19.1
-
diff --git a/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch b/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch
deleted file mode 100644
index 67c9f189cc..0000000000
--- a/meta/recipes-core/busybox/busybox/0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From fe791386ebc270219ca00406c9fdadc5130b64ee Mon Sep 17 00:00:00 2001
-From: Samuel Sapalski <samuel.sapalski@nokia.com>
-Date: Wed, 3 Mar 2021 16:31:22 +0100
-Subject: [PATCH] decompress_gunzip: Fix DoS if gzip is corrupt
-
-On certain corrupt gzip files, huft_build will set the error bit on
-the result pointer. If afterwards abort_unzip is called huft_free
-might run into a segmentation fault or an invalid pointer to
-free(p).
-
-In order to mitigate this, we check in huft_free if the error bit
-is set and clear it before the linked list is freed.
-
-Signed-off-by: Samuel Sapalski <samuel.sapalski@nokia.com>
-Signed-off-by: Peter Kaestle <peter.kaestle@nokia.com>
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-
-Upstream-Status: Backport
-CVE: CVE-2021-28831
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- archival/libarchive/decompress_gunzip.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c
-index eb3b64930..e93cd5005 100644
---- a/archival/libarchive/decompress_gunzip.c
-+++ b/archival/libarchive/decompress_gunzip.c
-@@ -220,10 +220,20 @@ static const uint8_t border[] ALIGN1 = {
- * each table.
- * t: table to free
- */
-+#define BAD_HUFT(p) ((uintptr_t)(p) & 1)
-+#define ERR_RET ((huft_t*)(uintptr_t)1)
- static void huft_free(huft_t *p)
- {
- huft_t *q;
-
-+ /*
-+ * If 'p' has the error bit set we have to clear it, otherwise we might run
-+ * into a segmentation fault or an invalid pointer to free(p)
-+ */
-+ if (BAD_HUFT(p)) {
-+ p = (huft_t*)((uintptr_t)(p) ^ (uintptr_t)(ERR_RET));
-+ }
-+
- /* Go through linked list, freeing from the malloced (t[-1]) address. */
- while (p) {
- q = (--p)->v.t;
-@@ -289,8 +299,6 @@ static unsigned fill_bitbuffer(STATE_PARAM unsigned bitbuffer, unsigned *current
- * or a valid pointer to a Huffman table, ORed with 0x1 if incompete table
- * is given: "fixed inflate" decoder feeds us such data.
- */
--#define BAD_HUFT(p) ((uintptr_t)(p) & 1)
--#define ERR_RET ((huft_t*)(uintptr_t)1)
- static huft_t* huft_build(const unsigned *b, const unsigned n,
- const unsigned s, const struct cp_ext *cp_ext,
- unsigned *m)
diff --git a/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch b/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch
new file mode 100644
index 0000000000..e0a22c5bb3
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch
@@ -0,0 +1,28 @@
+From bff7f16f7f41de8df67beb03722f235828ef2249 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 3 May 2021 15:48:19 -0700
+Subject: [PATCH] gen_build_files: Use C locale when calling sed on globbed files
+
+sort order is different based on chosen locale and also default shell
+being bash or dash
+
+This sets the environment variable LC_ALL to the value C, which will
+enforce bytewise sorting, irrespective of the shell
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/gen_build_files.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/scripts/gen_build_files.sh
++++ b/scripts/gen_build_files.sh
+@@ -4,6 +4,8 @@
+ # but users complain that many sed implementations
+ # are misinterpreting --.
+
++export LC_ALL=C
++
+ test $# -ge 2 || { echo "Syntax: $0 SRCTREE OBJTREE"; exit 1; }
+
+ # cd to objtree
diff --git a/meta/recipes-core/busybox/busybox/longopts.cfg b/meta/recipes-core/busybox/busybox/longopts.cfg
new file mode 100644
index 0000000000..dcfab99919
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/longopts.cfg
@@ -0,0 +1,15 @@
+CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y
+CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
+CONFIG_FEATURE_TAR_LONG_OPTIONS=y
+CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
+CONFIG_FEATURE_CP_LONG_OPTIONS=y
+CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
+CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
+CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
+CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
+CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
+CONFIG_FEATURE_BC_LONG_OPTIONS=y
+CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
+CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
+CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y
+CONFIG_FEATURE_WGET_LONG_OPTIONS=y
diff --git a/meta/recipes-core/busybox/busybox_1.33.0.bb b/meta/recipes-core/busybox/busybox_1.33.1.bb
index 58e9cf7fce..a71ff530cb 100644
--- a/meta/recipes-core/busybox/busybox_1.33.0.bb
+++ b/meta/recipes-core/busybox/busybox_1.33.1.bb
@@ -31,6 +31,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://sha1sum.cfg \
file://sha256sum.cfg \
file://getopts.cfg \
+ file://longopts.cfg \
file://resize.cfg \
${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \
${@["", "file://rcS.default"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \
@@ -46,8 +47,8 @@ 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://rev.cfg \
file://pgrep.cfg \
- file://0001-decompress_gunzip-Fix-DoS-if-gzip-is-corrupt.patch \
+ file://0001-gen_build_files-Use-C-locale-when-calling-sed-on-glo.patch \
"
SRC_URI_append_libc-musl = " file://musl.cfg "
-SRC_URI[tarball.sha256sum] = "d568681c91a85edc6710770cebc1e80e042ad74d305b5c2e6d57a5f3de3b8fbd"
+SRC_URI[tarball.sha256sum] = "12cec6bd2b16d8a9446dd16130f2b92982f1819f6e1c5f5887b6db03f5660d28"
diff --git a/meta/recipes-core/coreutils/coreutils_8.32.bb b/meta/recipes-core/coreutils/coreutils_8.32.bb
index c1962ccb90..f3fe31fd3b 100644
--- a/meta/recipes-core/coreutils/coreutils_8.32.bb
+++ b/meta/recipes-core/coreutils/coreutils_8.32.bb
@@ -26,6 +26,10 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \
SRC_URI[md5sum] = "022042695b7d5bcf1a93559a9735e668"
SRC_URI[sha256sum] = "4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa"
+# http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=v8.27-101-gf5d7c0842
+# runcon is not really a sandbox command, use `runcon ... setsid ...` to avoid this particular issue.
+CVE_CHECK_WHITELIST += "CVE-2016-2781"
+
EXTRA_OECONF_class-native = "--without-gmp"
EXTRA_OECONF_class-target = "--enable-install-program=arch,hostname --libexecdir=${libdir}"
EXTRA_OECONF_class-nativesdk = "--enable-install-program=arch,hostname"
diff --git a/meta/recipes-core/ell/ell_0.39.bb b/meta/recipes-core/ell/ell_0.40.bb
index 68ec4cb4a4..d088676221 100644
--- a/meta/recipes-core/ell/ell_0.39.bb
+++ b/meta/recipes-core/ell/ell_0.40.bb
@@ -17,7 +17,7 @@ inherit autotools pkgconfig
SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \
file://0001-pem.c-do-not-use-rawmemchr.patch \
"
-SRC_URI[sha256sum] = "653e2e139e23ed31e03c56c05f15321a9e818e2dca00a315c18d2c7b72f15d08"
+SRC_URI[sha256sum] = "b9bf5c14f2963591ea1372049c05646919a9ed46fcee5cd11ede1022c99ffbbd"
do_configure_prepend () {
mkdir -p ${S}/build-aux
diff --git a/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch b/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch
deleted file mode 100644
index c5c18ead74..0000000000
--- a/meta/recipes-core/expat/expat/0001-Add-output-of-tests-result.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From aa84835a00bfd65e784d58411e76f60658e939dc Mon Sep 17 00:00:00 2001
-From: Oleksandr Popovych <oleksandr.s.popovych@globallogic.com>
-Date: Tue, 18 Feb 2020 19:04:55 +0200
-Subject: [PATCH] Add output of tests result
-
-Added console output of testing results in form 'RESULT: TEST_NAME'.
-
-Changed verbose mode of test application set by '-v' ('--verbose')
-argument to CK_NORMAL.
-Added new supported argument '-vv' ('--extra-verbose') that changes
-verbose mode of test application to CK_VERBOSE. Results of each test
-are shown in output only if this mode is set.
-
-Upstream-Status: Denied
-
-This patch changes potentially deprecated feature that shoud be changed
-in upstream. [https://github.com/libexpat/libexpat/issues/382]
-
-Signed-off-by: Oleksandr Popovych <oleksandr.s.popovych@globallogic.com>
----
- tests/minicheck.c | 10 +++++++++-
- tests/runtests.c | 4 +++-
- 2 files changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/expat/tests/minicheck.c b/expat/tests/minicheck.c
-index a5a1efb..94fa412 100644
---- a/tests/minicheck.c
-+++ b/tests/minicheck.c
-@@ -164,6 +164,8 @@ srunner_run_all(SRunner *runner, int verbosity) {
- if (tc->setup != NULL) {
- /* setup */
- if (setjmp(env)) {
-+ if (verbosity >= CK_VERBOSE)
-+ printf("SKIP: %s\n", _check_current_function);
- add_failure(runner, verbosity);
- continue;
- }
-@@ -171,6 +173,8 @@ srunner_run_all(SRunner *runner, int verbosity) {
- }
- /* test */
- if (setjmp(env)) {
-+ if (verbosity >= CK_VERBOSE)
-+ printf("FAIL: %s\n", _check_current_function);
- add_failure(runner, verbosity);
- continue;
- }
-@@ -178,12 +182,16 @@ srunner_run_all(SRunner *runner, int verbosity) {
-
- /* teardown */
- if (tc->teardown != NULL) {
-- if (setjmp(env)) {
-+ if (setjmp(env)) {
-+ if (verbosity >= CK_VERBOSE)
-+ printf("PASS: %s\n", _check_current_function);
- add_failure(runner, verbosity);
- continue;
- }
- tc->teardown();
- }
-+ if (verbosity >= CK_VERBOSE)
-+ printf("PASS: %s\n", _check_current_function);
- }
- tc = tc->next_tcase;
- }
-diff --git a/tests/runtests.c b/expat/tests/runtests.c
-index 7791fe0..75724e5 100644
---- a/tests/runtests.c
-+++ b/tests/runtests.c
-@@ -11619,9 +11619,11 @@ main(int argc, char *argv[]) {
- for (i = 1; i < argc; ++i) {
- char *opt = argv[i];
- if (strcmp(opt, "-v") == 0 || strcmp(opt, "--verbose") == 0)
-- verbosity = CK_VERBOSE;
-+ verbosity = CK_NORMAL;
- else if (strcmp(opt, "-q") == 0 || strcmp(opt, "--quiet") == 0)
- verbosity = CK_SILENT;
-+ else if (strcmp(opt, "-vv") == 0 || strcmp(opt, "--extra-verbose") == 0)
-+ verbosity = CK_VERBOSE;
- else {
- fprintf(stderr, "runtests: unknown option '%s'\n", opt);
- return 2;
---
-2.17.1
diff --git a/meta/recipes-core/expat/expat/run-ptest b/meta/recipes-core/expat/expat/run-ptest
index 1b39cec8e5..59d8ab57e3 100644
--- a/meta/recipes-core/expat/expat/run-ptest
+++ b/meta/recipes-core/expat/expat/run-ptest
@@ -18,6 +18,6 @@ TIME=$(which time)
echo "Architecture: $(uname -m)" > ${output}
echo "Image: $(uname -sr)" >> ${output}
-${TIME} -f 'Execution time: %e s' bash -c "testCheck runtests -vv" |& tee -a ${output}
-${TIME} -f 'Execution time: %e s' bash -c "testCheck runtestspp -vv" |& tee -a ${output}
+${TIME} -f 'Execution time: %e s' bash -c "testCheck runtests -v" |& tee -a ${output}
+${TIME} -f 'Execution time: %e s' bash -c "testCheck runtestspp -v" |& tee -a ${output}
echo
diff --git a/meta/recipes-core/expat/expat_2.2.10.bb b/meta/recipes-core/expat/expat_2.4.1.bb
index fa263775b3..451158a5d3 100644
--- a/meta/recipes-core/expat/expat_2.2.10.bb
+++ b/meta/recipes-core/expat/expat_2.4.1.bb
@@ -8,11 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9"
SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \
file://libtool-tag.patch \
- file://run-ptest \
- file://0001-Add-output-of-tests-result.patch \
- "
+ file://run-ptest \
+ "
-SRC_URI[sha256sum] = "b2c160f1b60e92da69de8e12333096aeb0c3bf692d41c60794de278af72135a5"
+SRC_URI[sha256sum] = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40"
EXTRA_OECMAKE_class-native += "-DEXPAT_BUILD_DOCS=OFF"
@@ -25,3 +24,5 @@ do_install_ptest_class-target() {
}
BBCLASSEXTEND += "native nativesdk"
+
+CVE_PRODUCT = "expat libexpat"
diff --git a/meta/recipes-core/gettext/gettext_0.21.bb b/meta/recipes-core/gettext/gettext_0.21.bb
index bc14867bbb..b86e8d8381 100644
--- a/meta/recipes-core/gettext/gettext_0.21.bb
+++ b/meta/recipes-core/gettext/gettext_0.21.bb
@@ -174,7 +174,7 @@ do_install_ptest() {
fi
}
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS_${PN}-ptest += "make xz"
RDEPENDS_${PN}-ptest_append_libc-glibc = "\
glibc-gconv-big5 \
glibc-charmap-big5 \
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 e3001762ad..7fbc07af58 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 011c9f024b6475d31e7d5432a38d00fb67eaea40 Mon Sep 17 00:00:00 2001
+From b7abbba886d3743616f8cc0e8b441c879128bbda 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
@@ -13,12 +13,13 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
Port patch to 2.48
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
---
gio/giomodule.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/gio/giomodule.c b/gio/giomodule.c
-index ca1daf2..954a250 100644
+index a2909a8..1f4ab82 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
@@ -51,6 +51,8 @@
@@ -30,7 +31,7 @@ index ca1daf2..954a250 100644
#endif
#include <glib/gstdio.h>
-@@ -1212,7 +1214,15 @@ get_gio_module_dir (void)
+@@ -1213,7 +1215,15 @@ get_gio_module_dir (void)
NULL);
g_free (install_dir);
#else
@@ -47,6 +48,3 @@ index ca1daf2..954a250 100644
#endif
}
---
-2.25.1
-
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.68.0.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb
index 94d24318c3..0cf16884ef 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.68.0.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb
@@ -20,7 +20,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
"
SRC_URI_append_class-native = " file://relocate-modules.patch"
-SRC_URI[sha256sum] = "67734f584f3a05a2872f57e9a8db38f3b06c7087fb531c5a839d9171968103ea"
+SRC_URI[sha256sum] = "ecc7798a9cc034eabdfd7f246e6dd461cdbf1175fcc2e9867cc7da7b7309e0fb"
# 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.66.0.bb b/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb
index 786de744cb..fac04087d1 100644
--- a/meta/recipes-core/glib-networking/glib-networking_2.66.0.bb
+++ b/meta/recipes-core/glib-networking/glib-networking_2.68.1.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS = "glib-2.0"
-SRC_URI[archive.sha256sum] = "c5d7be2437fdd196eebfb70c4517b96d3ba7ec13bd496318b8f02dea383e0099"
+SRC_URI[archive.sha256sum] = "d05d8bd124a9f53fc2b93b18f2386d512e4f48bc5a80470a7967224f3bf53b30"
PACKAGECONFIG ??= "openssl ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
@@ -33,4 +33,6 @@ FILES_${PN} += "\
FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
+RDEPENDS_${PN}-ptest += "bash"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc
index 3a95173175..376ead66ac 100644
--- a/meta/recipes-core/glibc/glibc-version.inc
+++ b/meta/recipes-core/glibc/glibc-version.inc
@@ -1,6 +1,6 @@
SRCBRANCH ?= "release/2.33/master"
PV = "2.33"
-SRCREV_glibc ?= "9826b03b747b841f5fc6de2054bf1ef3f5c4bdf3"
+SRCREV_glibc ?= "3f5080aedd164c1f92a53552dd3e0b82ac6d2bd3"
SRCREV_localedef ?= "bd644c9e6f3e20c5504da1488448173c69c56c28"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
diff --git a/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch b/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch
deleted file mode 100644
index 39fde5b785..0000000000
--- a/meta/recipes-core/glibc/glibc/0001-nptl-Remove-private-futex-optimization-BZ-27304.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From c4ad832276f4dadfa40904109b26a521468f66bc Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Thu, 4 Feb 2021 15:00:20 +0100
-Subject: [PATCH] nptl: Remove private futex optimization [BZ #27304]
-
-It is effectively used, unexcept for pthread_cond_destroy, where we do
-not want it; see bug 27304. The internal locks do not support a
-process-shared mode.
-
-This fixes commit dc6cfdc934db9997c33728082d63552b9eee4563 ("nptl:
-Move pthread_cond_destroy implementation into libc").
-
-Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-
-Upstream-Status: Backport [https://sourceware.org/bugzilla/show_bug.cgi?id=27304]
-Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
----
- sysdeps/nptl/lowlevellock-futex.h | 14 +-------------
- 1 file changed, 1 insertion(+), 13 deletions(-)
-
-diff --git a/sysdeps/nptl/lowlevellock-futex.h b/sysdeps/nptl/lowlevellock-futex.h
-index ecb729da6b..ca96397a4a 100644
---- a/sysdeps/nptl/lowlevellock-futex.h
-+++ b/sysdeps/nptl/lowlevellock-futex.h
-@@ -50,20 +50,8 @@
- #define LLL_SHARED FUTEX_PRIVATE_FLAG
-
- #ifndef __ASSEMBLER__
--
--# if IS_IN (libc) || IS_IN (rtld)
--/* In libc.so or ld.so all futexes are private. */
--# define __lll_private_flag(fl, private) \
-- ({ \
-- /* Prevent warnings in callers of this macro. */ \
-- int __lll_private_flag_priv __attribute__ ((unused)); \
-- __lll_private_flag_priv = (private); \
-- ((fl) | FUTEX_PRIVATE_FLAG); \
-- })
--# else
--# define __lll_private_flag(fl, private) \
-+# define __lll_private_flag(fl, private) \
- (((fl) | FUTEX_PRIVATE_FLAG) ^ (private))
--# endif
-
- # define lll_futex_syscall(nargs, futexp, op, ...) \
- ({ \
---
-2.27.0
-
diff --git a/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch b/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch
deleted file mode 100644
index 3cb60b2e55..0000000000
--- a/meta/recipes-core/glibc/glibc/0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From b1971f6f1331d738d1d6b376b4741668a7546125 Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Tue, 2 Feb 2021 13:45:58 -0800
-Subject: [PATCH] x86: Require full ISA support for x86-64 level marker [BZ #27318]
-
-Since -march=sandybridge enables ISAs in x86-64 ISA level v3, the v3
-marker is set on libc.so. We couldn't set the needed ISA marker to v2
-since this libc won't run on all v2 machines. Technically, the v3 marker
-is correct. But the resulting libc.so won't run on Sandy Brigde, which
-is a v2 machine, even when libc is compiled with -march=sandybridge:
-
-$ ./elf/ld.so ./libc.so
-./libc.so: (p) CPU ISA level is lower than required: needed: 7; got: 3
-
-Instead, we require full ISA support for x86-64 level marker and disable
-x86-64 level marker for -march=sandybridge which enables ISAs between v2
-and v3.
-
-Upstream-Status: Submitted [https://sourceware.org/pipermail/libc-alpha/2021-February/122297.html]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-
- sysdeps/x86/configure | 7 ++++++-
- sysdeps/x86/configure.ac | 2 +-
- sysdeps/x86/isa-level.c | 21 ++++++++++++++++++++-
- 3 files changed, 27 insertions(+), 3 deletions(-)
-
-diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure
-index 5e32dc62b3..5b20646843 100644
---- a/sysdeps/x86/configure
-+++ b/sysdeps/x86/configure
-@@ -133,7 +133,12 @@ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -nostartfiles -nostdlib -r -o conftest c
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- count=`LC_ALL=C $READELF -n conftest | grep NT_GNU_PROPERTY_TYPE_0 | wc -l`
-- if test "$count" = 1; then
-+ if test "$count" = 1 && { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -DINCLUDE_X86_ISA_LEVEL -S -o conftest.s $srcdir/sysdeps/x86/isa-level.c'
-+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+ test $ac_status = 0; }; }; then
- libc_cv_include_x86_isa_level=yes
- fi
- fi
-diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac
-index f94088f377..54ecd33d2c 100644
---- a/sysdeps/x86/configure.ac
-+++ b/sysdeps/x86/configure.ac
-@@ -100,7 +100,7 @@ EOF
- libc_cv_include_x86_isa_level=no
- if AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -nostartfiles -nostdlib -r -o conftest conftest1.S conftest2.S); then
- count=`LC_ALL=C $READELF -n conftest | grep NT_GNU_PROPERTY_TYPE_0 | wc -l`
-- if test "$count" = 1; then
-+ if test "$count" = 1 && AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -DINCLUDE_X86_ISA_LEVEL -S -o conftest.s $srcdir/sysdeps/x86/isa-level.c); then
- libc_cv_include_x86_isa_level=yes
- fi
- fi
-diff --git a/sysdeps/x86/isa-level.c b/sysdeps/x86/isa-level.c
-index aaf524cb56..7f83449061 100644
---- a/sysdeps/x86/isa-level.c
-+++ b/sysdeps/x86/isa-level.c
-@@ -25,12 +25,17 @@
- License along with the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
-
--#include <elf.h>
-+#ifdef _LIBC
-+# include <elf.h>
-+#endif
-
- /* ELF program property for x86 ISA level. */
- #ifdef INCLUDE_X86_ISA_LEVEL
- # if defined __x86_64__ || defined __FXSR__ || !defined _SOFT_FLOAT \
- || defined __MMX__ || defined __SSE__ || defined __SSE2__
-+# if !defined __SSE__ || !defined __SSE2__
-+# error "Missing ISAs for x86-64 ISA level baseline"
-+# endif
- # define ISA_BASELINE GNU_PROPERTY_X86_ISA_1_BASELINE
- # else
- # define ISA_BASELINE 0
-@@ -40,6 +45,11 @@
- || (defined __x86_64__ && defined __LAHF_SAHF__) \
- || defined __POPCNT__ || defined __SSE3__ \
- || defined __SSSE3__ || defined __SSE4_1__ || defined __SSE4_2__
-+# if !defined __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 \
-+ || !defined __POPCNT__ || !defined __SSE3__ \
-+ || !defined __SSSE3__ || !defined __SSE4_1__ || !defined __SSE4_2__
-+# error "Missing ISAs for x86-64 ISA level v2"
-+# endif
- # define ISA_V2 GNU_PROPERTY_X86_ISA_1_V2
- # else
- # define ISA_V2 0
-@@ -48,6 +58,10 @@
- # if defined __AVX__ || defined __AVX2__ || defined __F16C__ \
- || defined __FMA__ || defined __LZCNT__ || defined __MOVBE__ \
- || defined __XSAVE__
-+# if !defined __AVX__ || !defined __AVX2__ || !defined __F16C__ \
-+ || !defined __FMA__ || !defined __LZCNT__
-+# error "Missing ISAs for x86-64 ISA level v3"
-+# endif
- # define ISA_V3 GNU_PROPERTY_X86_ISA_1_V3
- # else
- # define ISA_V3 0
-@@ -55,6 +69,11 @@
-
- # if defined __AVX512F__ || defined __AVX512BW__ || defined __AVX512CD__ \
- || defined __AVX512DQ__ || defined __AVX512VL__
-+# if !defined __AVX512F__ || !defined __AVX512BW__ \
-+ || !defined __AVX512CD__ || !defined __AVX512DQ__ \
-+ || !defined __AVX512VL__
-+# error "Missing ISAs for x86-64 ISA level v4"
-+# endif
- # define ISA_V4 GNU_PROPERTY_X86_ISA_1_V4
- # else
- # define ISA_V4 0
diff --git a/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch b/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch
deleted file mode 100644
index e904b28a05..0000000000
--- a/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 044e603b698093cf48f6e6229e0b66acf05227e4 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Fri, 19 Feb 2021 13:29:00 +0100
-Subject: [PATCH] string: Work around GCC PR 98512 in rawmemchr
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=044e603b698093cf48f6e6229e0b66acf05227e4]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- string/rawmemchr.c | 26 +++++++++++++++-----------
- 1 file changed, 15 insertions(+), 11 deletions(-)
-
-diff --git a/string/rawmemchr.c b/string/rawmemchr.c
-index 59bbeeaa42..b8523118e5 100644
---- a/string/rawmemchr.c
-+++ b/string/rawmemchr.c
-@@ -22,24 +22,28 @@
- # define RAWMEMCHR __rawmemchr
- #endif
-
--/* Find the first occurrence of C in S. */
--void *
--RAWMEMCHR (const void *s, int c)
--{
-- DIAG_PUSH_NEEDS_COMMENT;
-+/* The pragmata should be nested inside RAWMEMCHR below, but that
-+ triggers GCC PR 98512. */
-+DIAG_PUSH_NEEDS_COMMENT;
- #if __GNUC_PREREQ (7, 0)
-- /* GCC 8 warns about the size passed to memchr being larger than
-- PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */
-- DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow=");
-+/* GCC 8 warns about the size passed to memchr being larger than
-+ PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */
-+DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow=");
- #endif
- #if __GNUC_PREREQ (11, 0)
-- /* Likewise GCC 11, with a different warning option. */
-- DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
-+/* Likewise GCC 11, with a different warning option. */
-+DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
- #endif
-+
-+/* Find the first occurrence of C in S. */
-+void *
-+RAWMEMCHR (const void *s, int c)
-+{
- if (c != '\0')
- return memchr (s, c, (size_t)-1);
-- DIAG_POP_NEEDS_COMMENT;
- return (char *)s + strlen (s);
- }
- libc_hidden_def (__rawmemchr)
- weak_alias (__rawmemchr, rawmemchr)
-+
-+DIAG_POP_NEEDS_COMMENT;
---
-2.30.1
-
diff --git a/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch b/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch
deleted file mode 100644
index 3a004e227f..0000000000
--- a/meta/recipes-core/glibc/glibc/0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-From 750b00a1ddae220403fd892a6fd4e0791ffd154a Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Fri, 18 Sep 2020 07:55:14 -0700
-Subject: [PATCH] x86: Handle _SC_LEVEL1_ICACHE_LINESIZE [BZ #27444]
-
- x86: Move x86 processor cache info to cpu_features
-
-missed _SC_LEVEL1_ICACHE_LINESIZE.
-
-1. Add level1_icache_linesize to struct cpu_features.
-2. Initialize level1_icache_linesize by calling handle_intel,
-handle_zhaoxin and handle_amd with _SC_LEVEL1_ICACHE_LINESIZE.
-3. Return level1_icache_linesize for _SC_LEVEL1_ICACHE_LINESIZE.
-
-Upstream-Status: Backport [https://sourceware.org/bugzilla/show_bug.cgi?id=27444]
-Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
----
- sysdeps/x86/Makefile | 8 +++
- sysdeps/x86/cacheinfo.c | 3 +
- sysdeps/x86/dl-cacheinfo.h | 6 ++
- sysdeps/x86/include/cpu-features.h | 2 +
- .../x86/tst-sysconf-cache-linesize-static.c | 1 +
- sysdeps/x86/tst-sysconf-cache-linesize.c | 57 +++++++++++++++++++
- 6 files changed, 77 insertions(+)
- create mode 100644 sysdeps/x86/tst-sysconf-cache-linesize-static.c
- create mode 100644 sysdeps/x86/tst-sysconf-cache-linesize.c
-
-diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile
-index dd82674342..d231263051 100644
---- a/sysdeps/x86/Makefile
-+++ b/sysdeps/x86/Makefile
-@@ -208,3 +208,11 @@ $(objpfx)check-cet.out: $(..)sysdeps/x86/check-cet.awk \
- generated += check-cet.out
- endif
- endif
-+
-+ifeq ($(subdir),posix)
-+tests += \
-+ tst-sysconf-cache-linesize \
-+ tst-sysconf-cache-linesize-static
-+tests-static += \
-+ tst-sysconf-cache-linesize-static
-+endif
-diff --git a/sysdeps/x86/cacheinfo.c b/sysdeps/x86/cacheinfo.c
-index 7b8df45e3b..5ea4723ca6 100644
---- a/sysdeps/x86/cacheinfo.c
-+++ b/sysdeps/x86/cacheinfo.c
-@@ -32,6 +32,9 @@ __cache_sysconf (int name)
- case _SC_LEVEL1_ICACHE_SIZE:
- return cpu_features->level1_icache_size;
-
-+ case _SC_LEVEL1_ICACHE_LINESIZE:
-+ return cpu_features->level1_icache_linesize;
-+
- case _SC_LEVEL1_DCACHE_SIZE:
- return cpu_features->level1_dcache_size;
-
-diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h
-index a31fa0783a..7cd00b92f1 100644
---- a/sysdeps/x86/dl-cacheinfo.h
-+++ b/sysdeps/x86/dl-cacheinfo.h
-@@ -707,6 +707,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
- long int core;
- unsigned int threads = 0;
- unsigned long int level1_icache_size = -1;
-+ unsigned long int level1_icache_linesize = -1;
- unsigned long int level1_dcache_size = -1;
- unsigned long int level1_dcache_assoc = -1;
- unsigned long int level1_dcache_linesize = -1;
-@@ -726,6 +727,8 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
-
- level1_icache_size
- = handle_intel (_SC_LEVEL1_ICACHE_SIZE, cpu_features);
-+ level1_icache_linesize
-+ = handle_intel (_SC_LEVEL1_ICACHE_LINESIZE, cpu_features);
- level1_dcache_size = data;
- level1_dcache_assoc
- = handle_intel (_SC_LEVEL1_DCACHE_ASSOC, cpu_features);
-@@ -753,6 +756,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
- shared = handle_zhaoxin (_SC_LEVEL3_CACHE_SIZE);
-
- level1_icache_size = handle_zhaoxin (_SC_LEVEL1_ICACHE_SIZE);
-+ level1_icache_linesize = handle_zhaoxin (_SC_LEVEL1_ICACHE_LINESIZE);
- level1_dcache_size = data;
- level1_dcache_assoc = handle_zhaoxin (_SC_LEVEL1_DCACHE_ASSOC);
- level1_dcache_linesize = handle_zhaoxin (_SC_LEVEL1_DCACHE_LINESIZE);
-@@ -772,6 +776,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
- shared = handle_amd (_SC_LEVEL3_CACHE_SIZE);
-
- level1_icache_size = handle_amd (_SC_LEVEL1_ICACHE_SIZE);
-+ level1_icache_linesize = handle_amd (_SC_LEVEL1_ICACHE_LINESIZE);
- level1_dcache_size = data;
- level1_dcache_assoc = handle_amd (_SC_LEVEL1_DCACHE_ASSOC);
- level1_dcache_linesize = handle_amd (_SC_LEVEL1_DCACHE_LINESIZE);
-@@ -833,6 +838,7 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
- }
-
- cpu_features->level1_icache_size = level1_icache_size;
-+ cpu_features->level1_icache_linesize = level1_icache_linesize;
- cpu_features->level1_dcache_size = level1_dcache_size;
- cpu_features->level1_dcache_assoc = level1_dcache_assoc;
- cpu_features->level1_dcache_linesize = level1_dcache_linesize;
-diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h
-index 624736b40e..39a3f4f311 100644
---- a/sysdeps/x86/include/cpu-features.h
-+++ b/sysdeps/x86/include/cpu-features.h
-@@ -874,6 +874,8 @@ struct cpu_features
- unsigned long int rep_stosb_threshold;
- /* _SC_LEVEL1_ICACHE_SIZE. */
- unsigned long int level1_icache_size;
-+ /* _SC_LEVEL1_ICACHE_LINESIZE. */
-+ unsigned long int level1_icache_linesize;
- /* _SC_LEVEL1_DCACHE_SIZE. */
- unsigned long int level1_dcache_size;
- /* _SC_LEVEL1_DCACHE_ASSOC. */
-diff --git a/sysdeps/x86/tst-sysconf-cache-linesize-static.c b/sysdeps/x86/tst-sysconf-cache-linesize-static.c
-new file mode 100644
-index 0000000000..152ae68821
---- /dev/null
-+++ b/sysdeps/x86/tst-sysconf-cache-linesize-static.c
-@@ -0,0 +1 @@
-+#include "tst-sysconf-cache-linesize.c"
-diff --git a/sysdeps/x86/tst-sysconf-cache-linesize.c b/sysdeps/x86/tst-sysconf-cache-linesize.c
-new file mode 100644
-index 0000000000..642dbde5d2
---- /dev/null
-+++ b/sysdeps/x86/tst-sysconf-cache-linesize.c
-@@ -0,0 +1,57 @@
-+/* Test system cache line sizes.
-+ Copyright (C) 2021 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/>. */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <array_length.h>
-+
-+static struct
-+{
-+ const char *name;
-+ int _SC_val;
-+} sc_options[] =
-+ {
-+#define N(name) { "_SC_"#name, _SC_##name }
-+ N (LEVEL1_ICACHE_LINESIZE),
-+ N (LEVEL1_DCACHE_LINESIZE),
-+ N (LEVEL2_CACHE_LINESIZE)
-+ };
-+
-+static int
-+do_test (void)
-+{
-+ int result = EXIT_SUCCESS;
-+
-+ for (int i = 0; i < array_length (sc_options); ++i)
-+ {
-+ long int scret = sysconf (sc_options[i]._SC_val);
-+ if (scret < 0)
-+ {
-+ printf ("sysconf (%s) returned < 0 (%ld)\n",
-+ sc_options[i].name, scret);
-+ result = EXIT_FAILURE;
-+ }
-+ else
-+ printf ("sysconf (%s): %ld\n", sc_options[i].name, scret);
-+ }
-+
-+ return result;
-+}
-+
-+#include <support/test-driver.c>
diff --git a/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch b/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch
deleted file mode 100644
index 26c5c0d2a9..0000000000
--- a/meta/recipes-core/glibc/glibc/CVE-2021-27645.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From dca565886b5e8bd7966e15f0ca42ee5cff686673 Mon Sep 17 00:00:00 2001
-From: DJ Delorie <dj@redhat.com>
-Date: Thu, 25 Feb 2021 16:08:21 -0500
-Subject: [PATCH] nscd: Fix double free in netgroupcache [BZ #27462]
-
-In commit 745664bd798ec8fd50438605948eea594179fba1 a use-after-free
-was fixed, but this led to an occasional double-free. This patch
-tracks the "live" allocation better.
-
-Tested manually by a third party.
-
-Related: RHBZ 1927877
-
-Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
-Reviewed-by: Carlos O'Donell <carlos@redhat.com>
-
-Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=dca565886b5e8bd7966e15f0ca42ee5cff686673]
-
-CVE: CVE-2021-27645
-
-Reviewed-by: Carlos O'Donell <carlos@redhat.com>
-Signed-off-by: Khairul Rohaizzat Jamaluddin <khairul.rohaizzat.jamaluddin@intel.com>
----
- nscd/netgroupcache.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
-index dba6ceec1b..ad2daddafd 100644
---- a/nscd/netgroupcache.c
-+++ b/nscd/netgroupcache.c
-@@ -248,7 +248,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
- : NULL);
- ndomain = (ndomain ? newbuf + ndomaindiff
- : NULL);
-- buffer = newbuf;
-+ *tofreep = buffer = newbuf;
- }
-
- nhost = memcpy (buffer + bufused,
-@@ -319,7 +319,7 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
- else if (status == NSS_STATUS_TRYAGAIN && e == ERANGE)
- {
- buflen *= 2;
-- buffer = xrealloc (buffer, buflen);
-+ *tofreep = buffer = xrealloc (buffer, buflen);
- }
- else if (status == NSS_STATUS_RETURN
- || status == NSS_STATUS_NOTFOUND
---
-2.27.0
-
diff --git a/meta/recipes-core/glibc/glibc/check-test-wrapper b/meta/recipes-core/glibc/glibc/check-test-wrapper
index f8e04e02d2..6ec9b9b29e 100644
--- a/meta/recipes-core/glibc/glibc/check-test-wrapper
+++ b/meta/recipes-core/glibc/glibc/check-test-wrapper
@@ -2,6 +2,7 @@
import sys
import os
import subprocess
+import resource
env = os.environ.copy()
args = sys.argv[1:]
@@ -44,6 +45,14 @@ if targettype == "user":
qemuargs += ["-L", sysroot]
qemuargs += ["-E", "LD_LIBRARY_PATH={}".format(":".join(libpaths))]
command = qemuargs + args
+
+ # We've seen qemu-arm using up all system memory for some glibc
+ # tests e.g. nptl/tst-pthread-timedlock-lockloop
+ # Cap at 8GB since no test should need more than that
+ # (5GB adds 7 failures for qemuarm glibc test run)
+ limit = 8*1024*1024*1024
+ resource.setrlimit(resource.RLIMIT_AS, (limit, limit))
+
elif targettype == "ssh":
host = os.environ.get("SSH_HOST", None)
user = os.environ.get("SSH_HOST_USER", None)
diff --git a/meta/recipes-core/glibc/glibc_2.33.bb b/meta/recipes-core/glibc/glibc_2.33.bb
index 5e0baa53e8..b70cd0978a 100644
--- a/meta/recipes-core/glibc/glibc_2.33.bb
+++ b/meta/recipes-core/glibc/glibc_2.33.bb
@@ -1,7 +1,20 @@
require glibc.inc
require glibc-version.inc
-CVE_CHECK_WHITELIST += "CVE-2020-10029"
+CVE_CHECK_WHITELIST += "CVE-2020-10029 CVE-2021-27645"
+
+# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010022
+# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010023
+# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010024
+# Upstream glibc maintainers dispute there is any issue and have no plans to address it further.
+# "this is being treated as a non-security bug and no real threat."
+CVE_CHECK_WHITELIST += "CVE-2019-1010022 CVE-2019-1010023 CVE-2019-1010024"
+
+# glibc https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-1010025
+# Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow
+# easier access for another. "ASLR bypass itself is not a vulnerability."
+# Potential patch at https://sourceware.org/bugzilla/show_bug.cgi?id=22853
+CVE_CHECK_WHITELIST += "CVE-2019-1010025"
DEPENDS += "gperf-native bison-native make-native"
@@ -43,11 +56,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0028-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \
file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \
- file://0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch \
- file://0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch \
- file://0033-x86-Handle-_SC_LEVEL1_ICACHE_LINESIZE-BZ-27444.patch \
- file://CVE-2021-27645.patch \
- file://0001-nptl-Remove-private-futex-optimization-BZ-27304.patch \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build-${TARGET_SYS}"
@@ -82,6 +90,7 @@ EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
EXTRA_OECONF_append_x86 = " --enable-cet"
EXTRA_OECONF_append_x86-64 = " --enable-cet"
+EXTRA_OECONF_append_aarch64 = " --enable-memory-tagging"
PACKAGECONFIG ??= "nscd"
PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd"
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 1aeb952db2..32f8d16a43 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 ?= "42514ade8bdb9502f49a56752561f6c2e9f23348"
+SRCREV ?= "b44849c32c87fbb8c5a465ecc29a6182e6781d78"
SRC_URI = "git://git.yoctoproject.org/poky \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \
diff --git a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb b/meta/recipes-core/images/core-image-ptest-all.bb
index eea89a5d6c..c1d6aa28a9 100644
--- a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
+++ b/meta/recipes-core/images/core-image-ptest-all.bb
@@ -1,15 +1,13 @@
inherit features_check
REQUIRED_DISTRO_FEATURES = "ptest"
-require core-image-sato-sdk.bb
+require core-image-minimal.bb
require conf/distro/include/ptest-packagelists.inc
DESCRIPTION += "Also includes ptest packages."
HOMEPAGE = "https://www.yoctoproject.org/"
-PROVIDES += "core-image-sato-ptest"
-
-# Also include ptests which may not otherwise be included in a sato image
+# Include the full set of ptests
IMAGE_INSTALL += "${PTESTS_FAST} ${PTESTS_SLOW}"
# This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live
diff --git a/meta/recipes-sato/images/core-image-sato-ptest-fast.bb b/meta/recipes-core/images/core-image-ptest-fast.bb
index d37ad00cf8..40df274c4c 100644
--- a/meta/recipes-sato/images/core-image-sato-ptest-fast.bb
+++ b/meta/recipes-core/images/core-image-ptest-fast.bb
@@ -1,9 +1,10 @@
inherit features_check
REQUIRED_DISTRO_FEATURES = "ptest"
-require core-image-sato-sdk.bb
+require core-image-minimal.bb
require conf/distro/include/ptest-packagelists.inc
+# Include only fast (< 30 sec) ptests
IMAGE_INSTALL += "${PTESTS_FAST}"
DESCRIPTION += "Also includes ptest packages with fast execution times to allow for more automated QA."
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/rootfs b/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
index 10b9583172..e0efbe6ebe 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
@@ -56,8 +56,8 @@ rootfs_run() {
# It is unlikely to change, but keep trying anyway.
# Perhaps we pick a different device next time.
umount $ROOTFS_DIR
- fi
fi
+ fi
fi
debug "Sleeping for $delay second(s) to wait root to settle..."
sleep $delay
diff --git a/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch b/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch
deleted file mode 100644
index 4e6b427104..0000000000
--- a/meta/recipes-core/libxcrypt/files/0001-configure.ac-do-not-use-compute-symver-floor.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b28bb856ccebe8fded51d11362bf5920699eed59 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 18 Mar 2021 10:52:13 +0000
-Subject: [PATCH] configure.ac: do not use compute-symver-floor
-
-This script (newly introduced in 4.4.18) sporadically fails, without
-failing configure(), which has been reported at
-https://github.com/besser82/libxcrypt/issues/123
-
-Upstream-Status: Inappropriate
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- configure.ac | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 45b91b4..f3ba945 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -426,11 +426,7 @@ if test x$enable_shared != xyes; then enable_obsolete_api=0; fi
- # need to be binary backward compatible with.
- if test $enable_obsolete_api = 1; then
- AC_MSG_CHECKING([minimum symbol version to use for compatibility symbols])
-- SYMVER_FLOOR=$(
-- $PERL ${srcdir}/build-aux/compute-symver-floor \
-- ${srcdir}/lib/libcrypt.minver $host_os $host_cpu \
-- 2>&AS_MESSAGE_LOG_FD
-- )
-+ SYMVER_FLOOR=GLIBC_2.0
- AC_MSG_RESULT([$SYMVER_FLOOR])
- case "$SYMVER_FLOOR" in
- ERROR)
diff --git a/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch b/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch
new file mode 100644
index 0000000000..0772998c72
--- /dev/null
+++ b/meta/recipes-core/libxcrypt/files/fix_cflags_handling.patch
@@ -0,0 +1,33 @@
+From fd9a46695594c3cd836ecb7d959f03f605e69a2f Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Fri, 30 Apr 2021 10:35:02 +0100
+Subject: [PATCH] libxcrypt: Update to 4.4.19 release and fix symbol version
+
+If you pass CFLAGS with a leading space, " " gets passed to popen and convinces
+gcc to try and open a file called " ". This results in a confusing error message
+like:
+
+x86_64-pokysdk-linux-gcc: error: : No such file or directory
+
+Avoid this by stripping empty elements out of CFLAGS.
+
+Upstream-Status: Submitted [https://github.com/besser82/libxcrypt/pull/126]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+---
+ build-aux/compute-symver-floor | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/build-aux/compute-symver-floor b/build-aux/compute-symver-floor
+index 4ec82e1..8117342 100644
+--- a/build-aux/compute-symver-floor
++++ b/build-aux/compute-symver-floor
+@@ -36,6 +36,8 @@ sub preprocessor_check {
+ die "C compiler not available\n" unless @CC;
+
+ @CFLAGS = sh_split($ENV{CFLAGS} // q{});
++ # Remove empty elements, particularly leading ones which cause issues with popen below
++ @CFLAGS = grep {$_} @CFLAGS;
+
+ # Remove empty elements, particularly leading ones which
+ # cause issues with popen below.
diff --git a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.18.bb b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.22.bb
index ba74eb1f94..ba74eb1f94 100644
--- a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.18.bb
+++ b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.22.bb
diff --git a/meta/recipes-core/libxcrypt/libxcrypt.inc b/meta/recipes-core/libxcrypt/libxcrypt.inc
index b5ca863d54..e4505a666d 100644
--- a/meta/recipes-core/libxcrypt/libxcrypt.inc
+++ b/meta/recipes-core/libxcrypt/libxcrypt.inc
@@ -3,18 +3,18 @@ DESCRIPTION = "Forked code from glibc libary to extract only crypto part."
HOMEPAGE = "https://github.com/besser82/libxcrypt"
SECTION = "libs"
LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSING;md5=bd5d9777dfe7076c4f2928f12fed226a \
+LIC_FILES_CHKSUM = "file://LICENSING;md5=afed27a72ae2a8075978299eebaa1f5d \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
inherit autotools pkgconfig
-SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH} \
- file://0001-configure.ac-do-not-use-compute-symver-floor.patch \
- "
-SRCREV = "94d84f92ca123d851586016c4678eb1f21c19029"
+SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
+SRCREV = "3df9620d08db207367c0c5152148665b5ce422e1"
SRCBRANCH ?= "develop"
+SRC_URI += "file://fix_cflags_handling.patch"
+
PROVIDES = "virtual/crypt"
FILES_${PN} = "${libdir}/libcrypt*.so.* \
diff --git a/meta/recipes-core/libxcrypt/libxcrypt_4.4.18.bb b/meta/recipes-core/libxcrypt/libxcrypt_4.4.22.bb
index 79dba2f6dc..79dba2f6dc 100644
--- a/meta/recipes-core/libxcrypt/libxcrypt_4.4.18.bb
+++ b/meta/recipes-core/libxcrypt/libxcrypt_4.4.22.bb
diff --git a/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch b/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch
index 5e9a0a506b..6d9ede6194 100644
--- a/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch
+++ b/meta/recipes-core/libxml/libxml2/0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch
@@ -1,4 +1,4 @@
-From 2b5fb416aa275fd2a17a0139a2f783998bcb42cc Mon Sep 17 00:00:00 2001
+From ea1993d1d9a18c5e61b9cb271892b0a48f508d32 Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <pkj@axis.com>
Date: Fri, 9 Jun 2017 17:50:46 +0200
Subject: [PATCH] Make ptest run the python tests if python is enabled
@@ -8,16 +8,14 @@ be due to the fact that the tests are forced to run with Python 3.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
-
---
- Makefile.am | 2 +-
- python/Makefile.am | 9 +++++++++
- python/tests/Makefile.am | 10 ++++++++++
- python/tests/tstLastError.py | 2 +-
- 4 files changed, 21 insertions(+), 2 deletions(-)
+ Makefile.am | 2 +-
+ python/Makefile.am | 9 +++++++++
+ python/tests/Makefile.am | 10 ++++++++++
+ 3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
-index ae62274..bd1e425 100644
+index b428452b..dc18d6dd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -203,9 +203,9 @@ install-ptest:
@@ -32,7 +30,7 @@ index ae62274..bd1e425 100644
runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \
testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT)
diff --git a/python/Makefile.am b/python/Makefile.am
-index 34aed96..ba3ec6a 100644
+index 34aed96c..ba3ec6a4 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -48,7 +48,16 @@ GENERATED = libxml2class.py libxml2class.txt $(BUILT_SOURCES)
@@ -53,7 +51,7 @@ index 34aed96..ba3ec6a 100644
tests test: all
cd tests && $(MAKE) tests
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
-index 227e24d..021bb29 100644
+index 227e24df..3568c2d2 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -59,6 +59,11 @@ XMLS= \
@@ -83,16 +81,6 @@ index 227e24d..021bb29 100644
+
tests:
endif
-diff --git a/python/tests/tstLastError.py b/python/tests/tstLastError.py
-index 81d0acc..162c8db 100755
---- a/python/tests/tstLastError.py
-+++ b/python/tests/tstLastError.py
-@@ -25,7 +25,7 @@ class TestCase(unittest.TestCase):
- when the exception is raised, check the libxml2.lastError for
- expected values."""
- # disable the default error handler
-- libxml2.registerErrorHandler(None,None)
-+ libxml2.registerErrorHandler(lambda ctx,str: None,None)
- try:
- f(*args)
- except exc:
+--
+2.25.1
+
diff --git a/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch b/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch
deleted file mode 100644
index 88eb65a6a5..0000000000
--- a/meta/recipes-core/libxml/libxml2/CVE-2019-20388.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 7ffcd44d7e6c46704f8af0321d9314cd26e0e18a Mon Sep 17 00:00:00 2001
-From: Zhipeng Xie <xiezhipeng1@huawei.com>
-Date: Tue, 20 Aug 2019 16:33:06 +0800
-Subject: [PATCH] Fix memory leak in xmlSchemaValidateStream
-
-When ctxt->schema is NULL, xmlSchemaSAXPlug->xmlSchemaPreRun
-alloc a new schema for ctxt->schema and set vctxt->xsiAssemble
-to 1. Then xmlSchemaVStart->xmlSchemaPreRun initialize
-vctxt->xsiAssemble to 0 again which cause the alloced schema
-can not be freed anymore.
-
-Found with libFuzzer.
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/7ffcd44d7e6c46704f8af0321d9314cd26e0e18a]
-CVE: CVE-2019-20388
-
-Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
-Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
----
- xmlschemas.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/xmlschemas.c b/xmlschemas.c
-index 301c8449..39d92182 100644
---- a/xmlschemas.c
-+++ b/xmlschemas.c
-@@ -28090,7 +28090,6 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) {
- vctxt->nberrors = 0;
- vctxt->depth = -1;
- vctxt->skipDepth = -1;
-- vctxt->xsiAssemble = 0;
- vctxt->hasKeyrefs = 0;
- #ifdef ENABLE_IDC_NODE_TABLES_TEST
- vctxt->createIDCNodeTables = 1;
---
-2.24.1
-
diff --git a/meta/recipes-core/libxml/libxml2/CVE-2020-24977.patch b/meta/recipes-core/libxml/libxml2/CVE-2020-24977.patch
deleted file mode 100644
index 8224346660..0000000000
--- a/meta/recipes-core/libxml/libxml2/CVE-2020-24977.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 50f06b3efb638efb0abd95dc62dca05ae67882c2 Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Fri, 7 Aug 2020 21:54:27 +0200
-Subject: [PATCH] Fix out-of-bounds read with 'xmllint --htmlout'
-
-Make sure that truncated UTF-8 sequences don't cause an out-of-bounds
-array access.
-
-Thanks to @SuhwanSong and the Agency for Defense Development (ADD) for
-the report.
-
-Fixes #178.
-
-CVE: CVE-2020-24977
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/50f06b3efb638efb0abd95dc62dca05ae67882c2]
-
-Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
----
- xmllint.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/xmllint.c b/xmllint.c
-index f6a8e463..c647486f 100644
---- a/xmllint.c
-+++ b/xmllint.c
-@@ -528,6 +528,12 @@ static void
- xmlHTMLEncodeSend(void) {
- char *result;
-
-+ /*
-+ * xmlEncodeEntitiesReentrant assumes valid UTF-8, but the buffer might
-+ * end with a truncated UTF-8 sequence. This is a hack to at least avoid
-+ * an out-of-bounds read.
-+ */
-+ memset(&buffer[sizeof(buffer)-4], 0, 4);
- result = (char *) xmlEncodeEntitiesReentrant(NULL, BAD_CAST buffer);
- if (result) {
- xmlGenericError(xmlGenericErrorContext, "%s", result);
---
-2.17.1
-
diff --git a/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch b/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch
deleted file mode 100644
index facfefd362..0000000000
--- a/meta/recipes-core/libxml/libxml2/CVE-2020-7595.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0e1a49c8907645d2e155f0d89d4d9895ac5112b5 Mon Sep 17 00:00:00 2001
-From: Zhipeng Xie <xiezhipeng1@huawei.com>
-Date: Thu, 12 Dec 2019 17:30:55 +0800
-Subject: [PATCH] Fix infinite loop in xmlStringLenDecodeEntities
-
-When ctxt->instate == XML_PARSER_EOF,xmlParseStringEntityRef
-return NULL which cause a infinite loop in xmlStringLenDecodeEntities
-
-Found with libFuzzer.
-
-Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
-
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/commit/0e1a49c89076]
-CVE: CVE-2020-7595
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- parser.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/parser.c b/parser.c
-index d1c31963..a34bb6cd 100644
---- a/parser.c
-+++ b/parser.c
-@@ -2646,7 +2646,8 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len,
- else
- c = 0;
- while ((c != 0) && (c != end) && /* non input consuming loop */
-- (c != end2) && (c != end3)) {
-+ (c != end2) && (c != end3) &&
-+ (ctxt->instate != XML_PARSER_EOF)) {
-
- if (c == 0) break;
- if ((c == '&') && (str[1] == '#')) {
---
-2.24.1
-
diff --git a/meta/recipes-core/libxml/libxml2/fix-python39.patch b/meta/recipes-core/libxml/libxml2/fix-python39.patch
deleted file mode 100644
index 32590f9ddf..0000000000
--- a/meta/recipes-core/libxml/libxml2/fix-python39.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From e4fb36841800038c289997432ca547c9bfef9db1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Fri, 28 Feb 2020 12:48:14 +0100
-Subject: [PATCH] Parenthesize Py<type>_Check() in ifs
-
-In C, if expressions should be parenthesized.
-PyLong_Check, PyUnicode_Check etc. happened to expand to a parenthesized
-expression before, but that's not API to rely on.
-
-Since Python 3.9.0a4 it needs to be parenthesized explicitly.
-
-Fixes https://gitlab.gnome.org/GNOME/libxml2/issues/149
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- python/libxml.c | 4 ++--
- python/types.c | 12 ++++++------
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/python/libxml.c b/python/libxml.c
-index bc676c4e0..81e709f34 100644
---- a/python/libxml.c
-+++ b/python/libxml.c
-@@ -294,7 +294,7 @@ xmlPythonFileReadRaw (void * context, char * buffer, int len) {
- lenread = PyBytes_Size(ret);
- data = PyBytes_AsString(ret);
- #ifdef PyUnicode_Check
-- } else if PyUnicode_Check (ret) {
-+ } else if (PyUnicode_Check (ret)) {
- #if PY_VERSION_HEX >= 0x03030000
- Py_ssize_t size;
- const char *tmp;
-@@ -359,7 +359,7 @@ xmlPythonFileRead (void * context, char * buffer, int len) {
- lenread = PyBytes_Size(ret);
- data = PyBytes_AsString(ret);
- #ifdef PyUnicode_Check
-- } else if PyUnicode_Check (ret) {
-+ } else if (PyUnicode_Check (ret)) {
- #if PY_VERSION_HEX >= 0x03030000
- Py_ssize_t size;
- const char *tmp;
-diff --git a/python/types.c b/python/types.c
-index c2bafeb19..ed284ec74 100644
---- a/python/types.c
-+++ b/python/types.c
-@@ -602,16 +602,16 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj)
- if (obj == NULL) {
- return (NULL);
- }
-- if PyFloat_Check (obj) {
-+ if (PyFloat_Check (obj)) {
- ret = xmlXPathNewFloat((double) PyFloat_AS_DOUBLE(obj));
-- } else if PyLong_Check(obj) {
-+ } else if (PyLong_Check(obj)) {
- #ifdef PyLong_AS_LONG
- ret = xmlXPathNewFloat((double) PyLong_AS_LONG(obj));
- #else
- ret = xmlXPathNewFloat((double) PyInt_AS_LONG(obj));
- #endif
- #ifdef PyBool_Check
-- } else if PyBool_Check (obj) {
-+ } else if (PyBool_Check (obj)) {
-
- if (obj == Py_True) {
- ret = xmlXPathNewBoolean(1);
-@@ -620,14 +620,14 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj)
- ret = xmlXPathNewBoolean(0);
- }
- #endif
-- } else if PyBytes_Check (obj) {
-+ } else if (PyBytes_Check (obj)) {
- xmlChar *str;
-
- str = xmlStrndup((const xmlChar *) PyBytes_AS_STRING(obj),
- PyBytes_GET_SIZE(obj));
- ret = xmlXPathWrapString(str);
- #ifdef PyUnicode_Check
-- } else if PyUnicode_Check (obj) {
-+ } else if (PyUnicode_Check (obj)) {
- #if PY_VERSION_HEX >= 0x03030000
- xmlChar *str;
- const char *tmp;
-@@ -650,7 +650,7 @@ libxml_xmlXPathObjectPtrConvert(PyObject *obj)
- ret = xmlXPathWrapString(str);
- #endif
- #endif
-- } else if PyList_Check (obj) {
-+ } else if (PyList_Check (obj)) {
- int i;
- PyObject *node;
- xmlNodePtr cur;
---
-GitLab
-
diff --git a/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch b/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch
index e6998f6e68..90fa193775 100644
--- a/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch
+++ b/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch
@@ -1,7 +1,8 @@
-From 43edc9a445ed66cceb7533eadeef242940b4592c Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sat, 11 May 2019 20:37:12 +0800
+From f57da62218cf72c1342da82abafdac6b0a2e4997 Mon Sep 17 00:00:00 2001
+From: Tony Tascioglu <tony.tascioglu@windriver.com>
+Date: Fri, 14 May 2021 11:50:35 -0400
Subject: [PATCH] AM_PATH_XML2 uses xml-config which we disable through
+
binconfig-disabled.bbclass, so port it to use pkg-config instead.
Upstream-Status: Pending
@@ -9,16 +10,22 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
Rebase to 2.9.9
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Updated to apply cleanly to v2.9.12
+
+Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
---
- libxml.m4 | 186 ++------------------------------------------------------------
- 1 file changed, 5 insertions(+), 181 deletions(-)
+ libxml.m4 | 190 ++----------------------------------------------------
+ 1 file changed, 5 insertions(+), 185 deletions(-)
diff --git a/libxml.m4 b/libxml.m4
-index 2d7a6f5..1c53585 100644
+index 09de9fe2..1c535853 100644
--- a/libxml.m4
+++ b/libxml.m4
-@@ -1,188 +1,12 @@
+@@ -1,192 +1,12 @@
-# Configure paths for LIBXML2
+-# Simon Josefsson 2020-02-12
+-# Fix autoconf 2.70+ warnings
-# Mike Hommey 2004-06-19
-# use CPPFLAGS instead of CFLAGS
-# Toshio Kuratomi 2001-04-21
@@ -78,7 +85,8 @@ index 2d7a6f5..1c53585 100644
-dnl (Also sanity checks the results of xml2-config to some extent)
-dnl
- rm -f conf.xmltest
-- AC_TRY_RUN([
+- AC_RUN_IFELSE(
+- [AC_LANG_SOURCE([[
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
@@ -148,12 +156,12 @@ index 2d7a6f5..1c53585 100644
- printf("*** being found. The easiest way to fix this is to remove the old version\n");
- printf("*** of LIBXML, but you can also set the XML2_CONFIG environment to point to the\n");
- printf("*** correct copy of xml2-config. (In this case, you will have to\n");
-- printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
+- printf("*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf\n");
- printf("*** so that the correct libraries are found at run-time))\n");
- }
- return 1;
-}
--],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+-]])],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIBS="$ac_save_LIBS"
- fi
@@ -178,10 +186,11 @@ index 2d7a6f5..1c53585 100644
- echo "*** Could not run libxml test program, checking why..."
- CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
- LIBS="$LIBS $XML_LIBS"
-- AC_TRY_LINK([
+- AC_LINK_IFELSE(
+- [AC_LANG_PROGRAM([[
-#include <libxml/xmlversion.h>
-#include <stdio.h>
--], [ LIBXML_TEST_VERSION; return 0;],
+-]], [[ LIBXML_TEST_VERSION; return 0;]])],
- [ echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding LIBXML or finding the wrong"
- echo "*** version of LIBXML. If it is not finding LIBXML, you'll need to set your"
diff --git a/meta/recipes-core/libxml/libxml2/remove-fuzz-from-ptests.patch b/meta/recipes-core/libxml/libxml2/remove-fuzz-from-ptests.patch
new file mode 100644
index 0000000000..e80c46054e
--- /dev/null
+++ b/meta/recipes-core/libxml/libxml2/remove-fuzz-from-ptests.patch
@@ -0,0 +1,43 @@
+From e49a0d4a8f3f725d6f683854e1cad36a3cd02962 Mon Sep 17 00:00:00 2001
+From: Tony Tascioglu <tony.tascioglu@windriver.com>
+Date: Wed, 19 May 2021 19:43:56 -0400
+Subject: [PATCH] Remove fuzz testing from executing with ptests.
+
+Upstream version 2.9.12 introduced new fuzz-testing and a corresponding
+folder fuzz. These tests are not required for ptests of this package.
+
+This patch removes the fuzz testing targets from the Makefile.
+Otherwise, running the ptests will fail due to the invalid directory.
+
+Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
+---
+ Makefile.am | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index a9284b95..3d7b344d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,9 +2,9 @@
+
+ ACLOCAL_AMFLAGS = -I m4
+
+-SUBDIRS = include . doc example fuzz xstc $(PYTHON_SUBDIR)
++SUBDIRS = include . doc example xstc $(PYTHON_SUBDIR)
+
+-DIST_SUBDIRS = include . doc example fuzz python xstc
++DIST_SUBDIRS = include . doc example python xstc
+
+ AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include
+
+@@ -210,7 +210,6 @@ runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \
+ $(CHECKER) ./runxmlconf$(EXEEXT)
+ @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
+ $(MAKE) tests ; fi)
+- @cd fuzz; $(MAKE) tests
+
+ check: all runtests
+
+--
+2.25.1
+
diff --git a/meta/recipes-core/libxml/libxml2/runtest.patch b/meta/recipes-core/libxml/libxml2/runtest.patch
index 0dbb353c0f..c7a90cd3dc 100644
--- a/meta/recipes-core/libxml/libxml2/runtest.patch
+++ b/meta/recipes-core/libxml/libxml2/runtest.patch
@@ -1,28 +1,33 @@
-Add 'install-ptest' rule. Print a standard result line for
-each test.
+From 6172ccd1e74bc181f5298f19e240234e12876abe Mon Sep 17 00:00:00 2001
+From: Tony Tascioglu <tony.tascioglu@windriver.com>
+Date: Tue, 11 May 2021 11:57:46 -0400
+Subject: [PATCH] Add 'install-ptest' rule.
+
+Print a standard result line for each test.
Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com>
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-Upstream-Status: Backport
+Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Tony Tascioglu <tony.tascioglu@windriver.com>
---
- Makefile.am | 9 ++++
+ Makefile.am | 9 +++
runsuite.c | 1 +
runtest.c | 2 +
runxmlconf.c | 1 +
- testapi.c | 122 ++++++++++++++++++++++++++++++---------------
- testchar.c | 156 +++++++++++++++++++++++++++++++++++++++++-----------------
+ testapi.c | 122 ++++++++++++++++++++++++++-------------
+ testchar.c | 156 +++++++++++++++++++++++++++++++++++---------------
testdict.c | 1 +
testlimits.c | 1 +
testrecurse.c | 2 +
9 files changed, 210 insertions(+), 85 deletions(-)
diff --git a/Makefile.am b/Makefile.am
-index 9c630be..7cfd04b 100644
+index 05d1671f..ae622745 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -202,6 +202,15 @@ runxmlconf_LDADD= $(LDADDS)
+@@ -198,6 +198,15 @@ runxmlconf_LDADD= $(LDADDS)
#testOOM_DEPENDENCIES = $(DEPS)
#testOOM_LDADD= $(LDADDS)
@@ -39,10 +44,10 @@ index 9c630be..7cfd04b 100644
testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT)
[ -d test ] || $(LN_S) $(srcdir)/test .
diff --git a/runsuite.c b/runsuite.c
-index aaab13e..9ba2c5d 100644
+index d24b5ec3..f7ff2521 100644
--- a/runsuite.c
+++ b/runsuite.c
-@@ -1162,6 +1162,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
+@@ -1147,6 +1147,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
if (logfile != NULL)
fclose(logfile);
@@ -51,10 +56,10 @@ index aaab13e..9ba2c5d 100644
}
#else /* !SCHEMAS */
diff --git a/runtest.c b/runtest.c
-index addda5c..8ba5d59 100644
+index ffa98d04..470f95cb 100644
--- a/runtest.c
+++ b/runtest.c
-@@ -4501,6 +4501,7 @@ launchTests(testDescPtr tst) {
+@@ -4508,6 +4508,7 @@ launchTests(testDescPtr tst) {
xmlCharEncCloseFunc(ebcdicHandler);
xmlCharEncCloseFunc(eucJpHandler);
@@ -62,7 +67,7 @@ index addda5c..8ba5d59 100644
return(err);
}
-@@ -4577,6 +4578,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
+@@ -4588,6 +4589,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
xmlCleanupParser();
xmlMemoryDump();
@@ -71,7 +76,7 @@ index addda5c..8ba5d59 100644
}
diff --git a/runxmlconf.c b/runxmlconf.c
-index cef20f4..4f291fb 100644
+index 70f61017..e882b3a1 100644
--- a/runxmlconf.c
+++ b/runxmlconf.c
@@ -595,6 +595,7 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
@@ -83,7 +88,7 @@ index cef20f4..4f291fb 100644
}
diff --git a/testapi.c b/testapi.c
-index 4a751e2..7ccc066 100644
+index ff8b470d..52b51d78 100644
--- a/testapi.c
+++ b/testapi.c
@@ -1246,49 +1246,91 @@ static int
@@ -219,7 +224,7 @@ index 4a751e2..7ccc066 100644
}
diff --git a/testchar.c b/testchar.c
-index 0d08792..f555d3b 100644
+index 6866a175..7bce0132 100644
--- a/testchar.c
+++ b/testchar.c
@@ -23,7 +23,7 @@ static void errorHandler(void *unused, xmlErrorPtr err) {
@@ -797,7 +802,7 @@ index 0d08792..f555d3b 100644
/*
* Cleanup function for the XML library.
diff --git a/testdict.c b/testdict.c
-index 40bebd0..114b934 100644
+index 40bebd05..114b9347 100644
--- a/testdict.c
+++ b/testdict.c
@@ -440,5 +440,6 @@ int main(void)
@@ -808,7 +813,7 @@ index 40bebd0..114b934 100644
return(ret);
}
diff --git a/testlimits.c b/testlimits.c
-index 68c94db..1584434 100644
+index 059116a6..f0bee68d 100644
--- a/testlimits.c
+++ b/testlimits.c
@@ -1634,5 +1634,6 @@ main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
@@ -819,7 +824,7 @@ index 68c94db..1584434 100644
return(ret);
}
diff --git a/testrecurse.c b/testrecurse.c
-index f95ae1c..74c8f8b 100644
+index 0cbe25a6..3ecadb40 100644
--- a/testrecurse.c
+++ b/testrecurse.c
@@ -892,6 +892,7 @@ launchTests(testDescPtr tst) {
@@ -838,5 +843,5 @@ index f95ae1c..74c8f8b 100644
return(ret);
}
--
-2.7.4
+2.25.1
diff --git a/meta/recipes-core/libxml/libxml2_2.9.10.bb b/meta/recipes-core/libxml/libxml2_2.9.12.bb
index 07ae68610c..955d934d7d 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.10.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.12.bb
@@ -5,9 +5,9 @@ BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml2"
SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://Copyright;md5=2044417e2e5006b65a8b9067b683fcf1 \
- file://hash.c;beginline=6;endline=15;md5=96f7296605eae807670fb08947829969 \
- file://list.c;beginline=4;endline=13;md5=cdbfa3dee51c099edb04e39f762ee907 \
- file://trio.c;beginline=5;endline=14;md5=6c025753c86d958722ec76e94cae932e"
+ file://hash.c;beginline=6;endline=15;md5=e77f77b12cb69e203d8b4090a0eee879 \
+ file://list.c;beginline=4;endline=13;md5=b9c25b021ccaf287e50060602d20f3a7 \
+ file://trio.c;beginline=5;endline=14;md5=cd4f61e27f88c1d43df112966b1cd28f"
DEPENDS = "zlib virtual/libiconv"
@@ -20,15 +20,10 @@ SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \
file://libxml-m4-use-pkgconfig.patch \
file://0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch \
file://fix-execution-of-ptests.patch \
- file://CVE-2020-7595.patch \
- file://CVE-2019-20388.patch \
- file://CVE-2020-24977.patch \
- file://fix-python39.patch \
+ file://remove-fuzz-from-ptests.patch \
"
-SRC_URI[libtar.md5sum] = "10942a1dc23137a8aa07f0639cbfece5"
-SRC_URI[libtar.sha256sum] = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f"
-SRC_URI[testtar.md5sum] = "ae3d1ebe000a3972afa104ca7f0e1b4a"
+SRC_URI[libtar.sha256sum] = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92"
SRC_URI[testtar.sha256sum] = "96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7"
BINCONFIG = "${bindir}/xml2-config"
@@ -43,7 +38,7 @@ inherit autotools pkgconfig binconfig-disabled ptest
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
-RDEPENDS_${PN}-ptest += "make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}"
+RDEPENDS_${PN}-ptest += "bash make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}"
RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}"
diff --git a/meta/recipes-core/meta/cve-update-db-native.bb b/meta/recipes-core/meta/cve-update-db-native.bb
index 25ec6bac71..e5822cee58 100644
--- a/meta/recipes-core/meta/cve-update-db-native.bb
+++ b/meta/recipes-core/meta/cve-update-db-native.bb
@@ -139,7 +139,12 @@ def parse_node_and_insert(c, node, cveId):
for cpe in node.get('cpe_match', ()):
if not cpe['vulnerable']:
return
- cpe23 = cpe['cpe23Uri'].split(':')
+ cpe23 = cpe.get('cpe23Uri')
+ if not cpe23:
+ return
+ cpe23 = cpe23.split(':')
+ if len(cpe23) < 6:
+ return
vendor = cpe23[3]
product = cpe23[4]
version = cpe23[5]
diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb
index bae8c81cc7..81c87e8e8d 100644
--- a/meta/recipes-core/musl/libssp-nonshared.bb
+++ b/meta/recipes-core/musl/libssp-nonshared.bb
@@ -2,11 +2,12 @@
# Released under the MIT license (see COPYING.MIT for the terms)
SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl"
-LICENSE = "GPL-3.0-with-GCC-exception"
-LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://stack_chk.c;beginline=1;endline=30;md5=97e59d9deee678a9332c9ddb2ab6360d"
SECTION = "libs"
-SRC_URI = "file://ssp-local.c"
+# Sourced from https://github.com/intel/linux-sgx/blob/master/sdk/compiler-rt/stack_chk.c
+SRC_URI = "file://stack_chk.c"
INHIBIT_DEFAULT_DEPS = "1"
@@ -19,8 +20,8 @@ do_configure[noexec] = "1"
S = "${WORKDIR}"
do_compile() {
- ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c ssp-local.c -o ssp-local.o
- ${AR} r libssp_nonshared.a ssp-local.o
+ ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o
+ ${AR} r libssp_nonshared.a stack_chk.o
}
do_install() {
install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a
diff --git a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c
deleted file mode 100644
index 8f51afa2c1..0000000000
--- a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Stack protector support.
- Copyright (C) 2005-2018 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 3, or (at your option) any later
-version.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file into combinations with other programs,
-and to distribute those combinations without any restriction coming
-from the use of this file. (The General Public License restrictions
-do apply in other respects; for example, they cover modification of
-the file, and distribution when not linked into a combine
-executable.)
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-for more details.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-<http://www.gnu.org/licenses/>. */
-
-extern void __stack_chk_fail (void);
-
-/* Some targets can avoid loading a GP for calls to hidden functions.
- Using this entry point may avoid the load of a GP entirely for the
- function, making the overall code smaller. */
-
-void
-__attribute__((visibility ("hidden")))
-__stack_chk_fail_local (void)
-{
- __stack_chk_fail ();
-}
diff --git a/meta/recipes-core/musl/libssp-nonshared/stack_chk.c b/meta/recipes-core/musl/libssp-nonshared/stack_chk.c
new file mode 100644
index 0000000000..097aae24b6
--- /dev/null
+++ b/meta/recipes-core/musl/libssp-nonshared/stack_chk.c
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2011-2021 Intel Corporation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Intel Corporation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+extern void __attribute__((noreturn)) __stack_chk_fail(void);
+
+void
+__attribute__((noreturn))
+__attribute__((visibility ("hidden")))
+__stack_chk_fail_local (void)
+{
+ __stack_chk_fail ();
+}
diff --git a/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch b/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch
new file mode 100644
index 0000000000..1fdc9f739d
--- /dev/null
+++ b/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch
@@ -0,0 +1,49 @@
+From a530eed9e7e6872e10fe92efaf1e9739471c30ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 30 May 2021 08:30:28 -0700
+Subject: [PATCH] meson: Add option to pass cpu
+
+This helps with cross compile setups, where host_cpu != target_cpu
+therefore detecting it on the fly will end up with wrong cpu to build
+for
+
+Upstream-Status: Submitted [https://github.com/kaniini/libucontext/pull/28]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ meson.build | 6 +++++-
+ meson_options.txt | 4 +++-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index e863780..2b4bdbd 100644
+--- a/meson.build
++++ b/meson.build
+@@ -6,7 +6,11 @@ project(
+ version : run_command('head', files('VERSION')).stdout()
+ )
+
+-cpu = host_machine.cpu_family()
++cpu = get_option('cpu')
++if cpu == ''
++ cpu = host_machine.cpu_family()
++endif
++
+ if cpu == 'sh4'
+ cpu = 'sh'
+ endif
+diff --git a/meson_options.txt b/meson_options.txt
+index d4201d1..864d83c 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,4 +1,6 @@
+ option('freestanding', type : 'boolean', value : false,
+ description: 'Do not use system headers')
+ option('export_unprefixed', type : 'boolean', value : true,
+- description: 'Export POSIX 2004 ucontext names as alises')
+\ No newline at end of file
++ description: 'Export POSIX 2004 ucontext names as alises')
++option('cpu', type : 'string', value : '',
++ description: 'Target CPU architecture for cross compile')
+--
+2.31.1
+
diff --git a/meta/recipes-core/musl/libucontext_git.bb b/meta/recipes-core/musl/libucontext_git.bb
index 11affebb49..d8ae8242c5 100644
--- a/meta/recipes-core/musl/libucontext_git.bb
+++ b/meta/recipes-core/musl/libucontext_git.bb
@@ -8,10 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6eed01fa0e673c76f5a5715438f65b1d"
SECTION = "libs"
DEPENDS = ""
-PV = "0.10+${SRCPV}"
-SRCREV = "19fa1bbfc26efb92147b5e85cc0ca02a0e837561"
+PV = "1.1+${SRCPV}"
+SRCREV = "335ee864ef6f4a5d4b525453fd9dbfb3507cfecc"
SRC_URI = "git://github.com/kaniini/libucontext \
-"
+ file://0001-meson-Add-option-to-pass-cpu.patch \
+ "
S = "${WORKDIR}/git"
@@ -49,16 +50,5 @@ def map_kernel_arch(a, d):
return a
bb.error("cannot map '%s' to a linux kernel architecture" % a)
-export ARCH = "${@map_kernel_arch(d.getVar('TARGET_ARCH'), d)}"
-
-CFLAGS += "-Iarch/${ARCH} -Iarch/common"
-
-EXTRA_OEMAKE = "CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}' LIBDIR='${base_libdir}'"
-
-do_compile() {
- oe_runmake ARCH=${ARCH}
-}
-
-do_install() {
- oe_runmake ARCH="${ARCH}" DESTDIR="${D}" install
-}
+EXTRA_OEMESON = "-Dcpu=${@map_kernel_arch(d.getVar('TARGET_ARCH'), d)}"
+inherit meson
diff --git a/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch b/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch
new file mode 100644
index 0000000000..9d9f16cee6
--- /dev/null
+++ b/meta/recipes-core/musl/musl/0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch
@@ -0,0 +1,32 @@
+From 40732d03990632049d5ba63dd736269a81756b16 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 19 May 2021 00:30:05 -0700
+Subject: [PATCH] riscv: Rename __NR_fstatat __NR_newfstatat
+
+on riscv64 this syscall is called __NR_newfstatat
+this helps the name match kernel UAPI for external
+programs
+
+Upstream-Status: Submitted [https://www.openwall.com/lists/musl/2021/05/19/3]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: zabolcs Nagy <nsz@port70.net>
+---
+ arch/riscv64/bits/syscall.h.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in
+index f9c421d0..39c0d650 100644
+--- a/arch/riscv64/bits/syscall.h.in
++++ b/arch/riscv64/bits/syscall.h.in
+@@ -76,7 +76,7 @@
+ #define __NR_splice 76
+ #define __NR_tee 77
+ #define __NR_readlinkat 78
+-#define __NR_fstatat 79
++#define __NR_newfstatat 79
+ #define __NR_fstat 80
+ #define __NR_sync 81
+ #define __NR_fsync 82
+--
+2.31.1
+
diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb
index e6f9e2441e..795b888bb3 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -4,7 +4,7 @@
require musl.inc
inherit linuxloader
-SRCREV = "e5d2823631bbfebacf48e1a34ed28f28d7cb2570"
+SRCREV = "aad50fcd791e009961621ddfbe3d4c245fd689a3"
BASEVER = "1.2.2"
@@ -15,6 +15,7 @@ PV = "${BASEVER}+git${SRCPV}"
SRC_URI = "git://git.musl-libc.org/musl \
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
+ file://0001-riscv-Rename-__NR_fstatat-__NR_newfstatat.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch b/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch
new file mode 100644
index 0000000000..d658123b81
--- /dev/null
+++ b/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch
@@ -0,0 +1,51 @@
+From 498627ebda6271b59920f43a0b9b6187edeb7b09 Mon Sep 17 00:00:00 2001
+From: Adrian Herrera <adr.her.arc.95@gmail.com>
+Date: Mon, 22 Mar 2021 21:06:47 +0000
+Subject: [PATCH] Fix VLA parameter warning
+
+Make VLA buffer types consistent in declarations and definitions.
+Resolves build crash when using -Werror due to "vla-parameter" warning.
+
+Upstream-Status: Submitted [https://github.com/google/brotli/pull/893]
+Signed-off-by: Adrian Herrera <adr.her.arc.95@gmail.com>
+---
+ c/dec/decode.c | 6 ++++--
+ c/enc/encode.c | 5 +++--
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
+index 114c505..bb6f1ab 100644
+--- a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
++++ b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
+@@ -2030,8 +2030,10 @@ static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands(
+ }
+
+ BrotliDecoderResult BrotliDecoderDecompress(
+- size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,
+- uint8_t* decoded_buffer) {
++ size_t encoded_size,
++ const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)],
++ size_t* decoded_size,
++ uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]) {
+ BrotliDecoderState s;
+ BrotliDecoderResult result;
+ size_t total_out = 0;
+diff --git a/c/enc/encode.c b/c/enc/encode.c
+index 68548ef..ab0a490 100644
+--- a/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c
++++ c/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c
+@@ -1470,8 +1470,9 @@ static size_t MakeUncompressedStream(
+
+ BROTLI_BOOL BrotliEncoderCompress(
+ int quality, int lgwin, BrotliEncoderMode mode, size_t input_size,
+- const uint8_t* input_buffer, size_t* encoded_size,
+- uint8_t* encoded_buffer) {
++ const uint8_t input_buffer[BROTLI_ARRAY_PARAM(input_size)],
++ size_t* encoded_size,
++ uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(*encoded_size)]) {
+ BrotliEncoderState* s;
+ size_t out_size = *encoded_size;
+ const uint8_t* input_start = input_buffer;
+--
+2.31.1
+
diff --git a/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch b/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch
new file mode 100644
index 0000000000..0165fae7ce
--- /dev/null
+++ b/meta/recipes-core/ovmf/ovmf/debug_prefix_map.patch
@@ -0,0 +1,93 @@
+We want to pass ${DEBUG_PREFIX_MAP} to gcc commands and also pass in
+ --debug-prefix-map to nasm (we carry a patch to nasm for this). The
+tools definitions file is built by ovmf-native so we need to pass this in
+at target build time when we know the right values so we use the environment.
+
+By using determininistc file paths during the ovmf build, it removes the
+opportunitity for gcc/ld to change the output binaries due to path lengths
+overflowing section sizes and causing small changes in the binary output.
+Previously we relied on the stripped output being the same which isn't always
+the case if the size of the debug symbols varies.
+
+Upstream-Status: Pending [gcc parts may be upstreamable, nasm patch isn't upstream yet]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+
+Index: git/BaseTools/Conf/tools_def.template
+===================================================================
+--- git.orig/BaseTools/Conf/tools_def.template
++++ git/BaseTools/Conf/tools_def.template
+@@ -1918,7 +1918,7 @@ NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --a
+ *_*_*_DTCPP_PATH = DEF(DTCPP_BIN)
+ *_*_*_DTC_PATH = DEF(DTC_BIN)
+
+-DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common
++DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common ENV(GCC_PREFIX_MAP)
+ DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe
+ DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe
+ DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie
+@@ -1936,8 +1936,8 @@ DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = -fu
+ DEFINE GCC_ARM_ASLDLINK_FLAGS = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
+ DEFINE GCC_AARCH64_ASLDLINK_FLAGS = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
+ DEFINE GCC_IA32_X64_DLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+-DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h
+-DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h
++DEFINE GCC_ASM_FLAGS = -c -x assembler -imacros AutoGen.h ENV(GCC_PREFIX_MAP)
++DEFINE GCC_PP_FLAGS = -E -x assembler-with-cpp -include AutoGen.h ENV(GCC_PREFIX_MAP)
+ DEFINE GCC_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE --include $(MODULE_NAME)StrDefs.h
+ DEFINE GCC_ASLPP_FLAGS = -x c -E -include AutoGen.h
+ DEFINE GCC_ASLCC_FLAGS = -x c
+@@ -2082,7 +2082,7 @@ DEFINE GCC_PP_FLAGS
+ *_GCC48_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS)
+ *_GCC48_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+ *_GCC48_IA32_OBJCOPY_FLAGS =
+-*_GCC48_IA32_NASM_FLAGS = -f elf32
++*_GCC48_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP)
+
+ DEBUG_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os
+ RELEASE_GCC48_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable
+@@ -2110,7 +2110,7 @@ RELEASE_GCC48_IA32_CC_FLAGS = DEF(
+ *_GCC48_X64_DLINK2_FLAGS = DEF(GCC48_X64_DLINK2_FLAGS)
+ *_GCC48_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+ *_GCC48_X64_OBJCOPY_FLAGS =
+-*_GCC48_X64_NASM_FLAGS = -f elf64
++*_GCC48_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP)
+
+ DEBUG_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os
+ RELEASE_GCC48_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable
+@@ -2222,7 +2222,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(G
+ *_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS)
+ *_GCC49_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+ *_GCC49_IA32_OBJCOPY_FLAGS =
+-*_GCC49_IA32_NASM_FLAGS = -f elf32
++*_GCC49_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP)
+
+ DEBUG_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os
+ RELEASE_GCC49_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
+@@ -2250,7 +2250,7 @@ RELEASE_GCC49_IA32_CC_FLAGS = DEF(
+ *_GCC49_X64_DLINK2_FLAGS = DEF(GCC49_X64_DLINK2_FLAGS)
+ *_GCC49_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+ *_GCC49_X64_OBJCOPY_FLAGS =
+-*_GCC49_X64_NASM_FLAGS = -f elf64
++*_GCC49_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP)
+
+ DEBUG_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os
+ RELEASE_GCC49_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable -Wno-unused-const-variable
+@@ -2368,7 +2368,7 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -
+ *_GCC5_IA32_DLINK2_FLAGS = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie
+ *_GCC5_IA32_RC_FLAGS = DEF(GCC_IA32_RC_FLAGS)
+ *_GCC5_IA32_OBJCOPY_FLAGS =
+-*_GCC5_IA32_NASM_FLAGS = -f elf32
++*_GCC5_IA32_NASM_FLAGS = -f elf32 ENV(NASM_PREFIX_MAP)
+
+ DEBUG_GCC5_IA32_CC_FLAGS = DEF(GCC5_IA32_CC_FLAGS) -flto -Os
+ DEBUG_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
+@@ -2400,7 +2400,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(G
+ *_GCC5_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS)
+ *_GCC5_X64_RC_FLAGS = DEF(GCC_X64_RC_FLAGS)
+ *_GCC5_X64_OBJCOPY_FLAGS =
+-*_GCC5_X64_NASM_FLAGS = -f elf64
++*_GCC5_X64_NASM_FLAGS = -f elf64 ENV(NASM_PREFIX_MAP)
+
+ DEBUG_GCC5_X64_CC_FLAGS = DEF(GCC5_X64_CC_FLAGS) -flto -DUSING_LTO -Os
+ DEBUG_GCC5_X64_DLINK_FLAGS = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
diff --git a/meta/recipes-core/ovmf/ovmf/reproducible.patch b/meta/recipes-core/ovmf/ovmf/reproducible.patch
new file mode 100644
index 0000000000..5d2aeaacfe
--- /dev/null
+++ b/meta/recipes-core/ovmf/ovmf/reproducible.patch
@@ -0,0 +1,165 @@
+This patch fixes various things which make the build more reproducible. Some changes
+here only change intermediate artefacts but that means when you have two build trees
+giving differing results, the differences can be isolated more easily. The issues here
+usually become apparent with longer paths.
+
+This was all debugged with:
+TMPDIR = "${TOPDIR}/tmp"
+vs.
+TMPDIR = "${TOPDIR}/tmp-inital-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath-mylongpath"
+
+The patch specifically:
+
+ * Sorts output in GNUmakefile
+ * Always generates indirect flags files used to avoid pathlength issues else the
+ compile commands suddenly change when using longer paths
+ * Sorts the AutoGenTimeStamp file contents
+ * Makes the TargetDescBlock objects from BuildEngine sortable to allow the makefile fix
+ * Fix ElfConvert within GenFw so that only the basename of the binary being converted
+ is used, else the output from "GenFw XXX.bin" differs from "GenFw /long/path/XXX.bin"
+ with sufficiently long paths
+
+Upstream-Status: Pending [At least some of this might be interesting to upstream]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: git/BaseTools/Source/Python/AutoGen/GenMake.py
+===================================================================
+--- git.orig/BaseTools/Source/Python/AutoGen/GenMake.py
++++ git/BaseTools/Source/Python/AutoGen/GenMake.py
+@@ -571,7 +571,7 @@ cleanlib:
+ os.remove(RespFileList)
+
+ # convert source files and binary files to build targets
+- self.ResultFileList = [str(T.Target) for T in MyAgo.CodaTargetList]
++ self.ResultFileList = sorted([str(T.Target) for T in MyAgo.CodaTargetList])
+ if len(self.ResultFileList) == 0 and len(MyAgo.SourceFileList) != 0:
+ EdkLogger.error("build", AUTOGEN_ERROR, "Nothing to build",
+ ExtraData="[%s]" % str(MyAgo))
+@@ -722,7 +722,7 @@ cleanlib:
+ OutputFile = ''
+ DepsFileList = []
+
+- for Cmd in self.GenFfsList:
++ for Cmd in sorted(self.GenFfsList):
+ if Cmd[2]:
+ for CopyCmd in Cmd[2]:
+ Src, Dst = CopyCmd
+@@ -755,7 +755,7 @@ cleanlib:
+ self.BuildTargetList.append('\t%s' % CmdString)
+
+ self.ParseSecCmd(DepsFileList, Cmd[1])
+- for SecOutputFile, SecDepsFile, SecCmd in self.FfsOutputFileList :
++ for SecOutputFile, SecDepsFile, SecCmd in sorted(self.FfsOutputFileList):
+ self.BuildTargetList.append('%s : %s' % (self.ReplaceMacro(SecOutputFile), self.ReplaceMacro(SecDepsFile)))
+ self.BuildTargetList.append('\t%s' % self.ReplaceMacro(SecCmd))
+ self.FfsOutputFileList = []
+@@ -794,13 +794,13 @@ cleanlib:
+
+ def CommandExceedLimit(self):
+ FlagDict = {
+- 'CC' : { 'Macro' : '$(CC_FLAGS)', 'Value' : False},
+- 'PP' : { 'Macro' : '$(PP_FLAGS)', 'Value' : False},
+- 'APP' : { 'Macro' : '$(APP_FLAGS)', 'Value' : False},
+- 'ASLPP' : { 'Macro' : '$(ASLPP_FLAGS)', 'Value' : False},
+- 'VFRPP' : { 'Macro' : '$(VFRPP_FLAGS)', 'Value' : False},
+- 'ASM' : { 'Macro' : '$(ASM_FLAGS)', 'Value' : False},
+- 'ASLCC' : { 'Macro' : '$(ASLCC_FLAGS)', 'Value' : False},
++ 'CC' : { 'Macro' : '$(CC_FLAGS)', 'Value' : True},
++ 'PP' : { 'Macro' : '$(PP_FLAGS)', 'Value' : True},
++ 'APP' : { 'Macro' : '$(APP_FLAGS)', 'Value' : True},
++ 'ASLPP' : { 'Macro' : '$(ASLPP_FLAGS)', 'Value' : True},
++ 'VFRPP' : { 'Macro' : '$(VFRPP_FLAGS)', 'Value' : True},
++ 'ASM' : { 'Macro' : '$(ASM_FLAGS)', 'Value' : True},
++ 'ASLCC' : { 'Macro' : '$(ASLCC_FLAGS)', 'Value' : True},
+ }
+
+ RespDict = {}
+@@ -1003,9 +1003,9 @@ cleanlib:
+ if not self.ObjTargetDict.get(T.Target.SubDir):
+ self.ObjTargetDict[T.Target.SubDir] = set()
+ self.ObjTargetDict[T.Target.SubDir].add(NewFile)
+- for Type in self._AutoGenObject.Targets:
++ for Type in sorted(self._AutoGenObject.Targets):
+ resp_file_number = 0
+- for T in self._AutoGenObject.Targets[Type]:
++ for T in sorted(self._AutoGenObject.Targets[Type]):
+ # Generate related macros if needed
+ if T.GenFileListMacro and T.FileListMacro not in self.FileListMacros:
+ self.FileListMacros[T.FileListMacro] = []
+Index: git/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
+===================================================================
+--- git.orig/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
++++ git/BaseTools/Source/Python/AutoGen/ModuleAutoGen.py
+@@ -1484,6 +1484,9 @@ class ModuleAutoGen(AutoGen):
+ for File in Files:
+ if File.lower().endswith('.pdb'):
+ AsBuiltInfDict['binary_item'].append('DISPOSABLE|' + File)
++
++ AsBuiltInfDict['binary_item'] = sorted(AsBuiltInfDict['binary_item'])
++
+ HeaderComments = self.Module.HeaderComments
+ StartPos = 0
+ for Index in range(len(HeaderComments)):
+@@ -1759,7 +1762,7 @@ class ModuleAutoGen(AutoGen):
+ if os.path.exists (self.TimeStampPath):
+ os.remove (self.TimeStampPath)
+
+- SaveFileOnChange(self.TimeStampPath, "\n".join(FileSet), False)
++ SaveFileOnChange(self.TimeStampPath, "\n".join(sorted(FileSet)), False)
+
+ # Ignore generating makefile when it is a binary module
+ if self.IsBinaryModule:
+Index: git/BaseTools/Source/Python/AutoGen/BuildEngine.py
+===================================================================
+--- git.orig/BaseTools/Source/Python/AutoGen/BuildEngine.py
++++ git/BaseTools/Source/Python/AutoGen/BuildEngine.py
+@@ -70,6 +70,9 @@ class TargetDescBlock(object):
+ else:
+ return str(Other) == self.Target.Path
+
++ def __lt__(self, other):
++ return str(self) < str(other)
++
+ def AddInput(self, Input):
+ if Input not in self.Inputs:
+ self.Inputs.append(Input)
+Index: git/BaseTools/Source/C/GenFw/Elf64Convert.c
+===================================================================
+--- git.orig/BaseTools/Source/C/GenFw/Elf64Convert.c
++++ git/BaseTools/Source/C/GenFw/Elf64Convert.c
+@@ -14,6 +14,8 @@ SPDX-License-Identifier: BSD-2-Clause-Pa
+ #ifndef __GNUC__
+ #include <windows.h>
+ #include <io.h>
++#else
++#define _GNU_SOURCE
+ #endif
+ #include <assert.h>
+ #include <stdio.h>
+@@ -770,7 +772,7 @@ ScanSections64 (
+ }
+ mCoffOffset = mDebugOffset + sizeof(EFI_IMAGE_DEBUG_DIRECTORY_ENTRY) +
+ sizeof(EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY) +
+- strlen(mInImageName) + 1;
++ strlen(basename(mInImageName)) + 1;
+
+ mCoffOffset = CoffAlign(mCoffOffset);
+ if (SectionCount == 0) {
+@@ -1609,7 +1611,7 @@ WriteDebug64 (
+ EFI_IMAGE_DEBUG_DIRECTORY_ENTRY *Dir;
+ EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY *Nb10;
+
+- Len = strlen(mInImageName) + 1;
++ Len = strlen(basename(mInImageName)) + 1;
+
+ Dir = (EFI_IMAGE_DEBUG_DIRECTORY_ENTRY*)(mCoffFile + mDebugOffset);
+ Dir->Type = EFI_IMAGE_DEBUG_TYPE_CODEVIEW;
+@@ -1619,7 +1621,7 @@ WriteDebug64 (
+
+ Nb10 = (EFI_IMAGE_DEBUG_CODEVIEW_NB10_ENTRY*)(Dir + 1);
+ Nb10->Signature = CODEVIEW_SIGNATURE_NB10;
+- strcpy ((char *)(Nb10 + 1), mInImageName);
++ strcpy ((char *)(Nb10 + 1), basename(mInImageName));
+
+
+ NtHdr = (EFI_IMAGE_OPTIONAL_HEADER_UNION *)(mCoffFile + mNtHdrOffset);
diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb
index 896b3b6320..888ea082ec 100644
--- a/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/meta/recipes-core/ovmf/ovmf_git.bb
@@ -17,6 +17,9 @@ SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \
file://0002-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \
file://0004-ovmf-Update-to-latest.patch \
file://zero.patch \
+ file://debug_prefix_map.patch \
+ file://reproducible.patch \
+ file://0001-Fix-VLA-parameter-warning.patch \
"
PV = "edk2-stable202102"
@@ -101,9 +104,23 @@ fix_toolchain_append_class-native() {
# to make ovmf-native reusable across distros.
sed -i \
-e 's#^\(DEFINE GCC.*DLINK.*FLAGS *=\)#\1 -fuse-ld=bfd#' \
+ -e 's#-flto#-fno-lto#g' \
+ -e 's#-DUSING_LTO##g' \
${S}/BaseTools/Conf/tools_def.template
}
+# We disable lto above since the results are not reproducible and make it hard to compare
+# binary build aretfacts to debug reproducibility problems.
+# Surprisingly, if you disable lto, you see compiler warnings which are fatal. We therefore
+# have to hack warnings overrides into GCC_PREFIX_MAP to allow it to build.
+
+# We want to pass ${DEBUG_PREFIX_MAP} to gcc commands and also pass in
+# --debug-prefix-map to nasm (we carry a patch to nasm for this). The
+# tools definitions are built by ovmf-native so we need to pass this in
+# at target build time when we know the right values.
+export NASM_PREFIX_MAP = "--debug-prefix-map=${WORKDIR}=/usr/src/debug/ovmf/${EXTENDPE}${PV}-${PR}"
+export GCC_PREFIX_MAP = "${DEBUG_PREFIX_MAP} -Wno-stringop-overflow -Wno-maybe-uninitialized"
+
GCC_VER="$(${CC} -v 2>&1 | tail -n1 | awk '{print $3}')"
fixup_target_tools() {
diff --git a/meta/recipes-core/systemd/systemd-boot_247.6.bb b/meta/recipes-core/systemd/systemd-boot_248.3.bb
index 249e620f4e..249e620f4e 100644
--- a/meta/recipes-core/systemd/systemd-boot_247.6.bb
+++ b/meta/recipes-core/systemd/systemd-boot_248.3.bb
diff --git a/meta/recipes-core/systemd/systemd-conf_247.6.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb
index ea35e83f4f..235923be85 100644
--- a/meta/recipes-core/systemd/systemd-conf_247.6.bb
+++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
@@ -5,6 +5,8 @@ DefaultTimeoutStartSec setting."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+PE = "1"
+
PACKAGECONFIG ??= "dhcp-ethernet"
PACKAGECONFIG[dhcp-ethernet] = ""
diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl b/meta/recipes-core/systemd/systemd-systemctl/systemctl
index de733e255b..e8c3d2d1ee 100755
--- a/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -160,7 +160,9 @@ def add_link(path, target):
class SystemdUnitNotFoundError(Exception):
- pass
+ def __init__(self, path, unit):
+ self.path = path
+ self.unit = unit
class SystemdUnit():
@@ -224,7 +226,10 @@ class SystemdUnit():
try:
for also in config.get('Install', 'Also'):
- SystemdUnit(self.root, also).enable()
+ try:
+ SystemdUnit(self.root, also).enable()
+ except SystemdUnitNotFoundError as e:
+ sys.exit("Error: Systemctl also enable issue with %s (%s)" % (service, e.unit))
except KeyError:
pass
@@ -265,7 +270,10 @@ def preset_all(root):
state = presets.state(service)
if state == "enable" or state is None:
- SystemdUnit(root, service).enable()
+ try:
+ SystemdUnit(root, service).enable()
+ except SystemdUnitNotFoundError:
+ sys.exit("Error: Systemctl preset_all issue in %s" % service)
# If we populate the systemd links we also create /etc/machine-id, which
# allows systemd to boot with the filesystem read-only before generating
@@ -307,10 +315,16 @@ def main():
if command == "mask":
for service in args.service:
- SystemdUnit(root, service).mask()
+ try:
+ SystemdUnit(root, service).mask()
+ except SystemdUnitNotFoundError as e:
+ sys.exit("Error: Systemctl main mask issue in %s (%s)" % (service, e.unit))
elif command == "enable":
for service in args.service:
- SystemdUnit(root, service).enable()
+ try:
+ SystemdUnit(root, service).enable()
+ except SystemdUnitNotFoundError as e:
+ sys.exit("Error: Systemctl main enable issue in %s (%s)" % (service, e.unit))
elif command == "preset-all":
if len(args.service) != 0:
sys.exit("Too many arguments.")
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 7d3b3064ba..0524a25008 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -14,8 +14,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "17472dca0160cbe7b807ca648475fd70d0d62fe5"
-SRCBRANCH = "v247-stable"
-SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}"
+SRCREV = "37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76"
+SRCBRANCH = "v248-stable"
+SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \
+"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch b/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
deleted file mode 100644
index fd7f94a61d..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From b9b7a8e3825f0433e120f7a6d7d5d635a839cab9 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Thu, 21 Jan 2021 06:19:44 +0000
-Subject: [PATCH] analyze: resolve executable path if it is relative
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/commit/f1fb046a985521f7d4a662f02546686ff20b7e5d]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/analyze/analyze-verify.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/analyze/analyze-verify.c b/src/analyze/analyze-verify.c
-index a9c89173bf..969523df18 100644
---- a/src/analyze/analyze-verify.c
-+++ b/src/analyze/analyze-verify.c
-@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) {
- }
-
- int verify_executable(Unit *u, const ExecCommand *exec) {
-+ int r;
-+
- if (!exec)
- return 0;
-
- if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE)
- return 0;
-
-- if (access(exec->path, X_OK) < 0)
-- return log_unit_error_errno(u, errno, "Command %s is not executable: %m", exec->path);
-+ r = find_executable_full(exec->path, false, NULL);
-+ if (r < 0)
-+ return log_unit_error_errno(u, r, "Command %s is not executable: %m", exec->path);
-
- return 0;
- }
---
-2.26.2
-
diff --git a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch b/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
deleted file mode 100644
index 89ef39bc3e..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00 2001
-From: Joshua Watt <JPEWhacker@gmail.com>
-Date: Fri, 30 Oct 2020 08:15:43 -0500
-Subject: [PATCH] logind: Restore chvt as non-root user without polkit
-
-4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke
-the ability to write user sessions that run graphical sessions (e.g.
-weston/X11). This was partially amended in 19bb87fbfa ("login: allow
-non-console sessions to change vt") by changing the default PolicyKit
-policy so that non-root users are again allowed to switch the VT. This
-makes the policy when PolKit is not enabled (as on many embedded
-systems) match the default PolKit policy and allows launching graphical
-sessions as a non-root user.
-
-Closes #17473
----
- src/login/logind-dbus.c | 11 ++-------
- src/login/logind-polkit.c | 26 +++++++++++++++++++++
- src/login/logind-polkit.h | 10 ++++++++
- src/login/logind-seat-dbus.c | 41 ++++-----------------------------
- src/login/logind-session-dbus.c | 11 ++-------
- src/login/meson.build | 1 +
- 6 files changed, 46 insertions(+), 54 deletions(-)
- create mode 100644 src/login/logind-polkit.c
- create mode 100644 src/login/logind-polkit.h
-
-diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 0f83ed99bc..a3765d88ba 100644
---- a/src/login/logind-dbus.c
-+++ b/src/login/logind-dbus.c
-@@ -30,6 +30,7 @@
- #include "format-util.h"
- #include "fs-util.h"
- #include "logind-dbus.h"
-+#include "logind-polkit.h"
- #include "logind-seat-dbus.h"
- #include "logind-session-dbus.h"
- #include "logind-user-dbus.h"
-@@ -1047,15 +1048,7 @@ static int method_activate_session_on_seat(sd_bus_message *message, void *userda
- return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT,
- "Session %s not on seat %s", session_name, seat_name);
-
-- r = bus_verify_polkit_async(
-- message,
-- CAP_SYS_ADMIN,
-- "org.freedesktop.login1.chvt",
-- NULL,
-- false,
-- UID_INVALID,
-- &m->polkit_registry,
-- error);
-+ r = check_polkit_chvt(message, m, error);
- if (r < 0)
- return r;
- if (r == 0)
-diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c
-new file mode 100644
-index 0000000000..9072570cc6
---- /dev/null
-+++ b/src/login/logind-polkit.c
-@@ -0,0 +1,26 @@
-+/* SPDX-License-Identifier: LGPL-2.1+ */
-+
-+#include "bus-polkit.h"
-+#include "logind-polkit.h"
-+#include "missing_capability.h"
-+#include "user-util.h"
-+
-+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error) {
-+#if ENABLE_POLKIT
-+ return bus_verify_polkit_async(
-+ message,
-+ CAP_SYS_ADMIN,
-+ "org.freedesktop.login1.chvt",
-+ NULL,
-+ false,
-+ UID_INVALID,
-+ &manager->polkit_registry,
-+ error);
-+#else
-+ /* Allow chvt when polkit is not present. This allows a service to start a graphical session as a
-+ * non-root user when polkit is not compiled in, matching the default polkit policy */
-+ return 1;
-+#endif
-+}
-+
-+
-diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h
-new file mode 100644
-index 0000000000..476c077a8a
---- /dev/null
-+++ b/src/login/logind-polkit.h
-@@ -0,0 +1,10 @@
-+/* SPDX-License-Identifier: LGPL-2.1+ */
-+#pragma once
-+
-+#include "sd-bus.h"
-+
-+#include "bus-object.h"
-+#include "logind.h"
-+
-+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error);
-+
-diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c
-index a945132284..f22e9e2734 100644
---- a/src/login/logind-seat-dbus.c
-+++ b/src/login/logind-seat-dbus.c
-@@ -9,6 +9,7 @@
- #include "bus-polkit.h"
- #include "bus-util.h"
- #include "logind-dbus.h"
-+#include "logind-polkit.h"
- #include "logind-seat-dbus.h"
- #include "logind-seat.h"
- #include "logind-session-dbus.h"
-@@ -179,15 +180,7 @@ static int method_activate_session(sd_bus_message *message, void *userdata, sd_b
- if (session->seat != s)
- return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id);
-
-- r = bus_verify_polkit_async(
-- message,
-- CAP_SYS_ADMIN,
-- "org.freedesktop.login1.chvt",
-- NULL,
-- false,
-- UID_INVALID,
-- &s->manager->polkit_registry,
-- error);
-+ r = check_polkit_chvt(message, s->manager, error);
- if (r < 0)
- return r;
- if (r == 0)
-@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message *message, void *userdata, sd_bus_erro
- if (to <= 0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal");
-
-- r = bus_verify_polkit_async(
-- message,
-- CAP_SYS_ADMIN,
-- "org.freedesktop.login1.chvt",
-- NULL,
-- false,
-- UID_INVALID,
-- &s->manager->polkit_registry,
-- error);
-+ r = check_polkit_chvt(message, s->manager, error);
- if (r < 0)
- return r;
- if (r == 0)
-@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message *message, void *userdata, sd_bus
- assert(message);
- assert(s);
-
-- r = bus_verify_polkit_async(
-- message,
-- CAP_SYS_ADMIN,
-- "org.freedesktop.login1.chvt",
-- NULL,
-- false,
-- UID_INVALID,
-- &s->manager->polkit_registry,
-- error);
-+ r = check_polkit_chvt(message, s->manager, error);
- if (r < 0)
- return r;
- if (r == 0)
-@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message *message, void *userdata, sd
- assert(message);
- assert(s);
-
-- r = bus_verify_polkit_async(
-- message,
-- CAP_SYS_ADMIN,
-- "org.freedesktop.login1.chvt",
-- NULL,
-- false,
-- UID_INVALID,
-- &s->manager->polkit_registry,
-- error);
-+ r = check_polkit_chvt(message, s->manager, error);
- if (r < 0)
- return r;
- if (r == 0)
-diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
-index ccc5ac8df2..57c8a4e900 100644
---- a/src/login/logind-session-dbus.c
-+++ b/src/login/logind-session-dbus.c
-@@ -11,6 +11,7 @@
- #include "fd-util.h"
- #include "logind-brightness.h"
- #include "logind-dbus.h"
-+#include "logind-polkit.h"
- #include "logind-seat-dbus.h"
- #include "logind-session-dbus.h"
- #include "logind-session-device.h"
-@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message *message, void *userdata, sd_bus_
- assert(message);
- assert(s);
-
-- r = bus_verify_polkit_async(
-- message,
-- CAP_SYS_ADMIN,
-- "org.freedesktop.login1.chvt",
-- NULL,
-- false,
-- UID_INVALID,
-- &s->manager->polkit_registry,
-- error);
-+ r = check_polkit_chvt(message, s->manager, error);
- if (r < 0)
- return r;
- if (r == 0)
-diff --git a/src/login/meson.build b/src/login/meson.build
-index 0a7d3d5440..7e46be2add 100644
---- a/src/login/meson.build
-+++ b/src/login/meson.build
-@@ -26,6 +26,7 @@ liblogind_core_sources = files('''
- logind-device.h
- logind-inhibit.c
- logind-inhibit.h
-+ logind-polkit.c
- logind-seat-dbus.c
- logind-seat-dbus.h
- logind-seat.c
---
-2.28.0
-
diff --git a/meta/recipes-core/systemd/systemd/0001-test-parse-argument-Include-signal.h.patch b/meta/recipes-core/systemd/systemd/0001-test-parse-argument-Include-signal.h.patch
new file mode 100644
index 0000000000..3af1daac9c
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-test-parse-argument-Include-signal.h.patch
@@ -0,0 +1,29 @@
+From 1adde6721ead386ccee6efe48038d6944b96319a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 May 2021 18:26:27 -0700
+Subject: [PATCH] test-parse-argument: Include signal.h
+
+Fixes
+src/test/test-parse-argument.c:49:29: error: use of undeclared identifier 'SIGABRT'
+
+Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/19718]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/test/test-parse-argument.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/test/test-parse-argument.c b/src/test/test-parse-argument.c
+index 4081a9f25a..820d69f092 100644
+--- a/src/test/test-parse-argument.c
++++ b/src/test/test-parse-argument.c
+@@ -3,6 +3,7 @@
+ #include "parse-argument.h"
+ #include "stdio-util.h"
+ #include "tests.h"
++#include <signal.h>
+
+ static void test_parse_json_argument(void) {
+ log_info("/* %s */", __func__);
+--
+2.31.1
+
diff --git a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
index d856bcb583..4cdf66e767 100644
--- a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
+++ b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
@@ -1,7 +1,7 @@
-From 66ece0b870b3a34fdabc48b88437e6cc354e9fce Mon Sep 17 00:00:00 2001
+From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 13:41:41 +0800
-Subject: [PATCH 02/26] don't use glibc-specific qsort_r
+Subject: [PATCH] don't use glibc-specific qsort_r
Upstream-Status: Inappropriate [musl specific]
@@ -12,6 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
[Rebased for v247]
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+
---
src/basic/sort-util.h | 14 ------------
src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++-----
@@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
3 files changed, 38 insertions(+), 31 deletions(-)
diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
-index 1d194a1f04..3394c9eb72 100644
+index 49586a4a24..d92a5ab0ed 100644
--- a/src/basic/sort-util.h
+++ b/src/basic/sort-util.h
-@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
+@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
_qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
})
--
+
-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
- if (nmemb <= 1)
- return;
@@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644
- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
- })
+-
+ int cmp_int(const int *a, const int *b);
diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
-index 4c94ba9c88..95495dba6d 100644
+index fd45ff0f54..ac4b63c49b 100644
--- a/src/libsystemd/sd-hwdb/hwdb-util.c
+++ b/src/libsystemd/sd-hwdb/hwdb-util.c
-@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {
+@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie *trie) {
DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
@@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644
}
diff --git a/src/shared/format-table.c b/src/shared/format-table.c
-index a13a198b7a..bce10bc607 100644
+index dccb796b26..c3ab8ac296 100644
--- a/src/shared/format-table.c
+++ b/src/shared/format-table.c
-@@ -1243,30 +1243,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
+@@ -1290,30 +1290,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
return CMP(index_a, index_b);
}
@@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644
}
/* Order identical lines by the order there were originally added in */
-@@ -1844,7 +1846,12 @@ int table_print(Table *t, FILE *f) {
+@@ -1952,7 +1954,12 @@ int table_print(Table *t, FILE *f) {
for (size_t i = 0; i < n_rows; i++)
sorted[i] = i * t->n_columns;
@@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644
}
if (t->display_map)
-@@ -2440,7 +2447,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
+@@ -2580,7 +2587,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
for (size_t i = 0; i < n_rows; i++)
sorted[i] = i * t->n_columns;
@@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644
}
if (t->display_map)
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
index f43a22aa8b..9b1768d9ca 100644
--- a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
+++ b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
@@ -1,7 +1,7 @@
-From 9f0d5996bbb2db3679a4075fa8301750b786c03b Mon Sep 17 00:00:00 2001
+From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 13:55:12 +0800
-Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and comparison_fn_t
+Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t
Make it work with musl where comparison_fn_t and __compare_fn_t
is not provided.
@@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[Rebased for v242]
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+
---
- src/basic/missing_type.h | 9 +++++++++
- src/basic/sort-util.h | 1 +
- src/core/kmod-setup.c | 1 +
- src/journal/catalog.c | 1 +
+ src/basic/missing_type.h | 9 +++++++++
+ src/basic/sort-util.h | 1 +
+ src/core/kmod-setup.c | 1 +
+ src/libsystemd/sd-journal/catalog.c | 1 +
4 files changed, 12 insertions(+)
diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
@@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644
+typedef int (*__compar_fn_t)(const void *, const void *);
+#endif
diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
-index 3394c9eb72..d9cb2aecb6 100644
+index d92a5ab0ed..a63867c716 100644
--- a/src/basic/sort-util.h
+++ b/src/basic/sort-util.h
@@ -4,6 +4,7 @@
@@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644
#if HAVE_KMOD
#include "module-util.h"
-diff --git a/src/journal/catalog.c b/src/journal/catalog.c
-index 0f6ad8a29e..4e1077ade4 100644
---- a/src/journal/catalog.c
-+++ b/src/journal/catalog.c
+diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
+index aea3241d18..75e6c56a28 100644
+--- a/src/libsystemd/sd-journal/catalog.c
++++ b/src/libsystemd/sd-journal/catalog.c
@@ -28,6 +28,7 @@
#include "string-util.h"
#include "strv.h"
@@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644
const char * const catalog_file_dirs[] = {
"/usr/local/lib/systemd/catalog/",
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index bdd64a0252..dc40a2fe8d 100644
--- a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -1,7 +1,7 @@
-From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 14:04:21 +0800
-Subject: [PATCH 04/26] add fallback parse_printf_format implementation
+From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sat, 22 May 2021 20:26:24 +0200
+Subject: [PATCH] [PATCH] add fallback parse_printf_format implementation
Upstream-Status: Inappropriate [musl specific]
@@ -11,21 +11,21 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[rebased for systemd 243]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
- meson.build | 1 +
- src/basic/meson.build | 5 +
- src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++
- src/basic/parse-printf-format.h | 57 +++++++
- src/basic/stdio-util.h | 2 +-
- src/journal/journal-send.c | 2 +-
+ meson.build | 1 +
+ src/basic/meson.build | 5 +
+ src/basic/parse-printf-format.c | 273 +++++++++++++++++++++++
+ src/basic/parse-printf-format.h | 57 +++++
+ src/basic/stdio-util.h | 2 +-
+ src/libsystemd/sd-journal/journal-send.c | 2 +-
6 files changed, 338 insertions(+), 2 deletions(-)
create mode 100644 src/basic/parse-printf-format.c
create mode 100644 src/basic/parse-printf-format.h
diff --git a/meson.build b/meson.build
-index f406d595e6..6aa47fc755 100644
+index 27186d63a3..2abb7b3188 100644
--- a/meson.build
+++ b/meson.build
-@@ -646,6 +646,7 @@ endif
+@@ -675,6 +675,7 @@ endif
foreach header : ['crypt.h',
'linux/memfd.h',
'linux/vm_sockets.h',
@@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644
'valgrind/memcheck.h',
'valgrind/valgrind.h',
diff --git a/src/basic/meson.build b/src/basic/meson.build
-index 1183ea83ad..aa5c958850 100644
+index 60ef801a25..aba2172edd 100644
--- a/src/basic/meson.build
+++ b/src/basic/meson.build
-@@ -322,6 +322,11 @@ foreach item : [['af', af_list_txt, 'af', ''],
- endforeach
+@@ -341,6 +341,11 @@ endforeach
basic_sources += generated_gperf_headers
-+
+
+if conf.get('HAVE_PRINTF_H') != 1
+ basic_sources += [files('parse-printf-format.c')]
+endif
+
- basic_gcrypt_sources = files(
- 'gcrypt-util.c',
- 'gcrypt-util.h')
++
+ ############################################################
+
+ arch_list = [
diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
new file mode 100644
index 0000000000..49437e5445
@@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644
#define snprintf_ok(buf, len, fmt, ...) \
((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
-diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
+diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
index fd3fd7ef9c..e8e6ad555b 100644
---- a/src/journal/journal-send.c
-+++ b/src/journal/journal-send.c
+--- a/src/libsystemd/sd-journal/journal-send.c
++++ b/src/libsystemd/sd-journal/journal-send.c
@@ -2,7 +2,6 @@
#include <errno.h>
@@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644
#define SNDBUF_SIZE (8*1024*1024)
--
-2.27.0
+2.24.0
diff --git a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index d63e3c0d09..814c28f5b9 100644
--- a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -1,7 +1,7 @@
-From 5aeae0ea89f5af74ed5d95bed1d87a03b3801ff0 Mon Sep 17 00:00:00 2001
+From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 14:18:21 +0800
-Subject: [PATCH 05/26] src/basic/missing.h: check for missing strndupa
+Subject: [PATCH] src/basic/missing.h: check for missing strndupa
include missing.h for definition of strndupa
@@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
[rebased for systemd 244]
[Rebased for v247]
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+
---
meson.build | 1 +
src/backlight/backlight.c | 1 +
@@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
src/basic/log.c | 1 +
src/basic/missing_stdlib.h | 12 ++++++++++++
src/basic/mkdir.c | 1 +
+ src/basic/mountpoint-util.c | 1 +
src/basic/parse-util.c | 1 +
src/basic/path-lookup.c | 1 +
src/basic/proc-cmdline.c | 1 +
@@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
src/coredump/coredump-vacuum.c | 1 +
src/journal-remote/journal-remote-main.c | 1 +
src/journal/journalctl.c | 1 +
- src/journal/sd-journal.c | 1 +
src/libsystemd/sd-bus/bus-message.c | 1 +
src/libsystemd/sd-bus/bus-objects.c | 1 +
src/libsystemd/sd-bus/bus-socket.c | 1 +
src/libsystemd/sd-bus/sd-bus.c | 1 +
src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
+ src/libsystemd/sd-journal/sd-journal.c | 1 +
src/locale/keymap-util.c | 1 +
src/login/pam_systemd.c | 1 +
src/network/generator/network-generator.c | 1 +
@@ -68,14 +70,14 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
src/udev/udev-builtin-path_id.c | 1 +
src/udev/udev-event.c | 1 +
src/udev/udev-rules.c | 1 +
- 50 files changed, 61 insertions(+)
+ 51 files changed, 62 insertions(+)
--- a/meson.build
+++ b/meson.build
-@@ -535,6 +535,7 @@ foreach ident : [
- #include <sys/wait.h>'''],
- ['mallinfo', '''#include <malloc.h>'''],
+@@ -550,6 +550,7 @@ foreach ident : [
+ ['execveat', '''#include <unistd.h>'''],
['close_range', '''#include <unistd.h>'''],
+ ['epoll_pwait2', '''#include <sys/epoll.h>'''],
+ ['strndupa' , '''#include <string.h>'''],
]
@@ -102,7 +104,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
_cleanup_free_ char *fs = NULL;
--- a/src/basic/env-util.c
+++ b/src/basic/env-util.c
-@@ -15,6 +15,7 @@
+@@ -18,6 +18,7 @@
#include "string-util.h"
#include "strv.h"
#include "utf8.h"
@@ -148,9 +150,19 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
int mkdir_safe_internal(
const char *path,
+--- a/src/basic/mountpoint-util.c
++++ b/src/basic/mountpoint-util.c
+@@ -12,6 +12,7 @@
+ #include "missing_stat.h"
+ #include "missing_syscall.h"
+ #include "mkdir.h"
++#include "missing_stdlib.h"
+ #include "mountpoint-util.h"
+ #include "parse-util.h"
+ #include "path-util.h"
--- a/src/basic/parse-util.c
+++ b/src/basic/parse-util.c
-@@ -22,6 +22,7 @@
+@@ -19,6 +19,7 @@
#include "stat-util.h"
#include "string-util.h"
#include "strv.h"
@@ -197,7 +209,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+#include "missing_stdlib.h"
#if HAVE_SELINUX
- DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free);
+ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(context_t, context_free, NULL);
--- a/src/basic/time-util.c
+++ b/src/basic/time-util.c
@@ -27,6 +27,7 @@
@@ -220,10 +232,10 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
--- a/src/core/dbus-cgroup.c
+++ b/src/core/dbus-cgroup.c
-@@ -16,6 +16,7 @@
- #include "fileio.h"
+@@ -17,6 +17,7 @@
#include "limits-util.h"
#include "path-util.h"
+ #include "percent-util.h"
+#include "missing_stdlib.h"
BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
@@ -240,7 +252,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
--- a/src/core/dbus-util.c
+++ b/src/core/dbus-util.c
-@@ -7,6 +7,7 @@
+@@ -9,6 +9,7 @@
#include "unit-printf.h"
#include "user-util.h"
#include "unit.h"
@@ -251,7 +263,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -96,6 +96,7 @@
- #include "unit.h"
+ #include "unit-serialize.h"
#include "user-util.h"
#include "utmp-wtmp.h"
+#include "missing_stdlib.h"
@@ -290,7 +302,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
--- a/src/journal-remote/journal-remote-main.c
+++ b/src/journal-remote/journal-remote-main.c
-@@ -22,6 +22,7 @@
+@@ -24,6 +24,7 @@
#include "stat-util.h"
#include "string-table.h"
#include "strv.h"
@@ -300,7 +312,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
-@@ -73,6 +73,7 @@
+@@ -72,6 +72,7 @@
#include "unit-name.h"
#include "user-util.h"
#include "varlink.h"
@@ -308,19 +320,9 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
#define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
---- a/src/journal/sd-journal.c
-+++ b/src/journal/sd-journal.c
-@@ -40,6 +40,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "syslog-util.h"
-+#include "missing_stdlib.h"
-
- #define JOURNAL_FILES_MAX 7168
-
--- a/src/libsystemd/sd-bus/bus-message.c
+++ b/src/libsystemd/sd-bus/bus-message.c
-@@ -21,6 +21,7 @@
+@@ -20,6 +20,7 @@
#include "strv.h"
#include "time-util.h"
#include "utf8.h"
@@ -330,7 +332,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
--- a/src/libsystemd/sd-bus/bus-objects.c
+++ b/src/libsystemd/sd-bus/bus-objects.c
-@@ -13,6 +13,7 @@
+@@ -12,6 +12,7 @@
#include "set.h"
#include "string-util.h"
#include "strv.h"
@@ -351,9 +353,9 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
--- a/src/libsystemd/sd-bus/sd-bus.c
+++ b/src/libsystemd/sd-bus/sd-bus.c
@@ -41,6 +41,7 @@
- #include "process-util.h"
#include "string-util.h"
#include "strv.h"
+ #include "user-util.h"
+#include "missing_stdlib.h"
#define log_debug_bus_message(m) \
@@ -361,16 +363,26 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
@@ -14,6 +14,7 @@
- #include "missing_resource.h"
+ #include "string-util.h"
#include "time-util.h"
#include "util.h"
+#include "missing_stdlib.h"
#define MAX_SIZE (2*1024*1024)
+--- a/src/libsystemd/sd-journal/sd-journal.c
++++ b/src/libsystemd/sd-journal/sd-journal.c
+@@ -40,6 +40,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "syslog-util.h"
++#include "missing_stdlib.h"
+
+ #define JOURNAL_FILES_MAX 7168
+
--- a/src/locale/keymap-util.c
+++ b/src/locale/keymap-util.c
-@@ -21,6 +21,7 @@
+@@ -24,6 +24,7 @@
#include "string-util.h"
#include "strv.h"
#include "tmpfile-util.h"
@@ -410,17 +422,17 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Settings *s;
--- a/src/nss-mymachines/nss-mymachines.c
+++ b/src/nss-mymachines/nss-mymachines.c
-@@ -19,6 +19,7 @@
+@@ -21,6 +21,7 @@
#include "nss-util.h"
#include "signal-util.h"
#include "string-util.h"
+#include "missing_stdlib.h"
- NSS_GETHOSTBYNAME_PROTOTYPES(mymachines);
- NSS_GETPW_PROTOTYPES(mymachines);
+ static void setup_logging(void) {
+ /* We need a dummy function because log_parse_environment is a macro. */
--- a/src/portable/portable.c
+++ b/src/portable/portable.c
-@@ -31,6 +31,7 @@
+@@ -32,6 +32,7 @@
#include "strv.h"
#include "tmpfile-util.h"
#include "user-util.h"
@@ -430,7 +442,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
--- a/src/resolve/resolvectl.c
+++ b/src/resolve/resolvectl.c
-@@ -37,6 +37,7 @@
+@@ -41,6 +41,7 @@
#include "terminal-util.h"
#include "utf8.h"
#include "verbs.h"
@@ -460,7 +472,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
char *cgroup_path;
--- a/src/shared/bus-unit-util.c
+++ b/src/shared/bus-unit-util.c
-@@ -44,6 +44,7 @@
+@@ -45,6 +45,7 @@
#include "unit-def.h"
#include "user-util.h"
#include "utf8.h"
@@ -551,16 +563,16 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
--- a/src/udev/udev-builtin-path_id.c
+++ b/src/udev/udev-builtin-path_id.c
@@ -22,6 +22,7 @@
- #include "strv.h"
#include "sysexits.h"
#include "udev-builtin.h"
+ #include "udev-util.h"
+#include "missing_stdlib.h"
_printf_(2,3)
static void path_prepend(char **path, const char *fmt, ...) {
--- a/src/udev/udev-event.c
+++ b/src/udev/udev-event.c
-@@ -34,6 +34,7 @@
+@@ -33,6 +33,7 @@
#include "udev-util.h"
#include "udev-watch.h"
#include "user-util.h"
@@ -570,7 +582,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
sd_device *device;
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
-@@ -30,6 +30,7 @@
+@@ -31,6 +31,7 @@
#include "udev-rules.h"
#include "user-util.h"
#include "virt.h"
@@ -578,13 +590,13 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
#define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
---- a/src/basic/mountpoint-util.c
-+++ b/src/basic/mountpoint-util.c
-@@ -10,6 +10,7 @@
- #include "fs-util.h"
- #include "missing_stat.h"
- #include "missing_syscall.h"
-+#include "missing_stdlib.h"
- #include "mountpoint-util.h"
+--- a/src/basic/percent-util.c
++++ b/src/basic/percent-util.c
+@@ -3,6 +3,7 @@
+ #include "percent-util.h"
+ #include "string-util.h"
#include "parse-util.h"
- #include "path-util.h"
++#include "missing_stdlib.h"
+
+ static int parse_parts_value_whole(const char *p, const char *symbol) {
+ const char *pc, *n;
diff --git a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
index a978558b42..54d714266e 100644
--- a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
+++ b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
@@ -1,7 +1,7 @@
-From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00 2001
+From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 26 Oct 2017 22:10:42 -0700
-Subject: [PATCH 06/26] Include netinet/if_ether.h
+Subject: [PATCH] Include netinet/if_ether.h
Fixes
/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
@@ -31,6 +31,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
[rebased for systemd 247]
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+
---
src/libsystemd-network/sd-dhcp6-client.c | 1 -
src/libsystemd/sd-netlink/netlink-types.c | 1 +
@@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
21 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
-index 66f87c4b95..de1264ae46 100644
+index 410bfda10e..e70ed8be92 100644
--- a/src/libsystemd-network/sd-dhcp6-client.c
+++ b/src/libsystemd-network/sd-dhcp6-client.c
@@ -5,7 +5,6 @@
@@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644
#include "sd-dhcp6-client.h"
diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
-index 6fb6c147d9..8eda02d202 100644
+index ed7b9a8cd1..112c0b09e4 100644
--- a/src/libsystemd/sd-netlink/netlink-types.c
+++ b/src/libsystemd/sd-netlink/netlink-types.c
@@ -3,6 +3,7 @@
@@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
-index bb67beb665..f5780f1aec 100644
+index e7c4ed3c7c..3a1e4f9072 100644
--- a/src/machine/machine-dbus.c
+++ b/src/machine/machine-dbus.c
@@ -3,6 +3,7 @@
@@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644
/* When we include libgen.h because we need dirname() we immediately
* undefine basename() since libgen.h defines it as a macro to the POSIX
diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
-index e27f36067b..8868f1da5d 100644
+index cf7ca88d6f..34ab468191 100644
--- a/src/network/netdev/bond.c
+++ b/src/network/netdev/bond.c
@@ -1,5 +1,6 @@
@@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644
#include "bond.h"
#include "bond-util.h"
diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
-index 1f59cd8b42..5fdbae7e99 100644
+index 38432f1578..79ccfe578e 100644
--- a/src/network/netdev/bridge.c
+++ b/src/network/netdev/bridge.c
@@ -1,5 +1,6 @@
@@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644
#include "bridge.h"
diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
-index 82e71c3920..fbae86e216 100644
+index 77c5f8c4e7..04be1b4ab2 100644
--- a/src/network/netdev/macsec.c
+++ b/src/network/netdev/macsec.c
@@ -1,5 +1,6 @@
@@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644
#include <linux/if_ether.h>
#include <linux/if_macsec.h>
diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf
-index 4e89761f2c..91251fa6ec 100644
+index 8abe044890..3c54c58928 100644
--- a/src/network/netdev/netdev-gperf.gperf
+++ b/src/network/netdev/netdev-gperf.gperf
-@@ -2,6 +2,7 @@
+@@ -3,6 +3,7 @@
#if __GNUC__ >= 7
_Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
#endif
+#include <netinet/if_ether.h>
#include <stddef.h>
#include "bareudp.h"
- #include "bond.h"
+ #include "batadv.h"
diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
-index 9f390b5781..62aeafb1e4 100644
+index b31f0fa81a..c80e1ff537 100644
--- a/src/network/netdev/netdev.c
+++ b/src/network/netdev/netdev.c
@@ -1,5 +1,6 @@
@@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644
#include <netinet/in.h>
#include <unistd.h>
diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
-index e53c73c30c..9bf0771b84 100644
+index 2847b336c9..4d6af8c642 100644
--- a/src/network/networkd-brvlan.c
+++ b/src/network/networkd-brvlan.c
@@ -4,6 +4,7 @@
@@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644
#include <stdbool.h>
diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
-index 9f58121350..554d006cb8 100644
+index 00d055cf8d..65821c1d31 100644
--- a/src/network/networkd-dhcp-common.c
+++ b/src/network/networkd-dhcp-common.c
@@ -1,7 +1,8 @@
@@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644
+#include <net/if_arp.h>
+#include <net/if.h>
+ #include "bus-error.h"
#include "dhcp-internal.h"
- #include "dhcp6-internal.h"
-@@ -10,6 +11,7 @@
+@@ -11,6 +12,7 @@
#include "networkd-dhcp-common.h"
#include "networkd-link.h"
#include "networkd-manager.h"
@@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644
#include "parse-util.h"
#include "socket-util.h"
diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
-index cf279c640d..bae541029b 100644
+index 5cdf432c27..93cffb9863 100644
--- a/src/network/networkd-dhcp-server.c
+++ b/src/network/networkd-dhcp-server.c
@@ -1,8 +1,8 @@
@@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644
#include "sd-dhcp-server.h"
diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
-index f3c1e5f609..e4ef6eca63 100644
+index 23dc3a45db..7ae6c2467a 100644
--- a/src/network/networkd-dhcp4.c
+++ b/src/network/networkd-dhcp4.c
@@ -1,9 +1,9 @@
@@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644
#include "escape.h"
#include "alloc-util.h"
diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
-index 5c077c1ec8..fa98042aa5 100644
+index aa077d6219..4f6ce22059 100644
--- a/src/network/networkd-dhcp6.c
+++ b/src/network/networkd-dhcp6.c
@@ -3,9 +3,9 @@
@@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644
#include "sd-dhcp6-client.h"
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 3bfe636691..e0c68c8ad3 100644
+index 8219d95b0d..c92230453b 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -1,8 +1,8 @@
@@ -241,7 +242,7 @@ index 3bfe636691..e0c68c8ad3 100644
#include <unistd.h>
diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
-index 3254641461..f0ada419fd 100644
+index e5ffd35b6f..871ebb32c6 100644
--- a/src/network/networkd-network.c
+++ b/src/network/networkd-network.c
@@ -1,5 +1,6 @@
@@ -252,7 +253,7 @@ index 3254641461..f0ada419fd 100644
#include <netinet/in.h>
#include <linux/netdevice.h>
diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
-index 0ed89584ef..e7e157c201 100644
+index a74541a6c9..a10549b336 100644
--- a/src/network/networkd-route.c
+++ b/src/network/networkd-route.c
@@ -1,7 +1,10 @@
@@ -268,7 +269,7 @@ index 0ed89584ef..e7e157c201 100644
#include "alloc-util.h"
#include "netlink-util.h"
diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c
-index 475cac7527..9bae6eda16 100644
+index ce34449554..0b5dc01182 100644
--- a/src/network/test-network-tables.c
+++ b/src/network/test-network-tables.c
@@ -1,5 +1,6 @@
@@ -279,7 +280,7 @@ index 475cac7527..9bae6eda16 100644
#include "dhcp6-internal.h"
#include "dhcp6-protocol.h"
diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
-index e6fab262f2..41dd3d7df7 100644
+index 654d36a83a..f4ed42d543 100644
--- a/src/shared/ethtool-util.c
+++ b/src/shared/ethtool-util.c
@@ -1,5 +1,6 @@
@@ -290,7 +291,7 @@ index e6fab262f2..41dd3d7df7 100644
#include <sys/ioctl.h>
#include <linux/ethtool.h>
diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
-index f94b3e15bf..08a7e4fa09 100644
+index 11e2906681..a171df0737 100644
--- a/src/shared/ethtool-util.h
+++ b/src/shared/ethtool-util.h
@@ -3,6 +3,7 @@
@@ -302,7 +303,7 @@ index f94b3e15bf..08a7e4fa09 100644
#include "conf-parser.h"
diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
-index d12fd0e299..636806dc23 100644
+index 31e5d0cd67..f25f821364 100644
--- a/src/udev/net/link-config.c
+++ b/src/udev/net/link-config.c
@@ -1,5 +1,6 @@
@@ -323,6 +324,3 @@ index 87e1fb133e..13876029d0 100644
#include "alloc-util.h"
#include "device-util.h"
#include "errno-util.h"
---
-2.25.1
-
diff --git a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
index 6865421586..2ff08c7fae 100644
--- a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
@@ -1,8 +1,7 @@
-From 87a14dde13c8fa68239a4ab62914a093062b3b29 Mon Sep 17 00:00:00 2001
+From bca73ff2fbff2dc311040a87a4f536f89af07ad6 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 14:56:21 +0800
-Subject: [PATCH 07/26] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
- defined
+Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined
If the standard library doesn't provide brace
expansion users just won't get it.
@@ -17,6 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[rebased for systemd 243]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
---
src/basic/glob-util.c | 12 ++++++++++++
src/test/test-glob-util.c | 16 ++++++++++++++++
@@ -115,10 +115,10 @@ index df6444c433..79a692046e 100644
(void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index 9906c70eef..5eb63b1d57 100644
+index 6b73d1e6d5..26b3b74275 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
-@@ -63,6 +63,12 @@
+@@ -66,6 +66,12 @@
#include "umask-util.h"
#include "user-util.h"
@@ -131,7 +131,7 @@ index 9906c70eef..5eb63b1d57 100644
/* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
* them in the file system. This is intended to be used to create
* properly owned directories beneath /tmp, /var/tmp, /run, which are
-@@ -1936,7 +1942,9 @@ finish:
+@@ -1947,7 +1953,9 @@ finish:
static int glob_item(Item *i, action_t action) {
_cleanup_globfree_ glob_t g = {
@@ -141,7 +141,7 @@ index 9906c70eef..5eb63b1d57 100644
};
int r = 0, k;
char **fn;
-@@ -1956,7 +1964,9 @@ static int glob_item(Item *i, action_t action) {
+@@ -1967,7 +1975,9 @@ static int glob_item(Item *i, action_t action) {
static int glob_item_recursively(Item *i, fdaction_t action) {
_cleanup_globfree_ glob_t g = {
@@ -151,6 +151,3 @@ index 9906c70eef..5eb63b1d57 100644
};
int r = 0, k;
char **fn;
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
index 94cdc2efde..142ca01345 100644
--- a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
+++ b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
@@ -1,7 +1,7 @@
-From 8caea3fe87d55fd16de7d1b8266239fa954cb498 Mon Sep 17 00:00:00 2001
+From e0d1912f0246c97e5e7b4177691363d2d077e11d Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:00:06 +0800
-Subject: [PATCH 08/26] add missing FTW_ macros for musl
+Subject: [PATCH] add missing FTW_ macros for musl
This is to avoid build failures like below for musl.
@@ -10,6 +10,7 @@ This is to avoid build failures like below for musl.
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
src/basic/missing_type.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
@@ -42,6 +43,3 @@ index aeaf6ad5ec..3df1084ef2 100644
+#ifndef FTW_SKIP_SIBLINGS
+#define FTW_SKIP_SIBLINGS 3
+#endif
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
index 76cc75cf6a..53f0a1ba62 100644
--- a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
+++ b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
@@ -1,17 +1,18 @@
-From d8e4f0aa1760e4c7bb8476beecd35025c9cbb95a Mon Sep 17 00:00:00 2001
+From bb41fe773881a8f1d9615d388320b9c6fc47bfe5 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:03:47 +0800
-Subject: [PATCH 09/26] fix missing of __register_atfork for non-glibc builds
+Subject: [PATCH] fix missing of __register_atfork for non-glibc builds
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
src/basic/process-util.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index 0851613fc9..4417101569 100644
+index 7d4301eadb..caa9dfe3a3 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -18,6 +18,9 @@
@@ -24,7 +25,7 @@ index 0851613fc9..4417101569 100644
#include "alloc-util.h"
#include "architecture.h"
-@@ -1143,11 +1146,15 @@ void reset_cached_pid(void) {
+@@ -1121,11 +1124,15 @@ void reset_cached_pid(void) {
cached_pid = CACHED_PID_UNSET;
}
@@ -40,6 +41,3 @@ index 0851613fc9..4417101569 100644
pid_t getpid_cached(void) {
static bool installed = false;
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
index aeacd865ae..940db4c5c6 100644
--- a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
@@ -1,7 +1,7 @@
-From e45bb02174812e4935214f42a18725be320770d5 Mon Sep 17 00:00:00 2001
+From dc40487e0ac26e3ca317429b9c3e8f01772de60a Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:12:41 +0800
-Subject: [PATCH 10/26] Use uintmax_t for handling rlim_t
+Subject: [PATCH] Use uintmax_t for handling rlim_t
PRIu{32,64} is not right format to represent rlim_t type
therefore use %ju and typecast the rlim_t variables to
@@ -20,6 +20,7 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
[Rebased for v241]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
src/basic/format-util.h | 8 +-------
src/basic/rlimit-util.c | 10 +++++-----
@@ -46,10 +47,19 @@ index b7e18768e3..3195ab205d 100644
#if SIZEOF_DEV_T == 8
# define DEV_FMT "%" PRIu64
diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
-index 880976312c..9e1b61cd4a 100644
+index 23d108d5df..b037734ee3 100644
--- a/src/basic/rlimit-util.c
+++ b/src/basic/rlimit-util.c
-@@ -306,13 +306,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
+@@ -43,7 +43,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) {
+ fixed.rlim_max == highest.rlim_max)
+ return 0;
+
+- log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", rlim->rlim_max, rlimit_to_string(resource), fixed.rlim_max);
++ log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", (uintmax_t)rlim->rlim_max, rlimit_to_string(resource), (uintmax_t)fixed.rlim_max);
+
+ if (setrlimit(resource, &fixed) < 0)
+ return -errno;
+@@ -308,13 +308,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
s = strdup("infinity");
else if (rl->rlim_cur >= RLIM_INFINITY)
@@ -67,7 +77,7 @@ index 880976312c..9e1b61cd4a 100644
if (!s)
return -ENOMEM;
-@@ -403,7 +403,7 @@ int rlimit_nofile_safe(void) {
+@@ -405,7 +405,7 @@ int rlimit_nofile_safe(void) {
rl.rlim_cur = FD_SETSIZE;
if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
@@ -77,10 +87,10 @@ index 880976312c..9e1b61cd4a 100644
return 1;
}
diff --git a/src/core/execute.c b/src/core/execute.c
-index 89632e0582..335283776c 100644
+index f82fc294c0..4696d055a8 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
-@@ -5288,9 +5288,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
+@@ -5370,9 +5370,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
for (unsigned i = 0; i < RLIM_NLIMITS; i++)
if (c->rlimit[i]) {
fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
@@ -92,6 +102,3 @@ index 89632e0582..335283776c 100644
}
if (c->ioprio_set) {
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
index 6d7fdbcb64..b1d782719c 100644
--- a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
+++ b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
@@ -1,13 +1,13 @@
-From d1db531ddd3bbf94d5e764b7917bcc8684ff6357 Mon Sep 17 00:00:00 2001
+From f8be7b283309e4332eedc088774daac637afef7b Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 28 Feb 2018 21:25:22 -0800
-Subject: [PATCH 11/26] test-sizeof.c: Disable tests for missing typedefs in
- musl
+Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
src/test/test-sizeof.c | 4 ++++
1 file changed, 4 insertions(+)
@@ -37,6 +37,3 @@ index 3c9dc180fa..e1a59d408c 100644
info(pid_t);
info(uid_t);
info(gid_t);
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
index c15b6e7d82..5f2178734d 100644
--- a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -1,7 +1,7 @@
-From 03e89da266edf70121a19ffc32a78cc3b97585ef Mon Sep 17 00:00:00 2001
+From 06915b70735caa66987af758ebdc4207757ae758 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Tue, 10 Oct 2017 14:33:30 -0700
-Subject: [PATCH 12/26] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
+Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
thing to do and it's not portable (not supported by musl). See:
@@ -25,20 +25,22 @@ just historical and not actually necessary or desired behaviour?
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
---
- src/basic/fs-util.h | 22 +++++++++++++++++++++-
+ src/basic/fs-util.h | 23 +++++++++++++++++++++--
src/shared/base-filesystem.c | 6 +++---
- 2 files changed, 24 insertions(+), 4 deletions(-)
+ 2 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
-index 5dc8853eac..0491b3dae2 100644
+index 027037f7a7..16eb379caf 100644
--- a/src/basic/fs-util.h
+++ b/src/basic/fs-util.h
-@@ -43,7 +43,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
+@@ -44,8 +44,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
int fd_warn_permissions(const char *path, int fd);
int stat_warn_permissions(const char *path, const struct stat *st);
--#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)
+-#define laccess(path, mode) \
+- (faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) < 0 ? -errno : 0)
+/*
+ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
+ do and it's not portable (not supported by musl). See:
@@ -94,6 +96,3 @@ index 1d05409086..1ed06c31ab 100644
continue;
}
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
index 89736bcfde..51b145729d 100644
--- a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -1,8 +1,7 @@
-From dd134880e9a16595ab473934577e873c748e9c7a Mon Sep 17 00:00:00 2001
+From 0c44af262cfa07c57db4b32de1f7610af47797f4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 27 May 2018 08:36:44 -0700
-Subject: [PATCH 13/26] Define glibc compatible basename() for non-glibc
- systems
+Subject: [PATCH] Define glibc compatible basename() for non-glibc systems
Fixes builds with musl, even though systemd is adamant about
using non-posix basename implementation, we have a way out
@@ -10,12 +9,13 @@ using non-posix basename implementation, we have a way out
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
src/machine/machine-dbus.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
-index f5780f1aec..aec5825b3e 100644
+index 3a1e4f9072..ab87b9882c 100644
--- a/src/machine/machine-dbus.c
+++ b/src/machine/machine-dbus.c
@@ -11,6 +11,11 @@
@@ -30,6 +30,3 @@ index f5780f1aec..aec5825b3e 100644
#include "alloc-util.h"
#include "bus-common-errors.h"
#include "bus-get-properties.h"
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index e95d2ae078..7444d4375f 100644
--- a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -1,7 +1,7 @@
-From 55af446156da863b5b36a1109845858956a4c274 Mon Sep 17 00:00:00 2001
+From 0f4b60e34a806055c678eb97a7ec7e21291bcf48 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Wed, 4 Jul 2018 15:00:44 +0800
-Subject: [PATCH 14/26] Do not disable buffering when writing to oom_score_adj
+Subject: [PATCH] Do not disable buffering when writing to oom_score_adj
On musl, disabling buffering when writing to oom_score_adj will
cause the following error.
@@ -19,15 +19,16 @@ Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[rebased for systemd 243]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
---
src/basic/process-util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index 4417101569..556dab8ebf 100644
+index caa9dfe3a3..6101f43db5 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
-@@ -1536,7 +1536,7 @@ int set_oom_score_adjust(int value) {
+@@ -1523,7 +1523,7 @@ int set_oom_score_adjust(int value) {
sprintf(t, "%i", value);
return write_string_file("/proc/self/oom_score_adj", t,
@@ -36,6 +37,3 @@ index 4417101569..556dab8ebf 100644
}
int pidfd_get_pid(int fd, pid_t *ret) {
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
index 5cdcf84dc1..90cc70d216 100644
--- a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -1,7 +1,7 @@
-From e382845aed90cfe4496a8351d57d4466dd2e9a9c Mon Sep 17 00:00:00 2001
+From c30ab62d18ce88187f5eb6c236e0977c9337f68d Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Tue, 10 Jul 2018 15:40:17 +0800
-Subject: [PATCH 15/26] distinguish XSI-compliant strerror_r from GNU-specifi
+Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi
strerror_r
XSI-compliant strerror_r and GNU-specifi strerror_r are different.
@@ -18,28 +18,12 @@ assigned to (char *) variable, resulting in segment fault.
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
- src/journal/journal-send.c | 5 +++++
- src/libsystemd/sd-bus/bus-error.c | 5 +++++
+ src/libsystemd/sd-bus/bus-error.c | 5 +++++
+ src/libsystemd/sd-journal/journal-send.c | 5 +++++
2 files changed, 10 insertions(+)
-diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
-index e8e6ad555b..8ca5271d02 100644
---- a/src/journal/journal-send.c
-+++ b/src/journal/journal-send.c
-@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
- char* j;
-
- errno = 0;
-+#ifndef __GLIBC__
-+ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
-+ j = buffer + 8 + k;
-+#else
- j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
-+#endif
- if (errno == 0) {
- char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
-
diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
index 8da2024a50..9605a9b869 100644
--- a/src/libsystemd/sd-bus/bus-error.c
@@ -57,6 +41,20 @@ index 8da2024a50..9605a9b869 100644
if (errno == ERANGE || strlen(x) >= k - 1) {
free(m);
k *= 2;
---
-2.27.0
-
+diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
+index e8e6ad555b..8ca5271d02 100644
+--- a/src/libsystemd/sd-journal/journal-send.c
++++ b/src/libsystemd/sd-journal/journal-send.c
+@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
+ char* j;
+
+ errno = 0;
++#ifndef __GLIBC__
++ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++ j = buffer + 8 + k;
++#else
+ j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++#endif
+ if (errno == 0) {
+ char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
+
diff --git a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
index 9a125de638..de7f9ecfa2 100644
--- a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
+++ b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
@@ -1,7 +1,7 @@
-From 0c7af5f288231a8c0545e169e01ba5ee173cafe7 Mon Sep 17 00:00:00 2001
+From fa86e5578256dddb296fd30128929ea7c4b792a4 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:18:00 +0800
-Subject: [PATCH 16/26] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
+Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
for currently unknown reasons they get exported to the shared libries
even without being listed in the sym file
@@ -11,6 +11,7 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
[Rebased for v241]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
src/libsystemd/sd-bus/bus-error.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -30,6 +31,3 @@ index 9605a9b869..38b6cf90c3 100644
/* Additional maps registered with sd_bus_error_add_map() are in this
* NULL terminated array */
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
index 31747c6b40..d9ef2b8a47 100644
--- a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
+++ b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
@@ -1,7 +1,7 @@
-From 32dd7a47b87793cd836ab4bb776d1524f24c2d58 Mon Sep 17 00:00:00 2001
+From 11e730694706fa354a0e43c588ef66677a777d9a Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:27:54 +0800
-Subject: [PATCH 17/26] missing_type.h: add __compar_d_fn_t definition
+Subject: [PATCH] missing_type.h: add __compar_d_fn_t definition
Fix the following compile failure:
src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'?
@@ -9,6 +9,7 @@ src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
src/basic/missing_type.h | 1 +
1 file changed, 1 insertion(+)
@@ -25,6 +26,3 @@ index 3df1084ef2..697aa7f58a 100644
#endif
#ifndef __COMPAR_FN_T
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
index 56d361a213..3b60854233 100644
--- a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
+++ b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -1,7 +1,7 @@
-From bfc3416edeb69082ac9b9c9e844f12d7b45bb006 Mon Sep 17 00:00:00 2001
+From 45bae28d3da6607d33d54f4b30a500f5249aadde Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 15:44:54 +0800
-Subject: [PATCH 18/26] avoid redefinition of prctl_mm_map structure
+Subject: [PATCH] avoid redefinition of prctl_mm_map structure
Fix the following compile failure:
error: redefinition of 'struct prctl_mm_map'
@@ -9,6 +9,7 @@ error: redefinition of 'struct prctl_mm_map'
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
src/basic/missing_prctl.h | 2 ++
1 file changed, 2 insertions(+)
@@ -27,6 +28,3 @@ index ab851306ba..5547cad875 100644
/* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
#ifndef PR_CAP_AMBIENT
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
index 6ca196489b..7d6433f317 100644
--- a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
+++ b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
@@ -1,16 +1,17 @@
-From e427f03de2c56e868bb0f24aa231315b2dae1b71 Mon Sep 17 00:00:00 2001
+From 6e593ff2afbe4bfe15eee2ec34e51490a38462f5 Mon Sep 17 00:00:00 2001
From: Alex Kiernan <alex.kiernan@gmail.com>
Date: Fri, 7 Aug 2020 15:19:27 +0000
-Subject: [PATCH 19/26] Handle missing LOCK_EX
+Subject: [PATCH] Handle missing LOCK_EX
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+
---
src/partition/makefs.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/partition/makefs.c b/src/partition/makefs.c
-index fd924d2231..b97580fdcc 100644
+index 7c94fbfedb..42f966722d 100644
--- a/src/partition/makefs.c
+++ b/src/partition/makefs.c
@@ -6,6 +6,7 @@
@@ -21,6 +22,3 @@ index fd924d2231..b97580fdcc 100644
#include "alloc-util.h"
#include "blockdev-util.h"
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
index f74de43849..1faee1c055 100644
--- a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
+++ b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
@@ -1,7 +1,7 @@
-From 9abbc5e69e21aef0d4d4567e69302fa660b76c53 Mon Sep 17 00:00:00 2001
+From ac579b296aa29c2f1dad9425c6d795e154ec8f7c Mon Sep 17 00:00:00 2001
From: Alex Kiernan <alex.kiernan@gmail.com>
Date: Fri, 7 Aug 2020 15:20:17 +0000
-Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un *
+Subject: [PATCH] Fix incompatible pointer type struct sockaddr_un *
| ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c: In function 'cant_be_in_netns':
| ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:4893:25: error: passing argument 2 of 'connect' from incompatible pointer type [-Werror=incompatible-pointer-types]
@@ -18,15 +18,16 @@ Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un *
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+
---
src/nspawn/nspawn.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 0842731c18..3528b7ff14 100644
+index a4ac8ed2bb..0c41a48d4b 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
-@@ -5084,7 +5084,7 @@ static int cant_be_in_netns(void) {
+@@ -5125,7 +5125,7 @@ static int cant_be_in_netns(void) {
if (fd < 0)
return log_error_errno(errno, "Failed to allocate udev control socket: %m");
@@ -35,6 +36,3 @@ index 0842731c18..3528b7ff14 100644
if (errno == ENOENT || ERRNO_IS_DISCONNECT(errno))
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
index fa6652a5bf..14c8ff73a0 100644
--- a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
+++ b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
@@ -1,7 +1,7 @@
-From 1f5bc54bed0b365e7e448c26f6c792dbe8b3b198 Mon Sep 17 00:00:00 2001
+From 6bc78df50adb48d24a2abfdf65b44b932cc5a571 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 16:53:06 +0800
-Subject: [PATCH 21/26] test-json.c: define M_PIl
+Subject: [PATCH] test-json.c: define M_PIl
Fix the following compile failure:
src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'?
@@ -9,6 +9,7 @@ src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this functi
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
src/test/test-json.c | 4 ++++
1 file changed, 4 insertions(+)
@@ -28,6 +29,3 @@ index 1d4b11945e..572c8cf9d0 100644
static void test_tokenizer(const char *data, ...) {
unsigned line = 0, column = 0;
void *state = NULL;
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
index 675fd20f11..bd627c51e9 100644
--- a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
+++ b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
@@ -1,7 +1,7 @@
-From 564dba5ad0cd884e3f69fa19ca64095413578ea5 Mon Sep 17 00:00:00 2001
+From 7cb6579572b50ef44bc0a321a4c73cce55b0c2f2 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Fri, 1 Mar 2019 15:22:15 +0800
-Subject: [PATCH 22/26] do not disable buffer in writing files
+Subject: [PATCH] do not disable buffer in writing files
Do not disable buffer in writing files, otherwise we get
failure at boot for musl like below.
@@ -18,10 +18,12 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
[rebased for systemd 243]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
---
src/basic/cgroup-util.c | 10 +++++-----
src/basic/procfs-util.c | 4 ++--
src/basic/smack-util.c | 2 +-
+ src/basic/sysctl-util.c | 2 +-
src/basic/util.c | 2 +-
src/binfmt/binfmt.c | 6 +++---
src/core/main.c | 4 ++--
@@ -32,18 +34,15 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
src/nspawn/nspawn-cgroup.c | 2 +-
src/nspawn/nspawn.c | 6 +++---
src/shared/cgroup-setup.c | 4 ++--
- src/shared/sysctl-util.c | 2 +-
src/sleep/sleep.c | 8 ++++----
- src/udev/udevadm-trigger.c | 2 +-
- src/udev/udevd.c | 2 +-
src/vconsole/vconsole-setup.c | 2 +-
- 18 files changed, 35 insertions(+), 35 deletions(-)
+ 16 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
-index bb960f183c..cb804c5f4b 100644
+index 50c1ae1b2b..5b40e92163 100644
--- a/src/basic/cgroup-util.c
+++ b/src/basic/cgroup-util.c
-@@ -759,7 +759,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -765,7 +765,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
sc = strstrip(contents);
if (isempty(sc)) {
@@ -52,7 +51,7 @@ index bb960f183c..cb804c5f4b 100644
if (r < 0)
return r;
} else if (!path_equal(sc, agent))
-@@ -777,7 +777,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -783,7 +783,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
sc = strstrip(contents);
if (streq(sc, "0")) {
@@ -61,7 +60,7 @@ index bb960f183c..cb804c5f4b 100644
if (r < 0)
return r;
-@@ -804,7 +804,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -810,7 +810,7 @@ int cg_uninstall_release_agent(const char *controller) {
if (r < 0)
return r;
@@ -70,7 +69,7 @@ index bb960f183c..cb804c5f4b 100644
if (r < 0)
return r;
-@@ -814,7 +814,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -820,7 +820,7 @@ int cg_uninstall_release_agent(const char *controller) {
if (r < 0)
return r;
@@ -79,7 +78,7 @@ index bb960f183c..cb804c5f4b 100644
if (r < 0)
return r;
-@@ -1646,7 +1646,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
+@@ -1650,7 +1650,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
if (r < 0)
return r;
@@ -121,11 +120,24 @@ index 3362ee3924..80c0f2a52e 100644
if (r < 0)
return r;
+diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
+index c96b5cd77f..d2476d9665 100644
+--- a/src/basic/sysctl-util.c
++++ b/src/basic/sysctl-util.c
+@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
+
+ log_debug("Setting '%s' to '%s'", p, value);
+
+- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ }
+
+ int sysctl_read(const char *property, char **ret) {
diff --git a/src/basic/util.c b/src/basic/util.c
-index f98ecf3858..13e0f7431f 100644
+index 955b18bd2a..6d89c90176 100644
--- a/src/basic/util.c
+++ b/src/basic/util.c
-@@ -267,7 +267,7 @@ void disable_coredumps(void) {
+@@ -234,7 +234,7 @@ void disable_coredumps(void) {
if (detect_container() > 0)
return;
@@ -135,7 +147,7 @@ index f98ecf3858..13e0f7431f 100644
log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
}
diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
-index 43ed2f385b..37a6f578f7 100644
+index f6b72e0bae..e9fd4d06be 100644
--- a/src/binfmt/binfmt.c
+++ b/src/binfmt/binfmt.c
@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
@@ -156,7 +168,7 @@ index 43ed2f385b..37a6f578f7 100644
if (r < 0)
return log_error_errno(r, "Failed to add binary format: %m");
-@@ -223,7 +223,7 @@ static int run(int argc, char *argv[]) {
+@@ -222,7 +222,7 @@ static int run(int argc, char *argv[]) {
}
/* Flush out all rules */
@@ -166,10 +178,10 @@ index 43ed2f385b..37a6f578f7 100644
STRV_FOREACH(f, files) {
k = apply_file(*f, true);
diff --git a/src/core/main.c b/src/core/main.c
-index a280b756ff..334532cd42 100644
+index 3ee8d0a869..ec36e3e80f 100644
--- a/src/core/main.c
+++ b/src/core/main.c
-@@ -1382,7 +1382,7 @@ static int bump_unix_max_dgram_qlen(void) {
+@@ -1401,7 +1401,7 @@ static int bump_unix_max_dgram_qlen(void) {
if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
return 0;
@@ -178,7 +190,7 @@ index a280b756ff..334532cd42 100644
if (r < 0)
return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
"Failed to bump AF_UNIX datagram queue length, ignoring: %m");
-@@ -1666,7 +1666,7 @@ static void initialize_core_pattern(bool skip_setup) {
+@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) {
if (getpid_cached() != 1)
return;
@@ -188,7 +200,7 @@ index a280b756ff..334532cd42 100644
log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
}
diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
-index 1fe592af70..603942a000 100644
+index 8cc1696a4f..ab7b4ba2c3 100644
--- a/src/core/smack-setup.c
+++ b/src/core/smack-setup.c
@@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) {
@@ -214,7 +226,7 @@ index 1fe592af70..603942a000 100644
log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
#endif
diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
-index d8f91f4e66..a088e6e2d8 100644
+index 58e35e403e..1d0beb4008 100644
--- a/src/hibernate-resume/hibernate-resume.c
+++ b/src/hibernate-resume/hibernate-resume.c
@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
@@ -227,20 +239,20 @@ index d8f91f4e66..a088e6e2d8 100644
log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
return EXIT_FAILURE;
diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
-index d06f90ce1d..43d0a58750 100644
+index d82f01a164..b8fd63346c 100644
--- a/src/libsystemd/sd-device/sd-device.c
+++ b/src/libsystemd/sd-device/sd-device.c
-@@ -1976,7 +1976,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+@@ -1987,7 +1987,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
if (!value)
return -ENOMEM;
- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
+ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
if (r < 0) {
- if (r == -ELOOP)
- return -EINVAL;
+ /* On failure, clear cache entry, as we do not know how it fails. */
+ device_remove_cached_sysattr_value(device, sysattr);
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 7d757aa286..a5d9da5b7e 100644
+index 3bc424b83b..5f5eef0843 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
@@ -1330,7 +1330,7 @@ static int trigger_device(Manager *m, sd_device *d) {
@@ -266,10 +278,10 @@ index cb01b25bc6..e92051268b 100644
log_error_errno(r, "Failed to move process: %m");
goto finish;
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 3528b7ff14..11b0c20f95 100644
+index 0c41a48d4b..9c893b18e4 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
-@@ -2667,7 +2667,7 @@ static int reset_audit_loginuid(void) {
+@@ -2695,7 +2695,7 @@ static int reset_audit_loginuid(void) {
if (streq(p, "4294967295"))
return 0;
@@ -278,7 +290,7 @@ index 3528b7ff14..11b0c20f95 100644
if (r < 0) {
log_error_errno(r,
"Failed to reset audit login UID. This probably means that your kernel is too\n"
-@@ -3920,13 +3920,13 @@ static int setup_uid_map(pid_t pid) {
+@@ -3948,13 +3948,13 @@ static int setup_uid_map(pid_t pid) {
xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
@@ -316,21 +328,8 @@ index f197f715c7..077f893177 100644
if (r < 0) {
log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
-diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
-index 670c33108b..7c7c3dcfb6 100644
---- a/src/shared/sysctl-util.c
-+++ b/src/shared/sysctl-util.c
-@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
-
- log_debug("Setting '%s' to '%s'", p, value);
-
-- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
- }
-
- int sysctl_read(const char *property, char **content) {
diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
-index 39ab554290..d0e566645d 100644
+index 262d4cea66..0523e8dc9b 100644
--- a/src/sleep/sleep.c
+++ b/src/sleep/sleep.c
@@ -48,7 +48,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
@@ -369,34 +368,8 @@ index 39ab554290..d0e566645d 100644
if (k >= 0)
return 0;
log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
-diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
-index 5c74184c33..65f528314e 100644
---- a/src/udev/udevadm-trigger.c
-+++ b/src/udev/udevadm-trigger.c
-@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set **settle_s
- if (!filename)
- return log_oom();
-
-- r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(filename, action, 0);
- if (r < 0) {
- bool ignore = IN_SET(r, -ENOENT, -ENODEV);
-
-diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index d24b8d4398..d123a43904 100644
---- a/src/udev/udevd.c
-+++ b/src/udev/udevd.c
-@@ -1192,7 +1192,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) {
-
- filename = strjoina(syspath, "/uevent");
- log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath);
-- r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(filename, "change", 0);
- if (r < 0)
- return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename);
- return 0;
diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
-index b28e2853e1..115b7233a0 100644
+index d1c3febdd5..1cc68694d1 100644
--- a/src/vconsole/vconsole-setup.c
+++ b/src/vconsole/vconsole-setup.c
@@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
@@ -408,6 +381,3 @@ index b28e2853e1..115b7233a0 100644
if (r < 0)
return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
index 1cc3985d12..7d1bd60255 100644
--- a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
+++ b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
@@ -1,7 +1,7 @@
-From bbda4a48a34662393117fc677c3a678d4ce4c2ec Mon Sep 17 00:00:00 2001
+From d73755cc60f401f0f20f357752e45aeeeef8e83f Mon Sep 17 00:00:00 2001
From: Scott Murray <scott.murray@konsulko.com>
Date: Fri, 13 Sep 2019 19:26:27 -0400
-Subject: [PATCH 25/26] Handle __cpu_mask usage
+Subject: [PATCH] Handle __cpu_mask usage
Fixes errors:
@@ -18,6 +18,7 @@ add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
---
src/shared/cpu-set-util.h | 2 ++
src/test/test-sizeof.c | 2 +-
@@ -55,6 +56,3 @@ index e1a59d408c..c269ea6e8c 100644
/* Print information about various types. Useful when diagnosing
* gcc diagnostics on an unfamiliar architecture. */
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
index 4180afb08e..068600fa44 100644
--- a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
+++ b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
@@ -1,7 +1,7 @@
-From 47bf88f74717b417e4adbcc04256334b2335c873 Mon Sep 17 00:00:00 2001
+From 04e94f9a15101daa8f65a9af269d26cda2a24056 Mon Sep 17 00:00:00 2001
From: Alex Kiernan <alex.kiernan@gmail.com>
Date: Tue, 10 Mar 2020 11:05:20 +0000
-Subject: [PATCH 26/26] Handle missing gshadow
+Subject: [PATCH] Handle missing gshadow
gshadow usage is now present in the userdb code. Mask all uses of it to
allow compilation on musl
@@ -10,6 +10,7 @@ Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
[Rebased for v247]
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+
---
src/shared/user-record-nss.c | 20 ++++++++++++++++++++
src/shared/user-record-nss.h | 4 ++++
@@ -138,10 +139,10 @@ index 22ab04d6ee..4e52e7a911 100644
#include <shadow.h>
diff --git a/src/shared/userdb.c b/src/shared/userdb.c
-index 2d480283d1..0d19764f2e 100644
+index 613350bd46..5c821d28cd 100644
--- a/src/shared/userdb.c
+++ b/src/shared/userdb.c
-@@ -929,13 +929,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+@@ -938,13 +938,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
if (gr) {
_cleanup_free_ char *buffer = NULL;
bool incomplete = false;
@@ -155,10 +156,10 @@ index 2d480283d1..0d19764f2e 100644
iterator->synthesize_nobody = false;
+#if ENABLE_GSHADOW
- r = nss_sgrp_for_group(gr, &sgrp, &buffer);
- if (r < 0) {
- log_debug_errno(r, "Failed to acquire shadow entry for group %s, ignoring: %m", gr->gr_name);
-@@ -943,6 +946,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+ if (!FLAGS_SET(iterator->flags, USERDB_AVOID_SHADOW)) {
+ r = nss_sgrp_for_group(gr, &sgrp, &buffer);
+ if (r < 0) {
+@@ -957,6 +960,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
}
r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
@@ -168,6 +169,3 @@ index 2d480283d1..0d19764f2e 100644
if (r < 0)
return r;
---
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch b/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
deleted file mode 100644
index 94a4c307b5..0000000000
--- a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 297aba739cd689e4dc9f43bb1422ec88d481099a Mon Sep 17 00:00:00 2001
-From: Paul Gortmaker <paul.gortmaker@windriver.com>
-Date: Wed, 13 Jan 2021 21:09:33 +0000
-Subject: [PATCH] proc: dont trigger mount error with invalid options on old
- kernels
-
-As of commit 4e39995371738b04d98d27b0d34ea8fe09ec9fab ("core: introduce
-ProtectProc= and ProcSubset= to expose hidepid= and subset= procfs
-mount options") kernels older than v5.8 generate multple warnings at
-boot, as seen in this Yocto build from today:
-
- qemux86-64 login: root
- [ 65.829009] proc: Bad value for 'hidepid'
- root@qemux86-64:~# dmesg|grep proc:
- [ 16.990706] proc: Bad value for 'hidepid'
- [ 28.060178] proc: Bad value for 'hidepid'
- [ 28.874229] proc: Bad value for 'hidepid'
- [ 32.685107] proc: Bad value for 'hidepid'
- [ 65.829009] proc: Bad value for 'hidepid'
- root@qemux86-64:~#
-
-The systemd maintainer has dismissed this as something people should
-simply ignore[1] and has no interest in trying to avoid it by
-proactively checking the kernel version, so people can safely assume
-that they will never see this version check commit upstream.
-
-However, as can be seen above, telling people to just ignore it is not
-an option, as we'll end up answering the same question and dealing with
-the same bug over and over again.
-
-The commit that triggers this is systemd v247-rc1~378^2~3 -- so any
-systemd 247 and above plus kernel v5.7 or older will need this.
-
-[1] https://github.com/systemd/systemd/issues/16896
-
-Upstream-Status: Denied [https://github.com/systemd/systemd/issues/16896]
-Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-
-Index: git/src/core/namespace.c
-===================================================================
---- git.orig/src/core/namespace.c
-+++ git/src/core/namespace.c
-@@ -4,7 +4,9 @@
- #include <linux/loop.h>
- #include <sched.h>
- #include <stdio.h>
-+#include <stdlib.h>
- #include <sys/mount.h>
-+#include <sys/utsname.h>
- #include <unistd.h>
- #include <linux/fs.h>
-
-@@ -860,13 +862,32 @@ static int mount_sysfs(const MountEntry
-
- static int mount_procfs(const MountEntry *m, const NamespaceInfo *ns_info) {
- const char *entry_path;
-- int r;
-+ int r, major, minor;
-+ struct utsname uts;
-+ bool old = false;
-
- assert(m);
- assert(ns_info);
-
- entry_path = mount_entry_path(m);
-
-+ /* If uname says that the system is older than v5.8, then the textual hidepid= stuff is not
-+ * supported by the kernel, and thus the per-instance hidepid= neither, which means we
-+ * really don't want to use it, since it would affect our host's /proc * mount. Hence let's
-+ * gracefully fallback to a classic, unrestricted version. */
-+
-+ r = uname(&uts);
-+ if (r < 0)
-+ return errno;
-+
-+ major = atoi(uts.release);
-+ minor = atoi(strchr(uts.release, '.') + 1);
-+
-+ if (major < 5 || (major == 5 && minor < 8)) {
-+ log_debug("Pre v5.8 kernel detected [v%d.%d] - skipping hidepid=", major, minor);
-+ old = true;
-+ }
-+
- /* Mount a new instance, so that we get the one that matches our user namespace, if we are running in
- * one. i.e we don't reuse existing mounts here under any condition, we want a new instance owned by
- * our user namespace and with our hidepid= settings applied. Hence, let's get rid of everything
-@@ -875,8 +896,8 @@ static int mount_procfs(const MountEntry
- (void) mkdir_p_label(entry_path, 0755);
- (void) umount_recursive(entry_path, 0);
-
-- if (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
-- ns_info->proc_subset != PROC_SUBSET_ALL) {
-+ if (!old && (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
-+ ns_info->proc_subset != PROC_SUBSET_ALL)) {
- _cleanup_free_ char *opts = NULL;
-
- /* Starting with kernel 5.8 procfs' hidepid= logic is truly per-instance (previously it
diff --git a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
index bbee6e6b28..2289404d8d 100644
--- a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
+++ b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
@@ -1,4 +1,4 @@
-From 7b32582c066549fea0f7180a6c575e7fa37a867f Mon Sep 17 00:00:00 2001
+From 366cd28f5f93ba7c861cd32a718251770d74830e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 12 Apr 2021 23:44:53 -0700
Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl
@@ -10,15 +10,16 @@ them here in case they are undefined
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
src/basic/missing_syscall.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
-index 0594a1b930..495d161334 100644
+index 1384324804..0202d00372 100644
--- a/src/basic/missing_syscall.h
+++ b/src/basic/missing_syscall.h
-@@ -15,6 +15,12 @@
+@@ -20,6 +20,12 @@
#include <asm/sgidefs.h>
#endif
@@ -28,9 +29,6 @@ index 0594a1b930..495d161334 100644
+#define _MIPS_SIM_ABI64 3
+#endif
+
- #if defined(__x86_64__) && defined(__ILP32__)
- # define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */ 0x40000000)
- #elif defined(__ia64__)
---
-2.31.1
-
+ #include "missing_keyctl.h"
+ #include "missing_stat.h"
+ #include "missing_syscall_def.h"
diff --git a/meta/recipes-core/systemd/systemd_247.6.bb b/meta/recipes-core/systemd/systemd_248.3.bb
index 32afa159ec..37607708f7 100644
--- a/meta/recipes-core/systemd/systemd_247.6.bb
+++ b/meta/recipes-core/systemd/systemd_248.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,9 +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-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
- file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \
- file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \
- file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \
+ file://0001-test-parse-argument-Include-signal.h.patch \
"
# patches needed by musl
@@ -65,7 +64,7 @@ PAM_PLUGINS = " \
"
PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit efi ldconfig pam selinux smack usrmerge polkit seccomp', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
backlight \
@@ -177,7 +176,6 @@ PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false"
PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false"
PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false"
PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false"
-# libseccomp is found in meta-security
PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell"
PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
@@ -475,6 +473,7 @@ FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.c
${rootlibexecdir}/systemd/systemd-machined \
${rootlibexecdir}/systemd/systemd-pull \
${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
+ ${exec_prefix}/lib/tmpfiles.d/README \
${systemd_system_unitdir}/systemd-nspawn@.service \
${libdir}/libnss_mymachines.so.2 \
${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
@@ -508,6 +507,7 @@ FILES_${PN}-extra-utils = "\
${bindir}/systemd-cgls \
${bindir}/systemd-cgtop \
${bindir}/systemd-stdio-bridge \
+ ${bindir}/systemd-sysext \
${base_bindir}/systemd-ask-password \
${base_bindir}/systemd-tty-ask-password-agent \
${systemd_unitdir}/system/systemd-ask-password-console.path \
@@ -606,6 +606,7 @@ FILES_${PN} = " ${base_bindir}/* \
${exec_prefix}/lib/environment.d \
${localstatedir} \
${rootlibexecdir}/modprobe.d/systemd.conf \
+ ${rootlibexecdir}/modprobe.d/README \
${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
@@ -648,6 +649,7 @@ FILES_udev += "${base_sbindir}/udevd \
${rootlibexecdir}/udev/ata_id \
${rootlibexecdir}/udev/cdrom_id \
${rootlibexecdir}/udev/collect \
+ ${rootlibexecdir}/udev/dmi_memory_id \
${rootlibexecdir}/udev/fido_id \
${rootlibexecdir}/udev/findkeyboards \
${rootlibexecdir}/udev/keyboard-force-release.sh \
@@ -675,6 +677,7 @@ FILES_udev += "${base_sbindir}/udevd \
${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \
${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
${rootlibexecdir}/udev/rules.d/70-joystick.rules \
+ ${rootlibexecdir}/udev/rules.d/70-memory.rules \
${rootlibexecdir}/udev/rules.d/70-mouse.rules \
${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
@@ -684,6 +687,7 @@ FILES_udev += "${base_sbindir}/udevd \
${rootlibexecdir}/udev/rules.d/80-drivers.rules \
${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
+ ${rootlibexecdir}/udev/rules.d/README \
${sysconfdir}/udev \
${sysconfdir}/init.d/systemd-udevd \
${systemd_unitdir}/system/*udev* \
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index cbf6102ee0..6b47f417aa 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -27,8 +27,7 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=0fd5c050c6187d2bf0a4492b7f4e33da
FILESEXTRAPATHS_prepend := "${THISDIR}/util-linux:"
MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
-BPN = "util-linux"
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${MAJOR_VERSION}/${BP}.tar.xz \
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \
file://configure-sbindir.patch \
file://runuser.pamd \
file://runuser-l.pamd \
diff --git a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
index e0e7e0cd58..a9a8eb6306 100644
--- a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
+++ b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
@@ -1,4 +1,4 @@
-From 382f8381ef8baf754057e376a6d9bf840ca6d543 Mon Sep 17 00:00:00 2001
+From 5fb6355c7dd00c97fe90e805ace075b6e9b6952d Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 10 May 2019 16:47:38 +0200
Subject: [PATCH] Do not init tables from dpkg configuration
diff --git a/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch b/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch
new file mode 100644
index 0000000000..f1816836b5
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch
@@ -0,0 +1,48 @@
+From e849b161ce1d87ab369b921438abcf5b3a03e186 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 25 Apr 2021 08:57:03 -0700
+Subject: [PATCH] Hide fstatat64 and prlimit64 defines on musl
+
+musl defines fstatat64 and prlimit64 as macros which confuses the
+seccomp sysall rewiring since there are syscalls with same names
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ methods/aptmethod.h | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/methods/aptmethod.h b/methods/aptmethod.h
+index bd50e80..3085aed 1