aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-selftest/recipes-test/testrpm/files/testfile.txt1
-rw-r--r--meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb18
-rw-r--r--meta-skeleton/recipes-kernel/hello-mod/files/hello.c13
-rw-r--r--meta-skeleton/recipes-skeleton/service/service_0.1.bb2
-rw-r--r--meta/classes-global/base.bbclass (renamed from meta/classes/base.bbclass)6
-rw-r--r--meta/classes-global/buildstats.bbclass (renamed from meta/classes/buildstats.bbclass)6
-rw-r--r--meta/classes-global/debian.bbclass (renamed from meta/classes/debian.bbclass)6
-rw-r--r--meta/classes-global/devshell.bbclass (renamed from meta/classes/devshell.bbclass)6
-rw-r--r--meta/classes-global/insane.bbclass (renamed from meta/classes/insane.bbclass)13
-rw-r--r--meta/classes-global/license.bbclass (renamed from meta/classes/license.bbclass)6
-rw-r--r--meta/classes-global/logging.bbclass (renamed from meta/classes/logging.bbclass)6
-rw-r--r--meta/classes-global/mirrors.bbclass (renamed from meta/classes/mirrors.bbclass)6
-rw-r--r--meta/classes-global/package.bbclass (renamed from meta/classes/package.bbclass)74
-rw-r--r--meta/classes-global/package_deb.bbclass (renamed from meta/classes/package_deb.bbclass)2
-rw-r--r--meta/classes-global/package_ipk.bbclass (renamed from meta/classes/package_ipk.bbclass)6
-rw-r--r--meta/classes-global/package_pkgdata.bbclass (renamed from meta/classes/package_pkgdata.bbclass)6
-rw-r--r--meta/classes-global/package_rpm.bbclass (renamed from meta/classes/package_rpm.bbclass)12
-rw-r--r--meta/classes-global/package_tar.bbclass (renamed from meta/classes/package_tar.bbclass)6
-rw-r--r--meta/classes-global/packagedata.bbclass (renamed from meta/classes/packagedata.bbclass)6
-rw-r--r--meta/classes-global/patch.bbclass (renamed from meta/classes/patch.bbclass)2
-rw-r--r--meta/classes-global/sanity.bbclass (renamed from meta/classes/sanity.bbclass)7
-rw-r--r--meta/classes-global/sstate.bbclass (renamed from meta/classes/sstate.bbclass)6
-rw-r--r--meta/classes-global/staging.bbclass (renamed from meta/classes/staging.bbclass)6
-rw-r--r--meta/classes-global/uninative.bbclass (renamed from meta/classes/uninative.bbclass)8
-rw-r--r--meta/classes-global/utility-tasks.bbclass (renamed from meta/classes/utility-tasks.bbclass)6
-rw-r--r--meta/classes-global/utils.bbclass (renamed from meta/classes/utils.bbclass)5
-rw-r--r--meta/classes-recipe/allarch.bbclass (renamed from meta/classes/allarch.bbclass)6
-rw-r--r--meta/classes-recipe/autotools-brokensep.bbclass (renamed from meta/classes/autotools-brokensep.bbclass)6
-rw-r--r--meta/classes-recipe/autotools.bbclass (renamed from meta/classes/autotools.bbclass)6
-rw-r--r--meta/classes-recipe/baremetal-image.bbclass (renamed from meta/classes/baremetal-image.bbclass)6
-rw-r--r--meta/classes-recipe/bash-completion.bbclass (renamed from meta/classes/bash-completion.bbclass)6
-rw-r--r--meta/classes-recipe/bin_package.bbclass (renamed from meta/classes/bin_package.bbclass)6
-rw-r--r--meta/classes-recipe/binconfig-disabled.bbclass (renamed from meta/classes/binconfig-disabled.bbclass)6
-rw-r--r--meta/classes-recipe/binconfig.bbclass (renamed from meta/classes/binconfig.bbclass)6
-rw-r--r--meta/classes-recipe/cargo.bbclass (renamed from meta/classes/cargo.bbclass)17
-rw-r--r--meta/classes-recipe/cargo_common.bbclass (renamed from meta/classes/cargo_common.bbclass)21
-rw-r--r--meta/classes-recipe/cmake.bbclass (renamed from meta/classes/cmake.bbclass)6
-rw-r--r--meta/classes-recipe/cml1.bbclass (renamed from meta/classes/cml1.bbclass)6
-rw-r--r--meta/classes-recipe/compress_doc.bbclass (renamed from meta/classes/compress_doc.bbclass)6
-rw-r--r--meta/classes-recipe/core-image.bbclass (renamed from meta/classes/core-image.bbclass)2
-rw-r--r--meta/classes-recipe/cpan-base.bbclass (renamed from meta/classes/cpan-base.bbclass)6
-rw-r--r--meta/classes-recipe/cpan.bbclass (renamed from meta/classes/cpan.bbclass)6
-rw-r--r--meta/classes-recipe/cpan_build.bbclass (renamed from meta/classes/cpan_build.bbclass)6
-rw-r--r--meta/classes-recipe/cross-canadian.bbclass (renamed from meta/classes/cross-canadian.bbclass)6
-rw-r--r--meta/classes-recipe/cross.bbclass (renamed from meta/classes/cross.bbclass)6
-rw-r--r--meta/classes-recipe/crosssdk.bbclass (renamed from meta/classes/crosssdk.bbclass)6
-rw-r--r--meta/classes-recipe/deploy.bbclass (renamed from meta/classes/deploy.bbclass)6
-rw-r--r--meta/classes-recipe/devicetree.bbclass (renamed from meta/classes/devicetree.bbclass)6
-rw-r--r--meta/classes-recipe/devupstream.bbclass (renamed from meta/classes/devupstream.bbclass)6
-rw-r--r--meta/classes-recipe/distro_features_check.bbclass (renamed from meta/classes/distro_features_check.bbclass)6
-rw-r--r--meta/classes-recipe/dos2unix.bbclass (renamed from meta/classes/dos2unix.bbclass)6
-rw-r--r--meta/classes-recipe/externalsrc.bbclass (renamed from meta/classes/externalsrc.bbclass)3
-rw-r--r--meta/classes-recipe/features_check.bbclass (renamed from meta/classes/features_check.bbclass)3
-rw-r--r--meta/classes-recipe/fontcache.bbclass (renamed from meta/classes/fontcache.bbclass)6
-rw-r--r--meta/classes-recipe/fs-uuid.bbclass (renamed from meta/classes/fs-uuid.bbclass)6
-rw-r--r--meta/classes-recipe/gconf.bbclass (renamed from meta/classes/gconf.bbclass)6
-rw-r--r--meta/classes-recipe/gettext.bbclass (renamed from meta/classes/gettext.bbclass)6
-rw-r--r--meta/classes-recipe/gi-docgen.bbclass (renamed from meta/classes/gi-docgen.bbclass)6
-rw-r--r--meta/classes-recipe/gio-module-cache.bbclass (renamed from meta/classes/gio-module-cache.bbclass)6
-rw-r--r--meta/classes-recipe/glide.bbclass (renamed from meta/classes/glide.bbclass)6
-rw-r--r--meta/classes-recipe/gnomebase.bbclass (renamed from meta/classes/gnomebase.bbclass)6
-rw-r--r--meta/classes-recipe/go-mod.bbclass (renamed from meta/classes/go-mod.bbclass)6
-rw-r--r--meta/classes-recipe/go-ptest.bbclass (renamed from meta/classes/go-ptest.bbclass)6
-rw-r--r--meta/classes-recipe/go.bbclass (renamed from meta/classes/go.bbclass)8
-rw-r--r--meta/classes-recipe/goarch.bbclass (renamed from meta/classes/goarch.bbclass)6
-rw-r--r--meta/classes-recipe/gobject-introspection-data.bbclass (renamed from meta/classes/gobject-introspection-data.bbclass)6
-rw-r--r--meta/classes-recipe/gobject-introspection.bbclass (renamed from meta/classes/gobject-introspection.bbclass)6
-rw-r--r--meta/classes-recipe/grub-efi-cfg.bbclass (renamed from meta/classes/grub-efi-cfg.bbclass)3
-rw-r--r--meta/classes-recipe/grub-efi.bbclass (renamed from meta/classes/grub-efi.bbclass)6
-rw-r--r--meta/classes-recipe/gsettings.bbclass (renamed from meta/classes/gsettings.bbclass)6
-rw-r--r--meta/classes-recipe/gtk-doc.bbclass (renamed from meta/classes/gtk-doc.bbclass)6
-rw-r--r--meta/classes-recipe/gtk-icon-cache.bbclass (renamed from meta/classes/gtk-icon-cache.bbclass)6
-rw-r--r--meta/classes-recipe/gtk-immodules-cache.bbclass (renamed from meta/classes/gtk-immodules-cache.bbclass)6
-rw-r--r--meta/classes-recipe/image-artifact-names.bbclass (renamed from meta/classes/image-artifact-names.bbclass)6
-rw-r--r--meta/classes-recipe/image-combined-dbg.bbclass (renamed from meta/classes/image-combined-dbg.bbclass)6
-rw-r--r--meta/classes-recipe/image-container.bbclass (renamed from meta/classes/image-container.bbclass)6
-rw-r--r--meta/classes-recipe/image-live.bbclass (renamed from meta/classes/image-live.bbclass)5
-rw-r--r--meta/classes-recipe/image-postinst-intercepts.bbclass (renamed from meta/classes/image-postinst-intercepts.bbclass)6
-rw-r--r--meta/classes-recipe/image.bbclass (renamed from meta/classes/image.bbclass)5
-rw-r--r--meta/classes-recipe/image_types.bbclass (renamed from meta/classes/image_types.bbclass)6
-rw-r--r--meta/classes-recipe/image_types_wic.bbclass (renamed from meta/classes/image_types_wic.bbclass)6
-rw-r--r--meta/classes-recipe/kernel-arch.bbclass (renamed from meta/classes/kernel-arch.bbclass)6
-rw-r--r--meta/classes-recipe/kernel-artifact-names.bbclass (renamed from meta/classes/kernel-artifact-names.bbclass)6
-rw-r--r--meta/classes-recipe/kernel-devicetree.bbclass (renamed from meta/classes/kernel-devicetree.bbclass)6
-rw-r--r--meta/classes-recipe/kernel-fitimage.bbclass (renamed from meta/classes/kernel-fitimage.bbclass)14
-rw-r--r--meta/classes-recipe/kernel-grub.bbclass (renamed from meta/classes/kernel-grub.bbclass)6
-rw-r--r--meta/classes-recipe/kernel-module-split.bbclass (renamed from meta/classes/kernel-module-split.bbclass)6
-rw-r--r--meta/classes-recipe/kernel-uboot.bbclass (renamed from meta/classes/kernel-uboot.bbclass)6
-rw-r--r--meta/classes-recipe/kernel-uimage.bbclass (renamed from meta/classes/kernel-uimage.bbclass)6
-rw-r--r--meta/classes-recipe/kernel-yocto.bbclass (renamed from meta/classes/kernel-yocto.bbclass)6
-rw-r--r--meta/classes-recipe/kernel.bbclass (renamed from meta/classes/kernel.bbclass)6
-rw-r--r--meta/classes-recipe/kernelsrc.bbclass (renamed from meta/classes/kernelsrc.bbclass)6
-rw-r--r--meta/classes-recipe/lib_package.bbclass (renamed from meta/classes/lib_package.bbclass)5
-rw-r--r--meta/classes-recipe/libc-package.bbclass (renamed from meta/classes/libc-package.bbclass)6
-rw-r--r--meta/classes-recipe/license_image.bbclass (renamed from meta/classes/license_image.bbclass)6
-rw-r--r--meta/classes-recipe/linux-dummy.bbclass (renamed from meta/classes/linux-dummy.bbclass)5
-rw-r--r--meta/classes-recipe/linux-kernel-base.bbclass (renamed from meta/classes/linux-kernel-base.bbclass)6
-rw-r--r--meta/classes-recipe/linuxloader.bbclass (renamed from meta/classes/linuxloader.bbclass)6
-rw-r--r--meta/classes-recipe/live-vm-common.bbclass (renamed from meta/classes/live-vm-common.bbclass)6
-rw-r--r--meta/classes-recipe/manpages.bbclass (renamed from meta/classes/manpages.bbclass)6
-rw-r--r--meta/classes-recipe/meson-routines.bbclass (renamed from meta/classes/meson-routines.bbclass)6
-rw-r--r--meta/classes-recipe/meson.bbclass (renamed from meta/classes/meson.bbclass)6
-rw-r--r--meta/classes-recipe/mime-xdg.bbclass (renamed from meta/classes/mime-xdg.bbclass)4
-rw-r--r--meta/classes-recipe/mime.bbclass (renamed from meta/classes/mime.bbclass)6
-rw-r--r--meta/classes-recipe/module-base.bbclass (renamed from meta/classes/module-base.bbclass)6
-rw-r--r--meta/classes-recipe/module.bbclass (renamed from meta/classes/module.bbclass)6
-rw-r--r--meta/classes-recipe/multilib_header.bbclass (renamed from meta/classes/multilib_header.bbclass)6
-rw-r--r--meta/classes-recipe/multilib_script.bbclass (renamed from meta/classes/multilib_script.bbclass)6
-rw-r--r--meta/classes-recipe/native.bbclass (renamed from meta/classes/native.bbclass)6
-rw-r--r--meta/classes-recipe/nativesdk.bbclass (renamed from meta/classes/nativesdk.bbclass)7
-rw-r--r--meta/classes-recipe/nopackages.bbclass (renamed from meta/classes/nopackages.bbclass)6
-rw-r--r--meta/classes-recipe/npm.bbclass (renamed from meta/classes/npm.bbclass)26
-rw-r--r--meta/classes-recipe/packagegroup.bbclass (renamed from meta/classes/packagegroup.bbclass)6
-rw-r--r--meta/classes-recipe/perl-version.bbclass (renamed from meta/classes/perl-version.bbclass)6
-rw-r--r--meta/classes-recipe/perlnative.bbclass (renamed from meta/classes/perlnative.bbclass)6
-rw-r--r--meta/classes-recipe/pixbufcache.bbclass (renamed from meta/classes/pixbufcache.bbclass)6
-rw-r--r--meta/classes-recipe/pkgconfig.bbclass8
-rw-r--r--meta/classes-recipe/populate_sdk.bbclass (renamed from meta/classes/populate_sdk.bbclass)6
-rw-r--r--meta/classes-recipe/populate_sdk_base.bbclass (renamed from meta/classes/populate_sdk_base.bbclass)8
-rw-r--r--meta/classes-recipe/populate_sdk_ext.bbclass (renamed from meta/classes/populate_sdk_ext.bbclass)6
-rw-r--r--meta/classes-recipe/ptest-gnome.bbclass (renamed from meta/classes/ptest-gnome.bbclass)6
-rw-r--r--meta/classes-recipe/ptest-perl.bbclass (renamed from meta/classes/ptest-perl.bbclass)6
-rw-r--r--meta/classes-recipe/ptest.bbclass (renamed from meta/classes/ptest.bbclass)6
-rw-r--r--meta/classes-recipe/pypi.bbclass (renamed from meta/classes/pypi.bbclass)6
-rw-r--r--meta/classes-recipe/python3-dir.bbclass (renamed from meta/classes/python3-dir.bbclass)6
-rw-r--r--meta/classes-recipe/python3native.bbclass (renamed from meta/classes/python3native.bbclass)6
-rw-r--r--meta/classes-recipe/python3targetconfig.bbclass (renamed from meta/classes/python3targetconfig.bbclass)6
-rw-r--r--meta/classes-recipe/python_flit_core.bbclass (renamed from meta/classes/python_flit_core.bbclass)6
-rw-r--r--meta/classes-recipe/python_hatchling.bbclass (renamed from meta/classes/python_hatchling.bbclass)6
-rw-r--r--meta/classes-recipe/python_pep517.bbclass (renamed from meta/classes/python_pep517.bbclass)6
-rw-r--r--meta/classes-recipe/python_poetry_core.bbclass (renamed from meta/classes/python_poetry_core.bbclass)6
-rw-r--r--meta/classes-recipe/python_pyo3.bbclass (renamed from meta/classes/python_pyo3.bbclass)8
-rw-r--r--meta/classes-recipe/python_setuptools3_rust.bbclass (renamed from meta/classes/python_setuptools3_rust.bbclass)6
-rw-r--r--meta/classes-recipe/python_setuptools_build_meta.bbclass (renamed from meta/classes/python_setuptools_build_meta.bbclass)6
-rw-r--r--meta/classes-recipe/qemu.bbclass (renamed from meta/classes/qemu.bbclass)6
-rw-r--r--meta/classes-recipe/qemuboot.bbclass (renamed from meta/classes/qemuboot.bbclass)6
-rw-r--r--meta/classes-recipe/rootfs-postcommands.bbclass (renamed from meta/classes/rootfs-postcommands.bbclass)20
-rw-r--r--meta/classes-recipe/rootfs_deb.bbclass (renamed from meta/classes/rootfs_deb.bbclass)2
-rw-r--r--meta/classes-recipe/rootfs_ipk.bbclass (renamed from meta/classes/rootfs_ipk.bbclass)6
-rw-r--r--meta/classes-recipe/rootfs_rpm.bbclass (renamed from meta/classes/rootfs_rpm.bbclass)6
-rw-r--r--meta/classes-recipe/rootfsdebugfiles.bbclass (renamed from meta/classes/rootfsdebugfiles.bbclass)6
-rw-r--r--meta/classes-recipe/rust-bin.bbclass (renamed from meta/classes/rust-bin.bbclass)7
-rw-r--r--meta/classes-recipe/rust-common.bbclass (renamed from meta/classes/rust-common.bbclass)96
-rw-r--r--meta/classes-recipe/rust-target-config.bbclass (renamed from meta/classes/rust-target-config.bbclass)50
-rw-r--r--meta/classes-recipe/rust.bbclass (renamed from meta/classes/rust.bbclass)12
-rw-r--r--meta/classes-recipe/scons.bbclass (renamed from meta/classes/scons.bbclass)6
-rw-r--r--meta/classes-recipe/setuptools3-base.bbclass (renamed from meta/classes/setuptools3-base.bbclass)6
-rw-r--r--meta/classes-recipe/setuptools3.bbclass (renamed from meta/classes/setuptools3.bbclass)6
-rw-r--r--meta/classes-recipe/setuptools3_legacy.bbclass (renamed from meta/classes/setuptools3_legacy.bbclass)6
-rw-r--r--meta/classes-recipe/siteinfo.bbclass (renamed from meta/classes/siteinfo.bbclass)6
-rw-r--r--meta/classes-recipe/syslinux.bbclass (renamed from meta/classes/syslinux.bbclass)4
-rw-r--r--meta/classes-recipe/systemd-boot-cfg.bbclass (renamed from meta/classes/systemd-boot-cfg.bbclass)6
-rw-r--r--meta/classes-recipe/systemd-boot.bbclass (renamed from meta/classes/systemd-boot.bbclass)2
-rw-r--r--meta/classes-recipe/systemd.bbclass (renamed from meta/classes/systemd.bbclass)6
-rw-r--r--meta/classes-recipe/testimage.bbclass (renamed from meta/classes/testimage.bbclass)2
-rw-r--r--meta/classes-recipe/testsdk.bbclass (renamed from meta/classes/testsdk.bbclass)2
-rw-r--r--meta/classes-recipe/texinfo.bbclass (renamed from meta/classes/texinfo.bbclass)6
-rw-r--r--meta/classes-recipe/toolchain-scripts-base.bbclass (renamed from meta/classes/toolchain-scripts-base.bbclass)6
-rw-r--r--meta/classes-recipe/toolchain-scripts.bbclass (renamed from meta/classes/toolchain-scripts.bbclass)6
-rw-r--r--meta/classes-recipe/uboot-config.bbclass (renamed from meta/classes/uboot-config.bbclass)11
-rw-r--r--meta/classes-recipe/uboot-extlinux-config.bbclass (renamed from meta/classes/uboot-extlinux-config.bbclass)2
-rw-r--r--meta/classes-recipe/uboot-sign.bbclass (renamed from meta/classes/uboot-sign.bbclass)6
-rw-r--r--meta/classes-recipe/update-alternatives.bbclass (renamed from meta/classes/update-alternatives.bbclass)6
-rw-r--r--meta/classes-recipe/update-rc.d.bbclass (renamed from meta/classes/update-rc.d.bbclass)6
-rw-r--r--meta/classes-recipe/upstream-version-is-even.bbclass (renamed from meta/classes/upstream-version-is-even.bbclass)6
-rw-r--r--meta/classes-recipe/vala.bbclass (renamed from meta/classes/vala.bbclass)6
-rw-r--r--meta/classes-recipe/waf.bbclass (renamed from meta/classes/waf.bbclass)6
-rw-r--r--meta/classes-recipe/xmlcatalog.bbclass (renamed from meta/classes/xmlcatalog.bbclass)6
-rw-r--r--meta/classes/archiver.bbclass8
-rw-r--r--meta/classes/buildhistory.bbclass4
-rw-r--r--meta/classes/buildstats-summary.bbclass6
-rw-r--r--meta/classes/ccache.bbclass6
-rw-r--r--meta/classes/ccmake.bbclass6
-rw-r--r--meta/classes/chrpath.bbclass6
-rw-r--r--meta/classes/copyleft_compliance.bbclass6
-rw-r--r--meta/classes/copyleft_filter.bbclass8
-rw-r--r--meta/classes/create-spdx.bbclass4
-rw-r--r--meta/classes/cve-check.bbclass19
-rw-r--r--meta/classes/devtool-source.bbclass6
-rw-r--r--meta/classes/distrooverrides.bbclass6
-rw-r--r--meta/classes/extrausers.bbclass6
-rw-r--r--meta/classes/icecc.bbclass6
-rw-r--r--meta/classes/image-buildinfo.bbclass2
-rw-r--r--meta/classes/mcextend.bbclass6
-rw-r--r--meta/classes/metadata_scm.bbclass5
-rw-r--r--meta/classes/migrate_localcount.bbclass6
-rw-r--r--meta/classes/multilib.bbclass6
-rw-r--r--meta/classes/multilib_global.bbclass6
-rw-r--r--meta/classes/oelint.bbclass6
-rw-r--r--meta/classes/overlayfs-etc.bbclass6
-rw-r--r--meta/classes/overlayfs.bbclass6
-rw-r--r--meta/classes/own-mirrors.bbclass6
-rw-r--r--meta/classes/pkgconfig.bbclass2
-rw-r--r--meta/classes/prexport.bbclass6
-rw-r--r--meta/classes/primport.bbclass6
-rw-r--r--meta/classes/recipe_sanity.bbclass6
-rw-r--r--meta/classes/relative_symlinks.bbclass6
-rw-r--r--meta/classes/relocatable.bbclass6
-rw-r--r--meta/classes/remove-libtool.bbclass6
-rw-r--r--meta/classes/report-error.bbclass3
-rw-r--r--meta/classes/rm_work.bbclass6
-rw-r--r--meta/classes/rm_work_and_downloads.bbclass3
-rw-r--r--meta/classes/sign_ipk.bbclass6
-rw-r--r--meta/classes/sign_package_feed.bbclass6
-rw-r--r--meta/classes/sign_rpm.bbclass6
-rw-r--r--meta/classes/siteconfig.bbclass6
-rw-r--r--meta/classes/terminal.bbclass6
-rw-r--r--meta/classes/testexport.bbclass10
-rw-r--r--meta/classes/toaster.bbclass2
-rw-r--r--meta/classes/typecheck.bbclass6
-rw-r--r--meta/classes/useradd-staticids.bbclass6
-rw-r--r--meta/classes/useradd.bbclass6
-rw-r--r--meta/classes/useradd_base.bbclass6
-rw-r--r--meta/classes/yocto-check-layer.bbclass6
-rw-r--r--meta/conf/bitbake.conf27
-rw-r--r--meta/conf/distro/include/default-distrovars.inc2
-rw-r--r--meta/conf/distro/include/maintainers.inc14
-rw-r--r--meta/conf/distro/include/no-static-libs.inc2
-rw-r--r--meta/conf/distro/include/ptest-packagelists.inc1
-rw-r--r--meta/conf/distro/include/tcmode-default.inc8
-rw-r--r--meta/conf/distro/include/yocto-uninative.inc10
-rw-r--r--meta/conf/local.conf.sample.extended2
-rw-r--r--meta/conf/machine/qemux86-64.conf2
-rw-r--r--meta/conf/testexport.conf3
-rw-r--r--meta/files/layers.example.json115
-rw-r--r--meta/files/layers.schema.json121
-rw-r--r--meta/lib/bblayers/buildconf.py83
-rw-r--r--meta/lib/bblayers/create.py2
-rw-r--r--meta/lib/bblayers/makesetup.py139
-rw-r--r--meta/lib/buildstats.py2
-rw-r--r--meta/lib/oe/__init__.py2
-rw-r--r--meta/lib/oe/cachedpath.py2
-rw-r--r--meta/lib/oe/classextend.py2
-rw-r--r--meta/lib/oe/classutils.py2
-rw-r--r--meta/lib/oe/copy_buildsystem.py2
-rw-r--r--meta/lib/oe/cve_check.py8
-rw-r--r--meta/lib/oe/data.py2
-rw-r--r--meta/lib/oe/distro_check.py2
-rw-r--r--meta/lib/oe/elf.py2
-rw-r--r--meta/lib/oe/gpg_sign.py2
-rw-r--r--meta/lib/oe/license.py2
-rw-r--r--meta/lib/oe/lsb.py2
-rw-r--r--meta/lib/oe/maketype.py2
-rw-r--r--meta/lib/oe/manifest.py2
-rw-r--r--meta/lib/oe/npm_registry.py6
-rw-r--r--meta/lib/oe/overlayfs.py2
-rw-r--r--meta/lib/oe/package.py2
-rw-r--r--meta/lib/oe/package_manager/__init__.py2
-rw-r--r--meta/lib/oe/package_manager/deb/__init__.py2
-rw-r--r--meta/lib/oe/package_manager/deb/manifest.py2
-rw-r--r--meta/lib/oe/package_manager/deb/rootfs.py2
-rw-r--r--meta/lib/oe/package_manager/deb/sdk.py2
-rw-r--r--meta/lib/oe/package_manager/ipk/__init__.py2
-rw-r--r--meta/lib/oe/package_manager/ipk/manifest.py2
-rw-r--r--meta/lib/oe/package_manager/ipk/rootfs.py2
-rw-r--r--meta/lib/oe/package_manager/ipk/sdk.py2
-rw-r--r--meta/lib/oe/package_manager/rpm/__init__.py2
-rw-r--r--meta/lib/oe/package_manager/rpm/manifest.py2
-rw-r--r--meta/lib/oe/package_manager/rpm/rootfs.py2
-rw-r--r--meta/lib/oe/package_manager/rpm/sdk.py2
-rw-r--r--meta/lib/oe/packagedata.py2
-rw-r--r--meta/lib/oe/packagegroup.py2
-rw-r--r--meta/lib/oe/patch.py2
-rw-r--r--meta/lib/oe/path.py2
-rw-r--r--meta/lib/oe/prservice.py2
-rw-r--r--meta/lib/oe/qa.py2
-rw-r--r--meta/lib/oe/reproducible.py2
-rw-r--r--meta/lib/oe/rootfs.py2
-rw-r--r--meta/lib/oe/rust.py6
-rw-r--r--meta/lib/oe/sbom.py2
-rw-r--r--meta/lib/oe/sdk.py2
-rw-r--r--meta/lib/oe/spdx.py2
-rw-r--r--meta/lib/oe/sstatesig.py2
-rw-r--r--meta/lib/oe/terminal.py2
-rw-r--r--meta/lib/oe/types.py2
-rw-r--r--meta/lib/oe/useradd.py2
-rw-r--r--meta/lib/oe/utils.py2
-rw-r--r--meta/lib/oeqa/controllers/__init__.py2
-rw-r--r--meta/lib/oeqa/controllers/testtargetloader.py2
-rw-r--r--meta/lib/oeqa/core/utils/concurrencytest.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/_qemutiny.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/apt.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/boot.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/buildcpio.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/buildgalculator.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/buildlzip.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/connman.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/date.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/df.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/dnf.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py5
-rw-r--r--meta/lib/oeqa/runtime/cases/gcc.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/gi.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/go.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/gstreamer.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/kernelmodule.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/ksample.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/ldd.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/logrotate.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/multilib.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/oe_syslog.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/opkg.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/pam.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/parselogs.py4
-rw-r--r--meta/lib/oeqa/runtime/cases/perl.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/ping.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/ptest.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/python.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/rpm.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/rt.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/rtc.py5
-rw-r--r--meta/lib/oeqa/runtime/cases/runlevel.py5
-rw-r--r--meta/lib/oeqa/runtime/cases/rust.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/scons.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/scp.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/skeletoninit.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/ssh.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/stap.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/storage.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/suspend.py5
-rw-r--r--meta/lib/oeqa/runtime/cases/systemd.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/terminal.py5
-rw-r--r--meta/lib/oeqa/runtime/cases/usb_hid.py5
-rw-r--r--meta/lib/oeqa/runtime/cases/weston.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/x32lib.py2
-rw-r--r--meta/lib/oeqa/runtime/cases/xorg.py2
-rw-r--r--meta/lib/oeqa/sdk/buildtools-cases/build.py2
-rw-r--r--meta/lib/oeqa/sdk/buildtools-cases/gcc.py2
-rw-r--r--meta/lib/oeqa/sdk/buildtools-cases/https.py2
-rw-r--r--meta/lib/oeqa/sdk/buildtools-cases/sanity.py2
-rw-r--r--meta/lib/oeqa/sdk/buildtools-docs-cases/build.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/assimp.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/buildcpio.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/buildepoxy.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/buildgalculator.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/buildlzip.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/gcc.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/perl.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/python.py2
-rw-r--r--meta/lib/oeqa/sdk/cases/rust.py2
-rw-r--r--meta/lib/oeqa/sdk/testmetaidesupport.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/archiver.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/bblayers.py35
-rw-r--r--meta/lib/oeqa/selftest/cases/bblogging.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/bbtests.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/binutils.py4
-rw-r--r--meta/lib/oeqa/selftest/cases/buildhistory.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/buildoptions.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/containerimage.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/cve_check.py6
-rw-r--r--meta/lib/oeqa/selftest/cases/debuginfod.py44
-rw-r--r--meta/lib/oeqa/selftest/cases/devtool.py38
-rw-r--r--meta/lib/oeqa/selftest/cases/distrodata.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/eSDK.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/fetch.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/fitimage.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/gcc.py4
-rw-r--r--meta/lib/oeqa/selftest/cases/gdbserver.py66
-rw-r--r--meta/lib/oeqa/selftest/cases/glibc.py4
-rw-r--r--meta/lib/oeqa/selftest/cases/gotoolchain.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/image_typedep.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/imagefeatures.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/incompatible_lic.py7
-rw-r--r--meta/lib/oeqa/selftest/cases/intercept.py6
-rw-r--r--meta/lib/oeqa/selftest/cases/kerneldevelopment.py6
-rw-r--r--meta/lib/oeqa/selftest/cases/layerappend.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/liboe.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/lic_checksum.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/manifest.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/meta_ide.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/multiconfig.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/newlib.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/oelib/buildhistory.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/oelib/elf.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/oelib/license.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/oelib/path.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/oelib/types.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/oelib/utils.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/oescripts.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/overlayfs.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/package.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/pkgdata.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/prservice.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/pseudo.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/recipetool.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/recipeutils.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/reproducible.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/resulttooltests.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/rootfspostcommandstests.py97
-rw-r--r--meta/lib/oeqa/selftest/cases/rpmtests.py14
-rw-r--r--meta/lib/oeqa/selftest/cases/runcmd.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/runtime_test.py16
-rw-r--r--meta/lib/oeqa/selftest/cases/selftest.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/signing.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/sstate.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/sstatetests.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/sysroot.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/tinfoil.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/wic.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/wrapper.py5
-rw-r--r--meta/lib/oeqa/utils/__init__.py2
-rw-r--r--meta/lib/oeqa/utils/commands.py19
-rw-r--r--meta/lib/oeqa/utils/dump.py2
-rw-r--r--meta/lib/oeqa/utils/ftools.py2
-rw-r--r--meta/lib/oeqa/utils/httpserver.py2
-rw-r--r--meta/lib/oeqa/utils/logparser.py2
-rw-r--r--meta/lib/oeqa/utils/network.py2
-rw-r--r--meta/lib/oeqa/utils/nfs.py4
-rw-r--r--meta/lib/oeqa/utils/package_manager.py2
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py2
-rw-r--r--meta/lib/oeqa/utils/subprocesstweak.py2
-rw-r--r--meta/lib/rootfspostcommands.py64
-rw-r--r--meta/recipes-bsp/efivar/efivar/0001-Fix-glibc-2.36-build-mount.h-conflicts.patch60
-rw-r--r--meta/recipes-bsp/efivar/efivar_38.bb1
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi/lib-Makefile-fix-parallel-issue.patch38
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch17
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb (renamed from meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb)3
-rw-r--r--meta/recipes-bsp/grub/files/CVE-2021-3695-video-readers-png-Drop-greyscale-support-to-fix-heap.patch179
-rw-r--r--meta/recipes-bsp/grub/files/CVE-2021-3696-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff.patch50
-rw-r--r--meta/recipes-bsp/grub/files/CVE-2021-3697-video-readers-jpeg-Block-int-underflow-wild-pointer.patch84
-rw-r--r--meta/recipes-bsp/grub/files/CVE-2022-28733-net-ip-Do-IP-fragment-maths-safely.patch63
-rw-r--r--meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Error-out-on-headers-with-LF-without-CR.patch58
-rw-r--r--meta/recipes-bsp/grub/files/CVE-2022-28734-net-http-Fix-OOB-write-for-split-http-headers.patch56
-rw-r--r--meta/recipes-bsp/grub/files/CVE-2022-28735-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch111
-rw-r--r--meta/recipes-bsp/grub/files/video-Remove-trailing-whitespaces.patch693
-rw-r--r--meta/recipes-bsp/grub/files/video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch264
-rw-r--r--meta/recipes-bsp/grub/files/video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch53
-rw-r--r--meta/recipes-bsp/grub/grub2.inc10
-rw-r--r--meta/recipes-bsp/setserial/setserial/0001-setserial.c-Add-needed-system-headers-for-ioctl-and-.patch41
-rw-r--r--meta/recipes-bsp/setserial/setserial_2.17.bb3
-rw-r--r--meta/recipes-connectivity/bind/bind-9.18.6/0001-avoid-start-failure-with-bind-user.patch (renamed from meta/recipes-connectivity/bind/bind-9.18.4/0001-avoid-start-failure-with-bind-user.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.18.6/0001-named-lwresd-V-and-start-log-hide-build-options.patch (renamed from meta/recipes-connectivity/bind/bind-9.18.4/0001-named-lwresd-V-and-start-log-hide-build-options.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.18.6/bind-ensure-searching-for-json-headers-searches-sysr.patch (renamed from meta/recipes-connectivity/bind/bind-9.18.4/bind-ensure-searching-for-json-headers-searches-sysr.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.18.6/bind9 (renamed from meta/recipes-connectivity/bind/bind-9.18.4/bind9)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.18.6/conf.patch (renamed from meta/recipes-connectivity/bind/bind-9.18.4/conf.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.18.6/generate-rndc-key.sh (renamed from meta/recipes-connectivity/bind/bind-9.18.4/generate-rndc-key.sh)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.18.6/init.d-add-support-for-read-only-rootfs.patch (renamed from meta/recipes-connectivity/bind/bind-9.18.4/init.d-add-support-for-read-only-rootfs.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.18.6/make-etc-initd-bind-stop-work.patch (renamed from meta/recipes-connectivity/bind/bind-9.18.4/make-etc-initd-bind-stop-work.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.18.6/named.service (renamed from meta/recipes-connectivity/bind/bind-9.18.4/named.service)0
-rw-r--r--meta/recipes-connectivity/bind/bind_9.18.6.bb (renamed from meta/recipes-connectivity/bind/bind_9.18.4.bb)2
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5.inc1
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/fix_service.patch30
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5_5.65.bb (renamed from meta/recipes-connectivity/bluez5/bluez5_5.64.bb)2
-rw-r--r--meta/recipes-connectivity/connman/connman.inc11
-rw-r--r--meta/recipes-connectivity/connman/connman/CVE-2022-32292.patch37
-rw-r--r--meta/recipes-connectivity/connman/connman/CVE-2022-32293_p1.patch141
-rw-r--r--meta/recipes-connectivity/connman/connman/CVE-2022-32293_p2.patch174
-rw-r--r--meta/recipes-connectivity/connman/connman_1.41.bb3
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-configure-Define-_GNU_SOURCE-when-checking-for-setns.patch28
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-ip-ipstats.c-add-an-include-where-MIN-is-defined.patch25
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_5.19.0.bb (renamed from meta/recipes-connectivity/iproute2/iproute2_5.18.0.bb)4
-rw-r--r--meta/recipes-connectivity/kea/kea_2.2.0.bb (renamed from meta/recipes-connectivity/kea/kea_2.0.2.bb)6
-rw-r--r--meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb4
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0005-mountd-Check-for-return-of-stat-function.patch34
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0006-Fix-function-prototypes.patch93
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.2.bb (renamed from meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.1.bb)11
-rw-r--r--meta/recipes-connectivity/openssh/openssh/ssh_config6
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd_config17
-rw-r--r--meta/recipes-core/dropbear/dropbear.inc128
-rw-r--r--meta/recipes-core/dropbear/dropbear_2022.82.bb129
-rw-r--r--meta/recipes-core/ell/ell/0001-build-fix-time.h-related-breakage-on-musl.patch79
-rw-r--r--meta/recipes-core/ell/ell_0.52.bb (renamed from meta/recipes-core/ell/ell_0.51.bb)6
-rw-r--r--meta/recipes-core/glib-networking/glib-networking_2.72.2.bb (renamed from meta/recipes-core/glib-networking/glib-networking_2.72.1.bb)2
-rw-r--r--meta/recipes-core/glibc/cross-localedef-native_2.36.bb (renamed from meta/recipes-core/glibc/cross-localedef-native_2.35.bb)4
-rw-r--r--meta/recipes-core/glibc/glibc-common.inc2
-rw-r--r--meta/recipes-core/glibc/glibc-locale_2.36.bb (renamed from meta/recipes-core/glibc/glibc-locale_2.35.bb)0
-rw-r--r--meta/recipes-core/glibc/glibc-mtrace_2.36.bb (renamed from meta/recipes-core/glibc/glibc-mtrace_2.35.bb)0
-rw-r--r--meta/recipes-core/glibc/glibc-scripts_2.36.bb (renamed from meta/recipes-core/glibc/glibc-scripts_2.35.bb)0
-rw-r--r--meta/recipes-core/glibc/glibc-tests_2.36.bb (renamed from meta/recipes-core/glibc/glibc-tests_2.35.bb)1
-rw-r--r--meta/recipes-core/glibc/glibc-testsuite_2.36.bb (renamed from meta/recipes-core/glibc/glibc-testsuite_2.35.bb)0
-rw-r--r--meta/recipes-core/glibc/glibc-version.inc6
-rw-r--r--meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch128
-rw-r--r--meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch2
-rw-r--r--meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch2
-rw-r--r--meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch8
-rw-r--r--meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch6
-rw-r--r--meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch22
-rw-r--r--meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch6
-rw-r--r--meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch12
-rw-r--r--meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch4
-rw-r--r--meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch30
-rw-r--r--meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch2
-rw-r--r--meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch8
-rw-r--r--meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch4
-rw-r--r--meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch46
-rw-r--r--meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch4
-rw-r--r--meta/recipes-core/glibc/glibc/0015-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch (renamed from meta/recipes-core/glibc/glibc/0016-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch)6
-rw-r--r--meta/recipes-core/glibc/glibc/0016-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch (renamed from meta/recipes-core/glibc/glibc/0017-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch)4
-rw-r--r--meta/recipes-core/glibc/glibc/0017-powerpc-Do-not-ask-compiler-for-finding-arch.patch (renamed from meta/recipes-core/glibc/glibc/0019-powerpc-Do-not-ask-compiler-for-finding-arch.patch)2
-rw-r--r--meta/recipes-core/glibc/glibc/0018-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch19
-rw-r--r--meta/recipes-core/glibc/glibc/0019-Replace-echo-with-printf-builtin-in-nscd-init-script.patch (renamed from meta/recipes-core/glibc/glibc/0021-Replace-echo-with-printf-builtin-in-nscd-init-script.patch)4
-rw-r--r--meta/recipes-core/glibc/glibc/0020-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch (renamed from meta/recipes-core/glibc/glibc/0022-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch)7
-rw-r--r--meta/recipes-core/glibc/glibc/0021-timezone-Make-shell-interpreter-overridable-in-tzsel.patch (renamed from meta/recipes-core/glibc/glibc/0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch)10
-rw-r--r--meta/recipes-core/glibc/glibc/0022-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch27
-rw-r--r--meta/recipes-core/glibc/glibc/0023-fix-create-thread-failed-in-unprivileged-process-BZ-.patch (renamed from meta/recipes-core/glibc/glibc/0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch)6
-rw-r--r--meta/recipes-core/glibc/glibc/0024-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch (renamed from meta/recipes-core/glibc/glibc/reproducible-paths.patch)23
-rw-r--r--meta/recipes-core/glibc/glibc/0025-startup-Force-O2.patch28
-rw-r--r--meta/recipes-core/glibc/glibc_2.36.bb (renamed from meta/recipes-core/glibc/glibc_2.35.bb)21
-rw-r--r--meta/recipes-core/libcgroup/libcgroup/0001-api-Use-GNU-strerror_r-when-available.patch55
-rw-r--r--meta/recipes-core/libcgroup/libcgroup_3.0.0.bb (renamed from meta/recipes-core/libcgroup/libcgroup_2.0.2.bb)8
-rw-r--r--meta/recipes-core/libxml/libxml2_2.9.14.bb6
-rw-r--r--meta/recipes-core/meta/cve-update-db-native.bb51
-rw-r--r--meta/recipes-core/meta/testexport-tarball.bb2
-rw-r--r--meta/recipes-core/musl/musl/0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch18
-rw-r--r--meta/recipes-core/musl/musl/0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch20
-rw-r--r--meta/recipes-core/musl/musl_git.bb2
-rw-r--r--meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb9
-rw-r--r--meta/recipes-core/packagegroups/packagegroup-self-hosted.bb5
-rw-r--r--meta/recipes-core/systemd/systemd-boot_251.4.bb (renamed from meta/recipes-core/systemd/systemd-boot_251.3.bb)0
-rw-r--r--meta/recipes-core/systemd/systemd.inc2
-rw-r--r--meta/recipes-core/systemd/systemd/0001-glibc-Remove-include-linux-fs.h-to-resolve-fsconfig_.patch97
-rw-r--r--meta/recipes-core/systemd/systemd_251.4.bb (renamed from meta/recipes-core/systemd/systemd_251.3.bb)1
-rw-r--r--meta/recipes-core/sysvinit/sysvinit-inittab/start_getty3
-rw-r--r--meta/recipes-core/sysvinit/sysvinit/sysvinit_remove_linux_fs.patch17
-rw-r--r--meta/recipes-core/sysvinit/sysvinit_3.04.bb1
-rw-r--r--meta/recipes-core/util-linux/util-linux-libuuid_2.38.1.bb (renamed from meta/recipes-core/util-linux/util-linux-libuuid_2.38.bb)0
-rw-r--r--meta/recipes-core/util-linux/util-linux.inc4
-rw-r--r--meta/recipes-core/util-linux/util-linux/0001-check-for-sys-pidfd.h.patch53
-rw-r--r--meta/recipes-core/util-linux/util-linux/0001-configure.ac-Improve-check-for-magic.patch40
-rw-r--r--meta/recipes-core/util-linux/util-linux_2.38.1.bb (renamed from meta/recipes-core/util-linux/util-linux_2.38.bb)2
-rw-r--r--meta/recipes-core/zlib/zlib/0001-Fix-a-bug-when-getting-a-gzip-header-extra-field-wit.patch38
-rw-r--r--meta/recipes-core/zlib/zlib/0001-Fix-extra-field-processing-bug-that-dereferences-NUL.patch36
-rw-r--r--meta/recipes-core/zlib/zlib_1.2.12.bb2
-rw-r--r--meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch4
-rw-r--r--meta/recipes-devtools/apt/apt/0001-Remove-using-std-binary_function.patch87
-rw-r--r--meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch4
-rw-r--r--meta/recipes-devtools/apt/apt_2.4.5.bb3
-rw-r--r--meta/recipes-devtools/autoconf/autoconf/0001-specify-void-prototype-for-functions-with-no-paramet.patch64
-rw-r--r--meta/recipes-devtools/autoconf/autoconf_2.71.bb1
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.39.inc (renamed from meta/recipes-devtools/binutils/binutils-2.38.inc)26
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross-canadian.inc2
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross-canadian_2.39.bb (renamed from meta/recipes-devtools/binutils/binutils-cross-canadian_2.38.bb)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross-testsuite_2.39.bb (renamed from meta/recipes-devtools/binutils/binutils-cross-testsuite_2.38.bb)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross.inc1
-rw-r--r--meta/recipes-devtools/binutils/binutils-cross_2.39.bb (renamed from meta/recipes-devtools/binutils/binutils-cross_2.38.bb)0
-rw-r--r--meta/recipes-devtools/binutils/binutils-crosssdk_2.39.bb (renamed from meta/recipes-devtools/binutils/binutils-crosssdk_2.38.bb)0
-rw-r--r--meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch2
-rw-r--r--meta/recipes-devtools/binutils/binutils/0002-binutils-cross-Do-not-generate-linker-script-directo.patch2
-rw-r--r--meta/recipes-devtools/binutils/binutils/0003-binutils-nativesdk-Search-for-alternative-ld.so.conf.patch16
-rw-r--r--meta/recipes-devtools/binutils/binutils/0004-Point-scripts-location-to-libdir.patch10
-rw-r--r--meta/recipes-devtools/binutils/binutils/0005-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch (renamed from meta/recipes-devtools/binutils/binutils/0006-don-t-let-the-distro-compiler-point-to-the-wrong-ins.patch)2
-rw-r--r--meta/recipes-devtools/binutils/binutils/0006-warn-for-uses-of-system-directories-when-cross-linki.patch (renamed from meta/recipes-devtools/binutils/binutils/0007-warn-for-uses-of-system-directories-when-cross-linki.patch)42
-rw-r--r--meta/recipes-devtools/binutils/binutils/0007-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch (renamed from meta/recipes-devtools/binutils/binutils/0008-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch)8
-rw-r--r--meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch (renamed from meta/recipes-devtools/binutils/binutils/0009-Use-libtool-2.4.patch)8611
-rw-r--r--meta/recipes-devtools/binutils/binutils/0009-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch (renamed from meta/recipes-devtools/binutils/binutils/0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch)2
-rw-r--r--meta/recipes-devtools/binutils/binutils/0010-sync-with-OE-libtool-changes.patch (renamed from meta/recipes-devtools/binutils/binutils/0011-sync-with-OE-libtool-changes.patch)2
-rw-r--r--meta/recipes-devtools/binutils/binutils/0011-Check-for-clang-before-checking-gcc-version.patch (renamed from meta/recipes-devtools/binutils/binutils/0012-Check-for-clang-before-checking-gcc-version.patch)10
-rw-r--r--meta/recipes-devtools/binutils/binutils/0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch (renamed from meta/recipes-devtools/binutils/binutils/0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch)17
-rw-r--r--meta/recipes-devtools/binutils/binutils/0013-Avoid-as-info-race-condition.patch75
-rw-r--r--meta/recipes-devtools/binutils/binutils/0014-CVE-2019-1010204.patch49
-rw-r--r--meta/recipes-devtools/binutils/binutils_2.39.bb (renamed from meta/recipes-devtools/binutils/binutils_2.38.bb)12
-rw-r--r--meta/recipes-devtools/bootchart2/bootchart2/0001-Do-not-include-linux-fs.h.patch31
-rw-r--r--meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb1
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-device-utils.c-Use-linux-mount.h-instead-of-sys-moun.patch32
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools_5.19.bb (renamed from meta/recipes-devtools/btrfs-tools/btrfs-tools_5.18.1.bb)3
-rw-r--r--meta/recipes-devtools/cargo/cargo-cross-canadian.inc85
-rw-r--r--meta/recipes-devtools/cargo/cargo-cross-canadian_1.62.0.bb6
-rw-r--r--meta/recipes-devtools/cargo/cargo.inc13
-rw-r--r--meta/recipes-devtools/cargo/cargo_1.63.0.bb (renamed from meta/recipes-devtools/cargo/cargo_1.62.0.bb)1
-rw-r--r--meta/recipes-devtools/ccache/ccache_4.6.1.bb1
-rw-r--r--meta/recipes-devtools/ccache/files/0001-Include-time.h-for-time_t.patch31
-rw-r--r--meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch2
-rw-r--r--meta/recipes-devtools/cmake/cmake-native_3.24.0.bb (renamed from meta/recipes-devtools/cmake/cmake-native_3.23.2.bb)0
-rw-r--r--meta/recipes-devtools/cmake/cmake.inc4
-rw-r--r--meta/recipes-devtools/cmake/cmake_3.24.0.bb (renamed from meta/recipes-devtools/cmake/cmake_3.23.2.bb)0
-rw-r--r--meta/recipes-devtools/expect/expect/0001-Add-prototype-to-function-definitions.patch113
-rw-r--r--meta/recipes-devtools/expect/expect_5.45.4.bb3
-rw-r--r--meta/recipes-devtools/gcc/gcc-12.2.inc (renamed from meta/recipes-devtools/gcc/gcc-12.1.inc)9
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb (renamed from meta/recipes-devtools/gcc/gcc-cross-canadian_12.1.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_12.2.bb (renamed from meta/recipes-devtools/gcc/gcc-cross_12.1.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk_12.2.bb (renamed from meta/recipes-devtools/gcc/gcc-crosssdk_12.1.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime.inc17
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime_12.2.bb (renamed from meta/recipes-devtools/gcc/gcc-runtime_12.1.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-sanitizers_12.2.bb (renamed from meta/recipes-devtools/gcc/gcc-sanitizers_12.1.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-source_12.2.bb (renamed from meta/recipes-devtools/gcc/gcc-source_12.1.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc/0001-libsanitizer-cherry-pick-9cf13067cb5088626ba7-from-u.patch45
-rw-r--r--meta/recipes-devtools/gcc/gcc/hardcoded-paths.patch19
-rw-r--r--meta/recipes-devtools/gcc/gcc/prefix-map-realpath.patch63
-rw-r--r--meta/recipes-devtools/gcc/gcc_12.2.bb (renamed from meta/recipes-devtools/gcc/gcc_12.1.bb)0
-rw-r--r--meta/recipes-devtools/gcc/libgcc-common.inc3
-rw-r--r--meta/recipes-devtools/gcc/libgcc-initial_12.2.bb (renamed from meta/recipes-devtools/gcc/libgcc-initial_12.1.bb)0
-rw-r--r--meta/recipes-devtools/gcc/libgcc_12.2.bb (renamed from meta/recipes-devtools/gcc/libgcc_12.1.bb)0
-rw-r--r--meta/recipes-devtools/gcc/libgfortran_12.2.bb (renamed from meta/recipes-devtools/gcc/libgfortran_12.1.bb)0
-rw-r--r--meta/recipes-devtools/git/git_2.37.2.bb (renamed from meta/recipes-devtools/git/git_2.37.1.bb)2
-rw-r--r--meta/recipes-devtools/go/go-1.19.inc (renamed from meta/recipes-devtools/go/go-1.18.4.inc)3
-rw-r--r--meta/recipes-devtools/go/go-binary-native_1.19.bb (renamed from meta/recipes-devtools/go/go-binary-native_1.18.4.bb)4
-rw-r--r--meta/recipes-devtools/go/go-cross-canadian_1.19.bb (renamed from meta/recipes-devtools/go/go-cross-canadian_1.18.4.bb)0
-rw-r--r--meta/recipes-devtools/go/go-cross_1.19.bb (renamed from meta/recipes-devtools/go/go-cross_1.18.4.bb)0
-rw-r--r--meta/recipes-devtools/go/go-crosssdk_1.19.bb (renamed from meta/recipes-devtools/go/go-crosssdk_1.18.4.bb)0
-rw-r--r--meta/recipes-devtools/go/go-native_1.19.bb (renamed from meta/recipes-devtools/go/go-native_1.18.4.bb)0
-rw-r--r--meta/recipes-devtools/go/go-runtime.inc2
-rw-r--r--meta/recipes-devtools/go/go-runtime_1.19.bb (renamed from meta/recipes-devtools/go/go-runtime_1.18.4.bb)0
-rw-r--r--meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch39
-rw-r--r--meta/recipes-devtools/go/go/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch18
-rw-r--r--meta/recipes-devtools/go/go/0004-ld-add-soname-to-shareable-objects.patch17
-rw-r--r--meta/recipes-devtools/go/go/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch12
-rw-r--r--meta/recipes-devtools/go/go/0006-cmd-dist-separate-host-and-target-builds.patch41
-rw-r--r--meta/recipes-devtools/go/go/filter-build-paths.patch53
-rw-r--r--meta/recipes-devtools/go/go/stack-protector.patch32
-rw-r--r--meta/recipes-devtools/go/go_1.19.bb (renamed from meta/recipes-devtools/go/go_1.18.4.bb)0
-rw-r--r--meta/recipes-devtools/json-c/json-c/0001-Fix-build-with-clang-15.patch34
-rw-r--r--meta/recipes-devtools/json-c/json-c/run-ptest20
-rw-r--r--meta/recipes-devtools/json-c/json-c_0.16.bb18
-rw-r--r--meta/recipes-devtools/libdnf/libdnf_0.68.0.bb (renamed from meta/recipes-devtools/libdnf/libdnf_0.67.0.bb)2
-rw-r--r--meta/recipes-devtools/librepo/librepo_1.14.4.bb (renamed from meta/recipes-devtools/librepo/librepo_1.14.3.bb)2
-rw-r--r--meta/recipes-devtools/meson/meson/llvm-ldflags.patch28
-rw-r--r--meta/recipes-devtools/meson/meson_0.63.1.bb (renamed from meta/recipes-devtools/meson/meson_0.63.0.bb)3
-rw-r--r--meta/recipes-devtools/mtd/mtd-utils/0001-tests-Remove-unused-linux-fs.h-header-from-includes.patch31
-rw-r--r--meta/recipes-devtools/mtd/mtd-utils_git.bb1
-rw-r--r--meta/recipes-devtools/patchelf/patchelf/handle-read-only-files.patch65
-rw-r--r--meta/recipes-devtools/patchelf/patchelf_0.15.0.bb (renamed from meta/recipes-devtools/patchelf/patchelf_0.14.5.bb)3
-rw-r--r--meta/recipes-devtools/perl-cross/files/0001-configure_func.sh-Add-_GNU_SOURCE-define-and-functio.patch485
-rw-r--r--meta/recipes-devtools/perl-cross/perlcross_1.4.bb1
-rw-r--r--meta/recipes-devtools/perl/perl_5.36.0.bb2
-rw-r--r--meta/recipes-devtools/pkgconf/pkgconf_1.9.3.bb (renamed from meta/recipes-devtools/pkgconf/pkgconf_1.8.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-cython_0.29.32.bb18
-rw-r--r--meta/recipes-devtools/python/python3-dtschema_2022.8.1.bb (renamed from meta/recipes-devtools/python/python3-dtschema_2022.7.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-hatchling_1.8.0.bb (renamed from meta/recipes-devtools/python/python3-hatchling_1.6.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-hypothesis_6.46.11.bb (renamed from meta/recipes-devtools/python/python3-hypothesis_6.50.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-jsonschema_4.9.1.bb (renamed from meta/recipes-devtools/python/python3-jsonschema_4.9.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-markdown_3.4.1.bb (renamed from meta/recipes-devtools/python/python3-markdown_3.3.7.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-more-itertools_8.14.0.bb (renamed from meta/recipes-devtools/python/python3-more-itertools_8.13.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-numpy_1.23.2.bb (renamed from meta/recipes-devtools/python/python3-numpy_1.23.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pbr_5.10.0.bb4
-rw-r--r--meta/recipes-devtools/python/python3-pbr_5.9.0.bb4
-rw-r--r--meta/recipes-devtools/python/python3-pip_22.2.2.bb (renamed from meta/recipes-devtools/python/python3-pip_22.2.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pyelftools_0.29.bb (renamed from meta/recipes-devtools/python/python3-pyelftools_0.28.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pygments_2.13.0.bb (renamed from meta/recipes-devtools/python/python3-pygments_2.12.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pytz_2022.2.1.bb (renamed from meta/recipes-devtools/python/python3-pytz_2022.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-requests_2.28.1.bb1
-rw-r--r--meta/recipes-devtools/python/python3-setuptools-rust/8e9892f08b1248dc03862da86915c2745e0ff7ec.patch221
-rw-r--r--meta/recipes-devtools/python/python3-setuptools-rust_1.5.1.bb (renamed from meta/recipes-devtools/python/python3-setuptools-rust_1.4.1.bb)7
-rw-r--r--meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch2
-rw-r--r--meta/recipes-devtools/python/python3-setuptools_65.0.2.bb (renamed from meta/recipes-devtools/python/python3-setuptools_63.3.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-sphinx_5.1.1.bb (renamed from meta/recipes-devtools/python/python3-sphinx_5.0.2.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-urllib3_1.26.11.bb (renamed from meta/recipes-devtools/python/python3-urllib3_1.26.10.bb)2
-rw-r--r--meta/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch6
-rw-r--r--meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch2
-rw-r--r--meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch2
-rw-r--r--meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch6
-rw-r--r--meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch2
-rw-r--r--meta/recipes-devtools/python/python3_3.10.6.bb (renamed from meta/recipes-devtools/python/python3_3.10.5.bb)5
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc5
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2021-3507_1.patch92
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2021-3507_2.patch115
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2022-0216_1.patch42
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2022-0216_2.patch146
-rw-r--r--meta/recipes-devtools/qemu/qemu/qemu-7.0.0-glibc-2.36.patch46
-rw-r--r--meta/recipes-devtools/rpm/files/0001-CVE-2021-3521.patch57
-rw-r--r--meta/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch14
-rw-r--r--meta/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch18
-rw-r--r--meta/recipes-devtools/rpm/files/0001-configure.ac-add-linux-gnux32-variant-to-triplet-han.patch31
-rw-r--r--meta/recipes-devtools/rpm/files/0002-CVE-2021-3521.patch64
-rw-r--r--meta/recipes-devtools/rpm/files/0003-CVE-2021-3521.patch329
-rw-r--r--meta/recipes-devtools/rpm/rpm_4.17.1.bb (renamed from meta/recipes-devtools/rpm/rpm_4.17.0.bb)6
-rw-r--r--meta/recipes-devtools/rsync/files/0001-Add-missing-prototypes-to-function-declarations.patch182
-rw-r--r--meta/recipes-devtools/rsync/rsync_3.2.5.bb (renamed from meta/recipes-devtools/rsync/rsync_3.2.4.bb)4
-rw-r--r--meta/recipes-devtools/rust/README-rust.md26
-rw-r--r--meta/recipes-devtools/rust/libstd-rs.inc4
-rw-r--r--meta/recipes-devtools/rust/libstd-rs_1.63.0.bb (renamed from meta/recipes-devtools/rust/libstd-rs_1.62.0.bb)0
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian-common.inc49
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian.inc101
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian_1.62.0.bb6
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian_1.63.0.bb2
-rw-r--r--meta/recipes-devtools/rust/rust-cross.inc47
-rw-r--r--meta/recipes-devtools/rust/rust-cross_1.62.0.bb8
-rw-r--r--meta/recipes-devtools/rust/rust-crosssdk_1.62.0.bb8
-rw-r--r--meta/recipes-devtools/rust/rust-llvm.inc9
-rw-r--r--meta/recipes-devtools/rust/rust-llvm_1.63.0.bb (renamed from meta/recipes-devtools/rust/rust-llvm_1.62.0.bb)2
-rw-r--r--meta/recipes-devtools/rust/rust-snapshot.inc24
-rw-r--r--meta/recipes-devtools/rust/rust-source.inc8
-rw-r--r--meta/recipes-devtools/rust/rust-target.inc2
-rw-r--r--meta/recipes-devtools/rust/rust-tools-cross-canadian.inc38
-rw-r--r--meta/recipes-devtools/rust/rust-tools-cross-canadian_1.62.0.bb6
-rw-r--r--meta/recipes-devtools/rust/rust.inc78
-rw-r--r--meta/recipes-devtools/rust/rust/0001-Add-ENOTSUP-constant-for-riscv32-musl.patch27
-rw-r--r--meta/recipes-devtools/rust/rust/crossbeam_atomic.patch50
-rw-r--r--meta/recipes-devtools/rust/rust/hardcodepaths.patch70
-rw-r--r--meta/recipes-devtools/rust/rust_1.62.0.bb21
-rw-r--r--meta/recipes-devtools/rust/rust_1.63.0.bb89
-rw-r--r--meta/recipes-devtools/strace/strace_5.19.bb (renamed from meta/recipes-devtools/strace/strace_5.18.bb)2
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0001-linux-syslinux-support-ext2-3-4-device.patch15
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0002-linux-syslinux-implement-open_ext2_fs.patch21
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch13
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0004-linux-syslinux-add-ext_file_read-and-ext_file_write.patch13
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0005-linux-syslinux-implement-handle_adv_on_ext.patch13
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0006-linux-syslinux-implement-write_to_ext-and-add-syslin.patch21
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch13
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch11
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0009-linux-syslinux-implement-install_bootblock.patch11
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0010-Workaround-multiple-definition-of-symbol-errors.patch17
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0011-install-don-t-install-obsolete-file-com32.ld.patch (renamed from meta/recipes-devtools/syslinux/syslinux/0001-install-don-t-install-obsolete-file-com32.ld.patch)7
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0012-libinstaller-Fix-build-with-glibc-2.36.patch56
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0013-remove-clean-script.patch27
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0014-Fix-reproducibility-issues.patch (renamed from meta/recipes-devtools/syslinux/syslinux/determinism.patch)18
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/syslinux-remove-clean-script.patch17
-rw-r--r--meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb9
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/remove-for-all1
-rw-r--r--meta/recipes-devtools/valgrind/valgrind_3.19.0.bb4
-rw-r--r--meta/recipes-extended/cracklib/cracklib/0001-rules-Drop-using-register-keyword.patch278
-rw-r--r--meta/recipes-extended/cracklib/cracklib/0002-rules-Correct-parameter-types-to-Debug-calls.patch40
-rw-r--r--meta/recipes-extended/cracklib/cracklib_2.9.7.bb5
-rw-r--r--meta/recipes-extended/libmnl/libmnl_1.0.5.bb4
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc_1.3.3.bb (renamed from meta/recipes-extended/libtirpc/libtirpc_1.3.2.bb)5
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd_1.4.66.bb (renamed from meta/recipes-extended/lighttpd/lighttpd_1.4.65.bb)2
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-lapi-fsmount-resolve-conflict-in-different-header-fi.patch71
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-lapi-pidfd-adding-pidfd-header-file.patch60
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-rt-migrate-Use-int-instead-of-pthread_t-for-thread-I.patch36
-rw-r--r--meta/recipes-extended/ltp/ltp_20220527.bb6
-rw-r--r--meta/recipes-extended/msmtp/msmtp_1.8.22.bb (renamed from meta/recipes-extended/msmtp/msmtp_1.8.20.bb)2
-rw-r--r--meta/recipes-extended/screen/screen/0001-configure-Add-needed-system-headers-in-checks.patch151
-rw-r--r--meta/recipes-extended/screen/screen_4.9.0.bb3
-rw-r--r--meta/recipes-extended/shadow/files/0001-Drop-nsswitch.conf-message-when-not-in-place-eg.-musl.patch27
-rw-r--r--meta/recipes-extended/shadow/files/0001-shadow-use-relaxed-usernames.patch (renamed from meta/recipes-extended/shadow/files/shadow-relaxed-usernames.patch)47
-rw-r--r--meta/recipes-extended/shadow/files/shadow-4.1.3-dots-in-usernames.patch27
-rw-r--r--meta/recipes-extended/shadow/shadow.inc15
-rw-r--r--meta/recipes-extended/shadow/shadow_4.12.1.bb (renamed from meta/recipes-extended/shadow/shadow_4.11.1.bb)0
-rw-r--r--meta/recipes-extended/slang/slang/dont-link-to-host.patch23
-rw-r--r--meta/recipes-extended/slang/slang/terminfo_fixes.patch28
-rw-r--r--meta/recipes-extended/slang/slang_2.3.3.bb (renamed from meta/recipes-extended/slang/slang_2.3.2.bb)3
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng/0001-core-helper-remove-include-of-sys-mount.h.patch34
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng/0002-core-shim-remove-include-of-sys-mount.h.patch34
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng_0.14.03.bb (renamed from meta/recipes-extended/stress-ng/stress-ng_0.14.02.bb)7
-rw-r--r--meta/recipes-extended/sysklogd/sysklogd_2.4.4.bb (renamed from meta/recipes-extended/sysklogd/sysklogd_2.4.0.bb)2
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch109
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb1
-rw-r--r--meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch27
-rw-r--r--meta/recipes-extended/time/time_1.9.bb4
-rw-r--r--meta/recipes-extended/timezone/timezone.inc6
-rw-r--r--meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch112
-rw-r--r--meta/recipes-extended/unzip/unzip_6.0.bb4
-rw-r--r--meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch37
-rw-r--r--meta/recipes-extended/watchdog/watchdog_5.16.bb1
-rw-r--r--meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb2
-rw-r--r--meta/recipes-extended/xz/xz/CVE-2022-1271.patch96
-rw-r--r--meta/recipes-extended/xz/xz_5.2.6.bb (renamed from meta/recipes-extended/xz/xz_5.2.5.bb)7
-rw-r--r--meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch134
-rw-r--r--meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch35
-rw-r--r--meta/recipes-extended/zip/zip_3.0.bb5
-rw-r--r--meta/recipes-gnome/epiphany/epiphany_42.4.bb (renamed from meta/recipes-gnome/epiphany/epiphany_42.3.bb)2
-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.patch18
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch20
-rw-r--r--meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.9.bb (renamed from meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.8.bb)12
-rw-r--r--meta/recipes-gnome/libnotify/libnotify_0.8.1.bb (renamed from meta/recipes-gnome/libnotify/libnotify_0.8.0.bb)2
-rw-r--r--meta/recipes-gnome/librsvg/librsvg_2.54.4.bb16
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz/0001-fix-signedness-of-char-in-tests.patch27
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz_5.1.0.bb (renamed from meta/recipes-graphics/harfbuzz/harfbuzz_4.4.1.bb)6
-rw-r--r--meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.4.bb (renamed from meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb)2
-rw-r--r--meta/recipes-graphics/kmscube/kmscube/0001-drm-common.c-do-not-use-invalid-modifier.patch27
-rw-r--r--meta/recipes-graphics/kmscube/kmscube_git.bb6
-rw-r--r--meta/recipes-graphics/mesa/mesa-gl_22.1.6.bb (renamed from meta/recipes-graphics/mesa/mesa-gl_22.1.3.bb)0
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc16
-rw-r--r--meta/recipes-graphics/mesa/mesa_22.1.6.bb (renamed from meta/recipes-graphics/mesa/mesa_22.1.3.bb)0
-rw-r--r--meta/recipes-graphics/pango/pango_1.50.9.bb (renamed from meta/recipes-graphics/pango/pango_1.50.8.bb)2
-rw-r--r--meta/recipes-graphics/piglit/piglit/0002-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch (renamed from meta/recipes-graphics/piglit/piglit/0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch)0
-rw-r--r--meta/recipes-graphics/piglit/piglit/0003-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch (renamed from meta/recipes-graphics/piglit/piglit/0002-tests-util-piglit-shader.c-do-not-hardcode-build-pat.patch)0
-rw-r--r--meta/recipes-graphics/piglit/piglit/0004-CMakeLists.txt-add-missing-endian.h-check.patch (renamed from meta/recipes-graphics/piglit/piglit/0001-CMakeLists.txt-add-missing-endian.h-check.patch)0
-rw-r--r--meta/recipes-graphics/piglit/piglit/0005-cmake-Don-t-enable-GLX-if-tests-are-disabled.patch32
-rw-r--r--meta/recipes-graphics/piglit/piglit_git.bb14
-rw-r--r--meta/recipes-graphics/shaderc/shaderc_2022.2.bb (renamed from meta/recipes-graphics/shaderc/shaderc_2022.1.bb)2
-rw-r--r--meta/recipes-graphics/spir/spirv-tools/0001-Remove-default-copy-constructor-in-header.-4879.patch34
-rw-r--r--meta/recipes-graphics/spir/spirv-tools_1.3.216.0.bb4
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/0001-Qualify-move-as-std-move.patch405
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-hpp_vulkan_resource.h-add-header-incl.patch27
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples_git.bb4
-rw-r--r--meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch32
-rw-r--r--meta/recipes-graphics/wayland/weston_10.0.2.bb (renamed from meta/recipes-graphics/wayland/weston_10.0.1.bb)5
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcvt_0.1.2.bb (renamed from meta/recipes-graphics/xorg-lib/libxcvt_0.1.1.bb)2
-rw-r--r--meta/recipes-graphics/xorg-proto/xorgproto_2022.2.bb (renamed from meta/recipes-graphics/xorg-proto/xorgproto_2022.1.bb)4
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools_2.0.25.bb (renamed from meta/recipes-kernel/kexec/kexec-tools_2.0.24.bb)2
-rw-r--r--meta/recipes-kernel/linux/kernel-devsrc.bb3
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-dev.bb2
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb45
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb8
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb8
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb32
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb8
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb8
-rw-r--r--meta/recipes-kernel/linux/linux-yocto.inc2
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.10.bb58
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.15.bb28
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.19.bb28
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-compaction-make-tracepoints-condtional-on-CONFIG_COM.patch103
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-fix-compaction.patch68
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.13.4.bb2
-rw-r--r--meta/recipes-kernel/perf/perf.bb3
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/python-3.11.patch37
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.inc1
-rw-r--r--meta/recipes-kernel/wireless-regdb/wireless-regdb_2022.08.12.bb (renamed from meta/recipes-kernel/wireless-regdb/wireless-regdb_2022.06.06.bb)2
-rw-r--r--meta/recipes-multimedia/alsa/alsa-plugins/0001-arcam_av.c-Include-missing-string.h.patch25
-rw-r--r--meta/recipes-multimedia/alsa/alsa-plugins_1.2.7.1.bb4
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch112
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.bb (renamed from meta/recipes-multimedia/ffmpeg/ffmpeg_5.0.1.bb)8
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-include-required-system-headers-for-isspace-and-ssca.patch35
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.3.bb1
-rw-r--r--meta/recipes-multimedia/libtiff/files/CVE-2022-34526.patch32
-rw-r--r--meta/recipes-multimedia/libtiff/tiff_4.4.0.bb4
-rw-r--r--meta/recipes-multimedia/mpg123/mpg123_1.30.2.bb (renamed from meta/recipes-multimedia/mpg123/mpg123_1.30.1.bb)2
-rw-r--r--meta/recipes-multimedia/webp/libwebp_1.2.4.bb (renamed from meta/recipes-multimedia/webp/libwebp_1.2.2.bb)2
-rw-r--r--meta/recipes-sato/puzzles/puzzles_git.bb2
-rw-r--r--meta/recipes-sato/webkit/libwpe/0001-Fix-build-failure-due-to-libc-using-libc-functions.patch42
-rw-r--r--meta/recipes-sato/webkit/libwpe_1.12.2.bb (renamed from meta/recipes-sato/webkit/libwpe_1.12.0.bb)6
-rw-r--r--meta/recipes-sato/webkit/webkitgtk_2.36.6.bb (renamed from meta/recipes-sato/webkit/webkitgtk_2.36.4.bb)2
-rw-r--r--meta/recipes-sato/webkit/wpebackend-fdo_1.12.1.bb (renamed from meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb)2
-rw-r--r--meta/recipes-support/apr/apr/0001-add-AC_CACHE_CHECK-for-strerror_r-return-type.patch52
-rw-r--r--meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch62
-rw-r--r--meta/recipes-support/apr/apr_1.7.0.bb19
-rw-r--r--meta/recipes-support/boost/boost-1.80.0.inc (renamed from meta/recipes-support/boost/boost-1.79.0.inc)2
-rw-r--r--meta/recipes-support/boost/boost-build-native_1.80.0.bb (renamed from meta/recipes-support/boost/boost-build-native_4.4.1.bb)5
-rw-r--r--meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch19
-rw-r--r--meta/recipes-support/boost/boost/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch34
-rw-r--r--meta/recipes-support/boost/boost/boost-CVE-2012-2677.patch112
-rw-r--r--meta/recipes-support/boost/boost_1.80.0.bb (renamed from meta/recipes-support/boost/boost_1.79.0.bb)4
-rw-r--r--meta/recipes-support/diffoscope/diffoscope_220.bb (renamed from meta/recipes-support/diffoscope/diffoscope_218.bb)2
-rw-r--r--meta/recipes-support/gnutls/gnutls_3.7.7.bb (renamed from meta/recipes-support/gnutls/gnutls_3.7.6.bb)2
-rw-r--r--meta/recipes-support/gpgme/gpgme/0001-pkgconfig.patch18
-rw-r--r--meta/recipes-support/gpgme/gpgme_1.18.0.bb (renamed from meta/recipes-support/gpgme/gpgme_1.17.1.bb)2
-rw-r--r--meta/recipes-support/icu/icu_71.1.bb14
-rw-r--r--meta/recipes-support/iso-codes/iso-codes_4.11.0.bb (renamed from meta/recipes-support/iso-codes/iso-codes_4.10.0.bb)2
-rw-r--r--meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch2
-rw-r--r--meta/recipes-support/libcap/libcap_2.65.bb (renamed from meta/recipes-support/libcap/libcap_2.64.bb)2
-rw-r--r--meta/recipes-support/libevdev/libevdev_1.13.0.bb (renamed from meta/recipes-support/libevdev/libevdev_1.12.1.bb)2
-rw-r--r--meta/recipes-support/libgcrypt/files/0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch79
-rw-r--r--meta/recipes-support/libgcrypt/files/no-native-gpg-error.patch18
-rw-r--r--meta/recipes-support/libgcrypt/files/run-ptest8
-rw-r--r--meta/recipes-support/libgcrypt/libgcrypt_1.10.1.bb26
-rw-r--r--meta/recipes-support/libmicrohttpd/libmicrohttpd_0.9.75.bb7
-rw-r--r--meta/recipes-support/nettle/nettle_3.8.1.bb (renamed from meta/recipes-support/nettle/nettle_3.8.bb)2
-rw-r--r--meta/recipes-support/pinentry/pinentry_1.2.0.bb3
-rw-r--r--meta/recipes-support/rng-tools/rng-tools/rng-tools.service6
-rw-r--r--meta/recipes-support/sqlite/sqlite3_3.39.2.bb (renamed from meta/recipes-support/sqlite/sqlite3_3.39.1.bb)2
-rw-r--r--meta/recipes-support/vim/vim.inc4
-rwxr-xr-xscripts/autobuilder-worker-prereq-tests2
-rwxr-xr-xscripts/bitbake-prserv-tool2
-rwxr-xr-xscripts/bitbake-whatchanged4
-rwxr-xr-xscripts/combo-layer-hook-default.sh2
-rwxr-xr-xscripts/contrib/ddimage2
-rwxr-xr-xscripts/contrib/dialog-power-control2
-rwxr-xr-xscripts/contrib/documentation-audit.sh2
-rwxr-xr-xscripts/contrib/patchreview.py2
-rwxr-xr-xscripts/contrib/test_build_time_worker.sh2
-rwxr-xr-xscripts/contrib/verify-homepage.py2
-rwxr-xr-xscripts/cp-noerror2
-rwxr-xr-xscripts/gen-lockedsig-cache3
-rwxr-xr-xscripts/git4
-rw-r--r--scripts/lib/argparse_oe.py2
-rw-r--r--scripts/lib/devtool/menuconfig.py2
-rw-r--r--scripts/lib/devtool/standard.py16
-rw-r--r--scripts/lib/recipetool/create_buildsys_python.py2
-rw-r--r--scripts/lib/wic/ksparser.py2
-rw-r--r--scripts/lib/wic/plugins/source/bootimg-partition.py2
-rw-r--r--scripts/lib/wic/plugins/source/empty.py2
-rw-r--r--scripts/lib/wic/plugins/source/isoimage-isohybrid.py2
-rw-r--r--scripts/lib/wic/plugins/source/rawcopy.py6
-rwxr-xr-xscripts/oe-debuginfod2
-rwxr-xr-xscripts/oe-gnome-terminal-phonehome2
-rwxr-xr-xscripts/oe-pkgdata-browser5
-rwxr-xr-xscripts/oe-pylint2
-rwxr-xr-xscripts/oe-setup-layers85
-rwxr-xr-xscripts/oe-time-dd-test.sh4
-rwxr-xr-xscripts/oe-trim-schemas2
-rwxr-xr-xscripts/oepydevshell-internal.py2
-rwxr-xr-xscripts/pythondeps2
-rwxr-xr-xscripts/sstate-diff-machines.sh2
-rwxr-xr-xscripts/sstate-sysroot-cruft.sh2
-rwxr-xr-xscripts/sysroot-relativelinks.py2
-rwxr-xr-xscripts/task-time2
-rwxr-xr-xscripts/verify-bashisms2
871 files changed, 17714 insertions, 5365 deletions
diff --git a/meta-selftest/recipes-test/testrpm/files/testfile.txt b/meta-selftest/recipes-test/testrpm/files/testfile.txt
new file mode 100644
index 0000000000..c4d7630c1e
--- /dev/null
+++ b/meta-selftest/recipes-test/testrpm/files/testfile.txt
@@ -0,0 +1 @@
+== This file serves the purposes of SRC_URI only
diff --git a/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb b/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb
new file mode 100644
index 0000000000..5e8761ab55
--- /dev/null
+++ b/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Test recipe for testing rpm generated by oe-core"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+SRC_URI = "file://testfile.txt"
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_compile(){
+ echo "testdata" > ${B}/"file with [brackets].txt"
+ echo "testdata" > ${B}/"file with (parentheses).txt"
+}
+
+do_install(){
+ install ${B}/* ${D}/
+}
+
+FILES:${PN} = "*"
diff --git a/meta-skeleton/recipes-kernel/hello-mod/files/hello.c b/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
index 6b73a79524..4f73455d20 100644
--- a/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
+++ b/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
@@ -2,18 +2,7 @@
*
* Copyright (C) 2011 Intel Corporation. All rights reserved.
*
- * This program 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; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * SPDX-License-Identifier: GPL-2.0-only
*
*****************************************************************************/
diff --git a/meta-skeleton/recipes-skeleton/service/service_0.1.bb b/meta-skeleton/recipes-skeleton/service/service_0.1.bb
index d1d8c5f365..912f6b0f61 100644
--- a/meta-skeleton/recipes-skeleton/service/service_0.1.bb
+++ b/meta-skeleton/recipes-skeleton/service/service_0.1.bb
@@ -9,6 +9,8 @@ SRC_URI = "file://skeleton \
file://COPYRIGHT \
"
+S = "${WORKDIR}"
+
do_compile () {
${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/skeleton_test.c -o ${WORKDIR}/skeleton-test
}
diff --git a/meta/classes/base.bbclass b/meta/classes-global/base.bbclass
index 571b6754f2..8203f54519 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes-global/base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
BB_DEFAULT_TASK ?= "build"
CLASSOVERRIDE ?= "class-target"
diff --git a/meta/classes/buildstats.bbclass b/meta/classes-global/buildstats.bbclass
index 132ecaa98b..f49a67aa4f 100644
--- a/meta/classes/buildstats.bbclass
+++ b/meta/classes-global/buildstats.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
BUILDSTATS_BASE = "${TMPDIR}/buildstats/"
################################################################################
diff --git a/meta/classes/debian.bbclass b/meta/classes-global/debian.bbclass
index 8367be9f37..7135d74837 100644
--- a/meta/classes/debian.bbclass
+++ b/meta/classes-global/debian.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Debian package renaming only occurs when a package is built
# We therefore have to make sure we build all runtime packages
# before building the current package to make the packages runtime
diff --git a/meta/classes/devshell.bbclass b/meta/classes-global/devshell.bbclass
index 247d04478c..03af56b7a2 100644
--- a/meta/classes/devshell.bbclass
+++ b/meta/classes-global/devshell.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit terminal
DEVSHELL = "${SHELL}"
diff --git a/meta/classes/insane.bbclass b/meta/classes-global/insane.bbclass
index c8b434bb54..db34b4bdb5 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes-global/insane.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# BB Class inspired by ebuild.sh
#
# This class will test files after installation for certain
@@ -1208,11 +1214,12 @@ python do_qa_patch() {
import re
from oe import patch
+ coremeta_path = os.path.join(d.getVar('COREBASE'), 'meta', '')
for url in patch.src_patches(d):
(_, _, fullpath, _, _, _) = bb.fetch.decodeurl(url)
# skip patches not in oe-core
- if '/meta/' not in fullpath:
+ if not os.path.abspath(fullpath).startswith(coremeta_path):
continue
kinda_status_re = re.compile(r"^.*upstream.*status.*$", re.IGNORECASE | re.MULTILINE)
@@ -1419,7 +1426,7 @@ python () {
if bb.data.inherits_class(native_class, d):
inherited_classes = d.getVar('__inherit_cache', False) or []
- needle = os.path.join('classes', native_class)
+ needle = "/" + native_class
bbclassextend = (d.getVar('BBCLASSEXTEND') or '').split()
# BBCLASSEXTEND items are always added in the end
@@ -1432,7 +1439,7 @@ python () {
for class_item in reversed(inherited_classes):
if needle not in class_item:
for extend_item in skip_classes:
- if os.path.join('classes', '%s.bbclass' % extend_item) in class_item:
+ if '/%s.bbclass' % extend_item in class_item:
break
else:
pn = d.getVar('PN')
diff --git a/meta/classes/license.bbclass b/meta/classes-global/license.bbclass
index 4ebfc4fb92..560acb8b6f 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes-global/license.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Populates LICENSE_DIRECTORY as set in distro config with the license files as set by
# LIC_FILES_CHKSUM.
# TODO:
diff --git a/meta/classes/logging.bbclass b/meta/classes-global/logging.bbclass
index a0c94e98c7..ce03abfe42 100644
--- a/meta/classes/logging.bbclass
+++ b/meta/classes-global/logging.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The following logging mechanisms are to be used in bash functions of recipes.
# They are intended to map one to one in intention and output format with the
# python recipe logging functions of a similar naming convention: bb.plain(),
diff --git a/meta/classes/mirrors.bbclass b/meta/classes-global/mirrors.bbclass
index ffdccff5fb..9643b31a23 100644
--- a/meta/classes/mirrors.bbclass
+++ b/meta/classes-global/mirrors.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
MIRRORS += "\
${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian/20180310T215105Z/pool \
${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool \
diff --git a/meta/classes/package.bbclass b/meta/classes-global/package.bbclass
index 97e97d2703..2d985d8aff 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes-global/package.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Packaging process
#
# Executive summary: This class iterates over the functions listed in PACKAGEFUNCS
@@ -559,26 +565,16 @@ def copydebugsources(debugsrcdir, sources, d):
objcopy = d.getVar("OBJCOPY")
workdir = d.getVar("WORKDIR")
sdir = d.getVar("S")
- sparentdir = os.path.dirname(os.path.dirname(sdir))
- sbasedir = os.path.basename(os.path.dirname(sdir)) + "/" + os.path.basename(sdir)
- workparentdir = os.path.dirname(os.path.dirname(workdir))
- workbasedir = os.path.basename(os.path.dirname(workdir)) + "/" + os.path.basename(workdir)
-
- # If S isnt based on WORKDIR we can infer our sources are located elsewhere,
- # e.g. using externalsrc; use S as base for our dirs
- if workdir in sdir or 'work-shared' in sdir:
- basedir = workbasedir
- parentdir = workparentdir
- else:
- basedir = sbasedir
- parentdir = sparentdir
+ cflags = d.expand("${CFLAGS}")
- # If build path exists in sourcefile, it means toolchain did not use
- # -fdebug-prefix-map to compile
- if checkbuildpath(sourcefile, d):
- localsrc_prefix = parentdir + "/"
- else:
- localsrc_prefix = "/usr/src/debug/"
+ prefixmap = {}
+ for flag in cflags.split():
+ if not flag.startswith("-fdebug-prefix-map"):
+ continue
+ if "recipe-sysroot" in flag:
+ continue
+ flag = flag.split("=")
+ prefixmap[flag[1]] = flag[2]
nosuchdir = []
basepath = dvar
@@ -589,28 +585,26 @@ def copydebugsources(debugsrcdir, sources, d):
bb.utils.mkdirhier(basepath)
cpath.updatecache(basepath)
- # Ignore files from the recipe sysroots (target and native)
- processdebugsrc = "LC_ALL=C ; sort -z -u '%s' | egrep -v -z '((<internal>|<built-in>)$|/.*recipe-sysroot.*/)' | "
- # We need to ignore files that are not actually ours
- # we do this by only paying attention to items from this package
- processdebugsrc += "fgrep -zw '%s' | "
- # Remove prefix in the source paths
- processdebugsrc += "sed 's#%s##g' | "
- processdebugsrc += "(cd '%s' ; cpio -pd0mlL --no-preserve-owner '%s%s' 2>/dev/null)"
-
- cmd = processdebugsrc % (sourcefile, basedir, localsrc_prefix, parentdir, dvar, debugsrcdir)
- try:
- subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
- except subprocess.CalledProcessError:
- # Can "fail" if internal headers/transient sources are attempted
- pass
-
- # cpio seems to have a bug with -lL together and symbolic links are just copied, not dereferenced.
- # Work around this by manually finding and copying any symbolic links that made it through.
- cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s')" % \
- (dvar, debugsrcdir, dvar, debugsrcdir, parentdir, dvar, debugsrcdir)
- subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
+ for pmap in prefixmap:
+ # Ignore files from the recipe sysroots (target and native)
+ cmd = "LC_ALL=C ; sort -z -u '%s' | egrep -v -z '((<internal>|<built-in>)$|/.*recipe-sysroot.*/)' | " % sourcefile
+ # We need to ignore files that are not actually ours
+ # we do this by only paying attention to items from this package
+ cmd += "fgrep -zw '%s' | " % prefixmap[pmap]
+ # Remove prefix in the source paths
+ cmd += "sed 's#%s/##g' | " % (prefixmap[pmap])
+ cmd += "(cd '%s' ; cpio -pd0mlL --no-preserve-owner '%s%s' 2>/dev/null)" % (pmap, dvar, prefixmap[pmap])
+ try:
+ subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
+ except subprocess.CalledProcessError:
+ # Can "fail" if internal headers/transient sources are attempted
+ pass
+ # cpio seems to have a bug with -lL together and symbolic links are just copied, not dereferenced.
+ # Work around this by manually finding and copying any symbolic links that made it through.
+ cmd = "find %s%s -type l -print0 -delete | sed s#%s%s/##g | (cd '%s' ; cpio -pd0mL --no-preserve-owner '%s%s')" % \
+ (dvar, prefixmap[pmap], dvar, prefixmap[pmap], pmap, dvar, prefixmap[pmap])
+ subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
# debugsources.list may be polluted from the host if we used externalsrc,
# cpio uses copy-pass and may have just created a directory structure
diff --git a/meta/classes/package_deb.bbclass b/meta/classes-global/package_deb.bbclass
index a9b8ba0118..ec7e10dbc9 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes-global/package_deb.bbclass
@@ -1,6 +1,8 @@
#
# Copyright 2006-2008 OpenedHand Ltd.
#
+# SPDX-License-Identifier: MIT
+#
inherit package
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes-global/package_ipk.bbclass
index 9fe3c52fae..c43592af7e 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes-global/package_ipk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit package
IMAGE_PKGTYPE ?= "ipk"
diff --git a/meta/classes/package_pkgdata.bbclass b/meta/classes-global/package_pkgdata.bbclass
index a1ea8fc041..f653bd9240 100644
--- a/meta/classes/package_pkgdata.bbclass
+++ b/meta/classes-global/package_pkgdata.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
WORKDIR_PKGDATA = "${WORKDIR}/pkgdata-sysroot"
def package_populate_pkgdata_dir(pkgdatadir, d):
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass
index e9ff1f7e65..81a2060b68 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes-global/package_rpm.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit package
IMAGE_PKGTYPE ?= "rpm"
@@ -193,8 +199,6 @@ python write_specfile () {
if path.endswith("DEBIAN") or path.endswith("CONTROL"):
continue
path = path.replace("%", "%%%%%%%%")
- path = path.replace("[", "?")
- path = path.replace("]", "?")
# Treat all symlinks to directories as normal files.
# os.walk() lists them as directories.
@@ -214,8 +218,6 @@ python write_specfile () {
if dir == "CONTROL" or dir == "DEBIAN":
continue
dir = dir.replace("%", "%%%%%%%%")
- dir = dir.replace("[", "?")
- dir = dir.replace("]", "?")
# All packages own the directories their files are in...
target.append('%dir "' + path + '/' + dir + '"')
else:
@@ -230,8 +232,6 @@ python write_specfile () {
if file == "CONTROL" or file == "DEBIAN":
continue
file = file.replace("%", "%%%%%%%%")
- file = file.replace("[", "?")
- file = file.replace("]", "?")
if conffiles.count(path + '/' + file):
target.append('%config "' + path + '/' + file + '"')
else:
diff --git a/meta/classes/package_tar.bbclass b/meta/classes-global/package_tar.bbclass
index d6c1b306fc..de995f9747 100644
--- a/meta/classes/package_tar.bbclass
+++ b/meta/classes-global/package_tar.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit package
IMAGE_PKGTYPE ?= "tar"
diff --git a/meta/classes/packagedata.bbclass b/meta/classes-global/packagedata.bbclass
index c2760e2bf0..9f72c01d77 100644
--- a/meta/classes/packagedata.bbclass
+++ b/meta/classes-global/packagedata.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python read_subpackage_metadata () {
import oe.packagedata
diff --git a/meta/classes/patch.bbclass b/meta/classes-global/patch.bbclass
index 8de7025491..e3157c7b18 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes-global/patch.bbclass
@@ -1,4 +1,6 @@
# Copyright (C) 2006 OpenedHand LTD
+#
+# SPDX-License-Identifier: MIT
# Point to an empty file so any user's custom settings don't break things
QUILTRCFILE ?= "${STAGING_ETCDIR_NATIVE}/quiltrc"
diff --git a/meta/classes/sanity.bbclass b/meta/classes-global/sanity.bbclass
index b1fac107d5..4a403a2590 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes-global/sanity.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Sanity check the users setup for common misconfigurations
#
@@ -351,6 +357,7 @@ def check_connectivity(d):
if len(msg) == 0:
msg = "%s.\n" % err
msg += " Please ensure your host's network is configured correctly.\n"
+ msg += " Please ensure CONNECTIVITY_CHECK_URIS is correct and specified URIs are available.\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.example.com/\""
diff --git a/meta/classes/sstate.bbclass b/meta/classes-global/sstate.bbclass
index 0aa901fe89..cd77c58dbf 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes-global/sstate.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
SSTATE_VERSION = "10"
SSTATE_ZSTD_CLEVEL ??= "8"
diff --git a/meta/classes/staging.bbclass b/meta/classes-global/staging.bbclass
index bf8ca58b0b..5a1f43de78 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes-global/staging.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# These directories will be staged in the sysroot
SYSROOT_DIRS = " \
${includedir} \
diff --git a/meta/classes/uninative.bbclass b/meta/classes-global/uninative.bbclass
index 6a9e862bcd..42c5f8fdf2 100644
--- a/meta/classes/uninative.bbclass
+++ b/meta/classes-global/uninative.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
UNINATIVE_LOADER ?= "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/${@bb.utils.contains('BUILD_ARCH', 'x86_64', 'ld-linux-x86-64.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'i686', 'ld-linux.so.2', '', d)}${@bb.utils.contains('BUILD_ARCH', 'aarch64', 'ld-linux-aarch64.so.1', '', d)}${@bb.utils.contains('BUILD_ARCH', 'ppc64le', 'ld64.so.2', '', d)}"
UNINATIVE_STAGING_DIR ?= "${STAGING_DIR}"
@@ -167,5 +173,7 @@ python uninative_changeinterp () {
if not elf.isDynamic():
continue
+ os.chmod(f, s[stat.ST_MODE] | stat.S_IWUSR)
subprocess.check_output(("patchelf-uninative", "--set-interpreter", d.getVar("UNINATIVE_LOADER"), f), stderr=subprocess.STDOUT)
+ os.chmod(f, s[stat.ST_MODE])
}
diff --git a/meta/classes/utility-tasks.bbclass b/meta/classes-global/utility-tasks.bbclass
index 0466325c13..ae2da330b8 100644
--- a/meta/classes/utility-tasks.bbclass
+++ b/meta/classes-global/utility-tasks.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
addtask listtasks
do_listtasks[nostamp] = "1"
python do_listtasks() {
diff --git a/meta/classes/utils.bbclass b/meta/classes-global/utils.bbclass
index e6f7f95d80..8d797ff126 100644
--- a/meta/classes/utils.bbclass
+++ b/meta/classes-global/utils.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
oe_soinstall() {
# Purpose: Install shared library file and
diff --git a/meta/classes/allarch.bbclass b/meta/classes-recipe/allarch.bbclass
index a766a654a9..9138f40ed8 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes-recipe/allarch.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class is used for architecture independent recipes/data files (usually scripts)
#
diff --git a/meta/classes/autotools-brokensep.bbclass b/meta/classes-recipe/autotools-brokensep.bbclass
index 71cf97a391..a0fb4b7b50 100644
--- a/meta/classes/autotools-brokensep.bbclass
+++ b/meta/classes-recipe/autotools-brokensep.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Autotools class for recipes where separate build dir doesn't work
# Ideally we should fix software so it does work. Standard autotools supports
# this.
diff --git a/meta/classes/autotools.bbclass b/meta/classes-recipe/autotools.bbclass
index 4ab2460990..a4c1c4be41 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes-recipe/autotools.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def get_autotools_dep(d):
if d.getVar('INHIBIT_AUTOTOOLS_DEPS'):
return ''
diff --git a/meta/classes/baremetal-image.bbclass b/meta/classes-recipe/baremetal-image.bbclass
index cb9e250350..3a979f2ed1 100644
--- a/meta/classes/baremetal-image.bbclass
+++ b/meta/classes-recipe/baremetal-image.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Baremetal image class
#
# This class is meant to be inherited by recipes for baremetal/RTOS applications
diff --git a/meta/classes/bash-completion.bbclass b/meta/classes-recipe/bash-completion.bbclass
index 803b2cae4d..b656e76c09 100644
--- a/meta/classes/bash-completion.bbclass
+++ b/meta/classes-recipe/bash-completion.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPENDS:append:class-target = " bash-completion"
PACKAGES += "${PN}-bash-completion"
diff --git a/meta/classes/bin_package.bbclass b/meta/classes-recipe/bin_package.bbclass
index f0407e1329..3a1befc29c 100644
--- a/meta/classes/bin_package.bbclass
+++ b/meta/classes-recipe/bin_package.bbclass
@@ -1,7 +1,9 @@
#
-# ex:ts=4:sw=4:sts=4:et
-# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+# Copyright OpenEmbedded Contributors
#
+# SPDX-License-Identifier: MIT
+#
+
# Common variable and task for the binary package recipe.
# Basic principle:
# * The files have been unpacked to ${S} by base.bbclass
diff --git a/meta/classes/binconfig-disabled.bbclass b/meta/classes-recipe/binconfig-disabled.bbclass
index e8ac41b2d4..cbe2078e0f 100644
--- a/meta/classes/binconfig-disabled.bbclass
+++ b/meta/classes-recipe/binconfig-disabled.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Class to disable binconfig files instead of installing them
#
diff --git a/meta/classes/binconfig.bbclass b/meta/classes-recipe/binconfig.bbclass
index 6e0c88269a..427dba7f1f 100644
--- a/meta/classes/binconfig.bbclass
+++ b/meta/classes-recipe/binconfig.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
FILES:${PN}-dev += "${bindir}/*-config"
# The namespaces can clash here hence the two step replace
diff --git a/meta/classes/cargo.bbclass b/meta/classes-recipe/cargo.bbclass
index 4a780a501f..d1e83518b5 100644
--- a/meta/classes/cargo.bbclass
+++ b/meta/classes-recipe/cargo.bbclass
@@ -1,9 +1,16 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
##
## Purpose:
## This class is used by any recipes that are built using
## Cargo.
inherit cargo_common
+inherit rust-target-config
# the binary we will use
CARGO = "cargo"
@@ -12,8 +19,8 @@ CARGO = "cargo"
BASEDEPENDS:append = " cargo-native"
# Ensure we get the right rust variant
-DEPENDS:append:class-target = " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
-DEPENDS:append:class-nativesdk = " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
+DEPENDS:append:class-target = " rust-native ${RUSTLIB_DEP}"
+DEPENDS:append:class-nativesdk = " rust-native ${RUSTLIB_DEP}"
DEPENDS:append:class-native = " rust-native"
# Enable build separation
@@ -32,15 +39,15 @@ MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
RUSTFLAGS ??= ""
BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
-CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} ${BUILD_MODE} --manifest-path=${MANIFEST_PATH}"
+CARGO_BUILD_FLAGS = "-v --target ${RUST_HOST_SYS} ${BUILD_MODE} --manifest-path=${MANIFEST_PATH}"
# This is based on the content of CARGO_BUILD_FLAGS and generally will need to
# change if CARGO_BUILD_FLAGS changes.
BUILD_DIR = "${@['release', 'debug'][d.getVar('DEBUG_BUILD') == '1']}"
-CARGO_TARGET_SUBDIR="${HOST_SYS}/${BUILD_DIR}"
+CARGO_TARGET_SUBDIR="${RUST_HOST_SYS}/${BUILD_DIR}"
oe_cargo_build () {
export RUSTFLAGS="${RUSTFLAGS}"
- export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
+ bbnote "Using rust targets from ${RUST_TARGET_PATH}"
bbnote "cargo = $(which ${CARGO})"
bbnote "rustc = $(which ${RUSTC})"
bbnote "${CARGO} build ${CARGO_BUILD_FLAGS} $@"
diff --git a/meta/classes/cargo_common.bbclass b/meta/classes-recipe/cargo_common.bbclass
index 39f32829fd..dea0fbe2f6 100644
--- a/meta/classes/cargo_common.bbclass
+++ b/meta/classes-recipe/cargo_common.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
##
## Purpose:
## This class is to support building with cargo. It
@@ -69,19 +75,28 @@ cargo_common_do_configure () {
cat <<- EOF >> ${CARGO_HOME}/config
# HOST_SYS
- [target.${HOST_SYS}]
+ [target.${RUST_HOST_SYS}]
linker = "${CARGO_RUST_TARGET_CCLD}"
EOF
- if [ "${HOST_SYS}" != "${BUILD_SYS}" ]; then
+ if [ "${RUST_HOST_SYS}" != "${RUST_BUILD_SYS}" ]; then
cat <<- EOF >> ${CARGO_HOME}/config
# BUILD_SYS
- [target.${BUILD_SYS}]
+ [target.${RUST_BUILD_SYS}]
linker = "${RUST_BUILD_CCLD}"
EOF
fi
+ if [ "${RUST_TARGET_SYS}" != "${RUST_BUILD_SYS}" -a "${RUST_TARGET_SYS}" != "${RUST_HOST_SYS}" ]; then
+ cat <<- EOF >> ${CARGO_HOME}/config
+
+ # TARGET_SYS
+ [target.${RUST_TARGET_SYS}]
+ linker = "${RUST_TARGET_CCLD}"
+ EOF
+ fi
+
# Put build output in build directory preferred by bitbake instead of
# inside source directory unless they are the same
if [ "${B}" != "${S}" ]; then
diff --git a/meta/classes/cmake.bbclass b/meta/classes-recipe/cmake.bbclass
index d9bcddbdbb..554b948c32 100644
--- a/meta/classes/cmake.bbclass
+++ b/meta/classes-recipe/cmake.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Path to the CMake file to process.
OECMAKE_SOURCEPATH ??= "${S}"
diff --git a/meta/classes/cml1.bbclass b/meta/classes-recipe/cml1.bbclass
index d319d66ab2..b79091383d 100644
--- a/meta/classes/cml1.bbclass
+++ b/meta/classes-recipe/cml1.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# returns all the elements from the src uri that are .cfg files
def find_cfgs(d):
sources=src_patches(d, True)
diff --git a/meta/classes/compress_doc.bbclass b/meta/classes-recipe/compress_doc.bbclass
index 379b6c169e..d603caf858 100644
--- a/meta/classes/compress_doc.bbclass
+++ b/meta/classes-recipe/compress_doc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Compress man pages in ${mandir} and info pages in ${infodir}
#
# 1. The doc will be compressed to gz format by default.
diff --git a/meta/classes/core-image.bbclass b/meta/classes-recipe/core-image.bbclass
index 6764035729..4b5f2c99c4 100644
--- a/meta/classes/core-image.bbclass
+++ b/meta/classes-recipe/core-image.bbclass
@@ -1,6 +1,8 @@
# Common code for generating core reference images
#
# Copyright (C) 2007-2011 Linux Foundation
+#
+# SPDX-License-Identifier: MIT
# IMAGE_FEATURES control content of the core reference images
#
diff --git a/meta/classes/cpan-base.bbclass b/meta/classes-recipe/cpan-base.bbclass
index 93d11e1bee..1db0a4ded6 100644
--- a/meta/classes/cpan-base.bbclass
+++ b/meta/classes-recipe/cpan-base.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# cpan-base providers various perl related information needed for building
# cpan modules
#
diff --git a/meta/classes/cpan.bbclass b/meta/classes-recipe/cpan.bbclass
index 18f1b9d575..bb76a5b326 100644
--- a/meta/classes/cpan.bbclass
+++ b/meta/classes-recipe/cpan.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This is for perl modules that use the old Makefile.PL build system
#
inherit cpan-base perlnative
diff --git a/meta/classes/cpan_build.bbclass b/meta/classes-recipe/cpan_build.bbclass
index f3fb4666ef..026859b6c7 100644
--- a/meta/classes/cpan_build.bbclass
+++ b/meta/classes-recipe/cpan_build.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This is for perl modules that use the new Build.PL build system
#
inherit cpan-base perlnative
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes-recipe/cross-canadian.bbclass
index 686646357c..1670217d69 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes-recipe/cross-canadian.bbclass
@@ -1,4 +1,8 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
# NOTE - When using this class the user is responsible for ensuring that
# TRANSLATED_TARGET_ARCH is added into PN. This ensures that if the TARGET_ARCH
# is changed, another nativesdk xxx-canadian-cross can be installed
@@ -104,7 +108,7 @@ INHIBIT_DEFAULT_DEPS = "1"
STAGING_DIR_HOST = "${RECIPE_SYSROOT}"
-TOOLCHAIN_OPTIONS = "--sysroot=${RECIPE_SYSROOT}"
+TOOLCHAIN_OPTIONS = " --sysroot=${RECIPE_SYSROOT}"
PATH:append = ":${TMPDIR}/sysroots/${HOST_ARCH}/${bindir_cross}"
PKGHIST_DIR = "${TMPDIR}/pkghistory/${HOST_ARCH}-${SDKPKGSUFFIX}${HOST_VENDOR}-${HOST_OS}/"
diff --git a/meta/classes/cross.bbclass b/meta/classes-recipe/cross.bbclass
index 9d951076a7..93de9a5274 100644
--- a/meta/classes/cross.bbclass
+++ b/meta/classes-recipe/cross.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit relocatable
# Cross packages are built indirectly via dependency,
diff --git a/meta/classes/crosssdk.bbclass b/meta/classes-recipe/crosssdk.bbclass
index 04aecb694e..824b1bcff4 100644
--- a/meta/classes/crosssdk.bbclass
+++ b/meta/classes-recipe/crosssdk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit cross
CLASSOVERRIDE = "class-crosssdk"
diff --git a/meta/classes/deploy.bbclass b/meta/classes-recipe/deploy.bbclass
index 7fbffe996b..f56fe98d6d 100644
--- a/meta/classes/deploy.bbclass
+++ b/meta/classes-recipe/deploy.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
SSTATETASKS += "do_deploy"
do_deploy[sstate-inputdirs] = "${DEPLOYDIR}"
diff --git a/meta/classes/devicetree.bbclass b/meta/classes-recipe/devicetree.bbclass
index 2a62ae7bc8..ac1d284ccd 100644
--- a/meta/classes/devicetree.bbclass
+++ b/meta/classes-recipe/devicetree.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This bbclass implements device tree compliation for user provided device tree
# sources. The compilation of the device tree sources is the same as the kernel
# device tree compilation process, this includes being able to include sources
diff --git a/meta/classes/devupstream.bbclass b/meta/classes-recipe/devupstream.bbclass
index ba6dc4136c..1529cc8fca 100644
--- a/meta/classes/devupstream.bbclass
+++ b/meta/classes-recipe/devupstream.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for use in BBCLASSEXTEND to make it easier to have a single recipe that
# can build both stable tarballs and snapshots from upstream source
# repositories.
diff --git a/meta/classes/distro_features_check.bbclass b/meta/classes-recipe/distro_features_check.bbclass
index 8124a8ca27..1f2674fd6e 100644
--- a/meta/classes/distro_features_check.bbclass
+++ b/meta/classes-recipe/distro_features_check.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Temporarily provide fallback to the old name of the class
python __anonymous() {
diff --git a/meta/classes/dos2unix.bbclass b/meta/classes-recipe/dos2unix.bbclass
index 3fc17e2196..18e89b1cf2 100644
--- a/meta/classes/dos2unix.bbclass
+++ b/meta/classes-recipe/dos2unix.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for use to convert all CRLF line terminators to LF
# provided that some projects are being developed/maintained
# on Windows so they have different line terminators(CRLF) vs
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes-recipe/externalsrc.bbclass
index 90792a737b..51dbe9ea5a 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes-recipe/externalsrc.bbclass
@@ -2,7 +2,8 @@
# Author: Richard Purdie
# Some code and influence taken from srctree.bbclass:
# Copyright (C) 2009 Chris Larson <clarson@kergoth.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
+#
+# SPDX-License-Identifier: MIT
#
# externalsrc.bbclass enables use of an existing source tree, usually external to
# the build system to build a piece of software rather than the usual fetch/unpack/patch
diff --git a/meta/classes/features_check.bbclass b/meta/classes-recipe/features_check.bbclass
index 3ef6b35baa..163a7bc3fc 100644
--- a/meta/classes/features_check.bbclass
+++ b/meta/classes-recipe/features_check.bbclass
@@ -11,6 +11,9 @@
#
# Copyright 2019 (C) Texas Instruments Inc.
# Copyright 2013 (C) O.S. Systems Software LTDA.
+#
+# SPDX-License-Identifier: MIT
+
python () {
if d.getVar('PARSE_ALL_RECIPES', False):
diff --git a/meta/classes/fontcache.bbclass b/meta/classes-recipe/fontcache.bbclass
index 442bfc7392..0d496b72dd 100644
--- a/meta/classes/fontcache.bbclass
+++ b/meta/classes-recipe/fontcache.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class will generate the proper postinst/postrm scriptlets for font
# packages.
#
diff --git a/meta/classes/fs-uuid.bbclass b/meta/classes-recipe/fs-uuid.bbclass
index 9b53dfba7a..a9e7eb8c67 100644
--- a/meta/classes/fs-uuid.bbclass
+++ b/meta/classes-recipe/fs-uuid.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Extract UUID from ${ROOTFS}, which must have been built
# by the time that this function gets called. Only works
# on ext file systems and depends on tune2fs.
diff --git a/meta/classes/gconf.bbclass b/meta/classes-recipe/gconf.bbclass
index 9d3668edd3..b81851bc78 100644
--- a/meta/classes/gconf.bbclass
+++ b/meta/classes-recipe/gconf.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPENDS += "gconf"
PACKAGE_WRITE_DEPS += "gconf-native"
diff --git a/meta/classes/gettext.bbclass b/meta/classes-recipe/gettext.bbclass
index f11cb04456..c313885d52 100644
--- a/meta/classes/gettext.bbclass
+++ b/meta/classes-recipe/gettext.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def gettext_dependencies(d):
if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
return ""
diff --git a/meta/classes/gi-docgen.bbclass b/meta/classes-recipe/gi-docgen.bbclass
index 15581ca127..8b7eaacea3 100644
--- a/meta/classes/gi-docgen.bbclass
+++ b/meta/classes-recipe/gi-docgen.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# gi-docgen is a new gnome documentation generator, which
# seems to be a successor to gtk-doc:
# https://gitlab.gnome.org/GNOME/gi-docgen
diff --git a/meta/classes/gio-module-cache.bbclass b/meta/classes-recipe/gio-module-cache.bbclass
index 021eeb1cf8..d12e03c4a0 100644
--- a/meta/classes/gio-module-cache.bbclass
+++ b/meta/classes-recipe/gio-module-cache.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PACKAGE_WRITE_DEPS += "qemu-native"
inherit qemu
diff --git a/meta/classes/glide.bbclass b/meta/classes-recipe/glide.bbclass
index 2db4ac6846..21b48fa4e0 100644
--- a/meta/classes/glide.bbclass
+++ b/meta/classes-recipe/glide.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Handle Glide Vendor Package Management use
#
# Copyright 2018 (C) O.S. Systems Software LTDA.
diff --git a/meta/classes/gnomebase.bbclass b/meta/classes-recipe/gnomebase.bbclass
index 9a5bd9a232..805daafa40 100644
--- a/meta/classes/gnomebase.bbclass
+++ b/meta/classes-recipe/gnomebase.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def gnome_verdir(v):
return ".".join(v.split(".")[:-1])
diff --git a/meta/classes/go-mod.bbclass b/meta/classes-recipe/go-mod.bbclass
index 674d2434e0..927746a338 100644
--- a/meta/classes/go-mod.bbclass
+++ b/meta/classes-recipe/go-mod.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Handle Go Modules support
#
# When using Go Modules, the the current working directory MUST be at or below
diff --git a/meta/classes/go-ptest.bbclass b/meta/classes-recipe/go-ptest.bbclass
index b282ff7374..54fcbb535d 100644
--- a/meta/classes/go-ptest.bbclass
+++ b/meta/classes-recipe/go-ptest.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit go ptest
do_compile_ptest_base() {
diff --git a/meta/classes/go.bbclass b/meta/classes-recipe/go.bbclass
index c6b38bd294..6b9748406d 100644
--- a/meta/classes/go.bbclass
+++ b/meta/classes-recipe/go.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit goarch
inherit linuxloader
@@ -40,7 +46,7 @@ GO_RPATH_LINK = "${@'-Wl,-rpath-link=${STAGING_DIR_TARGET}${libdir}/go/pkg/${TAR
GO_RPATH = "${@'-r ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
GO_RPATH:class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
GO_RPATH_LINK:class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
-GO_EXTLDFLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}"
+GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}"
GO_LINKMODE ?= ""
GO_LINKMODE:class-nativesdk = "--linkmode=external"
GO_LINKMODE:class-native = "--linkmode=external"
diff --git a/meta/classes/goarch.bbclass b/meta/classes-recipe/goarch.bbclass
index 92fec16b82..61ead30a63 100644
--- a/meta/classes/goarch.bbclass
+++ b/meta/classes-recipe/goarch.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
BUILD_GOOS = "${@go_map_os(d.getVar('BUILD_OS'), d)}"
BUILD_GOARCH = "${@go_map_arch(d.getVar('BUILD_ARCH'), d)}"
BUILD_GOTUPLE = "${BUILD_GOOS}_${BUILD_GOARCH}"
diff --git a/meta/classes/gobject-introspection-data.bbclass b/meta/classes-recipe/gobject-introspection-data.bbclass
index d90cdb4839..7f522a1ed3 100644
--- a/meta/classes/gobject-introspection-data.bbclass
+++ b/meta/classes-recipe/gobject-introspection-data.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This variable is set to True if gobject-introspection-data is in
# DISTRO_FEATURES and qemu-usermode is in MACHINE_FEATURES, and False otherwise.
#
diff --git a/meta/classes/gobject-introspection.bbclass b/meta/classes-recipe/gobject-introspection.bbclass
index 7bf9feb0d6..0c7b7d200a 100644
--- a/meta/classes/gobject-introspection.bbclass
+++ b/meta/classes-recipe/gobject-introspection.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Inherit this class in recipes to enable building their introspection files
# python3native is inherited to prevent introspection tools being run with
diff --git a/meta/classes/grub-efi-cfg.bbclass b/meta/classes-recipe/grub-efi-cfg.bbclass
index ea21b3de3d..52e85a3bb0 100644
--- a/meta/classes/grub-efi-cfg.bbclass
+++ b/meta/classes-recipe/grub-efi-cfg.bbclass
@@ -1,8 +1,7 @@
# grub-efi.bbclass
# Copyright (c) 2011, Intel Corporation.
-# All rights reserved.
#
-# Released under the MIT license (see packages/COPYING)
+# SPDX-License-Identifier: MIT
# Provide grub-efi specific functions for building bootable images.
diff --git a/meta/classes/grub-efi.bbclass b/meta/classes-recipe/grub-efi.bbclass
index 8fc6999e52..4afd12195f 100644
--- a/meta/classes/grub-efi.bbclass
+++ b/meta/classes-recipe/grub-efi.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit grub-efi-cfg
require conf/image-uefi.conf
diff --git a/meta/classes/gsettings.bbclass b/meta/classes-recipe/gsettings.bbclass
index 3fa5bd40b3..adb027ea0a 100644
--- a/meta/classes/gsettings.bbclass
+++ b/meta/classes-recipe/gsettings.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# A bbclass to handle installed GSettings (glib) schemas, updated the compiled
# form on package install and remove.
#
diff --git a/meta/classes/gtk-doc.bbclass b/meta/classes-recipe/gtk-doc.bbclass
index 07b46ac829..68fa2cc745 100644
--- a/meta/classes/gtk-doc.bbclass
+++ b/meta/classes-recipe/gtk-doc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Helper class to pull in the right gtk-doc dependencies and configure
# gtk-doc to enable or disable documentation building (which requries the
# use of usermode qemu).
diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes-recipe/gtk-icon-cache.bbclass
index 6808339b90..17c7eb7a33 100644
--- a/meta/classes/gtk-icon-cache.bbclass
+++ b/meta/classes-recipe/gtk-icon-cache.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
FILES:${PN} += "${datadir}/icons/hicolor"
GTKIC_VERSION ??= '3'
diff --git a/meta/classes/gtk-immodules-cache.bbclass b/meta/classes-recipe/gtk-immodules-cache.bbclass
index 2107517540..8fbe1dd1fb 100644
--- a/meta/classes/gtk-immodules-cache.bbclass
+++ b/meta/classes-recipe/gtk-immodules-cache.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class will update the inputmethod module cache for virtual keyboards
#
# Usage: Set GTKIMMODULES_PACKAGES to the packages that needs to update the inputmethod modules
diff --git a/meta/classes/image-artifact-names.bbclass b/meta/classes-recipe/image-artifact-names.bbclass
index f5769e520f..5c4e746b90 100644
--- a/meta/classes/image-artifact-names.bbclass
+++ b/meta/classes-recipe/image-artifact-names.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
##################################################################
# Specific image creation and rootfs population info.
##################################################################
diff --git a/meta/classes/image-combined-dbg.bbclass b/meta/classes-recipe/image-combined-dbg.bbclass
index e5dc61f857..dcf1968538 100644
--- a/meta/classes/image-combined-dbg.bbclass
+++ b/meta/classes-recipe/image-combined-dbg.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
IMAGE_PREPROCESS_COMMAND:append = " combine_dbg_image; "
combine_dbg_image () {
diff --git a/meta/classes/image-container.bbclass b/meta/classes-recipe/image-container.bbclass
index 3d1993576a..d24b030453 100644
--- a/meta/classes/image-container.bbclass
+++ b/meta/classes-recipe/image-container.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
ROOTFS_BOOTSTRAP_INSTALL = ""
IMAGE_TYPES_MASKED += "container"
IMAGE_TYPEDEP:container = "tar.bz2"
diff --git a/meta/classes/image-live.bbclass b/meta/classes-recipe/image-live.bbclass
index 2c948190cf..1034acc49e 100644
--- a/meta/classes/image-live.bbclass
+++ b/meta/classes-recipe/image-live.bbclass
@@ -1,5 +1,6 @@
-# Copyright (C) 2004, Advanced Micro Devices, Inc. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
+# Copyright (C) 2004, Advanced Micro Devices, Inc.
+#
+# SPDX-License-Identifier: MIT
# Creates a bootable image using syslinux, your kernel and an optional
# initrd
diff --git a/meta/classes/image-postinst-intercepts.bbclass b/meta/classes-recipe/image-postinst-intercepts.bbclass
index ed30bbd98d..fc15926384 100644
--- a/meta/classes/image-postinst-intercepts.bbclass
+++ b/meta/classes-recipe/image-postinst-intercepts.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Gather existing and candidate postinst intercepts from BBPATH
POSTINST_INTERCEPTS_DIR ?= "${COREBASE}/scripts/postinst-intercepts"
POSTINST_INTERCEPTS_PATHS ?= "${@':'.join('%s/postinst-intercepts' % p for p in '${BBPATH}'.split(':'))}:${POSTINST_INTERCEPTS_DIR}"
diff --git a/meta/classes/image.bbclass b/meta/classes-recipe/image.bbclass
index fe32cdefd5..e387645503 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes-recipe/image.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
IMAGE_CLASSES ??= ""
diff --git a/meta/classes/image_types.bbclass b/meta/classes-recipe/image_types.bbclass
index 0ffea91195..a731e585b2 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes-recipe/image_types.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The default aligment of the size of the rootfs is set to 1KiB. In case
# you're using the SD card emulation of a QEMU system simulator you may
# set this value to 2048 (2MiB alignment).
diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes-recipe/image_types_wic.bbclass
index 8497916d48..c339b9bdfb 100644
--- a/meta/classes/image_types_wic.bbclass
+++ b/meta/classes-recipe/image_types_wic.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The WICVARS variable is used to define list of bitbake variables used in wic code
# variables from this list is written to <image>.env file
WICVARS ?= "\
diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes-recipe/kernel-arch.bbclass
index 348a3adf22..6f5d3bde6c 100644
--- a/meta/classes/kernel-arch.bbclass
+++ b/meta/classes-recipe/kernel-arch.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# set the ARCH environment variable for kernel compilation (including
# modules). return value must match one of the architecture directories
# in the kernel source "arch" directory
diff --git a/meta/classes/kernel-artifact-names.bbclass b/meta/classes-recipe/kernel-artifact-names.bbclass
index e77107c893..311075c68d 100644
--- a/meta/classes/kernel-artifact-names.bbclass
+++ b/meta/classes-recipe/kernel-artifact-names.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
##################################################################
# Specific kernel creation info
# for recipes/bbclasses which need to reuse some of the kernel
diff --git a/meta/classes/kernel-devicetree.bbclass b/meta/classes-recipe/kernel-devicetree.bbclass
index b4338da1b1..b2117de805 100644
--- a/meta/classes/kernel-devicetree.bbclass
+++ b/meta/classes-recipe/kernel-devicetree.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Support for device tree generation
python () {
if not bb.data.inherits_class('nopackages', d):
diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes-recipe/kernel-fitimage.bbclass
index 753164551c..107914e28c 100644
--- a/meta/classes/kernel-fitimage.bbclass
+++ b/meta/classes-recipe/kernel-fitimage.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit kernel-uboot kernel-artifact-names uboot-sign
def get_fit_replacement_type(d):
@@ -529,6 +535,10 @@ fitimage_assemble() {
fi
DTB=$(echo "$DTB" | tr '/' '_')
+
+ # Skip DTB if we've picked it up previously
+ echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
+
DTBS="$DTBS $DTB"
fitimage_emit_section_dtb $1 $DTB $DTB_PATH
done
@@ -538,6 +548,10 @@ fitimage_assemble() {
dtbcount=1
for DTB in $(find "${EXTERNAL_KERNEL_DEVICETREE}" \( -name '*.dtb' -o -name '*.dtbo' \) -printf '%P\n' | sort); do
DTB=$(echo "$DTB" | tr '/' '_')
+
+ # Skip DTB if we've picked it up previously
+ echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
+
DTBS="$DTBS $DTB"
fitimage_emit_section_dtb $1 $DTB "${EXTERNAL_KERNEL_DEVICETREE}/$DTB"
done
diff --git a/meta/classes/kernel-grub.bbclass b/meta/classes-recipe/kernel-grub.bbclass
index 44b2015468..2325e635e1 100644
--- a/meta/classes/kernel-grub.bbclass
+++ b/meta/classes-recipe/kernel-grub.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# While installing a rpm to update kernel on a deployed target, it will update
# the boot area and the boot menu with the kernel as the priority but allow
# you to fall back to the original kernel as well.
diff --git a/meta/classes/kernel-module-split.bbclass b/meta/classes-recipe/kernel-module-split.bbclass
index a29c294810..1b4c864a63 100644
--- a/meta/classes/kernel-module-split.bbclass
+++ b/meta/classes-recipe/kernel-module-split.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
pkg_postinst:modules () {
if [ -z "$D" ]; then
depmod -a ${KERNEL_VERSION}
diff --git a/meta/classes/kernel-uboot.bbclass b/meta/classes-recipe/kernel-uboot.bbclass
index 1bc98e042d..4aab02671e 100644
--- a/meta/classes/kernel-uboot.bbclass
+++ b/meta/classes-recipe/kernel-uboot.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# fitImage kernel compression algorithm
FIT_KERNEL_COMP_ALG ?= "gzip"
FIT_KERNEL_COMP_ALG_EXTENSION ?= ".gz"
diff --git a/meta/classes/kernel-uimage.bbclass b/meta/classes-recipe/kernel-uimage.bbclass
index 2e661ea916..1a599e656c 100644
--- a/meta/classes/kernel-uimage.bbclass
+++ b/meta/classes-recipe/kernel-uimage.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit kernel-uboot
python __anonymous () {
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes-recipe/kernel-yocto.bbclass
index ce1446f7aa..8eda0dcaf3 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes-recipe/kernel-yocto.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# remove tasks that modify the source tree in case externalsrc is inherited
SRCTREECOVEREDTASKS += "do_validate_branches do_kernel_configcheck do_kernel_checkout do_fetch do_unpack do_patch"
PATCH_GIT_USER_EMAIL ?= "kernel-yocto@oe"
diff --git a/meta/classes/kernel.bbclass b/meta/classes-recipe/kernel.bbclass
index f41ac8e29b..b5ddd6dabc 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes-recipe/kernel.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit linux-kernel-base kernel-module-split
COMPATIBLE_HOST = ".*-linux"
diff --git a/meta/classes/kernelsrc.bbclass b/meta/classes-recipe/kernelsrc.bbclass
index a951ba3325..a32882a5d2 100644
--- a/meta/classes/kernelsrc.bbclass
+++ b/meta/classes-recipe/kernelsrc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
S = "${STAGING_KERNEL_DIR}"
deltask do_fetch
deltask do_unpack
diff --git a/meta/classes/lib_package.bbclass b/meta/classes-recipe/lib_package.bbclass
index 8849f59042..6d110155e5 100644
--- a/meta/classes/lib_package.bbclass
+++ b/meta/classes-recipe/lib_package.bbclass
@@ -1,4 +1,9 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+#
# ${PN}-bin is defined in bitbake.conf
#
# We need to allow the other packages to be greedy with what they
diff --git a/meta/classes/libc-package.bbclass b/meta/classes-recipe/libc-package.bbclass
index 13ef8cdc0d..de3d4223a8 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes-recipe/libc-package.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class knows how to package up [e]glibc. Its shared since prebuild binary toolchains
# may need packaging and its pointless to duplicate this code.
#
diff --git a/meta/classes/license_image.bbclass b/meta/classes-recipe/license_image.bbclass
index 3213ea758e..b60d6e44f4 100644
--- a/meta/classes/license_image.bbclass
+++ b/meta/classes-recipe/license_image.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
ROOTFS_LICENSE_DIR = "${IMAGE_ROOTFS}/usr/share/common-licenses"
# This requires LICENSE_CREATE_PACKAGE=1 to work too
diff --git a/meta/classes/linux-dummy.bbclass b/meta/classes-recipe/linux-dummy.bbclass
index 9a06a509dd..9291533cf9 100644
--- a/meta/classes/linux-dummy.bbclass
+++ b/meta/classes-recipe/linux-dummy.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
python __anonymous () {
if d.getVar('PREFERRED_PROVIDER_virtual/kernel') == 'linux-dummy':
diff --git a/meta/classes/linux-kernel-base.bbclass b/meta/classes-recipe/linux-kernel-base.bbclass
index ba59222c24..cb2212c948 100644
--- a/meta/classes/linux-kernel-base.bbclass
+++ b/meta/classes-recipe/linux-kernel-base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# parse kernel ABI version out of <linux/version.h>
def get_kernelversion_headers(p):
import re
diff --git a/meta/classes/linuxloader.bbclass b/meta/classes-recipe/linuxloader.bbclass
index 4447c8847c..1dfb95e31d 100644
--- a/meta/classes/linuxloader.bbclass
+++ b/meta/classes-recipe/linuxloader.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def get_musl_loader_arch(d):
import re
ldso_arch = "NotSupported"
diff --git a/meta/classes/live-vm-common.bbclass b/meta/classes-recipe/live-vm-common.bbclass
index 74e7074a53..b619f3a4be 100644
--- a/meta/classes/live-vm-common.bbclass
+++ b/meta/classes-recipe/live-vm-common.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Some of the vars for vm and live image are conflicted, this function
# is used for fixing the problem.
def set_live_vm_vars(d, suffix):
diff --git a/meta/classes/manpages.bbclass b/meta/classes-recipe/manpages.bbclass
index 5e09c77fe6..693fb53671 100644
--- a/meta/classes/manpages.bbclass
+++ b/meta/classes-recipe/manpages.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Inherit this class to enable or disable building and installation of manpages
# depending on whether 'api-documentation' is in DISTRO_FEATURES. Such building
# tends to pull in the entire XML stack and other tools, so it's not enabled
diff --git a/meta/classes/meson-routines.bbclass b/meta/classes-recipe/meson-routines.bbclass
index be3aeedeba..6086fce9d9 100644
--- a/meta/classes/meson-routines.bbclass
+++ b/meta/classes-recipe/meson-routines.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit siteinfo
def meson_array(var, d):
diff --git a/meta/classes/meson.bbclass b/meta/classes-recipe/meson.bbclass
index 546cd0476f..765e81bc4f 100644
--- a/meta/classes/meson.bbclass
+++ b/meta/classes-recipe/meson.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3native meson-routines qemu
DEPENDS:append = " meson-native ninja-native"
diff --git a/meta/classes/mime-xdg.bbclass b/meta/classes-recipe/mime-xdg.bbclass
index 271f48dd72..cbdcb4c7e9 100644
--- a/meta/classes/mime-xdg.bbclass
+++ b/meta/classes-recipe/mime-xdg.bbclass
@@ -1,4 +1,8 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
# This class creates mime <-> application associations based on entry
# 'MimeType' in *.desktop files
#
diff --git a/meta/classes/mime.bbclass b/meta/classes-recipe/mime.bbclass
index 8d176a884e..9b13f62bda 100644
--- a/meta/classes/mime.bbclass
+++ b/meta/classes-recipe/mime.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class is used by recipes installing mime types
#
diff --git a/meta/classes/module-base.bbclass b/meta/classes-recipe/module-base.bbclass
index 27bd69ff33..094b563b1a 100644
--- a/meta/classes/module-base.bbclass
+++ b/meta/classes-recipe/module-base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit kernel-arch
# We do the dependency this way because the output is not preserved
diff --git a/meta/classes/module.bbclass b/meta/classes-recipe/module.bbclass
index a09ec3ed1e..d52d5e3098 100644
--- a/meta/classes/module.bbclass
+++ b/meta/classes-recipe/module.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit module-base kernel-module-split pkgconfig
EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR}"
diff --git a/meta/classes/multilib_header.bbclass b/meta/classes-recipe/multilib_header.bbclass
index efbc24f59b..33f7e027f0 100644
--- a/meta/classes/multilib_header.bbclass
+++ b/meta/classes-recipe/multilib_header.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit siteinfo
# If applicable on the architecture, this routine will rename the header and
diff --git a/meta/classes/multilib_script.bbclass b/meta/classes-recipe/multilib_script.bbclass
index 41597341cd..7011526254 100644
--- a/meta/classes/multilib_script.bbclass
+++ b/meta/classes-recipe/multilib_script.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Recipe needs to set MULTILIB_SCRIPTS in the form <pkgname>:<scriptname>, e.g.
# MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/file1 ${PN}:${base_bindir}/file2"
# to indicate which script files to process from which packages.
diff --git a/meta/classes/native.bbclass b/meta/classes-recipe/native.bbclass
index 5a273cdebb..61ad053def 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes-recipe/native.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# We want native packages to be relocatable
inherit relocatable
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes-recipe/nativesdk.bbclass
index f8e9607513..08288fdb73 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes-recipe/nativesdk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# SDK packages are built either explicitly by the user,
# or indirectly via dependency. No need to be in 'world'.
EXCLUDE_FROM_WORLD = "1"
@@ -55,6 +61,7 @@ TARGET_CXXFLAGS = "${BUILDSDK_CXXFLAGS}"
TARGET_LDFLAGS = "${BUILDSDK_LDFLAGS}"
TARGET_FPU = ""
EXTRA_OECONF_GCC_FLOAT = ""
+TUNE_FEATURES = ""
CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
CFLAGS = "${BUILDSDK_CFLAGS}"
diff --git a/meta/classes/nopackages.bbclass b/meta/classes-recipe/nopackages.bbclass
index 7a4f632d71..9ea7273530 100644
--- a/meta/classes/nopackages.bbclass
+++ b/meta/classes-recipe/nopackages.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
deltask do_package
deltask do_package_write_rpm
deltask do_package_write_ipk
diff --git a/meta/classes/npm.bbclass b/meta/classes-recipe/npm.bbclass
index deea53c9ec..20350cea25 100644
--- a/meta/classes/npm.bbclass
+++ b/meta/classes-recipe/npm.bbclass
@@ -28,20 +28,18 @@ NPM_INSTALL_DEV ?= "0"
NPM_NODEDIR ?= "${RECIPE_SYSROOT_NATIVE}${prefix_native}"
-def npm_target_arch_map(target_arch):
- """Maps arch names to npm arch names"""
+## must match mapping in nodejs.bb (openembedded-meta)
+def map_nodejs_arch(a, d):
import re
- if re.match("p(pc|owerpc)(|64)", target_arch):
- return "ppc"
- elif re.match("i.86$", target_arch):
- return "ia32"
- elif re.match("x86_64$", target_arch):
- return "x64"
- elif re.match("arm64$", target_arch):
- return "arm"
- return target_arch
-
-NPM_ARCH ?= "${@npm_target_arch_map(d.getVar("TARGET_ARCH"))}"
+
+ if re.match('i.86$', a): return 'ia32'
+ elif re.match('x86_64$', a): return 'x64'
+ elif re.match('aarch64$', a): return 'arm64'
+ elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64'
+ elif re.match('powerpc$', a): return 'ppc'
+ return a
+
+NPM_ARCH ?= "${@map_nodejs_arch(d.getVar("TARGET_ARCH"), d)}"
NPM_PACKAGE = "${WORKDIR}/npm-package"
NPM_CACHE = "${WORKDIR}/npm-cache"
@@ -54,7 +52,7 @@ def npm_global_configs(d):
# Ensure no network access is done
configs.append(("offline", "true"))
configs.append(("proxy", "http://invalid"))
- configs.append(("funds", False))
+ configs.append(("fund", False))
configs.append(("audit", False))
# Configure the cache directory
configs.append(("cache", d.getVar("NPM_CACHE")))
diff --git a/meta/classes/packagegroup.bbclass b/meta/classes-recipe/packagegroup.bbclass
index 557b1b6382..6f17fc73b0 100644
--- a/meta/classes/packagegroup.bbclass
+++ b/meta/classes-recipe/packagegroup.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for packagegroup (package group) recipes
# By default, only the packagegroup package itself is in PACKAGES.
diff --git a/meta/classes/perl-version.bbclass b/meta/classes-recipe/perl-version.bbclass
index 84b67b8180..269ac9eb31 100644
--- a/meta/classes/perl-version.bbclass
+++ b/meta/classes-recipe/perl-version.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PERL_OWN_DIR = ""
# Determine the staged version of perl from the perl configuration file
diff --git a/meta/classes/perlnative.bbclass b/meta/classes-recipe/perlnative.bbclass
index cc8de8b381..d56ec4ae72 100644
--- a/meta/classes/perlnative.bbclass
+++ b/meta/classes-recipe/perlnative.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
EXTRANATIVEPATH += "perl-native"
DEPENDS += "perl-native"
OECMAKE_PERLNATIVE_DIR = "${STAGING_BINDIR_NATIVE}/perl-native"
diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes-recipe/pixbufcache.bbclass
index 886bf195b3..107e38885e 100644
--- a/meta/classes/pixbufcache.bbclass
+++ b/meta/classes-recipe/pixbufcache.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class will generate the proper postinst/postrm scriptlets for pixbuf
# packages.
#
diff --git a/meta/classes-recipe/pkgconfig.bbclass b/meta/classes-recipe/pkgconfig.bbclass
new file mode 100644
index 0000000000..1e1f3824dd
--- /dev/null
+++ b/meta/classes-recipe/pkgconfig.bbclass
@@ -0,0 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+DEPENDS:prepend = "pkgconfig-native "
+
diff --git a/meta/classes/populate_sdk.bbclass b/meta/classes-recipe/populate_sdk.bbclass
index f64a911b72..caeef5d2b2 100644
--- a/meta/classes/populate_sdk.bbclass
+++ b/meta/classes-recipe/populate_sdk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The majority of populate_sdk is located in populate_sdk_base
# This chunk simply facilitates compatibility with SDK only recipes.
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass
index f260217b50..0be108ad98 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes-recipe/populate_sdk_base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PACKAGES = ""
inherit image-postinst-intercepts image-artifact-names
@@ -45,6 +51,8 @@ SDKTARGETSYSROOT = "${SDKPATH}/sysroots/${REAL_MULTIMACH_TARGET_SYS}"
SDK_TOOLCHAIN_LANGS ??= ""
SDK_TOOLCHAIN_LANGS:remove:sdkmingw32 = "rust"
+# libstd-rs doesn't build for mips n32 with compiler constraint errors
+SDK_TOOLCHAIN_LANGS:remove:mipsarchn32 = "rust"
TOOLCHAIN_HOST_TASK ?= " \
nativesdk-packagegroup-sdk-host \
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes-recipe/populate_sdk_ext.bbclass
index d58b2ba5d0..56e24c4eed 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Extensible SDK
inherit populate_sdk_base
diff --git a/meta/classes/ptest-gnome.bbclass b/meta/classes-recipe/ptest-gnome.bbclass
index 18bd3dbff9..d4ad22d85d 100644
--- a/meta/classes/ptest-gnome.bbclass
+++ b/meta/classes-recipe/ptest-gnome.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit ptest
EXTRA_OECONF:append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-installed-tests', '--disable-installed-tests', d)}"
diff --git a/meta/classes/ptest-perl.bbclass b/meta/classes-recipe/ptest-perl.bbclass
index 5dd72c9dad..c283fdd1fc 100644
--- a/meta/classes/ptest-perl.bbclass
+++ b/meta/classes-recipe/ptest-perl.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit ptest
FILESEXTRAPATHS:prepend := "${COREBASE}/meta/files:"
diff --git a/meta/classes/ptest.bbclass b/meta/classes-recipe/ptest.bbclass
index c162f5d934..0383206a6d 100644
--- a/meta/classes/ptest.bbclass
+++ b/meta/classes-recipe/ptest.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
SUMMARY:${PN}-ptest ?= "${SUMMARY} - Package test files"
DESCRIPTION:${PN}-ptest ?= "${DESCRIPTION} \
This package contains a test directory ${PTEST_PATH} for package test purposes."
diff --git a/meta/classes/pypi.bbclass b/meta/classes-recipe/pypi.bbclass
index 5fa7b8a6ae..aab04c638f 100644
--- a/meta/classes/pypi.bbclass
+++ b/meta/classes-recipe/pypi.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def pypi_package(d):
bpn = d.getVar('BPN')
if bpn.startswith('python-'):
diff --git a/meta/classes/python3-dir.bbclass b/meta/classes-recipe/python3-dir.bbclass
index ff03e584d4..912c67253c 100644
--- a/meta/classes/python3-dir.bbclass
+++ b/meta/classes-recipe/python3-dir.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PYTHON_BASEVERSION = "3.10"
PYTHON_ABI = ""
PYTHON_DIR = "python${PYTHON_BASEVERSION}"
diff --git a/meta/classes/python3native.bbclass b/meta/classes-recipe/python3native.bbclass
index 3783c0c47e..654a002fdb 100644
--- a/meta/classes/python3native.bbclass
+++ b/meta/classes-recipe/python3native.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3-dir
PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3"
diff --git a/meta/classes/python3targetconfig.bbclass b/meta/classes-recipe/python3targetconfig.bbclass
index 2476858cae..3f89e5e09e 100644
--- a/meta/classes/python3targetconfig.bbclass
+++ b/meta/classes-recipe/python3targetconfig.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3native
EXTRA_PYTHON_DEPENDS ?= ""
diff --git a/meta/classes/python_flit_core.bbclass b/meta/classes-recipe/python_flit_core.bbclass
index 7109307de5..a0b1feb70a 100644
--- a/meta/classes/python_flit_core.bbclass
+++ b/meta/classes-recipe/python_flit_core.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python_pep517 python3native python3-dir setuptools3-base
DEPENDS += "python3 python3-flit-core-native"
diff --git a/meta/classes/python_hatchling.bbclass b/meta/classes-recipe/python_hatchling.bbclass
index 984eb6bb5d..b9e6582eb5 100644
--- a/meta/classes/python_hatchling.bbclass
+++ b/meta/classes-recipe/python_hatchling.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python_pep517 python3native python3-dir setuptools3-base
DEPENDS += "python3-hatchling-native"
diff --git a/meta/classes/python_pep517.bbclass b/meta/classes-recipe/python_pep517.bbclass
index 7cdb9c8f9d..202dde0bc3 100644
--- a/meta/classes/python_pep517.bbclass
+++ b/meta/classes-recipe/python_pep517.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Common infrastructure for Python packages that use PEP-517 compliant packaging.
# https://www.python.org/dev/peps/pep-0517/
#
diff --git a/meta/classes/python_poetry_core.bbclass b/meta/classes-recipe/python_poetry_core.bbclass
index 0aaf66b194..c7dc5d0382 100644
--- a/meta/classes/python_poetry_core.bbclass
+++ b/meta/classes-recipe/python_poetry_core.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python_pep517 python3native setuptools3-base
DEPENDS += "python3-poetry-core-native"
diff --git a/meta/classes/python_pyo3.bbclass b/meta/classes-recipe/python_pyo3.bbclass
index 10cc3a0645..9a32eac6fd 100644
--- a/meta/classes/python_pyo3.bbclass
+++ b/meta/classes-recipe/python_pyo3.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class helps make sure that Python extensions built with PyO3
# and setuptools_rust properly set up the environment for cross compilation
#
@@ -8,7 +14,7 @@ inherit cargo python3-dir siteinfo
export PYO3_CROSS="1"
export PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}"
export PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}"
-export CARGO_BUILD_TARGET="${HOST_SYS}"
+export CARGO_BUILD_TARGET="${RUST_HOST_SYS}"
export RUSTFLAGS
export PYO3_PYTHON="${PYTHON}"
export PYO3_CONFIG_FILE="${WORKDIR}/pyo3.config"
diff --git a/meta/classes/python_setuptools3_rust.bbclass b/meta/classes-recipe/python_setuptools3_rust.bbclass
index f12e5d0cbd..d6ce2edb96 100644
--- a/meta/classes/python_setuptools3_rust.bbclass
+++ b/meta/classes-recipe/python_setuptools3_rust.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python_pyo3 setuptools3
DEPENDS += "python3-setuptools-rust-native"
diff --git a/meta/classes/python_setuptools_build_meta.bbclass b/meta/classes-recipe/python_setuptools_build_meta.bbclass
index 974054fe5a..4c84d1e8d0 100644
--- a/meta/classes/python_setuptools_build_meta.bbclass
+++ b/meta/classes-recipe/python_setuptools_build_meta.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit setuptools3-base python_pep517
DEPENDS += "python3-setuptools-native python3-wheel-native"
diff --git a/meta/classes/qemu.bbclass b/meta/classes-recipe/qemu.bbclass
index 7493ac34d4..874b15127c 100644
--- a/meta/classes/qemu.bbclass
+++ b/meta/classes-recipe/qemu.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class contains functions for recipes that need QEMU or test for its
# existence.
#
diff --git a/meta/classes/qemuboot.bbclass b/meta/classes-recipe/qemuboot.bbclass
index ad8489902a..018c000ca2 100644
--- a/meta/classes/qemuboot.bbclass
+++ b/meta/classes-recipe/qemuboot.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Help runqemu boot target board, "QB" means Qemu Boot, the following
# vars can be set in conf files, such as <bsp.conf> to make it can be
# boot by runqemu:
diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes-recipe/rootfs-postcommands.bbclass
index 3dadba6047..215e38e33d 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes-recipe/rootfs-postcommands.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
# Zap the root password if debug-tweaks and empty-root-password features are not enabled
ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'empty-root-password' ], "", "zap_empty_root_password; ",d)}'
@@ -58,7 +63,7 @@ inherit image-artifact-names
# systemd_sysusers_create and set_user_group. Using :append is not
# enough for that, set_user_group is added that way and would end
# up running after us.
-SORT_PASSWD_POSTPROCESS_COMMAND ??= " sort_passwd; "
+SORT_PASSWD_POSTPROCESS_COMMAND ??= " tidy_shadowutils_files; "
python () {
d.appendVar('ROOTFS_POSTPROCESS_COMMAND', '${SORT_PASSWD_POSTPROCESS_COMMAND}')
d.appendVar('ROOTFS_POSTPROCESS_COMMAND', 'rootfs_reproducible;')
@@ -216,9 +221,20 @@ serial_autologin_root () {
fi
}
+python tidy_shadowutils_files () {
+ import rootfspostcommands
+ rootfspostcommands.tidy_shadowutils_files(d.expand('${IMAGE_ROOTFS}${sysconfdir}'))
+}
+
python sort_passwd () {
+ """
+ Deprecated in the favour of tidy_shadowutils_files.
+ """
import rootfspostcommands
- rootfspostcommands.sort_passwd(d.expand('${IMAGE_ROOTFS}${sysconfdir}'))
+ bb.warn('[sort_passwd] You are using a deprecated function for '
+ 'SORT_PASSWD_POSTPROCESS_COMMAND. The default one is now called '
+ '"tidy_shadowutils_files".')
+ rootfspostcommands.tidy_shadowutils_files(d.expand('${IMAGE_ROOTFS}${sysconfdir}'))
}
#
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes-recipe/rootfs_deb.bbclass
index 0469ba7059..c5c6426abb 100644
--- a/meta/classes/rootfs_deb.bbclass
+++ b/meta/classes-recipe/rootfs_deb.bbclass
@@ -1,6 +1,8 @@
#
# Copyright 2006-2007 Openedhand Ltd.
#
+# SPDX-License-Identifier: MIT
+#
ROOTFS_PKGMANAGE = "dpkg apt"
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes-recipe/rootfs_ipk.bbclass
index 245c256a6f..a48ad07dfc 100644
--- a/meta/classes/rootfs_ipk.bbclass
+++ b/meta/classes-recipe/rootfs_ipk.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Creates a root filesystem out of IPKs
#
# This rootfs can be mounted via root-nfs or it can be put into an cramfs/jffs etc.
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes-recipe/rootfs_rpm.bbclass
index bec4d63ed6..6eccd5a959 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes-recipe/rootfs_rpm.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Creates a root filesystem out of rpm packages
#
diff --git a/meta/classes/rootfsdebugfiles.bbclass b/meta/classes-recipe/rootfsdebugfiles.bbclass
index 85c7ec7434..cbcf876479 100644
--- a/meta/classes/rootfsdebugfiles.bbclass
+++ b/meta/classes-recipe/rootfsdebugfiles.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class installs additional files found on the build host
# directly into the rootfs.
#
diff --git a/meta/classes/rust-bin.bbclass b/meta/classes-recipe/rust-bin.bbclass
index c87343b3cf..b8e7ef8191 100644
--- a/meta/classes/rust-bin.bbclass
+++ b/meta/classes-recipe/rust-bin.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit rust
RDEPENDS:${PN}:append:class-target = " ${RUSTLIB_DEP}"
@@ -93,7 +99,6 @@ do_configure () {
}
oe_runrustc () {
- export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
bbnote ${RUSTC} ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
"${RUSTC}" ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
}
diff --git a/meta/classes/rust-common.bbclass b/meta/classes-recipe/rust-common.bbclass
index cb811ac5da..93bf6c8be6 100644
--- a/meta/classes/rust-common.bbclass
+++ b/meta/classes-recipe/rust-common.bbclass
@@ -1,39 +1,24 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3native
+inherit rust-target-config
# Common variables used by all Rust builds
-export rustlibdir = "${libdir}/rust"
+export rustlibdir = "${libdir}/rustlib/${RUST_HOST_SYS}/lib"
FILES:${PN} += "${rustlibdir}/*.so"
FILES:${PN}-dev += "${rustlibdir}/*.rlib ${rustlibdir}/*.rmeta"
FILES:${PN}-dbg += "${rustlibdir}/.debug"
-RUSTLIB = "-L ${STAGING_LIBDIR}/rust"
+RUSTLIB = "-L ${STAGING_DIR_HOST}${rustlibdir}"
RUST_DEBUG_REMAP = "--remap-path-prefix=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
RUSTFLAGS += "${RUSTLIB} ${RUST_DEBUG_REMAP}"
RUSTLIB_DEP ?= "libstd-rs"
-export RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
RUST_PANIC_STRATEGY ?= "unwind"
-# Native builds are not effected by TCLIBC. Without this, rust-native
-# thinks it's "target" (i.e. x86_64-linux) is a musl target.
-RUST_LIBC = "${TCLIBC}"
-RUST_LIBC:class-crosssdk = "glibc"
-RUST_LIBC:class-native = "glibc"
-
-def determine_libc(d, thing):
- '''Determine which libc something should target'''
-
- # BUILD is never musl, TARGET may be musl or glibc,
- # HOST could be musl, but only if a compiler is built to be run on
- # target in which case HOST_SYS != BUILD_SYS.
- if thing == 'TARGET':
- libc = d.getVar('RUST_LIBC')
- elif thing == 'BUILD' and (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')):
- libc = d.getVar('RUST_LIBC')
- else:
- libc = d.getVar('RUST_LIBC:class-native')
-
- return libc
-
def target_is_armv7(d):
'''Determine if target is armv7'''
# TUNE_FEATURES may include arm* even if the target is not arm
@@ -63,31 +48,28 @@ def rust_base_triple(d, thing):
'''
# The llvm-target for armv7 is armv7-unknown-linux-gnueabihf
- if thing == "TARGET" and target_is_armv7(d):
+ if d.getVar('{}_ARCH'.format(thing)) == d.getVar('TARGET_ARCH') and target_is_armv7(d):
arch = "armv7"
else:
arch = oe.rust.arch_to_rust_arch(d.getVar('{}_ARCH'.format(thing)))
- # All the Yocto targets are Linux and are 'unknown'
- vendor = "-unknown"
- os = d.getVar('{}_OS'.format(thing))
- libc = determine_libc(d, thing)
-
- # Prefix with a dash and convert glibc -> gnu
- if libc == "glibc":
- libc = "-gnu"
- elif libc == "musl":
- libc = "-musl"
+ # When bootstrapping rust-native, BUILD must be the same as upstream snapshot tarballs
+ bpn = d.getVar('BPN')
+ if thing == "BUILD" and bpn in ["rust"]:
+ return arch + "-unknown-linux-gnu"
- # Don't double up musl (only appears to be the case on aarch64)
- if os == "linux-musl":
- if libc != "-musl":
- bb.fatal("{}_OS was '{}' but TCLIBC was not 'musl'".format(thing, os))
- os = "linux"
+ vendor = d.getVar('{}_VENDOR'.format(thing))
+ # Default to glibc
+ libc = "-gnu"
+ os = d.getVar('{}_OS'.format(thing))
# This catches ARM targets and appends the necessary hard float bits
if os == "linux-gnueabi" or os == "linux-musleabi":
libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hf', '', d)
+ elif "musl" in os:
+ libc = "-musl"
+ os = "linux"
+
return arch + vendor + '-' + os + libc
@@ -138,26 +120,32 @@ RUST_TARGET_CXX = "${WRAPPER_DIR}/target-rust-cxx"
RUST_TARGET_CCLD = "${WRAPPER_DIR}/target-rust-ccld"
RUST_TARGET_AR = "${WRAPPER_DIR}/target-rust-ar"
-create_wrapper () {
+create_wrapper_rust () {
file="$1"
shift
+ extras="$1"
+ shift
cat <<- EOF > "${file}"
#!/usr/bin/env python3
import os, sys
orig_binary = "$@"
+ extras = "${extras}"
binary = orig_binary.split()[0]
args = orig_binary.split() + sys.argv[1:]
+ if extras:
+ args.append(extras)
os.execvp(binary, args)
EOF
chmod +x "${file}"
}
-export WRAPPER_TARGET_CC = "${CC}"
-export WRAPPER_TARGET_CXX = "${CXX}"
-export WRAPPER_TARGET_CCLD = "${CCLD}"
-export WRAPPER_TARGET_LDFLAGS = "${LDFLAGS}"
-export WRAPPER_TARGET_AR = "${AR}"
+WRAPPER_TARGET_CC = "${CC}"
+WRAPPER_TARGET_CXX = "${CXX}"
+WRAPPER_TARGET_CCLD = "${CCLD}"
+WRAPPER_TARGET_LDFLAGS = "${LDFLAGS}"
+WRAPPER_TARGET_EXTRALD = ""
+WRAPPER_TARGET_AR = "${AR}"
# compiler is used by gcc-rs
# linker is used by rustc/cargo
@@ -166,22 +154,22 @@ do_rust_create_wrappers () {
mkdir -p "${WRAPPER_DIR}"
# Yocto Build / Rust Host C compiler
- create_wrapper "${RUST_BUILD_CC}" "${BUILD_CC}"
+ create_wrapper_rust "${RUST_BUILD_CC}" "" "${BUILD_CC}"
# Yocto Build / Rust Host C++ compiler
- create_wrapper "${RUST_BUILD_CXX}" "${BUILD_CXX}"
+ create_wrapper_rust "${RUST_BUILD_CXX}" "" "${BUILD_CXX}"
# Yocto Build / Rust Host linker
- create_wrapper "${RUST_BUILD_CCLD}" "${BUILD_CCLD}" "${BUILD_LDFLAGS}"
+ create_wrapper_rust "${RUST_BUILD_CCLD}" "" "${BUILD_CCLD}" "${BUILD_LDFLAGS}"
# Yocto Build / Rust Host archiver
- create_wrapper "${RUST_BUILD_AR}" "${BUILD_AR}"
+ create_wrapper_rust "${RUST_BUILD_AR}" "" "${BUILD_AR}"
# Yocto Target / Rust Target C compiler
- create_wrapper "${RUST_TARGET_CC}" "${WRAPPER_TARGET_CC}" "${WRAPPER_TARGET_LDFLAGS}"
+ create_wrapper_rust "${RUST_TARGET_CC}" "${WRAPPER_TARGET_EXTRALD}" "${WRAPPER_TARGET_CC}" "${WRAPPER_TARGET_LDFLAGS}"
# Yocto Target / Rust Target C++ compiler
- create_wrapper "${RUST_TARGET_CXX}" "${WRAPPER_TARGET_CXX}"
+ create_wrapper_rust "${RUST_TARGET_CXX}" "${WRAPPER_TARGET_EXTRALD}" "${WRAPPER_TARGET_CXX}" "${CXXFLAGS}"
# Yocto Target / Rust Target linker
- create_wrapper "${RUST_TARGET_CCLD}" "${WRAPPER_TARGET_CCLD}" "${WRAPPER_TARGET_LDFLAGS}"
+ create_wrapper_rust "${RUST_TARGET_CCLD}" "${WRAPPER_TARGET_EXTRALD}" "${WRAPPER_TARGET_CCLD}" "${WRAPPER_TARGET_LDFLAGS}"
# Yocto Target / Rust Target archiver
- create_wrapper "${RUST_TARGET_AR}" "${WRAPPER_TARGET_AR}"
+ create_wrapper_rust "${RUST_TARGET_AR}" "" "${WRAPPER_TARGET_AR}"
}
diff --git a/meta/classes/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass
index 87b7dee3ed..259cba7bbd 100644
--- a/meta/classes/rust-target-config.bbclass
+++ b/meta/classes-recipe/rust-target-config.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Right now this is focused on arm-specific tune features.
# We get away with this for now as one can only use x86-64 as the build host
# (not arm).
@@ -190,6 +196,13 @@ TARGET_POINTER_WIDTH[mips64] = "64"
TARGET_C_INT_WIDTH[mips64] = "64"
MAX_ATOMIC_WIDTH[mips64] = "64"
+## mips64-n32-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64-n32] = "E-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+TARGET_ENDIAN[mips64-n32] = "big"
+TARGET_POINTER_WIDTH[mips64-n32] = "32"
+TARGET_C_INT_WIDTH[mips64-n32] = "32"
+MAX_ATOMIC_WIDTH[mips64-n32] = "64"
+
## mips64el-unknown-linux-{gnu, musl}
DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
TARGET_ENDIAN[mips64el] = "little"
@@ -259,7 +272,7 @@ def llvm_cpu(d):
trans['x86-64'] = "x86-64"
trans['i686'] = "i686"
trans['i586'] = "i586"
- trans['powerpc'] = "powerpc"
+ trans['powerpc'] = "7400"
trans['mips64'] = "mips64"
trans['mips64el'] = "mips64"
trans['riscv64'] = "generic-rv64"
@@ -283,14 +296,21 @@ llvm_cpu[vardepvalue] = "${@llvm_cpu(d)}"
def rust_gen_target(d, thing, wd, arch):
import json
+
+ build_sys = d.getVar('BUILD_SYS')
+ target_sys = d.getVar('TARGET_SYS')
+
sys = d.getVar('{}_SYS'.format(thing))
prefix = d.getVar('{}_PREFIX'.format(thing))
+ rustsys = d.getVar('RUST_{}_SYS'.format(thing))
abi = None
cpu = "generic"
features = ""
- if thing == "TARGET":
+ # Need to apply the target tuning consitently, only if the triplet applies to the target
+ # and not in the native case
+ if sys == target_sys and sys != build_sys:
abi = d.getVar('ABIEXTENSION')
cpu = llvm_cpu(d)
if bb.data.inherits_class('native', d):
@@ -311,14 +331,12 @@ def rust_gen_target(d, thing, wd, arch):
features = features or d.getVarFlag('FEATURES', arch_abi) or ""
features = features.strip()
- llvm_target = d.getVar('RUST_TARGET_SYS')
- if thing == "BUILD":
- llvm_target = d.getVar('RUST_HOST_SYS')
-
# build tspec
tspec = {}
- tspec['llvm-target'] = llvm_target
+ tspec['llvm-target'] = rustsys
tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch_abi)
+ if tspec['data-layout'] is None:
+ bb.fatal("No rust target defined for %s" % arch_abi)
tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch_abi))
tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch_abi)
tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch_abi)
@@ -344,31 +362,29 @@ def rust_gen_target(d, thing, wd, arch):
tspec['linker-is-gnu'] = True
tspec['linker-flavor'] = "gcc"
tspec['has-rpath'] = True
- tspec['has-elf-tls'] = True
tspec['position-independent-executables'] = True
tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
# write out the target spec json file
- with open(wd + sys + '.json', 'w') as f:
+ with open(wd + rustsys + '.json', 'w') as f:
json.dump(tspec, f, indent=4)
# These are accounted for in tmpdir path names so don't need to be in the task sig
-rust_gen_target[vardepsexclude] += "RUST_HOST_SYS RUST_TARGET_SYS ABIEXTENSION llvm_cpu"
+rust_gen_target[vardepsexclude] += "ABIEXTENSION llvm_cpu"
do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES"
-RUST_TARGETGENS = "BUILD"
+RUST_TARGETS_DIR = "${WORKDIR}/rust-targets/"
+export RUST_TARGET_PATH = "${RUST_TARGETS_DIR}"
python do_rust_gen_targets () {
- wd = d.getVar('WORKDIR') + '/targets/'
+ wd = d.getVar('RUST_TARGETS_DIR')
# Order of BUILD, HOST, TARGET is important in case the files overwrite, most specific last
rust_gen_target(d, 'BUILD', wd, d.getVar('BUILD_ARCH'))
- if "HOST" in d.getVar("RUST_TARGETGENS"):
- rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH'))
- if "TARGET" in d.getVar("RUST_TARGETGENS"):
- rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_ARCH'))
+ rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH'))
+ rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_ARCH'))
}
addtask rust_gen_targets after do_patch before do_compile
-do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
+do_rust_gen_targets[dirs] += "${RUST_TARGETS_DIR}"
diff --git a/meta/classes/rust.bbclass b/meta/classes-recipe/rust.bbclass
index 5c8938d09f..dae25cac2a 100644
--- a/meta/classes/rust.bbclass
+++ b/meta/classes-recipe/rust.bbclass
@@ -1,8 +1,14 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit rust-common
RUSTC = "rustc"
-RUSTC_ARCHFLAGS += "--target=${HOST_SYS} ${RUSTFLAGS}"
+RUSTC_ARCHFLAGS += "--target=${RUST_HOST_SYS} ${RUSTFLAGS}"
def rust_base_dep(d):
# Taken from meta/classes/base.bbclass `base_dep_prepend` and modified to
@@ -10,7 +16,7 @@ def rust_base_dep(d):
deps = ""
if not d.getVar('INHIBIT_DEFAULT_RUST_DEPS'):
if (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')):
- deps += " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
+ deps += " rust-native ${RUSTLIB_DEP}"
else:
deps += " rust-native"
return deps
@@ -37,7 +43,7 @@ HOST_CFLAGS ?= "${CFLAGS}"
HOST_CXXFLAGS ?= "${CXXFLAGS}"
HOST_CPPFLAGS ?= "${CPPFLAGS}"
-rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/lib"
+rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${RUST_HOST_SYS}/lib"
# Native sysroot standard library path
rustlib_src="${prefix}/lib/${rustlib_suffix}"
# Host sysroot standard library path
diff --git a/meta/classes/scons.bbclass b/meta/classes-recipe/scons.bbclass
index 80f8382107..5f0d4a910b 100644
--- a/meta/classes/scons.bbclass
+++ b/meta/classes-recipe/scons.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit python3native
DEPENDS += "python3-scons-native"
diff --git a/meta/classes/setuptools3-base.bbclass b/meta/classes-recipe/setuptools3-base.bbclass
index 15abe1dd63..21b688ced0 100644
--- a/meta/classes/setuptools3-base.bbclass
+++ b/meta/classes-recipe/setuptools3-base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPENDS:append:class-target = " ${PYTHON_PN}-native ${PYTHON_PN}"
DEPENDS:append:class-nativesdk = " ${PYTHON_PN}-native ${PYTHON_PN}"
RDEPENDS:${PN}:append:class-target = " ${PYTHON_PN}-core"
diff --git a/meta/classes/setuptools3.bbclass b/meta/classes-recipe/setuptools3.bbclass
index 66c94660d8..4c6e79ee9a 100644
--- a/meta/classes/setuptools3.bbclass
+++ b/meta/classes-recipe/setuptools3.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit setuptools3-base python_pep517
DEPENDS += "python3-setuptools-native python3-wheel-native"
diff --git a/meta/classes/setuptools3_legacy.bbclass b/meta/classes-recipe/setuptools3_legacy.bbclass
index 5a99daadb5..21748f922a 100644
--- a/meta/classes/setuptools3_legacy.bbclass
+++ b/meta/classes-recipe/setuptools3_legacy.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class is for packages which use the deprecated setuptools behaviour,
# specifically custom install tasks which don't work correctly with bdist_wheel.
# This behaviour is deprecated in setuptools[1] and won't work in the future, so
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes-recipe/siteinfo.bbclass
index 3555d5a663..d31c9b2571 100644
--- a/meta/classes/siteinfo.bbclass
+++ b/meta/classes-recipe/siteinfo.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class exists to provide information about the targets that
# may be needed by other classes and/or recipes. If you add a new
# target this will probably need to be updated.
diff --git a/meta/classes/syslinux.bbclass b/meta/classes-recipe/syslinux.bbclass
index 894f6b3718..be3b898b4d 100644
--- a/meta/classes/syslinux.bbclass
+++ b/meta/classes-recipe/syslinux.bbclass
@@ -1,6 +1,6 @@
# syslinux.bbclass
-# Copyright (C) 2004-2006, Advanced Micro Devices, Inc. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
+# Copyright (C) 2004-2006, Advanced Micro Devices, Inc.
+# SPDX-License-Identifier: MIT
# Provide syslinux specific functions for building bootable images.
diff --git a/meta/classes/systemd-boot-cfg.bbclass b/meta/classes-recipe/systemd-boot-cfg.bbclass
index b3e0e6ad41..366dd23738 100644
--- a/meta/classes/systemd-boot-cfg.bbclass
+++ b/meta/classes-recipe/systemd-boot-cfg.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
SYSTEMD_BOOT_CFG ?= "${S}/loader.conf"
SYSTEMD_BOOT_ENTRIES ?= ""
SYSTEMD_BOOT_TIMEOUT ?= "10"
diff --git a/meta/classes/systemd-boot.bbclass b/meta/classes-recipe/systemd-boot.bbclass
index 57ec0acbc5..5aa32dd997 100644
--- a/meta/classes/systemd-boot.bbclass
+++ b/meta/classes-recipe/systemd-boot.bbclass
@@ -1,6 +1,6 @@
# Copyright (C) 2016 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
# systemd-boot.bbclass - The "systemd-boot" is essentially the gummiboot merged into systemd.
# The original standalone gummiboot project is dead without any more
diff --git a/meta/classes/systemd.bbclass b/meta/classes-recipe/systemd.bbclass
index 09ec52792d..f6564c2b31 100644
--- a/meta/classes/systemd.bbclass
+++ b/meta/classes-recipe/systemd.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# The list of packages that should have systemd packaging scripts added. For
# each entry, optionally have a SYSTEMD_SERVICE:[package] that lists the service
# files in this package. If this variable isn't set, [package].service is used.
diff --git a/meta/classes/testimage.bbclass b/meta/classes-recipe/testimage.bbclass
index 7898223bce..8d2fab21df 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes-recipe/testimage.bbclass
@@ -1,6 +1,6 @@
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
inherit metadata_scm
inherit image-artifact-names
diff --git a/meta/classes/testsdk.bbclass b/meta/classes-recipe/testsdk.bbclass
index 8b2e74f606..fd82e6ef41 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes-recipe/testsdk.bbclass
@@ -1,6 +1,6 @@
# Copyright (C) 2013 - 2016 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
# testsdk.bbclass enables testing for SDK and Extensible SDK
#
diff --git a/meta/classes/texinfo.bbclass b/meta/classes-recipe/texinfo.bbclass
index 68c9d4fb70..380247faf5 100644
--- a/meta/classes/texinfo.bbclass
+++ b/meta/classes-recipe/texinfo.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class is inherited by recipes whose upstream packages invoke the
# texinfo utilities at build-time. Native and cross recipes are made to use the
# dummy scripts provided by texinfo-dummy-native, for improved performance.
diff --git a/meta/classes/toolchain-scripts-base.bbclass b/meta/classes-recipe/toolchain-scripts-base.bbclass
index 2489b9dbeb..d24a986e02 100644
--- a/meta/classes/toolchain-scripts-base.bbclass
+++ b/meta/classes-recipe/toolchain-scripts-base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
#This function create a version information file
toolchain_create_sdk_version () {
local versionfile=$1
diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes-recipe/toolchain-scripts.bbclass
index 16f1e17607..3cc823fe63 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes-recipe/toolchain-scripts.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit toolchain-scripts-base siteinfo kernel-arch
# We want to be able to change the value of MULTIMACH_TARGET_SYS, because it
diff --git a/meta/classes/uboot-config.bbclass b/meta/classes-recipe/uboot-config.bbclass
index e8da8c7452..7ab006a20d 100644
--- a/meta/classes/uboot-config.bbclass
+++ b/meta/classes-recipe/uboot-config.bbclass
@@ -10,6 +10,9 @@
# UBOOT_MACHINE = "config"
#
# Copyright 2013, 2014 (C) O.S. Systems Software LTDA.
+#
+# SPDX-License-Identifier: MIT
+
def removesuffix(s, suffix):
if suffix and s.endswith(suffix):
@@ -109,8 +112,10 @@ python () {
if len(ubootconfig) > 0:
for config in ubootconfig:
+ found = False
for f, v in ubootconfigflags.items():
if config == f:
+ found = True
items = v.split(',')
if items[0] and len(items) > 3:
raise bb.parse.SkipRecipe('Only config,images,binary can be specified!')
@@ -125,6 +130,8 @@ python () {
else:
bb.debug(1, "Appending '%s' to UBOOT_BINARIES." % ubootbinary)
d.appendVar('UBOOT_BINARIES', ' ' + ubootbinary)
- return
- raise bb.parse.SkipRecipe("The selected UBOOT_CONFIG key %s has no match in %s." % (ubootconfig, ubootconfigflags.keys()))
+ break
+
+ if not found:
+ raise bb.parse.SkipRecipe("The selected UBOOT_CONFIG key %s has no match in %s." % (ubootconfig, ubootconfigflags.keys()))
}
diff --git a/meta/classes/uboot-extlinux-config.bbclass b/meta/classes-recipe/uboot-extlinux-config.bbclass
index dcebe7ff31..86a7d30ca0 100644
--- a/meta/classes/uboot-extlinux-config.bbclass
+++ b/meta/classes-recipe/uboot-extlinux-config.bbclass
@@ -54,7 +54,7 @@
# APPEND root=/dev/mmcblk2p2 rootwait rw console=${console}
#
# Copyright (C) 2016, O.S. Systems Software LTDA. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
+# SPDX-License-Identifier: MIT
#
# The kernel has an internal default console, which you can override with
# a console=...some_tty...
diff --git a/meta/classes/uboot-sign.bbclass b/meta/classes-recipe/uboot-sign.bbclass
index eecdec9160..debbf23ec6 100644
--- a/meta/classes/uboot-sign.bbclass
+++ b/meta/classes-recipe/uboot-sign.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This file is part of U-Boot verified boot support and is intended to be
# inherited from u-boot recipe and from kernel-fitimage.bbclass.
#
diff --git a/meta/classes/update-alternatives.bbclass b/meta/classes-recipe/update-alternatives.bbclass
index fc1ffd828c..970d9bcd45 100644
--- a/meta/classes/update-alternatives.bbclass
+++ b/meta/classes-recipe/update-alternatives.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class is used to help the alternatives system which is useful when
# multiple sources provide same command. You can use update-alternatives
# command directly in your recipe, but in most cases this class simplifies
diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes-recipe/update-rc.d.bbclass
index 0a3a608662..cb2aaba57c 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes-recipe/update-rc.d.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
UPDATERCPN ?= "${PN}"
DEPENDS:append:class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', ' update-rc.d initscripts', '', d)}"
diff --git a/meta/classes/upstream-version-is-even.bbclass b/meta/classes-recipe/upstream-version-is-even.bbclass
index 256c752423..19587cb12c 100644
--- a/meta/classes/upstream-version-is-even.bbclass
+++ b/meta/classes-recipe/upstream-version-is-even.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class ensures that the upstream version check only
# accepts even minor versions (i.e. 3.0.x, 3.2.x, 3.4.x, etc.)
# This scheme is used by Gnome and a number of other projects
diff --git a/meta/classes/vala.bbclass b/meta/classes-recipe/vala.bbclass
index bfcceff7cf..460ddb36f0 100644
--- a/meta/classes/vala.bbclass
+++ b/meta/classes-recipe/vala.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Everyone needs vala-native and targets need vala, too,
# because that is where target builds look for .vapi files.
#
diff --git a/meta/classes/waf.bbclass b/meta/classes-recipe/waf.bbclass
index 464564afa1..5fa0cc4987 100644
--- a/meta/classes/waf.bbclass
+++ b/meta/classes-recipe/waf.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# avoids build breaks when using no-static-libs.inc
DISABLE_STATIC = ""
diff --git a/meta/classes/xmlcatalog.bbclass b/meta/classes-recipe/xmlcatalog.bbclass
index be155b7bc2..5826d0a8b5 100644
--- a/meta/classes/xmlcatalog.bbclass
+++ b/meta/classes-recipe/xmlcatalog.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
DEPENDS = "libxml2-native"
# A whitespace-separated list of XML catalogs to be registered, for example
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index dca4271a69..0710c1ec5e 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -1,5 +1,9 @@
-# ex:ts=4:sw=4:sts=4:et
-# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
#
# This bbclass is used for creating archive for:
# 1) original (or unpacked) source: ARCHIVER_MODE[src] = "original"
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 4ba9ec8f25..395f594278 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -6,8 +6,10 @@
# Copyright (C) 2011-2016 Intel Corporation
# Copyright (C) 2007-2011 Koen Kooi <koen@openembedded.org>
#
+# SPDX-License-Identifier: MIT
+#
-inherit image-artifact-names
+IMAGE_CLASSES += "image-artifact-names"
BUILDHISTORY_FEATURES ?= "image package sdk"
BUILDHISTORY_DIR ?= "${TOPDIR}/buildhistory"
diff --git a/meta/classes/buildstats-summary.bbclass b/meta/classes/buildstats-summary.bbclass
index f9b241b6c5..12e8f17836 100644
--- a/meta/classes/buildstats-summary.bbclass
+++ b/meta/classes/buildstats-summary.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Summarize sstate usage at the end of the build
python buildstats_summary () {
import collections
diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass
index 4532894c57..34becb69d1 100644
--- a/meta/classes/ccache.bbclass
+++ b/meta/classes/ccache.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Usage:
# - Enable ccache
# Add the following line to a conffile such as conf/local.conf:
diff --git a/meta/classes/ccmake.bbclass b/meta/classes/ccmake.bbclass
index df5134a108..c5b4bf6260 100644
--- a/meta/classes/ccmake.bbclass
+++ b/meta/classes/ccmake.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit terminal
python do_ccmake() {
diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
index 26b984c4db..1aecb4df66 100644
--- a/meta/classes/chrpath.bbclass
+++ b/meta/classes/chrpath.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
CHRPATH_BIN ?= "chrpath"
PREPROCESS_RELOCATE_DIRS ?= ""
diff --git a/meta/classes/copyleft_compliance.bbclass b/meta/classes/copyleft_compliance.bbclass
index eabf12ce7a..9ff9956fe9 100644
--- a/meta/classes/copyleft_compliance.bbclass
+++ b/meta/classes/copyleft_compliance.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Deploy sources for recipes for compliance with copyleft-style licenses
# Defaults to using symlinks, as it's a quick operation, and one can easily
# follow the links when making use of the files (e.g. tar with the -h arg).
diff --git a/meta/classes/copyleft_filter.bbclass b/meta/classes/copyleft_filter.bbclass
index c36bce431a..83cd90060d 100644
--- a/meta/classes/copyleft_filter.bbclass
+++ b/meta/classes/copyleft_filter.bbclass
@@ -1,10 +1,14 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Filter the license, the copyleft_should_include returns True for the
# COPYLEFT_LICENSE_INCLUDE recipe, and False for the
# COPYLEFT_LICENSE_EXCLUDE.
#
# By default, includes all GPL and LGPL, and excludes CLOSED and Proprietary.
-#
-# vi:sts=4:sw=4:et
COPYLEFT_LICENSE_INCLUDE ?= 'GPL* LGPL* AGPL*'
COPYLEFT_LICENSE_INCLUDE[type] = 'list'
diff --git a/meta/classes/create-spdx.bbclass b/meta/classes/create-spdx.bbclass
index 10deba638f..47dd12c383 100644
--- a/meta/classes/create-spdx.bbclass
+++ b/meta/classes/create-spdx.bbclass
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
@@ -216,7 +218,7 @@ def add_package_files(d, doc, spdx_pkg, topdir, get_spdxid, get_types, *, archiv
filepath = Path(subdir) / file
filename = str(filepath.relative_to(topdir))
- if filepath.is_file() and not filepath.is_symlink():
+ if not filepath.is_symlink() and filepath.is_file():
spdx_file = oe.spdx.SPDXFile()
spdx_file.SPDXID = get_spdxid(file_counter)
for t in get_types(filepath):
diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass
index da7f93371c..980933adc4 100644
--- a/meta/classes/cve-check.bbclass
+++ b/meta/classes/cve-check.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class is used to check recipes against public CVEs.
#
# In order to use this class just inherit the class in the
@@ -290,7 +296,8 @@ def check_cves(d, patched_cves):
vendor = "%"
# Find all relevant CVE IDs.
- for cverow in conn.execute("SELECT DISTINCT ID FROM PRODUCTS WHERE PRODUCT IS ? AND VENDOR LIKE ?", (product, vendor)):
+ cve_cursor = conn.execute("SELECT DISTINCT ID FROM PRODUCTS WHERE PRODUCT IS ? AND VENDOR LIKE ?", (product, vendor))
+ for cverow in cve_cursor:
cve = cverow[0]
if cve in cve_ignore:
@@ -309,7 +316,8 @@ def check_cves(d, patched_cves):
vulnerable = False
ignored = False
- for row in conn.execute("SELECT * FROM PRODUCTS WHERE ID IS ? AND PRODUCT IS ? AND VENDOR LIKE ?", (cve, product, vendor)):
+ product_cursor = conn.execute("SELECT * FROM PRODUCTS WHERE ID IS ? AND PRODUCT IS ? AND VENDOR LIKE ?", (cve, product, vendor))
+ for row in product_cursor:
(_, _, _, version_start, operator_start, version_end, operator_end) = row
#bb.debug(2, "Evaluating row " + str(row))
if cve in cve_ignore:
@@ -353,10 +361,12 @@ def check_cves(d, patched_cves):
bb.note("%s-%s is vulnerable to %s" % (pn, real_pv, cve))
cves_unpatched.append(cve)
break
+ product_cursor.close()
if not vulnerable:
bb.note("%s-%s is not vulnerable to %s" % (pn, real_pv, cve))
patched_cves.add(cve)
+ cve_cursor.close()
if not cves_in_product:
bb.note("No CVE records found for product %s, pn %s" % (product, pn))
@@ -381,14 +391,15 @@ def get_cve_info(d, cves):
conn = sqlite3.connect(db_file, uri=True)
for cve in cves:
- for row in conn.execute("SELECT * FROM NVD WHERE ID IS ?", (cve,)):
+ cursor = conn.execute("SELECT * FROM NVD WHERE ID IS ?", (cve,))
+ for row in cursor:
cve_data[row[0]] = {}
cve_data[row[0]]["summary"] = row[1]
cve_data[row[0]]["scorev2"] = row[2]
cve_data[row[0]]["scorev3"] = row[3]
cve_data[row[0]]["modified"] = row[4]
cve_data[row[0]]["vector"] = row[5]
-
+ cursor.close()
conn.close()
return cve_data
diff --git a/meta/classes/devtool-source.bbclass b/meta/classes/devtool-source.bbclass
index 41900e651f..a02b1e9b0e 100644
--- a/meta/classes/devtool-source.bbclass
+++ b/meta/classes/devtool-source.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Development tool - source extraction helper class
#
# NOTE: this class is intended for use by devtool and should not be
diff --git a/meta/classes/distrooverrides.bbclass b/meta/classes/distrooverrides.bbclass
index bf3a2b2090..8d9d7cda7d 100644
--- a/meta/classes/distrooverrides.bbclass
+++ b/meta/classes/distrooverrides.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Turns certain DISTRO_FEATURES into overrides with the same
# name plus a df- prefix. Ensures that these special
# distro features remain set also for native and nativesdk
diff --git a/meta/classes/extrausers.bbclass b/meta/classes/extrausers.bbclass
index a8ef660b30..94576b8872 100644
--- a/meta/classes/extrausers.bbclass
+++ b/meta/classes/extrausers.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This bbclass is used for image level user/group configuration.
# Inherit this class if you want to make EXTRA_USERS_PARAMS effective.
diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
index 9b912a3083..a11e781f00 100644
--- a/meta/classes/icecc.bbclass
+++ b/meta/classes/icecc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# IceCream distributed compiling support
#
# Stages directories with symlinks from gcc/g++ to icecc, for both
diff --git a/meta/classes/image-buildinfo.bbclass b/meta/classes/image-buildinfo.bbclass
index ef790bb73b..206cc9d57d 100644
--- a/meta/classes/image-buildinfo.bbclass
+++ b/meta/classes/image-buildinfo.bbclass
@@ -4,7 +4,7 @@
# Copyright (C) 2014 Intel Corporation
# Author: Alejandro Enedino Hernandez Samaniego <alejandro.hernandez@intel.com>
#
-# Licensed under the MIT license, see COPYING.MIT for details
+# SPDX-License-Identifier: MIT
#
# Usage: add INHERIT += "image-buildinfo" to your conf file
#
diff --git a/meta/classes/mcextend.bbclass b/meta/classes/mcextend.bbclass
index 0f8f962298..a489eeb3c7 100644
--- a/meta/classes/mcextend.bbclass
+++ b/meta/classes/mcextend.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python mcextend_virtclass_handler () {
cls = e.data.getVar("BBEXTENDCURR")
variant = e.data.getVar("BBEXTENDVARIANT")
diff --git a/meta/classes/metadata_scm.bbclass b/meta/classes/metadata_scm.bbclass
index f646b3159a..6842119b6b 100644
--- a/meta/classes/metadata_scm.bbclass
+++ b/meta/classes/metadata_scm.bbclass
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
METADATA_BRANCH := "${@oe.buildcfg.detect_branch(d)}"
METADATA_BRANCH[vardepvalue] = "${METADATA_BRANCH}"
diff --git a/meta/classes/migrate_localcount.bbclass b/meta/classes/migrate_localcount.bbclass
index 810a541316..1d00c110e2 100644
--- a/meta/classes/migrate_localcount.bbclass
+++ b/meta/classes/migrate_localcount.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PRSERV_DUMPDIR ??= "${LOG_DIR}/db"
LOCALCOUNT_DUMPFILE ??= "${PRSERV_DUMPDIR}/prserv-localcount-exports.inc"
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 5859ca8d21..10a4ef9c37 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python multilib_virtclass_handler () {
cls = e.data.getVar("BBEXTENDCURR")
variant = e.data.getVar("BBEXTENDVARIANT")
diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass
index e06307d057..dcd89b2f63 100644
--- a/meta/classes/multilib_global.bbclass
+++ b/meta/classes/multilib_global.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def preferred_ml_updates(d):
# If any of PREFERRED_PROVIDER, PREFERRED_RPROVIDER, REQUIRED_VERSION
# or PREFERRED_VERSION are set, we need to mirror these variables in
diff --git a/meta/classes/oelint.bbclass b/meta/classes/oelint.bbclass
index 2589d34059..458a25ecc3 100644
--- a/meta/classes/oelint.bbclass
+++ b/meta/classes/oelint.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
addtask lint before do_build
do_lint[nostamp] = "1"
python do_lint() {
diff --git a/meta/classes/overlayfs-etc.bbclass b/meta/classes/overlayfs-etc.bbclass
index 91afee695c..d0bc3ecfac 100644
--- a/meta/classes/overlayfs-etc.bbclass
+++ b/meta/classes/overlayfs-etc.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for setting up /etc in overlayfs
#
# In order to have /etc directory in overlayfs a special handling at early boot stage is required
diff --git a/meta/classes/overlayfs.bbclass b/meta/classes/overlayfs.bbclass
index f7069edd41..bdc6dd9d57 100644
--- a/meta/classes/overlayfs.bbclass
+++ b/meta/classes/overlayfs.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for generation of overlayfs mount units
#
# It's often desired in Embedded System design to have a read-only rootfs.
diff --git a/meta/classes/own-mirrors.bbclass b/meta/classes/own-mirrors.bbclass
index ef972740ce..2f24ff1830 100644
--- a/meta/classes/own-mirrors.bbclass
+++ b/meta/classes/own-mirrors.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PREMIRRORS:prepend = " \
cvs://.*/.* ${SOURCE_MIRROR_URL} \
svn://.*/.* ${SOURCE_MIRROR_URL} \
diff --git a/meta/classes/pkgconfig.bbclass b/meta/classes/pkgconfig.bbclass
deleted file mode 100644
index fa94527ce9..0000000000
--- a/meta/classes/pkgconfig.bbclass
+++ /dev/null
@@ -1,2 +0,0 @@
-DEPENDS:prepend = "pkgconfig-native "
-
diff --git a/meta/classes/prexport.bbclass b/meta/classes/prexport.bbclass
index 6dcf99e29f..e5098e3308 100644
--- a/meta/classes/prexport.bbclass
+++ b/meta/classes/prexport.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
PRSERV_DUMPOPT_VERSION = "${PRAUTOINX}"
PRSERV_DUMPOPT_PKGARCH = ""
PRSERV_DUMPOPT_CHECKSUM = ""
diff --git a/meta/classes/primport.bbclass b/meta/classes/primport.bbclass
index 8ed45f03f0..00924174c1 100644
--- a/meta/classes/primport.bbclass
+++ b/meta/classes/primport.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python primport_handler () {
import bb.event
if not e.data:
diff --git a/meta/classes/recipe_sanity.bbclass b/meta/classes/recipe_sanity.bbclass
index 7fa4a849ea..1c2e24c6a1 100644
--- a/meta/classes/recipe_sanity.bbclass
+++ b/meta/classes/recipe_sanity.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
def __note(msg, d):
bb.note("%s: recipe_sanity: %s" % (d.getVar("P"), msg))
diff --git a/meta/classes/relative_symlinks.bbclass b/meta/classes/relative_symlinks.bbclass
index 3157737347..9ee20e0d09 100644
--- a/meta/classes/relative_symlinks.bbclass
+++ b/meta/classes/relative_symlinks.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
do_install[postfuncs] += "install_relative_symlinks"
python install_relative_symlinks () {
diff --git a/meta/classes/relocatable.bbclass b/meta/classes/relocatable.bbclass
index af04be5cca..d0a623fb0a 100644
--- a/meta/classes/relocatable.bbclass
+++ b/meta/classes/relocatable.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit chrpath
SYSROOT_PREPROCESS_FUNCS += "relocatable_binaries_preprocess relocatable_native_pcfiles"
diff --git a/meta/classes/remove-libtool.bbclass b/meta/classes/remove-libtool.bbclass
index 3fd0cd58f9..8e987388c8 100644
--- a/meta/classes/remove-libtool.bbclass
+++ b/meta/classes/remove-libtool.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This class removes libtool .la files after do_install
REMOVE_LIBTOOL_LA ?= "1"
diff --git a/meta/classes/report-error.bbclass b/meta/classes/report-error.bbclass
index 6866d47370..2f692fbbcc 100644
--- a/meta/classes/report-error.bbclass
+++ b/meta/classes/report-error.bbclass
@@ -4,7 +4,8 @@
# Copyright (C) 2013 Intel Corporation
# Author: Andreea Brandusa Proca <andreea.b.proca@intel.com>
#
-# Licensed under the MIT license, see COPYING.MIT for details
+# SPDX-License-Identifier: MIT
+#
ERR_REPORT_DIR ?= "${LOG_DIR}/error-report"
diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass
index 5f12d5aaeb..c493efff2f 100644
--- a/meta/classes/rm_work.bbclass
+++ b/meta/classes/rm_work.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# Removes source after build
#
# To use it add that line to conf/local.conf:
diff --git a/meta/classes/rm_work_and_downloads.bbclass b/meta/classes/rm_work_and_downloads.bbclass
index 15e6091b9d..2695a3807f 100644
--- a/meta/classes/rm_work_and_downloads.bbclass
+++ b/meta/classes/rm_work_and_downloads.bbclass
@@ -1,8 +1,7 @@
# Author: Patrick Ohly <patrick.ohly@intel.com>
# Copyright: Copyright (C) 2015 Intel Corporation
#
-# This file is licensed under the MIT license, see COPYING.MIT in
-# this source distribution for the terms.
+# SPDX-License-Identifier: MIT
# This class is used like rm_work:
# INHERIT += "rm_work_and_downloads"
diff --git a/meta/classes/sign_ipk.bbclass b/meta/classes/sign_ipk.bbclass
index e5057b7799..51c24b38b2 100644
--- a/meta/classes/sign_ipk.bbclass
+++ b/meta/classes/sign_ipk.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for generating signed IPK packages.
#
# Configuration variables used by this class:
diff --git a/meta/classes/sign_package_feed.bbclass b/meta/classes/sign_package_feed.bbclass
index f1504c2225..e9d664750c 100644
--- a/meta/classes/sign_package_feed.bbclass
+++ b/meta/classes/sign_package_feed.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for signing package feeds
#
# Related configuration variables that will be used after this class is
diff --git a/meta/classes/sign_rpm.bbclass b/meta/classes/sign_rpm.bbclass
index 73a55a512d..ee0c4808fa 100644
--- a/meta/classes/sign_rpm.bbclass
+++ b/meta/classes/sign_rpm.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Class for generating signed RPM packages.
#
# Configuration variables used by this class:
diff --git a/meta/classes/siteconfig.bbclass b/meta/classes/siteconfig.bbclass
index 0cfa5a6834..953cafd285 100644
--- a/meta/classes/siteconfig.bbclass
+++ b/meta/classes/siteconfig.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
python siteconfig_do_siteconfig () {
shared_state = sstate_state_fromvars(d)
if shared_state['task'] != 'populate_sysroot':
diff --git a/meta/classes/terminal.bbclass b/meta/classes/terminal.bbclass
index a564ee7494..2dfc7db255 100644
--- a/meta/classes/terminal.bbclass
+++ b/meta/classes/terminal.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
OE_TERMINAL ?= 'auto'
OE_TERMINAL[type] = 'choice'
OE_TERMINAL[choices] = 'auto none \
diff --git a/meta/classes/testexport.bbclass b/meta/classes/testexport.bbclass
index 1b0fb44a4a..f7c5242dc5 100644
--- a/meta/classes/testexport.bbclass
+++ b/meta/classes/testexport.bbclass
@@ -1,7 +1,6 @@
# Copyright (C) 2016 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
-#
+# SPDX-License-Identifier: MIT
#
# testexport.bbclass allows to execute runtime test outside OE environment.
# Most of the tests are commands run on target image over ssh.
@@ -23,10 +22,9 @@ TEST_TARGET ?= "simpleremote"
TEST_TARGET_IP ?= ""
TEST_SERVER_IP ?= ""
-TEST_EXPORT_SDK_PACKAGES ?= ""
+require conf/testexport.conf
+
TEST_EXPORT_SDK_ENABLED ?= "0"
-TEST_EXPORT_SDK_NAME ?= "testexport-tools-nativesdk"
-TEST_EXPORT_SDK_DIR ?= "sdk"
TEST_EXPORT_DEPENDS = ""
TEST_EXPORT_DEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'cpio-native:do_populate_sysroot', '', d)}"
@@ -179,4 +177,4 @@ def testexport_create_tarball(d, tar_name, src_dir):
tar.close()
os.chdir(current_dir)
-inherit testimage
+IMAGE_CLASSES += "testimage"
diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass
index f365c09142..03c4f3a930 100644
--- a/meta/classes/toaster.bbclass
+++ b/meta/classes/toaster.bbclass
@@ -3,7 +3,7 @@
#
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
#
# This bbclass is designed to extract data used by OE-Core during the build process,
# for recording in the Toaster system.
diff --git a/meta/classes/typecheck.bbclass b/meta/classes/typecheck.bbclass
index 72da932232..160f7a024b 100644
--- a/meta/classes/typecheck.bbclass
+++ b/meta/classes/typecheck.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Check types of bitbake configuration variables
#
# See oe.types for details.
diff --git a/meta/classes/useradd-staticids.bbclass b/meta/classes/useradd-staticids.bbclass
index 3acf59cd46..abe484eb46 100644
--- a/meta/classes/useradd-staticids.bbclass
+++ b/meta/classes/useradd-staticids.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# In order to support a deterministic set of 'dynamic' users/groups,
# we need a function to reformat the params based on a static file
def update_useradd_static_config(d):
diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index 20771a0ce5..4d3bd9a5f5 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
inherit useradd_base
# base-passwd-cross provides the default passwd and group files in the
diff --git a/meta/classes/useradd_base.bbclass b/meta/classes/useradd_base.bbclass
index 7f5b9b7219..863cb7b76c 100644
--- a/meta/classes/useradd_base.bbclass
+++ b/meta/classes/useradd_base.bbclass
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# This bbclass provides basic functionality for user/group settings.
# This bbclass is intended to be inherited by useradd.bbclass and
# extrausers.bbclass.
diff --git a/meta/classes/yocto-check-layer.bbclass b/meta/classes/yocto-check-layer.bbclass
index 329d3f8edb..404f5fd9f2 100644
--- a/meta/classes/yocto-check-layer.bbclass
+++ b/meta/classes/yocto-check-layer.bbclass
@@ -1,4 +1,10 @@
#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+#
# This class is used by yocto-check-layer script for additional per-recipe tests
# The first test ensures that the layer has no recipes skipping 'installed-vs-shipped' QA checks
#
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 27478b1107..f179e9e52c 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -547,14 +547,14 @@ HOSTTOOLS_NONFATAL += "git-lfs"
CCACHE ??= ""
-TOOLCHAIN_OPTIONS = "--sysroot=${STAGING_DIR_TARGET}"
+TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"
-export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
-export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
-export FC = "${CCACHE}${HOST_PREFIX}gfortran ${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
-export CPP = "${HOST_PREFIX}gcc -E ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
+export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
+export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
+export FC = "${CCACHE}${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
+export CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
LINKER = "ld"
-export LD = "${HOST_PREFIX}${LINKER} ${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
+export LD = "${HOST_PREFIX}${LINKER}${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
export CCLD = "${CC}"
export AR = "${HOST_PREFIX}gcc-ar"
export AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}"
@@ -647,10 +647,13 @@ EXTRA_OEMAKE:prepend:task-install = "${PARALLEL_MAKEINST} "
# Optimization flags.
##################################################################
# Beware: applied last to first
-DEBUG_PREFIX_MAP ?= "-fmacro-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
- -fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
- -fdebug-prefix-map=${STAGING_DIR_HOST}= \
- -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
+DEBUG_PREFIX_MAP ?= "-fmacro-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fmacro-prefix-map=${B}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${B}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
+ -fdebug-prefix-map=${STAGING_DIR_HOST}= \
+ -fmacro-prefix-map=${STAGING_DIR_HOST}= \
+ -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
"
DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types ${DEBUG_PREFIX_MAP}"
@@ -927,7 +930,7 @@ SHELL[unexport] = "1"
TRANSLATED_TARGET_ARCH ??= "${@d.getVar('TARGET_ARCH').replace("_", "-")}"
# Set a default umask to use for tasks for determinism
-BB_DEFAULT_UMASK = "022"
+BB_DEFAULT_UMASK ??= "022"
# Complete output from bitbake
BB_CONSOLELOG ?= "${LOG_DIR}/cooker/${MACHINE}/${DATETIME}.log"
@@ -945,7 +948,7 @@ BB_HASHEXCLUDE_COMMON ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI
SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR BB_HASHSERVE GIT_CEILING_DIRECTORIES \
OMP_NUM_THREADS BB_CURRENTTASK"
BB_BASEHASH_IGNORE_VARS ?= "${BB_HASHEXCLUDE_COMMON} PSEUDO_IGNORE_PATHS BUILDHISTORY_DIR \
- SSTATE_DIR SOURCE_DATE_EPOCH"
+ SSTATE_DIR SOURCE_DATE_EPOCH RUST_BUILD_SYS RUST_HOST_SYS RUST_TARGET_SYS"
BB_HASHCONFIG_IGNORE_VARS ?= "${BB_HASHEXCLUDE_COMMON} DATE TIME SSH_AGENT_PID \
SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_PASSTHROUGH_ADDITIONS DISABLE_SANITY_CHECKS \
PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \
diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc
index 230bab84dd..abf48f79f0 100644
--- a/meta/conf/distro/include/default-distrovars.inc
+++ b/meta/conf/distro/include/default-distrovars.inc
@@ -19,7 +19,7 @@ DISTRO_FEATURES_DEFAULT:remove:arc = "seccomp"
# seccomp is not yet ported to microblaze
DISTRO_FEATURES_DEFAULT:remove:microblaze = "seccomp"
-DISTRO_FEATURES_DEFAULT ?= "acl alsa bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp"
+DISTRO_FEATURES_DEFAULT ?= "acl alsa bluetooth debuginfod ext2 ipv4 ipv6 pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}"
IMAGE_FEATURES ?= ""
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index e20275c674..3c80a3a617 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -90,7 +90,6 @@ RECIPE_MAINTAINER:pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER:pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-cargo = "Randy MacLeod <Randy.MacLeod@windriver.com>"
-RECIPE_MAINTAINER:pn-cargo-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER:pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
@@ -189,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-12.1.0 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-source-12.2.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>"
@@ -545,10 +544,10 @@ RECIPE_MAINTAINER:pn-ofono = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>"
RECIPE_MAINTAINER:pn-openssh = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-openssl = "Alexander Kanavin <alex.kanavin@gmail.com>"
-RECIPE_MAINTAINER:pn-opkg = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER:pn-opkg-arch-config = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER:pn-opkg-keyrings = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
-RECIPE_MAINTAINER:pn-opkg-utils = "Alejandro del Castillo <alejandro.delcastillo@ni.com>"
+RECIPE_MAINTAINER:pn-opkg = "Alex Stewart <alex.stewart@ni.com>"
+RECIPE_MAINTAINER:pn-opkg-arch-config = "Alex Stewart <alex.stewart@ni.com>"
+RECIPE_MAINTAINER:pn-opkg-keyrings = "Alex Stewart <alex.stewart@ni.com>"
+RECIPE_MAINTAINER:pn-opkg-utils = "Alex Stewart <alex.stewart@ni.com>"
RECIPE_MAINTAINER:pn-orc = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-os-release = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-ovmf = "Ricardo Neri <ricardo.neri-calderon@linux.intel.com>"
@@ -718,12 +717,9 @@ RECIPE_MAINTAINER:pn-rt-tests = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-ruby = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-run-postinsts = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-rust = "Randy MacLeod <Randy.MacLeod@windriver.com>"
-RECIPE_MAINTAINER:pn-rust-cross-${TUNE_PKGARCH}-${TCLIBC} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
-RECIPE_MAINTAINER:pn-rust-crosssdk-${SDK_ARCH}-glibc = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rust-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rust-hello-world = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rust-llvm = "Randy MacLeod <Randy.MacLeod@windriver.com>"
-RECIPE_MAINTAINER:pn-rust-tools-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rxvt-unicode = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-sato-icon-theme = "Richard Purdie <richard.purdie@linuxfoundation.org>"
diff --git a/meta/conf/distro/include/no-static-libs.inc b/meta/conf/distro/include/no-static-libs.inc
index ee67383460..75359928a1 100644
--- a/meta/conf/distro/include/no-static-libs.inc
+++ b/meta/conf/distro/include/no-static-libs.inc
@@ -18,6 +18,8 @@ DISABLE_STATIC:pn-nativesdk-openssl = ""
DISABLE_STATIC:pn-gcc-runtime = ""
# libusb1-native is used to build static dfu-util-native
DISABLE_STATIC:pn-libusb1-native = ""
+# needed by rust
+DISABLE_STATIC:pn-musl = ""
EXTRA_OECONF:append = "${DISABLE_STATIC}"
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 6c4339e3e1..56088e4e66 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -22,6 +22,7 @@ PTESTS_FAST = "\
gettext-ptest \
glib-networking-ptest \
gzip-ptest \
+ json-c-ptest \
json-glib-ptest \
libconvert-asn1-perl-ptest \
liberror-perl-ptest \
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index d92f4e81bc..9abd121e3a 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -18,16 +18,16 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
GCCVERSION ?= "12.%"
SDKGCCVERSION ?= "${GCCVERSION}"
-BINUVERSION ?= "2.38%"
+BINUVERSION ?= "2.39%"
GDBVERSION ?= "12.%"
-GLIBCVERSION ?= "2.35"
+GLIBCVERSION ?= "2.36"
LINUXLIBCVERSION ?= "5.19%"
QEMUVERSION ?= "7.0%"
-GOVERSION ?= "1.18%"
+GOVERSION ?= "1.19%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
# llvm version being used, so always bump it with llvm recipe version bump
LLVMVERSION ?= "14.0.6"
-RUSTVERSION ?= "1.62%"
+RUSTVERSION ?= "1.63%"
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 411fe45a24..7012db441b 100644
--- a/meta/conf/distro/include/yocto-uninative.inc
+++ b/meta/conf/distro/include/yocto-uninative.inc
@@ -6,10 +6,10 @@
# to the distro running on the build machine.
#
-UNINATIVE_MAXGLIBCVERSION = "2.35"
-UNINATIVE_VERSION = "3.6"
+UNINATIVE_MAXGLIBCVERSION = "2.36"
+UNINATIVE_VERSION = "3.7"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
-UNINATIVE_CHECKSUM[aarch64] ?= "d64831cf2792c8e470c2e42230660e1a8e5de56a579cdd59978791f663c2f3ed"
-UNINATIVE_CHECKSUM[i686] ?= "2f0ee9b66b1bb2c85e2b592fb3c9c7f5d77399fa638d74961330cdb8de34ca3b"
-UNINATIVE_CHECKSUM[x86_64] ?= "9bfc4c970495b3716b2f9e52c4df9f968c02463a9a95000f6657fbc3fde1f098"
+UNINATIVE_CHECKSUM[aarch64] ?= "6a29bcae4b5b716d2d520e18800b33943b65f8a835eac1ff8793fc5ee65b4be6"
+UNINATIVE_CHECKSUM[i686] ?= "3f6d52e64996570c716108d49f8108baccf499a283bbefae438c7266b7a93305"
+UNINATIVE_CHECKSUM[x86_64] ?= "b110bf2e10fe420f5ca2f3ec55f048ee5f0a54c7e34856a3594e51eb2aea0570"
diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended
index d24616c764..a898b18d59 100644
--- a/meta/conf/local.conf.sample.extended
+++ b/meta/conf/local.conf.sample.extended
@@ -35,7 +35,7 @@
#DISTRO_FEATURES = "alsa bluetooth ext2 irda ipv4 ipv6 pcmcia usbgadget usbhost wifi nfs zeroconf pci"
# If you want to get an image based on directfb without x11, Please copy this variable to build/conf/local.conf
-#DISTRO_FEATURES = "alsa bluetooth ext2 irda ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb"
+#DISTRO_FEATURES = "alsa bluetooth ext2 irda ipv4 ipv6 pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g directfb"
# ENABLE_BINARY_LOCALE_GENERATION controls the generation of binary locale
# packages at build time using qemu-native. Disabling it (by setting it to 0)
diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf
index 901353499c..8640867911 100644
--- a/meta/conf/machine/qemux86-64.conf
+++ b/meta/conf/machine/qemux86-64.conf
@@ -10,7 +10,7 @@ PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
require conf/machine/include/qemu.inc
DEFAULTTUNE ?= "core2-64"
-require conf/machine/include/x86/tune-core2.inc
+require conf/machine/include/x86/tune-corei7.inc
require conf/machine/include/x86/qemuboot-x86.inc
UBOOT_MACHINE ?= "qemu-x86_64_defconfig"
diff --git a/meta/conf/testexport.conf b/meta/conf/testexport.conf
new file mode 100644
index 0000000000..8880f108fb
--- /dev/null
+++ b/meta/conf/testexport.conf
@@ -0,0 +1,3 @@
+TEST_EXPORT_SDK_PACKAGES ?= ""
+TEST_EXPORT_SDK_DIR ?= "sdk"
+TEST_EXPORT_SDK_NAME ?= "testexport-tools-nativesdk"
diff --git a/meta/files/layers.example.json b/meta/files/layers.example.json
deleted file mode 100644
index b6e35c615d..0000000000
--- a/meta/files/layers.example.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "sources": {
- "meta-alex": {
- "contains_this_file": true,
- "git-remote": {
- "branch": "master",
- "describe": "",
- "remotes": {
- "remote-alex": {
- "uri": "https://github.com/kanavin/meta-alex"
- }
- },
- "rev": "05b25605fb8b2399e4706d7323828676bf0da0b5"
- },
- "layers": {
- "meta-alex": {
- "buildconfigs": {
- "conf/templates/configuration-gadget": {},
- "conf/templates/configuration-gizmo": {}
- },
- "subpath": ""
- }
- },
- "path": "meta-alex"
- },
- "meta-intel": {
- "git-remote": {
- "branch": "master",
- "describe": "15.0-hardknott-3.3-310-g0a96edae",
- "remotes": {
- "origin": {
- "uri": "git://git.yoctoproject.org/meta-intel"
- }
- },
- "rev": "0a96edae609a3f48befac36af82cf1eed6786b4a"
- },
- "layers": {
- "meta-intel": {
- "machines": {
- "intel-core2-32": {},
- "intel-corei7-64": {},
- "intel-skylake-64": {}
- },
- "subpath": ""
- }
- },
- "path": "meta-intel"
- },
- "poky": {
- "git-remote": {
- "branch": "akanavin/setup-layers",
- "describe": "4.1_M1-374-g9dda719b2a",
- "remotes": {
- "origin": {
- "uri": "git://git.yoctoproject.org/poky"
- },
- "poky-contrib": {
- "uri": "ssh://git@push.yoctoproject.org/poky-contrib"
- }
- },
- "rev": "9dda719b2a4727a4d43a6ab8d9e23f8ca68790ec"
- },
- "layers": {
- "meta": {
- "distros": {
- "defaultsetup": {}
- },
- "machines": {
- "qemuarm": {},
- "qemuarm64": {},
- "qemuarmv5": {},
- "qemumips": {},
- "qemumips64": {},
- "qemuppc": {},
- "qemuppc64": {},
- "qemuriscv32": {},
- "qemuriscv64": {},
- "qemux86": {},
- "qemux86-64": {}
- },
- "subpath": "meta"
- },
- "meta-poky": {
- "buildconfigs": {
- "conf": {}
- },
- "distros": {
- "poky": {},
- "poky-altcfg": {},
- "poky-bleeding": {},
- "poky-tiny": {}
- },
- "subpath": "meta-poky"
- },
- "meta-selftest": {
- "machines": {
- "qemux86copy": {}
- },
- "subpath": "meta-selftest"
- },
- "meta-yocto-bsp": {
- "machines": {
- "beaglebone-yocto": {},
- "edgerouter": {},
- "genericx86": {},
- "genericx86-64": {}
- },
- "subpath": "meta-yocto-bsp"
- }
- },
- "path": "poky"
- }
- },
- "version": "1.0"
-}
diff --git a/meta/files/layers.schema.json b/meta/files/layers.schema.json
deleted file mode 100644
index 2603fae8f7..0000000000
--- a/meta/files/layers.schema.json
+++ /dev/null
@@ -1,121 +0,0 @@
-{
- "description": "OpenEmbedder Layer Setup Manifest",
- "type": "object",
- "additionalProperties": false,
- "required": [
- "version"
- ],
- "properties": {
- "version": {
- "description": "The version of this document; currently '1.0'",
- "enum": ["1.0"]
- },
- "sources": {
- "description": "The dict of layer sources",
- "type": "object",
- "patternProperties": { ".*" : {
- "type": "object",
- "description": "The upstream source from which a set of layers may be fetched",
- "additionalProperties": false,
- "required": [
- "path"
- ],
- "properties": {
- "path": {
- "description": "The path where this layer source will be placed when fetching",
- "type": "string"
- },
- "contains_this_file": {
- "description": "Whether the directory with the layer source also contains this json description. Tools may want to skip the checkout of the source then.",
- "type": "boolean"
- },
- "layers": {
- "description": "The dict of layers to be used from this upstream source",
- "type": "object",
- "patternProperties": { ".*" : {
- "description": "A layer from the upstream source",
- "type": "object",
- "additionalProperties": false,
- "properties": {
- "subpath": {
- "description": "The subpath (relative to the source root) for this layer. Omit if the source root is the layer path",
- "type": "string"
- },
- "buildconfigs": {
- "description": "A dict of template build configurations in the layer, keyed by relative path to the layer root",
- "type": "object",
- "patternProperties": { ".*" : {
- "description": "Properties of a build confuguration template",
- "type": "object",
- "additionalProperties": false,
- "properties":{}
- }}
- },
- "machines": {
- "description": "A dict of machine definitions in the layer",
- "type": "object",
- "patternProperties": { ".*" : {
- "description": "Properties of a machine definition",
- "type": "object",
- "additionalProperties": false,
- "properties":{}
- }}
- },
- "distros": {
- "description": "A dict of distro definitions in the layer",
- "type": "object",
- "patternProperties": { ".*" : {
- "description": "Properties of a distro definition",
- "type": "object",
- "additionalProperties": false,
- "properties":{}
- }}
- }
- }
- }}
- },
- "git-remote": {
- "description": "A remote git source from which to fetch",
- "type": "object",
- "additionalProperties": false,
- "required": [
- "rev"
- ],
- "properties": {
- "branch": {
- "description": "The git branch to fetch (optional)",
- "type": "string"
- },
- "rev": {
- "description": "The git revision to checkout",
- "type": "string"
- },
- "describe": {
- "description": "The output of 'git describe' (human readable description of the revision using tags in revision history).",
- "type": "string"
- },
- "remotes": {
- "description": "The dict of git remotes to add to this repository",
- "type": "object",
- "patternProperties": { ".*" : {
- "description": "A git remote",
- "type": "object",
- "addtionalProperties": false,
- "required": [
- "uri"
- ],
- "properties": {
- "uri": {
- "description": "The URI for the remote",
- "type": "string"
- }
- }
- }}
- }
- }
- }
- }
- }
- }}
- }
-}
diff --git a/meta/lib/bblayers/buildconf.py b/meta/lib/bblayers/buildconf.py
deleted file mode 100644
index ece8836d5a..0000000000
--- a/meta/lib/bblayers/buildconf.py
+++ /dev/null
@@ -1,83 +0,0 @@
-#
-# SPDX-License-Identifier: GPL-2.0-only
-#
-
-import logging
-import os
-import stat
-import sys
-import shutil
-import json
-
-import bb.utils
-import bb.process
-
-from bblayers.common import LayerPlugin
-
-logger = logging.getLogger('bitbake-layers')
-
-sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
-
-import oe.buildcfg
-
-def plugin_init(plugins):
- return BuildConfPlugin()
-
-class BuildConfPlugin(LayerPlugin):
- notes_fixme = """FIXME: Please place here the description of this build configuration.
-It will be shown to the users when they set up their builds via TEMPLATECONF.
-"""
-
- def _save_conf(self, templatename, templatepath, oecorepath, relpaths_to_oecore):
- confdir = os.path.join(os.environ["BBPATH"], "conf")
- destdir = os.path.join(templatepath, "conf", "templates", templatename)
- os.makedirs(destdir, exist_ok=True)
-
- with open(os.path.join(confdir, "local.conf")) as src:
- with open(os.path.join(destdir, "local.conf.sample"), 'w') as dest:
- dest.write(src.read())
-
- with open(os.path.join(confdir, "bblayers.conf")) as src:
- with open(os.path.join(destdir, "bblayers.conf.sample"), 'w') as dest:
- bblayers_data = src.read()
-
- for (abspath, relpath) in relpaths_to_oecore:
- bblayers_data = bblayers_data.replace(abspath, "##OEROOT##/" + relpath)
- dest.write(bblayers_data)
-
- with open(os.path.join(destdir, "conf-notes.txt"), 'w') as dest:
- dest.write(self.notes_fixme)
-
- logger.info("""Configuration template placed into {}
-Please review the files in there, and particularly provide a configuration description in {}
-You can try out the configuration with
-TEMPLATECONF={} . {}/oe-init-build-env build-try-{}"""
-.format(destdir, os.path.join(destdir, "conf-notes.txt"), destdir, oecorepath, templatename))
-
- def do_save_build_conf(self, args):
- """ Save the currently active build configuration (conf/local.conf, conf/bblayers.conf) as a template into a layer.\n This template can later be used for setting up builds via TEMPLATECONF. """
- repos = {}
- layers = oe.buildcfg.get_layer_revisions(self.tinfoil.config_data)
- targetlayer = None
- oecore = None
-
- for l in layers:
- if l[0] == os.path.abspath(args.layerpath):
- targetlayer = l[0]
- if l[1] == 'meta':
- oecore = os.path.dirname(l[0])
-
- if not targetlayer:
- logger.error("Layer {} not in one of the currently enabled layers:\n{}".format(args.layerpath, "\n".join([l[0] for l in layers])))
- elif not oecore:
- logger.error("Openembedded-core not in one of the currently enabled layers:\n{}".format("\n".join([l[0] for l in layers])))
- else:
- relpaths_to_oecore = [(l[0], os.path.relpath(l[0], start=oecore)) for l in layers]
- self._save_conf(args.templatename, targetlayer, oecore, relpaths_to_oecore)
-
- def register_commands(self, sp):
- parser_build_conf = self.add_command(sp, 'save-build-conf', self.do_save_build_conf, parserecipes=False)
- parser_build_conf.add_argument('layerpath',
- help='The path to the layer where the configuration template should be saved.')
- parser_build_conf.add_argument('templatename',
- help='The name of the configuration template.')
diff --git a/meta/lib/bblayers/create.py b/meta/lib/bblayers/create.py
index 7ddb777dc7..0aeb5d5f7b 100644
--- a/meta/lib/bblayers/create.py
+++ b/meta/lib/bblayers/create.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/bblayers/makesetup.py b/meta/lib/bblayers/makesetup.py
deleted file mode 100644
index b7f62900f4..0000000000
--- a/meta/lib/bblayers/makesetup.py
+++ /dev/null
@@ -1,139 +0,0 @@
-#
-# SPDX-License-Identifier: GPL-2.0-only
-#
-
-import logging
-import os
-import stat
-import sys
-import shutil
-import json
-
-import bb.utils
-import bb.process
-
-from bblayers.common import LayerPlugin
-
-logger = logging.getLogger('bitbake-layers')
-
-sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
-
-import oe.buildcfg
-
-def plugin_init(plugins):
- return MakeSetupPlugin()
-
-class MakeSetupPlugin(LayerPlugin):
-
- def _write_python(self, input, output):
- with open(input) as f:
- script = f.read()
- with open(output, 'w') as f:
- f.write(script)
- st = os.stat(output)
- os.chmod(output, st.st_mode | stat.S_IEXEC | stat.S_IXGRP | stat.S_IXOTH)
-
- def _write_json(self, repos, output):
- with open(output, 'w') as f:
- json.dump(repos, f, sort_keys=True, indent=4)
-
- def _get_repo_path(self, layer_path):
- repo_path, _ = bb.process.run('git rev-parse --show-toplevel', cwd=layer_path)
- return repo_path.strip()
-
- def _get_remotes(self, repo_path):
- remotes = {}
- remotes_list,_ = bb.process.run('git remote', cwd=repo_path)
- for r in remotes_list.split():
- uri,_ = bb.process.run('git remote get-url {r}'.format(r=r), cwd=repo_path)
- remotes[r] = {'uri':uri.strip()}
- return remotes
-
- def _get_describe(self, repo_path):
- try:
- describe,_ = bb.process.run('git describe --tags', cwd=repo_path)
- except bb.process.ExecutionError:
- return ""
- return describe.strip()
-
- def _get_confs(self, conf_path):
- try:
- files = os.listdir(conf_path)
- except:
- return []
- return {f.replace(".conf",""):{} for f in files if f.endswith(".conf")}
-
- def _get_distros(self, layer_path):
- return self._get_confs(os.path.join(layer_path, "conf/distro"))
-
- def _get_machines(self, layer_path):
- return self._get_confs(os.path.join(layer_path, "conf/machine"))
-
- def _get_buildconfigs(self, layerpath):
- return {os.path.relpath(dir, start=layerpath):{} for (dir, subdirs, files) in os.walk(layerpath) if 'local.conf.sample' in files and 'bblayers.conf.sample' in files}
-
- def _make_repo_config(self, destdir):
- repos = {}
- layers = oe.buildcfg.get_layer_revisions(self.tinfoil.config_data)
- try:
- destdir_repo = self._get_repo_path(destdir)
- except bb.process.ExecutionError:
- destdir_repo = None
-
- for (l_path, l_name, l_branch, l_rev, l_ismodified) in layers:
- if l_name == 'workspace':
- continue
- if l_ismodified:
- logger.error("Layer {name} in {path} has uncommitted modifications or is not in a git repository.".format(name=l_name,path=l_path))
- return
- repo_path = self._get_repo_path(l_path)
- if repo_path not in repos.keys():
- repos[repo_path] = {'path':os.path.basename(repo_path),'layers':{},'git-remote':{'rev':l_rev, 'branch':l_branch, 'remotes':self._get_remotes(repo_path), 'describe':self._get_describe(repo_path)}}
- if repo_path == destdir_repo:
- repos[repo_path]['contains_this_file'] = True
- if not repos[repo_path]['git-remote']['remotes'] and not repos[repo_path]['contains_this_file']:
- logger.error("Layer repository in {path} does not have any remotes configured. Please add at least one with 'git remote add'.".format(path=repo_path))
- return
- repos[repo_path]['layers'][l_name] = {'subpath':l_path.replace(repo_path,'')[1:]}
- distros = self._get_distros(l_path)
- machines = self._get_machines(l_path)
- buildconfigs = self._get_buildconfigs(l_path)
- if distros:
- repos[repo_path]['layers'][l_name]['distros'] = distros
- if machines:
- repos[repo_path]['layers'][l_name]['machines'] = machines
- if buildconfigs:
- repos[repo_path]['layers'][l_name]['buildconfigs'] = buildconfigs
-
- top_path = os.path.commonpath([os.path.dirname(r) for r in repos.keys()])
-
- repos_nopaths = {}
- for r in repos.keys():
- r_nopath = os.path.basename(r)
- repos_nopaths[r_nopath] = repos[r]
- r_relpath = os.path.relpath(r, top_path)
- repos_nopaths[r_nopath]['path'] = r_relpath
- return repos_nopaths
-
- def do_make_setup(self, args):
- """ Writes out a python script and a json config that replicate the directory structure and revisions of the layers in a current build. """
- repos = self._make_repo_config(args.destdir)
- json = {"version":"1.0","sources":repos}
- if not repos:
- raise Exception("Could not determine layer sources")
- output = args.output_prefix or "setup-layers"
- output = os.path.join(os.path.abspath(args.destdir),output)
- self._write_json(json, output + ".json")
- logger.info('Created {}.json'.format(output))
- if not args.json_only:
- self._write_python(os.path.join(os.path.dirname(__file__),'../../../scripts/oe-setup-layers'), output)
- logger.info('Created {}'.format(output))
-
- def register_commands(self, sp):
- parser_setup_layers = self.add_command(sp, 'create-layers-setup', self.do_make_setup, parserecipes=False)
- parser_setup_layers.add_argument('destdir',
- help='Directory where to write the output\n(if it is inside one of the layers, the layer becomes a bootstrap repository and thus will be excluded from fetching by the script).')
- parser_setup_layers.add_argument('--output-prefix', '-o',
- help='File name prefix for the output files, if the default (setup-layers) is undesirable.')
- parser_setup_layers.add_argument('--json-only', action='store_true',
- help='Write only the layer configuruation in json format. Otherwise, also a copy of poky/scripts/oe-setup-layers is provided, which is a self contained python script that fetches all the needed layers and sets them to correct revisions using the data from the json.')
diff --git a/meta/lib/buildstats.py b/meta/lib/buildstats.py
index 99a8303d5e..1ffe679801 100644
--- a/meta/lib/buildstats.py
+++ b/meta/lib/buildstats.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Implements system state sampling. Called by buildstats.bbclass.
diff --git a/meta/lib/oe/__init__.py b/meta/lib/oe/__init__.py
index 4e7c09da04..92f002d872 100644
--- a/meta/lib/oe/__init__.py
+++ b/meta/lib/oe/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/cachedpath.py b/meta/lib/oe/cachedpath.py
index 254257a83f..0138b791d4 100644
--- a/meta/lib/oe/cachedpath.py
+++ b/meta/lib/oe/cachedpath.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Based on standard python library functions but avoid
diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py
index e08d788b75..2013b29711 100644
--- a/meta/lib/oe/classextend.py
+++ b/meta/lib/oe/classextend.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/classutils.py b/meta/lib/oe/classutils.py
index 08bb66b365..ec3f6ad720 100644
--- a/meta/lib/oe/classutils.py
+++ b/meta/lib/oe/classutils.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py
index 79642fd76a..a0d829054e 100644
--- a/meta/lib/oe/copy_buildsystem.py
+++ b/meta/lib/oe/copy_buildsystem.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# This class should provide easy access to the different aspects of the
diff --git a/meta/lib/oe/cve_check.py b/meta/lib/oe/cve_check.py
index aa06497727..4f1d80f050 100644
--- a/meta/lib/oe/cve_check.py
+++ b/meta/lib/oe/cve_check.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
import collections
import re
import itertools
@@ -143,7 +149,7 @@ def get_cpe_ids(cve_product, version):
else:
vendor = "*"
- cpe_id = f'cpe:2.3:a:{vendor}:{product}:{version}:*:*:*:*:*:*:*'
+ cpe_id = 'cpe:2.3:a:{}:{}:{}:*:*:*:*:*:*:*'.format(vendor, product, version)
cpe_ids.append(cpe_id)
return cpe_ids
diff --git a/meta/lib/oe/data.py b/meta/lib/oe/data.py
index 602130a904..37121cfad2 100644
--- a/meta/lib/oe/data.py
+++ b/meta/lib/oe/data.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/distro_check.py b/meta/lib/oe/distro_check.py
index 4b2a9bec01..3494520f40 100644
--- a/meta/lib/oe/distro_check.py
+++ b/meta/lib/oe/distro_check.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/elf.py b/meta/lib/oe/elf.py
index 46c884a775..fb07995b3e 100644
--- a/meta/lib/oe/elf.py
+++ b/meta/lib/oe/elf.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/gpg_sign.py b/meta/lib/oe/gpg_sign.py
index aa9bb49f2c..613dab8561 100644
--- a/meta/lib/oe/gpg_sign.py
+++ b/meta/lib/oe/gpg_sign.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py
index 99cfa5f733..d9c8d94da4 100644
--- a/meta/lib/oe/license.py
+++ b/meta/lib/oe/license.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
"""Code for parsing OpenEmbedded license strings"""
diff --git a/meta/lib/oe/lsb.py b/meta/lib/oe/lsb.py
index 43e46380d7..3ec03e5042 100644
--- a/meta/lib/oe/lsb.py
+++ b/meta/lib/oe/lsb.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/maketype.py b/meta/lib/oe/maketype.py
index d36082c535..7a83bdf602 100644
--- a/meta/lib/oe/maketype.py
+++ b/meta/lib/oe/maketype.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
"""OpenEmbedded variable typing support
diff --git a/meta/lib/oe/manifest.py b/meta/lib/oe/manifest.py
index 1a058dcd73..61f18adc4a 100644
--- a/meta/lib/oe/manifest.py
+++ b/meta/lib/oe/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/npm_registry.py b/meta/lib/oe/npm_registry.py
index 96c0affb45..db581e280e 100644
--- a/meta/lib/oe/npm_registry.py
+++ b/meta/lib/oe/npm_registry.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
import bb
import json
import subprocess
diff --git a/meta/lib/oe/overlayfs.py b/meta/lib/oe/overlayfs.py
index b5d5e88e80..8d7a047125 100644
--- a/meta/lib/oe/overlayfs.py
+++ b/meta/lib/oe/overlayfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# This file contains common functions for overlayfs and its QA check
diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
index 7d387ee81d..4aa40d70ee 100644
--- a/meta/lib/oe/package.py
+++ b/meta/lib/oe/package.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/__init__.py b/meta/lib/oe/package_manager/__init__.py
index d3b45705ec..a6bf2fe219 100644
--- a/meta/lib/oe/package_manager/__init__.py
+++ b/meta/lib/oe/package_manager/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/deb/__init__.py b/meta/lib/oe/package_manager/deb/__init__.py
index b96ea0bad4..c672454072 100644
--- a/meta/lib/oe/package_manager/deb/__init__.py
+++ b/meta/lib/oe/package_manager/deb/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/deb/manifest.py b/meta/lib/oe/package_manager/deb/manifest.py
index d8eab24a06..72983bae98 100644
--- a/meta/lib/oe/package_manager/deb/manifest.py
+++ b/meta/lib/oe/package_manager/deb/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/deb/rootfs.py b/meta/lib/oe/package_manager/deb/rootfs.py
index 8fbaca11d6..1e25b64ed9 100644
--- a/meta/lib/oe/package_manager/deb/rootfs.py
+++ b/meta/lib/oe/package_manager/deb/rootfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/deb/sdk.py b/meta/lib/oe/package_manager/deb/sdk.py
index f4b0b6510a..653e42ab3c 100644
--- a/meta/lib/oe/package_manager/deb/sdk.py
+++ b/meta/lib/oe/package_manager/deb/sdk.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/ipk/__init__.py b/meta/lib/oe/package_manager/ipk/__init__.py
index 7cbea0fa80..caca522fd6 100644
--- a/meta/lib/oe/package_manager/ipk/__init__.py
+++ b/meta/lib/oe/package_manager/ipk/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/ipk/manifest.py b/meta/lib/oe/package_manager/ipk/manifest.py
index ae451c5c70..469e14c3c6 100644
--- a/meta/lib/oe/package_manager/ipk/manifest.py
+++ b/meta/lib/oe/package_manager/ipk/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/ipk/rootfs.py b/meta/lib/oe/package_manager/ipk/rootfs.py
index 10a831994e..1f74f7e39a 100644
--- a/meta/lib/oe/package_manager/ipk/rootfs.py
+++ b/meta/lib/oe/package_manager/ipk/rootfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/ipk/sdk.py b/meta/lib/oe/package_manager/ipk/sdk.py
index e2ca415c8e..6a1f167fb7 100644
--- a/meta/lib/oe/package_manager/ipk/sdk.py
+++ b/meta/lib/oe/package_manager/ipk/sdk.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/rpm/__init__.py b/meta/lib/oe/package_manager/rpm/__init__.py
index d97dab3293..18ec5c895d 100644
--- a/meta/lib/oe/package_manager/rpm/__init__.py
+++ b/meta/lib/oe/package_manager/rpm/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/rpm/manifest.py b/meta/lib/oe/package_manager/rpm/manifest.py
index e6604b301f..6ee7c329f0 100644
--- a/meta/lib/oe/package_manager/rpm/manifest.py
+++ b/meta/lib/oe/package_manager/rpm/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/rpm/rootfs.py b/meta/lib/oe/package_manager/rpm/rootfs.py
index 00d07cd9cc..d4c415f68c 100644
--- a/meta/lib/oe/package_manager/rpm/rootfs.py
+++ b/meta/lib/oe/package_manager/rpm/rootfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/package_manager/rpm/sdk.py b/meta/lib/oe/package_manager/rpm/sdk.py
index c5f232431f..0726a18b91 100644
--- a/meta/lib/oe/package_manager/rpm/sdk.py
+++ b/meta/lib/oe/package_manager/rpm/sdk.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/packagedata.py b/meta/lib/oe/packagedata.py
index 212f048bc6..b2ed8b5a3d 100644
--- a/meta/lib/oe/packagedata.py
+++ b/meta/lib/oe/packagedata.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/packagegroup.py b/meta/lib/oe/packagegroup.py
index 8fcaecde82..7b7594751a 100644
--- a/meta/lib/oe/packagegroup.py
+++ b/meta/lib/oe/packagegroup.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py
index 4ec9caed45..b2dc8d0a90 100644
--- a/meta/lib/oe/patch.py
+++ b/meta/lib/oe/patch.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/path.py b/meta/lib/oe/path.py
index c8d8ad05b9..0dc8f172d5 100644
--- a/meta/lib/oe/path.py
+++ b/meta/lib/oe/path.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/prservice.py b/meta/lib/oe/prservice.py
index 339f7aebca..2f2a0c128a 100644
--- a/meta/lib/oe/prservice.py
+++ b/meta/lib/oe/prservice.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/qa.py b/meta/lib/oe/qa.py
index 89acd3ead0..b4cbc50045 100644
--- a/meta/lib/oe/qa.py
+++ b/meta/lib/oe/qa.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/reproducible.py b/meta/lib/oe/reproducible.py
index 2e815df190..04a1810d4f 100644
--- a/meta/lib/oe/reproducible.py
+++ b/meta/lib/oe/reproducible.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 9e6b411fb6..0b9911e3a6 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
from abc import ABCMeta, abstractmethod
diff --git a/meta/lib/oe/rust.py b/meta/lib/oe/rust.py
index ec70b34805..1dc9cf150d 100644
--- a/meta/lib/oe/rust.py
+++ b/meta/lib/oe/rust.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
# Handle mismatches between `uname -m`-style output and Rust's arch names
def arch_to_rust_arch(arch):
if arch == "ppc64le":
diff --git a/meta/lib/oe/sbom.py b/meta/lib/oe/sbom.py
index 52bf51440e..bbf466bbad 100644
--- a/meta/lib/oe/sbom.py
+++ b/meta/lib/oe/sbom.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py
index 27347667e8..81fcf15371 100644
--- a/meta/lib/oe/sdk.py
+++ b/meta/lib/oe/sdk.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/spdx.py b/meta/lib/oe/spdx.py
index 6d56ed90df..c74ea68878 100644
--- a/meta/lib/oe/spdx.py
+++ b/meta/lib/oe/spdx.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index de65244932..fad10af539 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import bb.siggen
diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index de8dcebf94..71ffc87019 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import logging
diff --git a/meta/lib/oe/types.py b/meta/lib/oe/types.py
index bbbabafbf6..b929afb1f3 100644
--- a/meta/lib/oe/types.py
+++ b/meta/lib/oe/types.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oe/useradd.py b/meta/lib/oe/useradd.py
index 3caa3f851a..54aa86feb5 100644
--- a/meta/lib/oe/useradd.py
+++ b/meta/lib/oe/useradd.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import argparse
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index 1ee947d584..69ca8987f3 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oeqa/controllers/__init__.py b/meta/lib/oeqa/controllers/__init__.py
index cc3836c4bf..0fc905be9a 100644
--- a/meta/lib/oeqa/controllers/__init__.py
+++ b/meta/lib/oeqa/controllers/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
# Enable other layers to have modules in the same named directory
diff --git a/meta/lib/oeqa/controllers/testtargetloader.py b/meta/lib/oeqa/controllers/testtargetloader.py
index 23101c7371..209ff7061a 100644
--- a/meta/lib/oeqa/controllers/testtargetloader.py
+++ b/meta/lib/oeqa/controllers/testtargetloader.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
diff --git a/meta/lib/oeqa/core/utils/concurrencytest.py b/meta/lib/oeqa/core/utils/concurrencytest.py
index 161a2f6e90..383479c959 100644
--- a/meta/lib/oeqa/core/utils/concurrencytest.py
+++ b/meta/lib/oeqa/core/utils/concurrencytest.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Modified for use in OE by Richard Purdie, 2018
diff --git a/meta/lib/oeqa/runtime/cases/_qemutiny.py b/meta/lib/oeqa/runtime/cases/_qemutiny.py
index 6886e36502..14ff8b98b2 100644
--- a/meta/lib/oeqa/runtime/cases/_qemutiny.py
+++ b/meta/lib/oeqa/runtime/cases/_qemutiny.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/apt.py b/meta/lib/oeqa/runtime/cases/apt.py
index 574a34f148..4e09374add 100644
--- a/meta/lib/oeqa/runtime/cases/apt.py
+++ b/meta/lib/oeqa/runtime/cases/apt.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/boot.py b/meta/lib/oeqa/runtime/cases/boot.py
index e1ad88a174..dcee3311f7 100644
--- a/meta/lib/oeqa/runtime/cases/boot.py
+++ b/meta/lib/oeqa/runtime/cases/boot.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/buildcpio.py b/meta/lib/oeqa/runtime/cases/buildcpio.py
index e29bf16ccb..bd3b46d9ef 100644
--- a/meta/lib/oeqa/runtime/cases/buildcpio.py
+++ b/meta/lib/oeqa/runtime/cases/buildcpio.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/buildgalculator.py b/meta/lib/oeqa/runtime/cases/buildgalculator.py
index e5cc3e2888..2cfb3243dc 100644
--- a/meta/lib/oeqa/runtime/cases/buildgalculator.py
+++ b/meta/lib/oeqa/runtime/cases/buildgalculator.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/buildlzip.py b/meta/lib/oeqa/runtime/cases/buildlzip.py
index bc70b41461..44f4f1be71 100644
--- a/meta/lib/oeqa/runtime/cases/buildlzip.py
+++ b/meta/lib/oeqa/runtime/cases/buildlzip.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/connman.py b/meta/lib/oeqa/runtime/cases/connman.py
index f0d15fac9b..a488752e3f 100644
--- a/meta/lib/oeqa/runtime/cases/connman.py
+++ b/meta/lib/oeqa/runtime/cases/connman.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/date.py b/meta/lib/oeqa/runtime/cases/date.py
index bd6537400e..a2523de67a 100644
--- a/meta/lib/oeqa/runtime/cases/date.py
+++ b/meta/lib/oeqa/runtime/cases/date.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/df.py b/meta/lib/oeqa/runtime/cases/df.py
index bb155c9cf9..43e0ebf9ea 100644
--- a/meta/lib/oeqa/runtime/cases/df.py
+++ b/meta/lib/oeqa/runtime/cases/df.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/dnf.py b/meta/lib/oeqa/runtime/cases/dnf.py
index f40c63026e..a8e23e596e 100644
--- a/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/meta/lib/oeqa/runtime/cases/dnf.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py b/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py
index b93ee29941..eac8f2d082 100644
--- a/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py
+++ b/meta/lib/oeqa/runtime/cases/ethernet_ip_connman.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
diff --git a/meta/lib/oeqa/runtime/cases/gcc.py b/meta/lib/oeqa/runtime/cases/gcc.py
index 1b6e431bf4..17b1483e8d 100644
--- a/meta/lib/oeqa/runtime/cases/gcc.py
+++ b/meta/lib/oeqa/runtime/cases/gcc.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/gi.py b/meta/lib/oeqa/runtime/cases/gi.py
index 42bd100a31..78c7ddda2c 100644
--- a/meta/lib/oeqa/runtime/cases/gi.py
+++ b/meta/lib/oeqa/runtime/cases/gi.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/go.py b/meta/lib/oeqa/runtime/cases/go.py
index 89ba2c3ecb..7514d108f1 100644
--- a/meta/lib/oeqa/runtime/cases/go.py
+++ b/meta/lib/oeqa/runtime/cases/go.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/gstreamer.py b/meta/lib/oeqa/runtime/cases/gstreamer.py
index f735f82e3b..2295769cfd 100644
--- a/meta/lib/oeqa/runtime/cases/gstreamer.py
+++ b/meta/lib/oeqa/runtime/cases/gstreamer.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/kernelmodule.py b/meta/lib/oeqa/runtime/cases/kernelmodule.py
index 47fd2f850c..9c42fcc586 100644
--- a/meta/lib/oeqa/runtime/cases/kernelmodule.py
+++ b/meta/lib/oeqa/runtime/cases/kernelmodule.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/ksample.py b/meta/lib/oeqa/runtime/cases/ksample.py
index c69e3fe4ac..b6848762e3 100644
--- a/meta/lib/oeqa/runtime/cases/ksample.py
+++ b/meta/lib/oeqa/runtime/cases/ksample.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/ldd.py b/meta/lib/oeqa/runtime/cases/ldd.py
index 9c2caa8f65..f6841c6675 100644
--- a/meta/lib/oeqa/runtime/cases/ldd.py
+++ b/meta/lib/oeqa/runtime/cases/ldd.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/logrotate.py b/meta/lib/oeqa/runtime/cases/logrotate.py
index 2bff08f9da..6ad980cb6a 100644
--- a/meta/lib/oeqa/runtime/cases/logrotate.py
+++ b/meta/lib/oeqa/runtime/cases/logrotate.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/multilib.py b/meta/lib/oeqa/runtime/cases/multilib.py
index 0d1b9ae2c9..68556e45c5 100644
--- a/meta/lib/oeqa/runtime/cases/multilib.py
+++ b/meta/lib/oeqa/runtime/cases/multilib.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/oe_syslog.py b/meta/lib/oeqa/runtime/cases/oe_syslog.py
index 150b70d9f0..cad0c88d26 100644
--- a/meta/lib/oeqa/runtime/cases/oe_syslog.py
+++ b/meta/lib/oeqa/runtime/cases/oe_syslog.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/opkg.py b/meta/lib/oeqa/runtime/cases/opkg.py
index 9cfee1cd88..a29c93e59a 100644
--- a/meta/lib/oeqa/runtime/cases/opkg.py
+++ b/meta/lib/oeqa/runtime/cases/opkg.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/pam.py b/meta/lib/oeqa/runtime/cases/pam.py
index a482ded945..b3e8b56c3c 100644
--- a/meta/lib/oeqa/runtime/cases/pam.py
+++ b/meta/lib/oeqa/runtime/cases/pam.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py
index 1f9365f3a8..e16c230dfa 100644
--- a/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
@@ -64,6 +66,7 @@ common_errors = [
"[pulseaudio] authkey.c: Failed to load authentication key",
"was skipped because of a failed condition check",
"was skipped because all trigger condition checks failed",
+ "xf86OpenConsole: Switching VT failed",
]
video_related = [
@@ -140,6 +143,7 @@ ignore_errors = {
'Failed to initialize \'/amba/timer@101e3000\': -22',
'jitterentropy: Initialization failed with host not compliant with requirements: 2',
'clcd-pl11x: probe of 10120000.display failed with error -2',
+ 'arm-charlcd 10008000.lcd: error -ENXIO: IRQ index 0 not found'
] + common_errors,
'qemuarm64' : [
'Fatal server error:',
diff --git a/meta/lib/oeqa/runtime/cases/perl.py b/meta/lib/oeqa/runtime/cases/perl.py
index 2c6b3b7846..f11b300836 100644
--- a/meta/lib/oeqa/runtime/cases/perl.py
+++ b/meta/lib/oeqa/runtime/cases/perl.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/ping.py b/meta/lib/oeqa/runtime/cases/ping.py
index 498f80d0a5..967b44175f 100644
--- a/meta/lib/oeqa/runtime/cases/ping.py
+++ b/meta/lib/oeqa/runtime/cases/ping.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/ptest.py b/meta/lib/oeqa/runtime/cases/ptest.py
index 00742da2b5..3ef9022188 100644
--- a/meta/lib/oeqa/runtime/cases/ptest.py
+++ b/meta/lib/oeqa/runtime/cases/ptest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/python.py b/meta/lib/oeqa/runtime/cases/python.py
index ec54f1e1db..5d6d133480 100644
--- a/meta/lib/oeqa/runtime/cases/python.py
+++ b/meta/lib/oeqa/runtime/cases/python.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/rpm.py b/meta/lib/oeqa/runtime/cases/rpm.py
index a4339116bf..e3cd818b2b 100644
--- a/meta/lib/oeqa/runtime/cases/rpm.py
+++ b/meta/lib/oeqa/runtime/cases/rpm.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/rt.py b/meta/lib/oeqa/runtime/cases/rt.py
index 849ac1914e..15ab4dbbbb 100644
--- a/meta/lib/oeqa/runtime/cases/rt.py
+++ b/meta/lib/oeqa/runtime/cases/rt.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/rtc.py b/meta/lib/oeqa/runtime/cases/rtc.py
index c4e6681324..b2159b1134 100644
--- a/meta/lib/oeqa/runtime/cases/rtc.py
+++ b/meta/lib/oeqa/runtime/cases/rtc.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.runtime.decorator.package import OEHasPackage
diff --git a/meta/lib/oeqa/runtime/cases/runlevel.py b/meta/lib/oeqa/runtime/cases/runlevel.py
index 3a4df8ace1..6734b0f5ed 100644
--- a/meta/lib/oeqa/runtime/cases/runlevel.py
+++ b/meta/lib/oeqa/runtime/cases/runlevel.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
diff --git a/meta/lib/oeqa/runtime/cases/rust.py b/meta/lib/oeqa/runtime/cases/rust.py
index b3d6cf7f37..55b280d61d 100644
--- a/meta/lib/oeqa/runtime/cases/rust.py
+++ b/meta/lib/oeqa/runtime/cases/rust.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/scons.py b/meta/lib/oeqa/runtime/cases/scons.py
index 3c7c7f7270..4a8d4d40ba 100644
--- a/meta/lib/oeqa/runtime/cases/scons.py
+++ b/meta/lib/oeqa/runtime/cases/scons.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/scp.py b/meta/lib/oeqa/runtime/cases/scp.py
index f2bbc947d6..ee97b8ef66 100644
--- a/meta/lib/oeqa/runtime/cases/scp.py
+++ b/meta/lib/oeqa/runtime/cases/scp.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/skeletoninit.py b/meta/lib/oeqa/runtime/cases/skeletoninit.py
index a12f1e9aae..75951beda9 100644
--- a/meta/lib/oeqa/runtime/cases/skeletoninit.py
+++ b/meta/lib/oeqa/runtime/cases/skeletoninit.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/ssh.py b/meta/lib/oeqa/runtime/cases/ssh.py
index e31224b3af..13aac54396 100644
--- a/meta/lib/oeqa/runtime/cases/ssh.py
+++ b/meta/lib/oeqa/runtime/cases/ssh.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/stap.py b/meta/lib/oeqa/runtime/cases/stap.py
index 480eaabf2d..3be4162108 100644
--- a/meta/lib/oeqa/runtime/cases/stap.py
+++ b/meta/lib/oeqa/runtime/cases/stap.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/storage.py b/meta/lib/oeqa/runtime/cases/storage.py
index 972ef8210c..b05622fea8 100644
--- a/meta/lib/oeqa/runtime/cases/storage.py
+++ b/meta/lib/oeqa/runtime/cases/storage.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/suspend.py b/meta/lib/oeqa/runtime/cases/suspend.py
index 0382d48f45..a625cc5901 100644
--- a/meta/lib/oeqa/runtime/cases/suspend.py
+++ b/meta/lib/oeqa/runtime/cases/suspend.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
diff --git a/meta/lib/oeqa/runtime/cases/systemd.py b/meta/lib/oeqa/runtime/cases/systemd.py
index 7c44abe8ed..720b4b517a 100644
--- a/meta/lib/oeqa/runtime/cases/systemd.py
+++ b/meta/lib/oeqa/runtime/cases/systemd.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/terminal.py b/meta/lib/oeqa/runtime/cases/terminal.py
index 8fcca99f47..96ba3c3195 100644
--- a/meta/lib/oeqa/runtime/cases/terminal.py
+++ b/meta/lib/oeqa/runtime/cases/terminal.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.runtime.decorator.package import OEHasPackage
diff --git a/meta/lib/oeqa/runtime/cases/usb_hid.py b/meta/lib/oeqa/runtime/cases/usb_hid.py
index 8743174370..6f23d2ff51 100644
--- a/meta/lib/oeqa/runtime/cases/usb_hid.py
+++ b/meta/lib/oeqa/runtime/cases/usb_hid.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
diff --git a/meta/lib/oeqa/runtime/cases/weston.py b/meta/lib/oeqa/runtime/cases/weston.py
index 1fd471e611..ee4d336482 100644
--- a/meta/lib/oeqa/runtime/cases/weston.py
+++ b/meta/lib/oeqa/runtime/cases/weston.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/x32lib.py b/meta/lib/oeqa/runtime/cases/x32lib.py
index f419c8f181..014da4b386 100644
--- a/meta/lib/oeqa/runtime/cases/x32lib.py
+++ b/meta/lib/oeqa/runtime/cases/x32lib.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/runtime/cases/xorg.py b/meta/lib/oeqa/runtime/cases/xorg.py
index d6845587c2..09afb1e3d1 100644
--- a/meta/lib/oeqa/runtime/cases/xorg.py
+++ b/meta/lib/oeqa/runtime/cases/xorg.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/buildtools-cases/build.py b/meta/lib/oeqa/sdk/buildtools-cases/build.py
index aee2e5a8c0..c85c32496b 100644
--- a/meta/lib/oeqa/sdk/buildtools-cases/build.py
+++ b/meta/lib/oeqa/sdk/buildtools-cases/build.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/buildtools-cases/gcc.py b/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
index 36ba15b134..a62c4d0bc4 100644
--- a/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
+++ b/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/buildtools-cases/https.py b/meta/lib/oeqa/sdk/buildtools-cases/https.py
index 35e549eb40..4525e3d758 100644
--- a/meta/lib/oeqa/sdk/buildtools-cases/https.py
+++ b/meta/lib/oeqa/sdk/buildtools-cases/https.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/buildtools-cases/sanity.py b/meta/lib/oeqa/sdk/buildtools-cases/sanity.py
index 64baaa8f84..b9dfa39a06 100644
--- a/meta/lib/oeqa/sdk/buildtools-cases/sanity.py
+++ b/meta/lib/oeqa/sdk/buildtools-cases/sanity.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py b/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py
index 5b0eca046f..6e3ee94292 100644
--- a/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py
+++ b/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/cases/assimp.py b/meta/lib/oeqa/sdk/cases/assimp.py
index f166758e49..aa6541c6f6 100644
--- a/meta/lib/oeqa/sdk/cases/assimp.py
+++ b/meta/lib/oeqa/sdk/cases/assimp.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/cases/buildcpio.py b/meta/lib/oeqa/sdk/cases/buildcpio.py
index e7fc211a47..c42c670add 100644
--- a/meta/lib/oeqa/sdk/cases/buildcpio.py
+++ b/meta/lib/oeqa/sdk/cases/buildcpio.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/cases/buildepoxy.py b/meta/lib/oeqa/sdk/cases/buildepoxy.py
index ad08b777f2..ee515be188 100644
--- a/meta/lib/oeqa/sdk/cases/buildepoxy.py
+++ b/meta/lib/oeqa/sdk/cases/buildepoxy.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index 58ade920c9..178f07472d 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/cases/buildlzip.py b/meta/lib/oeqa/sdk/cases/buildlzip.py
index 49ae756bf3..b4b7d85b88 100644
--- a/meta/lib/oeqa/sdk/cases/buildlzip.py
+++ b/meta/lib/oeqa/sdk/cases/buildlzip.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/cases/gcc.py b/meta/lib/oeqa/sdk/cases/gcc.py
index eb08eadd28..fc28b9c3d4 100644
--- a/meta/lib/oeqa/sdk/cases/gcc.py
+++ b/meta/lib/oeqa/sdk/cases/gcc.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/cases/perl.py b/meta/lib/oeqa/sdk/cases/perl.py
index 14d76d820f..8eab4442e8 100644
--- a/meta/lib/oeqa/sdk/cases/perl.py
+++ b/meta/lib/oeqa/sdk/cases/perl.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/cases/python.py b/meta/lib/oeqa/sdk/cases/python.py
index d43354c32a..5ea992b9f3 100644
--- a/meta/lib/oeqa/sdk/cases/python.py
+++ b/meta/lib/oeqa/sdk/cases/python.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/cases/rust.py b/meta/lib/oeqa/sdk/cases/rust.py
index 1075d37b49..31036f0f14 100644
--- a/meta/lib/oeqa/sdk/cases/rust.py
+++ b/meta/lib/oeqa/sdk/cases/rust.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/sdk/testmetaidesupport.py b/meta/lib/oeqa/sdk/testmetaidesupport.py
index 2ff76fd8e0..00ef30e82e 100644
--- a/meta/lib/oeqa/sdk/testmetaidesupport.py
+++ b/meta/lib/oeqa/sdk/testmetaidesupport.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
index bff6e7740c..5f1c8df2d4 100644
--- a/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
+++ b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py
index 75195241b7..ffdea832be 100644
--- a/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/meta/lib/oeqa/selftest/cases/archiver.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/bblayers.py b/meta/lib/oeqa/selftest/cases/bblayers.py
index 1f5c576356..494fa892a3 100644
--- a/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
@@ -6,16 +8,12 @@ import os
import re
import oeqa.utils.ftools as ftools
-from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars, bitbake
+from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars
from oeqa.selftest.case import OESelftestTestCase
class BitbakeLayers(OESelftestTestCase):
- def setUpLocal(self):
- bitbake("python3-jsonschema-native")
- bitbake("-c addto_recipe_sysroot python3-jsonschema-native")
-
def test_bitbakelayers_layerindexshowdepends(self):
result = runCmd('bitbake-layers layerindex-show-depends meta-poky')
find_in_contents = re.search("openembedded-core", result.output)
@@ -115,11 +113,6 @@ class BitbakeLayers(OESelftestTestCase):
self.assertEqual(bb_vars['BBFILE_PRIORITY_%s' % layername], str(priority), 'BBFILE_PRIORITY_%s != %d' % (layername, priority))
- result = runCmd('bitbake-layers save-build-conf {} {}'.format(layerpath, "buildconf-1"))
- for f in ('local.conf.sample', 'bblayers.conf.sample', 'conf-notes.txt'):
- fullpath = os.path.join(layerpath, "conf", "templates", "buildconf-1", f)
- self.assertTrue(os.path.exists(fullpath), "Template configuration file {} not found".format(fullpath))
-
def get_recipe_basename(self, recipe):
recipe_file = ""
result = runCmd("bitbake-layers show-recipes -f %s" % recipe)
@@ -130,25 +123,3 @@ class BitbakeLayers(OESelftestTestCase):
self.assertTrue(os.path.isfile(recipe_file), msg = "Can't find recipe file for %s" % recipe)
return os.path.basename(recipe_file)
-
- def validate_layersjson(self, json):
- python = os.path.join(get_bb_var('STAGING_BINDIR', 'python3-jsonschema-native'), 'nativepython3')
- jsonvalidator = os.path.join(get_bb_var('STAGING_BINDIR', 'python3-jsonschema-native'), 'jsonschema')
- jsonschema = os.path.join(get_bb_var('COREBASE'), 'meta/files/layers.schema.json')
- result = runCmd("{} {} -i {} {}".format(python, jsonvalidator, json, jsonschema))
-
- def test_validate_examplelayersjson(self):
- json = os.path.join(get_bb_var('COREBASE'), "meta/files/layers.example.json")
- self.validate_layersjson(json)
-
- def test_bitbakelayers_setup(self):
- result = runCmd('bitbake-layers create-layers-setup {}'.format(self.testlayer_path))
- jsonfile = os.path.join(self.testlayer_path, "setup-layers.json")
- self.validate_layersjson(jsonfile)
-
- testcheckoutdir = os.path.join(self.builddir, 'test-layer-checkout')
- result = runCmd('{}/setup-layers --destdir {}'.format(self.testlayer_path, testcheckoutdir))
- # May not necessarily be named 'poky'
- pokydir = os.listdir(testcheckoutdir)[0]
- testcheckoutfile = os.path.join(testcheckoutdir, pokydir, "oe-init-build-env")
- self.assertTrue(os.path.exists(testcheckoutfile), "File {} not found in test layer checkout".format(testcheckoutfile))
diff --git a/meta/lib/oeqa/selftest/cases/bblogging.py b/meta/lib/oeqa/selftest/cases/bblogging.py
index 317e68b82f..1534a36a85 100644
--- a/meta/lib/oeqa/selftest/cases/bblogging.py
+++ b/meta/lib/oeqa/selftest/cases/bblogging.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py
index 89267c7145..d97bda13c2 100644
--- a/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/binutils.py b/meta/lib/oeqa/selftest/cases/binutils.py
index 3b0b44b390..bf6fdca0d9 100644
--- a/meta/lib/oeqa/selftest/cases/binutils.py
+++ b/meta/lib/oeqa/selftest/cases/binutils.py
@@ -1,4 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
+#
import os
from oeqa.core.decorator import OETestTag
from oeqa.core.case import OEPTestResultTestCase
diff --git a/meta/lib/oeqa/selftest/cases/buildhistory.py b/meta/lib/oeqa/selftest/cases/buildhistory.py
index d865da6252..2d55994916 100644
--- a/meta/lib/oeqa/selftest/cases/buildhistory.py
+++ b/meta/lib/oeqa/selftest/cases/buildhistory.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/buildoptions.py b/meta/lib/oeqa/selftest/cases/buildoptions.py
index ad604d6ae2..ee3e28d74b 100644
--- a/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/containerimage.py b/meta/lib/oeqa/selftest/cases/containerimage.py
index e0aea1a1ef..23c0a1408a 100644
--- a/meta/lib/oeqa/selftest/cases/containerimage.py
+++ b/meta/lib/oeqa/selftest/cases/containerimage.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/cve_check.py b/meta/lib/oeqa/selftest/cases/cve_check.py
index d0b2213703..ac47af1990 100644
--- a/meta/lib/oeqa/selftest/cases/cve_check.py
+++ b/meta/lib/oeqa/selftest/cases/cve_check.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
import json
import os
from oeqa.selftest.case import OESelftestTestCase
diff --git a/meta/lib/oeqa/selftest/cases/debuginfod.py b/meta/lib/oeqa/selftest/cases/debuginfod.py
new file mode 100644
index 0000000000..01359ec649
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/debuginfod.py
@@ -0,0 +1,44 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+import os
+import socketserver
+import subprocess
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, runqemu
+
+class Debuginfod(OESelftestTestCase):
+ def test_debuginfod(self):
+ self.write_config("""
+DISTRO_FEATURES:append = " debuginfod"
+CORE_IMAGE_EXTRA_INSTALL += "elfutils"
+ """)
+ bitbake("core-image-minimal elfutils-native:do_addto_recipe_sysroot")
+
+ native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "elfutils-native")
+ cmd = [os.path.join(native_sysroot, "usr", "bin", "debuginfod"), "--verbose", get_bb_var("DEPLOY_DIR")]
+ for format in get_bb_var("PACKAGE_CLASSES").split():
+ if format == "package_deb":
+ cmd.append("--scan-deb-dir")
+ elif format == "package_ipk":
+ cmd.append("--scan-deb-dir")
+ elif format == "package_rpm":
+ cmd.append("--scan-rpm-dir")
+ # Find a free port
+ with socketserver.TCPServer(("localhost", 0), None) as s:
+ port = s.server_address[1]
+ cmd.append("--port=%d" % port)
+
+ try:
+ debuginfod = subprocess.Popen(cmd)
+
+ with runqemu("core-image-minimal", runqemuparams="nographic") as qemu:
+ cmd = "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/debuginfod" % (qemu.server_ip, port)
+ status, output = qemu.run_serial(cmd)
+ # This should be more comprehensive
+ self.assertIn("/.cache/debuginfod_client/", output)
+ finally:
+ debuginfod.kill()
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index 34fc791f3a..142932e12f 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
@@ -246,6 +248,22 @@ class DevtoolTestCase(OESelftestTestCase):
if remaining_removelines:
self.fail('Expected removed lines not found: %s' % remaining_removelines)
+ def _test_devtool_add_git_url(self, git_url, version, pn, resulting_src_uri):
+ self.track_for_cleanup(self.workspacedir)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
+ result = runCmd('devtool add --version %s %s %s' % (version, pn, git_url))
+ self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created')
+ # Check the recipe name is correct
+ recipefile = get_bb_var('FILE', pn)
+ self.assertIn('%s_git.bb' % pn, recipefile, 'Recipe file incorrectly named')
+ self.assertIn(recipefile, result.output)
+ # Test devtool status
+ result = runCmd('devtool status')
+ self.assertIn(pn, result.output)
+ self.assertIn(recipefile, result.output)
+ checkvars = {}
+ checkvars['SRC_URI'] = resulting_src_uri
+ self._test_recipe_contents(recipefile, checkvars, [])
class DevtoolBase(DevtoolTestCase):
@@ -380,6 +398,22 @@ class DevtoolAddTests(DevtoolBase):
checkvars['DEPENDS'] = set(['dbus'])
self._test_recipe_contents(recipefile, checkvars, [])
+ def test_devtool_add_git_style1(self):
+ version = 'v3.1.0'
+ pn = 'mbedtls'
+ # this will trigger reformat_git_uri with branch parameter in url
+ git_url = "'git://git@github.com/ARMmbed/mbedtls.git;branch=mbedtls-2.28;protocol=https'"
+ resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;branch=mbedtls-2.28;protocol=https"
+ self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri)
+
+ def test_devtool_add_git_style2(self):
+ version = 'v3.1.0'
+ pn = 'mbedtls'
+ # this will trigger reformat_git_uri with branch parameter in url
+ git_url = "'git://git@github.com/ARMmbed/mbedtls.git;protocol=https'"
+ resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master"
+ self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri)
+
def test_devtool_add_library(self):
# Fetch source
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -540,7 +574,7 @@ class DevtoolAddTests(DevtoolBase):
result = runCmd('devtool status')
self.assertIn(testrecipe, result.output)
self.assertIn(srcdir, result.output)
- # Check recipe
+ # Check recipedevtool add
recipefile = get_bb_var('FILE', testrecipe)
self.assertIn('%s_%s.bb' % (testrecipe, testver), recipefile, 'Recipe file incorrectly named')
checkvars = {}
@@ -1923,7 +1957,6 @@ class DevtoolUpgradeTests(DevtoolBase):
self._test_recipe_contents(newrecipefile, checkvars, [])
# Try again - change just name this time
result = runCmd('devtool reset -n %s' % newrecipename)
- shutil.rmtree(newsrctree)
add_recipe()
newrecipefile = os.path.join(self.workspacedir, 'recipes', newrecipename, '%s_%s.bb' % (newrecipename, recipever))
result = runCmd('devtool rename %s %s' % (recipename, newrecipename))
@@ -1936,7 +1969,6 @@ class DevtoolUpgradeTests(DevtoolBase):
self._test_recipe_contents(newrecipefile, checkvars, [])
# Try again - change just version this time
result = runCmd('devtool reset -n %s' % newrecipename)
- shutil.rmtree(newsrctree)
add_recipe()
newrecipefile = os.path.join(self.workspacedir, 'recipes', recipename, '%s_%s.bb' % (recipename, newrecipever))
result = runCmd('devtool rename %s -V %s' % (recipename, newrecipever))
diff --git a/meta/lib/oeqa/selftest/cases/distrodata.py b/meta/lib/oeqa/selftest/cases/distrodata.py
index b80d091c1c..b5554a6c3c 100644
--- a/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py
index 3ea0f66357..9f5de2cde7 100644
--- a/meta/lib/oeqa/selftest/cases/eSDK.py
+++ b/meta/lib/oeqa/selftest/cases/eSDK.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/fetch.py b/meta/lib/oeqa/selftest/cases/fetch.py
index be14272e63..3d01cf69f2 100644
--- a/meta/lib/oeqa/selftest/cases/fetch.py
+++ b/meta/lib/oeqa/selftest/cases/fetch.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/fitimage.py b/meta/lib/oeqa/selftest/cases/fitimage.py
index d732a9020d..14267dbaaa 100644
--- a/meta/lib/oeqa/selftest/cases/fitimage.py
+++ b/meta/lib/oeqa/selftest/cases/fitimage.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/gcc.py b/meta/lib/oeqa/selftest/cases/gcc.py
index b9ea03ae62..6b9022e461 100644
--- a/meta/lib/oeqa/selftest/cases/gcc.py
+++ b/meta/lib/oeqa/selftest/cases/gcc.py
@@ -1,4 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
+#
import os
from oeqa.core.decorator import OETestTag
from oeqa.core.case import OEPTestResultTestCase
diff --git a/meta/lib/oeqa/selftest/cases/gdbserver.py b/meta/lib/oeqa/selftest/cases/gdbserver.py
new file mode 100644
index 0000000000..3621d9c13e
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/gdbserver.py
@@ -0,0 +1,66 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+import os
+import time
+import tempfile
+import shutil
+import concurrent.futures
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, runqemu, runCmd
+
+class GdbServerTest(OESelftestTestCase):
+ def test_gdb_server(self):
+ target_arch = self.td["TARGET_ARCH"]
+ target_sys = self.td["TARGET_SYS"]
+ deploy_dir = get_bb_var("DEPLOY_DIR_IMAGE")
+
+ features = """
+IMAGE_GEN_DEBUGFS = "1"
+IMAGE_FSTYPES_DEBUGFS = "tar.bz2"
+CORE_IMAGE_EXTRA_INSTALL = "gdbserver"
+ """
+ self.write_config(features)
+
+ gdb_recipe = "gdb-cross-" + target_arch
+ gdb_binary = target_sys + "-gdb"
+
+ bitbake("core-image-minimal %s:do_addto_recipe_sysroot" % gdb_recipe)
+
+ native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", gdb_recipe)
+ r = runCmd("%s --version" % gdb_binary, native_sysroot=native_sysroot, target_sys=target_sys)
+ self.assertEqual(r.status, 0)
+ self.assertIn("GNU gdb", r.output)
+
+ with tempfile.TemporaryDirectory(prefix="debugfs-") as debugfs:
+ filename = os.path.join(deploy_dir, "core-image-minimal-%s-dbg.tar.bz2" % self.td["MACHINE"])
+ shutil.unpack_archive(filename, debugfs)
+ filename = os.path.join(deploy_dir, "core-image-minimal-%s.tar.bz2" % self.td["MACHINE"])
+ shutil.unpack_archive(filename, debugfs)
+
+ with runqemu("core-image-minimal", runqemuparams="nographic") as qemu:
+ status, output = qemu.run_serial("kmod --help")
+ self.assertIn("modprobe", output)
+
+ with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
+ def run_gdb():
+ for _ in range(5):
+ time.sleep(2)
+ cmd = "%s --batch -ex 'set sysroot %s' -ex \"target extended-remote %s:9999\" -ex \"info line kmod_help\"" % (gdb_binary, debugfs, qemu.ip)
+ self.logger.warning("starting gdb %s" % cmd)
+ r = runCmd(cmd, native_sysroot=native_sysroot, target_sys=target_sys)
+ self.assertEqual(0, r.status)
+ line_re = r"Line \d+ of \"/usr/src/debug/kmod/.*/tools/kmod.c\" starts at address 0x[0-9A-Fa-f]+ <kmod_help>"
+ self.assertRegex(r.output, line_re)
+ break
+ else:
+ self.fail("Timed out connecting to gdb")
+ future = executor.submit(run_gdb)
+
+ status, output = qemu.run_serial("gdbserver --once :9999 kmod --help")
+ self.assertEqual(status, 1)
+ # The future either returns None, or raises an exception
+ future.result()
diff --git a/meta/lib/oeqa/selftest/cases/glibc.py b/meta/lib/oeqa/selftest/cases/glibc.py
index 6fc98e9cb4..a446543a17 100644
--- a/meta/lib/oeqa/selftest/cases/glibc.py
+++ b/meta/lib/oeqa/selftest/cases/glibc.py
@@ -1,4 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
+#
import os
import contextlib
from oeqa.core.decorator import OETestTag
diff --git a/meta/lib/oeqa/selftest/cases/gotoolchain.py b/meta/lib/oeqa/selftest/cases/gotoolchain.py
index 978898b86f..74c1c48117 100644
--- a/meta/lib/oeqa/selftest/cases/gotoolchain.py
+++ b/meta/lib/oeqa/selftest/cases/gotoolchain.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/image_typedep.py b/meta/lib/oeqa/selftest/cases/image_typedep.py
index 5b182a8f94..17c98baf14 100644
--- a/meta/lib/oeqa/selftest/cases/image_typedep.py
+++ b/meta/lib/oeqa/selftest/cases/image_typedep.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py
index 7deafef6b2..d3fd52851c 100644
--- a/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/meta/lib/oeqa/selftest/cases/incompatible_lic.py
index 6279d74245..4edf60fc55 100644
--- a/meta/lib/oeqa/selftest/cases/incompatible_lic.py
+++ b/meta/lib/oeqa/selftest/cases/incompatible_lic.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
@@ -134,7 +139,7 @@ INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0* LGPL-3.0*"
def test_core_image_full_cmdline_weston(self):
self.write_config("""
-INHERIT += "testimage"
+IMAGE_CLASSES += "testimage"
INCOMPATIBLE_LICENSE:pn-core-image-full-cmdline = "GPL-3.0* LGPL-3.0*"
INCOMPATIBLE_LICENSE:pn-core-image-weston = "GPL-3.0* LGPL-3.0*"
# Settings for full-cmdline
diff --git a/meta/lib/oeqa/selftest/cases/intercept.py b/meta/lib/oeqa/selftest/cases/intercept.py
index f12874dc7d..12583c3099 100644
--- a/meta/lib/oeqa/selftest/cases/intercept.py
+++ b/meta/lib/oeqa/selftest/cases/intercept.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
diff --git a/meta/lib/oeqa/selftest/cases/kerneldevelopment.py b/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
index b1623a1885..4325f38598 100644
--- a/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
+++ b/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
@@ -1,3 +1,9 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, get_bb_var
diff --git a/meta/lib/oeqa/selftest/cases/layerappend.py b/meta/lib/oeqa/selftest/cases/layerappend.py
index 8fb1e6c530..379ed589ad 100644
--- a/meta/lib/oeqa/selftest/cases/layerappend.py
+++ b/meta/lib/oeqa/selftest/cases/layerappend.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/liboe.py b/meta/lib/oeqa/selftest/cases/liboe.py
index afe8f8809f..fab6929198 100644
--- a/meta/lib/oeqa/selftest/cases/liboe.py
+++ b/meta/lib/oeqa/selftest/cases/liboe.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/lic_checksum.py b/meta/lib/oeqa/selftest/cases/lic_checksum.py
index 8f1226e6a5..5897a396d9 100644
--- a/meta/lib/oeqa/selftest/cases/lic_checksum.py
+++ b/meta/lib/oeqa/selftest/cases/lic_checksum.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/manifest.py b/meta/lib/oeqa/selftest/cases/manifest.py
index 0a04c13a85..07a6c80489 100644
--- a/meta/lib/oeqa/selftest/cases/manifest.py
+++ b/meta/lib/oeqa/selftest/cases/manifest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/meta_ide.py b/meta/lib/oeqa/selftest/cases/meta_ide.py
index ce7bba401d..bae98359e5 100644
--- a/meta/lib/oeqa/selftest/cases/meta_ide.py
+++ b/meta/lib/oeqa/selftest/cases/meta_ide.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/multiconfig.py b/meta/lib/oeqa/selftest/cases/multiconfig.py
index 83cbd1345d..f509cbf607 100644
--- a/meta/lib/oeqa/selftest/cases/multiconfig.py
+++ b/meta/lib/oeqa/selftest/cases/multiconfig.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/newlib.py b/meta/lib/oeqa/selftest/cases/newlib.py
index 999e3e78b0..fe57aa51f2 100644
--- a/meta/lib/oeqa/selftest/cases/newlib.py
+++ b/meta/lib/oeqa/selftest/cases/newlib.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
index 33bd6df2f3..c3c15d83c0 100644
--- a/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
+++ b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/oelib/elf.py b/meta/lib/oeqa/selftest/cases/oelib/elf.py
index 5a5f9b4fdf..7bf550b6fd 100644
--- a/meta/lib/oeqa/selftest/cases/oelib/elf.py
+++ b/meta/lib/oeqa/selftest/cases/oelib/elf.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/oelib/license.py b/meta/lib/oeqa/selftest/cases/oelib/license.py
index 3b359396b6..5eea12e761 100644
--- a/meta/lib/oeqa/selftest/cases/oelib/license.py
+++ b/meta/lib/oeqa/selftest/cases/oelib/license.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/oelib/path.py b/meta/lib/oeqa/selftest/cases/oelib/path.py
index a1cfa08c09..b963e447e3 100644
--- a/meta/lib/oeqa/selftest/cases/oelib/path.py
+++ b/meta/lib/oeqa/selftest/cases/oelib/path.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/oelib/types.py b/meta/lib/oeqa/selftest/cases/oelib/types.py
index 7eb49e6f95..58318b18b2 100644
--- a/meta/lib/oeqa/selftest/cases/oelib/types.py
+++ b/meta/lib/oeqa/selftest/cases/oelib/types.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/oelib/utils.py b/meta/lib/oeqa/selftest/cases/oelib/utils.py
index bbf67bf9c9..0cb46425a0 100644
--- a/meta/lib/oeqa/selftest/cases/oelib/utils.py
+++ b/meta/lib/oeqa/selftest/cases/oelib/utils.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py
index d3a789a6a7..ea08d9aff8 100644
--- a/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/overlayfs.py b/meta/lib/oeqa/selftest/cases/overlayfs.py
index 96beb8b869..bff22f21b6 100644
--- a/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/package.py b/meta/lib/oeqa/selftest/cases/package.py
index 51d835259e..2d1b48a15d 100644
--- a/meta/lib/oeqa/selftest/cases/package.py
+++ b/meta/lib/oeqa/selftest/cases/package.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/pkgdata.py b/meta/lib/oeqa/selftest/cases/pkgdata.py
index 87d069de65..d786c33018 100644
--- a/meta/lib/oeqa/selftest/cases/pkgdata.py
+++ b/meta/lib/oeqa/selftest/cases/pkgdata.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/prservice.py b/meta/lib/oeqa/selftest/cases/prservice.py
index 10158ca7c2..cb95503c2c 100644
--- a/meta/lib/oeqa/selftest/cases/prservice.py
+++ b/meta/lib/oeqa/selftest/cases/prservice.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/pseudo.py b/meta/lib/oeqa/selftest/cases/pseudo.py
index 33593d5ce9..3ef8786022 100644
--- a/meta/lib/oeqa/selftest/cases/pseudo.py
+++ b/meta/lib/oeqa/selftest/cases/pseudo.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py
index 510dae6bad..25b06cdcf0 100644
--- a/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/recipeutils.py b/meta/lib/oeqa/selftest/cases/recipeutils.py
index 74b2098ae8..6334f1c91a 100644
--- a/meta/lib/oeqa/selftest/cases/recipeutils.py
+++ b/meta/lib/oeqa/selftest/cases/recipeutils.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
index 5042c11d8e..f4dd779842 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -16,6 +16,8 @@ import os
import datetime
exclude_packages = [
+ 'rust',
+ 'rust-dbg'
]
def is_excluded(package):
diff --git a/meta/lib/oeqa/selftest/cases/resulttooltests.py b/meta/lib/oeqa/selftest/cases/resulttooltests.py
index dac5c46801..c2e76f1a44 100644
--- a/meta/lib/oeqa/selftest/cases/resulttooltests.py
+++ b/meta/lib/oeqa/selftest/cases/resulttooltests.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/rootfspostcommandstests.py b/meta/lib/oeqa/selftest/cases/rootfspostcommandstests.py
new file mode 100644
index 0000000000..44e2c09a6f
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rootfspostcommandstests.py
@@ -0,0 +1,97 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: MIT
+
+import os
+import oe
+import unittest
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_vars
+
+class ShadowUtilsTidyFiles(OESelftestTestCase):
+ """
+ Check if shadow image rootfs files are tidy.
+
+ The tests are focused on testing the functionality provided by the
+ 'tidy_shadowutils_files' rootfs postprocess command (via
+ SORT_PASSWD_POSTPROCESS_COMMAND).
+ """
+
+ def sysconf_build(self):
+ """
+ Verify if shadow tidy files tests are to be run and if yes, build a
+ test image and return its sysconf rootfs path.
+ """
+
+ test_image = "core-image-minimal"
+
+ config = 'IMAGE_CLASSES += "extrausers"\n'
+ config += 'EXTRA_USERS_PARAMS = "groupadd -g 1000 oeqatester; "\n'
+ config += 'EXTRA_USERS_PARAMS += "useradd -p \'\' -u 1000 -N -g 1000 oeqatester; "\n'
+ self.write_config(config)
+
+ vars = get_bb_vars(("IMAGE_ROOTFS", "SORT_PASSWD_POSTPROCESS_COMMAND", "sysconfdir"),
+ test_image)
+ passwd_postprocess_cmd = vars["SORT_PASSWD_POSTPROCESS_COMMAND"]
+ self.assertIsNotNone(passwd_postprocess_cmd)
+ if (passwd_postprocess_cmd.strip() != 'tidy_shadowutils_files;'):
+ raise unittest.SkipTest("Testcase skipped as 'tidy_shadowutils_files' "
+ "rootfs post process command is not the set SORT_PASSWD_POSTPROCESS_COMMAND.")
+
+ rootfs = vars["IMAGE_ROOTFS"]
+ self.assertIsNotNone(rootfs)
+ sysconfdir = vars["sysconfdir"]
+ bitbake(test_image)
+ self.assertIsNotNone(sysconfdir)
+
+ return oe.path.join(rootfs, sysconfdir)
+
+ def test_shadowutils_backup_files(self):
+ """
+ Test that the rootfs doesn't include any known shadow backup files.
+ """
+
+ backup_files = (
+ 'group-',
+ 'gshadow-',
+ 'passwd-',
+ 'shadow-',
+ 'subgid-',
+ 'subuid-',
+ )
+
+ rootfs_sysconfdir = self.sysconf_build()
+ found = []
+ for backup_file in backup_files:
+ backup_filepath = oe.path.join(rootfs_sysconfdir, backup_file)
+ if os.path.exists(backup_filepath):
+ found.append(backup_file)
+ if (found):
+ raise Exception('The following shadow backup files were found in '
+ 'the rootfs: %s' % found)
+
+ def test_shadowutils_sorted_files(self):
+ """
+ Test that the 'passwd' and the 'group' shadow utils files are ordered
+ by ID.
+ """
+
+ files = (
+ 'passwd',
+ 'group',
+ )
+
+ rootfs_sysconfdir = self.sysconf_build()
+ unsorted = []
+ for file in files:
+ filepath = oe.path.join(rootfs_sysconfdir, file)
+ with open(filepath, 'rb') as f:
+ ids = []
+ lines = f.readlines()
+ for line in lines:
+ entries = line.split(b':')
+ ids.append(int(entries[2]))
+ if (ids != sorted(ids)):
+ unsorted.append(file)
+ if (unsorted):
+ raise Exception("The following files were not sorted by ID as expected: %s" % unsorted)
diff --git a/meta/lib/oeqa/selftest/cases/rpmtests.py b/meta/lib/oeqa/selftest/cases/rpmtests.py
new file mode 100644
index 0000000000..902d7dca3d
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rpmtests.py
@@ -0,0 +1,14 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake
+
+class BitbakeTests(OESelftestTestCase):
+
+ def test_rpm_filenames(self):
+ test_recipe = "testrpm"
+ bitbake(test_recipe)
diff --git a/meta/lib/oeqa/selftest/cases/runcmd.py b/meta/lib/oeqa/selftest/cases/runcmd.py
index e9612389fe..6fd96b8485 100644
--- a/meta/lib/oeqa/selftest/cases/runcmd.py
+++ b/meta/lib/oeqa/selftest/cases/runcmd.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py
index 857737f730..fe83b248f3 100644
--- a/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
@@ -23,7 +25,7 @@ class TestExport(OESelftestTestCase):
Author: Mariano Lopez <mariano.lopez@intel.com>
"""
- features = 'INHERIT += "testexport"\n'
+ features = 'IMAGE_CLASSES += "testexport"\n'
# These aren't the actual IP addresses but testexport class needs something defined
features += 'TEST_SERVER_IP = "192.168.7.1"\n'
features += 'TEST_TARGET_IP = "192.168.7.1"\n'
@@ -64,7 +66,7 @@ class TestExport(OESelftestTestCase):
Author: Mariano Lopez <mariano.lopez@intel.com>
"""
- features = 'INHERIT += "testexport"\n'
+ features = 'IMAGE_CLASSES += "testexport"\n'
# These aren't the actual IP addresses but testexport class needs something defined
features += 'TEST_SERVER_IP = "192.168.7.1"\n'
features += 'TEST_TARGET_IP = "192.168.7.1"\n'
@@ -119,7 +121,7 @@ class TestImage(OESelftestTestCase):
if get_bb_var('DISTRO') == 'poky-tiny':
self.skipTest('core-image-full-cmdline not buildable for poky-tiny')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
features += 'IMAGE_INSTALL:append = " libssl"\n'
features += 'TEST_SUITES = "ping ssh selftest"\n'
self.write_config(features)
@@ -137,7 +139,7 @@ class TestImage(OESelftestTestCase):
if get_bb_var('DISTRO') == 'poky-tiny':
self.skipTest('core-image-full-cmdline not buildable for poky-tiny')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
features += 'TEST_SUITES = "ping ssh dnf_runtime dnf.DnfBasicTest.test_dnf_help"\n'
# We don't yet know what the server ip and port will be - they will be patched
# in at the start of the on-image test
@@ -172,7 +174,7 @@ class TestImage(OESelftestTestCase):
if get_bb_var('DISTRO') == 'poky-tiny':
self.skipTest('core-image-full-cmdline not buildable for poky-tiny')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
features += 'TEST_SUITES = "ping ssh apt.AptRepoTest.test_apt_install_from_repo"\n'
# We don't yet know what the server ip and port will be - they will be patched
# in at the start of the on-image test
@@ -222,7 +224,7 @@ class TestImage(OESelftestTestCase):
qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native')
qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 'qemu-system-native')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
if 'gtk+' not in qemu_packageconfig:
features += 'PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"\n'
if 'sdl' not in qemu_packageconfig:
@@ -267,7 +269,7 @@ class TestImage(OESelftestTestCase):
except subprocess.CalledProcessError as e:
self.fail("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.")
qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 'qemu-system-native')
- features = 'INHERIT += "testimage"\n'
+ features = 'IMAGE_CLASSES += "testimage"\n'
if 'opengl' not in qemu_distrofeatures:
features += 'DISTRO_FEATURES:append = " opengl"\n'
features += 'TEST_SUITES = "ping ssh virgl"\n'
diff --git a/meta/lib/oeqa/selftest/cases/selftest.py b/meta/lib/oeqa/selftest/cases/selftest.py
index 7268e25939..a80a8651a5 100644
--- a/meta/lib/oeqa/selftest/cases/selftest.py
+++ b/meta/lib/oeqa/selftest/cases/selftest.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py
index 6f3d4aeae9..322e753ed3 100644
--- a/meta/lib/oeqa/selftest/cases/signing.py
+++ b/meta/lib/oeqa/selftest/cases/signing.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/sstate.py b/meta/lib/oeqa/selftest/cases/sstate.py
index 176766331a..e73bb94884 100644
--- a/meta/lib/oeqa/selftest/cases/sstate.py
+++ b/meta/lib/oeqa/selftest/cases/sstate.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py
index 0ba1d86696..ae766f91bd 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/sysroot.py b/meta/lib/oeqa/selftest/cases/sysroot.py
index 294ba4a4a0..ef854f6fee 100644
--- a/meta/lib/oeqa/selftest/cases/sysroot.py
+++ b/meta/lib/oeqa/selftest/cases/sysroot.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/tinfoil.py b/meta/lib/oeqa/selftest/cases/tinfoil.py
index c81d56d82b..0a66615fd1 100644
--- a/meta/lib/oeqa/selftest/cases/tinfoil.py
+++ b/meta/lib/oeqa/selftest/cases/tinfoil.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index 53058df226..0d664d7c39 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -1420,7 +1420,7 @@ class ModifyTests(WicTestCase):
# list directory content of the first partition
result = runCmd("wic ls %s:1 -n %s" % (images[0], sysroot))
- self.assertIn('\n%s ' % kerneltype.upper(), result.output)
+ self.assertIn('\n%s ' % kerneltype.upper(), result.output)
self.assertIn('\nEFI <DIR> ', result.output)
# remove file. EFI partitions are case-insensitive so exercise that too
diff --git a/meta/lib/oeqa/selftest/cases/wrapper.py b/meta/lib/oeqa/selftest/cases/wrapper.py
index 6de63310c0..f2be44262c 100644
--- a/meta/lib/oeqa/selftest/cases/wrapper.py
+++ b/meta/lib/oeqa/selftest/cases/wrapper.py
@@ -1,3 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
diff --git a/meta/lib/oeqa/utils/__init__.py b/meta/lib/oeqa/utils/__init__.py
index 6d1ec4cb99..fbc7f7d525 100644
--- a/meta/lib/oeqa/utils/__init__.py
+++ b/meta/lib/oeqa/utils/__init__.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
# Enable other layers to have modules in the same named directory
diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py
index 024261410e..f733fcdf3c 100644
--- a/meta/lib/oeqa/utils/commands.py
+++ b/meta/lib/oeqa/utils/commands.py
@@ -168,15 +168,22 @@ class Result(object):
def runCmd(command, ignore_status=False, timeout=None, assert_error=True, sync=True,
- native_sysroot=None, limit_exc_output=0, output_log=None, **options):
+ native_sysroot=None, target_sys=None, limit_exc_output=0, output_log=None, **options):
result = Result()
if native_sysroot:
- extra_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \
- (native_sysroot, native_sysroot, native_sysroot)
- nenv = dict(options.get('env', os.environ))
- nenv['PATH'] = extra_paths + ':' + nenv.get('PATH', '')
- options['env'] = nenv
+ new_env = dict(options.get('env', os.environ))
+ paths = new_env["PATH"].split(":")
+ paths = [
+ os.path.join(native_sysroot, "bin"),
+ os.path.join(native_sysroot, "sbin"),
+ os.path.join(native_sysroot, "usr", "bin"),
+ os.path.join(native_sysroot, "usr", "sbin"),
+ ] + paths
+ if target_sys:
+ paths = [os.path.join(native_sysroot, "usr", "bin", target_sys)] + paths
+ new_env["PATH"] = ":".join(paths)
+ options['env'] = new_env
cmd = Command(command, timeout=timeout, output_log=output_log, **options)
cmd.run()
diff --git a/meta/lib/oeqa/utils/dump.py b/meta/lib/oeqa/utils/dump.py
index 95a79a571c..bcee03b576 100644
--- a/meta/lib/oeqa/utils/dump.py
+++ b/meta/lib/oeqa/utils/dump.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/utils/ftools.py b/meta/lib/oeqa/utils/ftools.py
index 3093419cc7..a50aaa84c2 100644
--- a/meta/lib/oeqa/utils/ftools.py
+++ b/meta/lib/oeqa/utils/ftools.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/utils/httpserver.py b/meta/lib/oeqa/utils/httpserver.py
index 58d3c3b3f8..8ce1dd42f4 100644
--- a/meta/lib/oeqa/utils/httpserver.py
+++ b/meta/lib/oeqa/utils/httpserver.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/utils/logparser.py b/meta/lib/oeqa/utils/logparser.py
index 879aefca33..7cb79a8402 100644
--- a/meta/lib/oeqa/utils/logparser.py
+++ b/meta/lib/oeqa/utils/logparser.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/utils/network.py b/meta/lib/oeqa/utils/network.py
index 59d01723a1..da4ffda9a9 100644
--- a/meta/lib/oeqa/utils/network.py
+++ b/meta/lib/oeqa/utils/network.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/utils/nfs.py b/meta/lib/oeqa/utils/nfs.py
index a37686c914..c1218656ce 100644
--- a/meta/lib/oeqa/utils/nfs.py
+++ b/meta/lib/oeqa/utils/nfs.py
@@ -1,4 +1,8 @@
+#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
+#
import os
import sys
import tempfile
diff --git a/meta/lib/oeqa/utils/package_manager.py b/meta/lib/oeqa/utils/package_manager.py
index 6b67f22fdd..db799b64d6 100644
--- a/meta/lib/oeqa/utils/package_manager.py
+++ b/meta/lib/oeqa/utils/package_manager.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 76296d50cd..4c3d2010fb 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -618,6 +618,8 @@ class QemuRunner:
return self.qmp.cmd(command)
def run_serial(self, command, raw=False, timeout=60):
+ # Returns (status, output) where status is 1 on success and 0 on error
+
# We assume target system have echo to get command status
if not raw:
command = "%s; echo $?\n" % command
diff --git a/meta/lib/oeqa/utils/subprocesstweak.py b/meta/lib/oeqa/utils/subprocesstweak.py
index b47975a4bc..3e43ed547b 100644
--- a/meta/lib/oeqa/utils/subprocesstweak.py
+++ b/meta/lib/oeqa/utils/subprocesstweak.py
@@ -1,4 +1,6 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: MIT
#
import subprocess
diff --git a/meta/lib/rootfspostcommands.py b/meta/lib/rootfspostcommands.py
index fdb9f5b850..5386eea409 100644
--- a/meta/lib/rootfspostcommands.py
+++ b/meta/lib/rootfspostcommands.py
@@ -1,16 +1,19 @@
#
+# Copyright OpenEmbedded Contributors
+#
# SPDX-License-Identifier: GPL-2.0-only
#
import os
-def sort_file(filename, mapping):
+def sort_shadowutils_file(filename, mapping):
"""
Sorts a passwd or group file based on the numeric ID in the third column.
If a mapping is given, the name from the first column is mapped via that
dictionary instead (necessary for /etc/shadow and /etc/gshadow). If not,
a new mapping is created on the fly and returned.
"""
+
new_mapping = {}
with open(filename, 'rb+') as f:
lines = f.readlines()
@@ -31,30 +34,57 @@ def sort_file(filename, mapping):
# We overwrite the entire file, i.e. no truncate() necessary.
f.seek(0)
f.write(b''.join(lines))
+
return new_mapping
-def remove_backup(filename):
+def sort_shadowutils_files(sysconfdir):
"""
- Removes the backup file for files like /etc/passwd.
+ Sorts shadow-utils 'passwd' and 'group' files in a rootfs' /etc directory
+ by ID.
"""
- backup_filename = filename + '-'
- if os.path.exists(backup_filename):
- os.unlink(backup_filename)
-def sort_passwd(sysconfdir):
- """
- Sorts passwd and group files in a rootfs /etc directory by ID.
- Backup files are sometimes are inconsistent and then cannot be
- sorted (YOCTO #11043), and more importantly, are not needed in
- the initial rootfs, so they get deleted.
- """
for main, shadow in (('passwd', 'shadow'),
('group', 'gshadow')):
filename = os.path.join(sysconfdir, main)
- remove_backup(filename)
if os.path.exists(filename):
- mapping = sort_file(filename, None)
+ mapping = sort_shadowutils_file(filename, None)
filename = os.path.join(sysconfdir, shadow)
- remove_backup(filename)
if os.path.exists(filename):
- sort_file(filename, mapping)
+ sort_shadowutils_file(filename, mapping)
+
+def remove_shadowutils_backup_file(filename):
+ """
+ Remove shadow-utils backup file for files like /etc/passwd.
+ """
+
+ backup_filename = filename + '-'
+ if os.path.exists(backup_filename):
+ os.unlink(backup_filename)
+
+def remove_shadowutils_backup_files(sysconfdir):
+ """
+ Remove shadow-utils backup files in a rootfs /etc directory. They are not
+ needed in the initial root filesystem and sorting them can be inconsistent
+ (YOCTO #11043).
+ """
+
+ for filename in (
+ 'group',
+ 'gshadow',
+ 'passwd',
+ 'shadow',
+ 'subgid',
+ 'subuid',
+ ):
+ filepath = os.path.join(sysconfdir, filename)
+ remove_shadowutils_backup_file(filepath)
+
+def tidy_shadowutils_files(sysconfdir):
+ """
+ Tidy up shadow-utils files.
+ """
+
+ remove_shadowutils_backup_files(sysconfdir)
+ sort_shadowutils_files(sysconfdir)
+
+ return True
diff --git a/meta/recipes-bsp/efivar/efivar/0001-Fix-glibc-2.36-build-mount.h-conflicts.patch b/meta/recipes-bsp/efivar/efivar/0001-Fix-glibc-2.36-build-mount.h-conflicts.patch
new file mode 100644
index 0000000000..28dadabe6b
--- /dev/null
+++ b/meta/recipes-bsp/efivar/efivar/0001-Fix-glibc-2.36-build-mount.h-conflicts.patch
@@ -0,0 +1,60 @@
+From 7b0e7ba674321ec1ddd6b9cbb419e5fb44f88bb3 Mon Sep 17 00:00:00 2001
+From: Robbie Harwood <rharwood@redhat.com>
+Date: Thu, 28 Jul 2022 16:11:24 -0400
+Subject: [PATCH] Fix glibc 2.36 build (mount.h conflicts)
+
+glibc has decided that sys/mount.h and linux/mount.h are no longer
+usable at the same time. This broke the build, since linux/fs.h itself
+includes linux/mount.h. For now, fix the build by only including
+sys/mount.h where we need it.
+
+See-also: https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+Resolves: #227
+
+Upstream-Status: Backport [https://github.com/rhboot/efivar/commit/bc65d63ebf8fe6ac8a099ff15ca200986dba1565]
+Signed-off-by: Robbie Harwood <rharwood@redhat.com>
+---
+ src/gpt.c | 1 +
+ src/linux.c | 1 +
+ src/util.h | 1 -
+ 3 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/gpt.c b/src/gpt.c
+index 1eda049..21413c3 100644
+--- a/src/gpt.c
++++ b/src/gpt.c
+@@ -17,6 +17,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/mount.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/utsname.h>
+diff --git a/src/linux.c b/src/linux.c
+index 47e45ae..1780816 100644
+--- a/src/linux.c
++++ b/src/linux.c
+@@ -20,6 +20,7 @@
+ #include <stdbool.h>
+ #include <stdio.h>
+ #include <sys/ioctl.h>
++#include <sys/mount.h>
+ #include <sys/socket.h>
+ #include <sys/sysmacros.h>
+ #include <sys/types.h>
+diff --git a/src/util.h b/src/util.h
+index 3300666..1e67e44 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -23,7 +23,6 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
+-#include <sys/mount.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <tgmath.h>
+--
+2.37.1
+
diff --git a/meta/recipes-bsp/efivar/efivar_38.bb b/meta/recipes-bsp/efivar/efivar_38.bb
index 42625fa041..6a6918931b 100644
--- a/meta/recipes-bsp/efivar/efivar_38.bb
+++ b/meta/recipes-bsp/efivar/efivar_38.bb
@@ -12,6 +12,7 @@ SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https \
file://0001-src-Makefile-build-util.c-separately-for-makeguids.patch \
file://efisecdb-fix-build-with-musl-libc.patch \
file://0001-Fix-invalid-free-in-main.patch \
+ file://0001-Fix-glibc-2.36-build-mount.h-conflicts.patch \
"
SRCREV = "1753149d4176ebfb2b135ac0aaf79340bf0e7a93"
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/lib-Makefile-fix-parallel-issue.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/lib-Makefile-fix-parallel-issue.patch
deleted file mode 100644
index dc00b8fa4d..0000000000
--- a/meta/recipes-bsp/gnu-efi/gnu-efi/lib-Makefile-fix-parallel-issue.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 3ec8c2a70304eabd5760937a4ec3fbc4068a77ed Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 23 Apr 2015 01:49:31 -0700
-Subject: [PATCH 2/3] lib/Makefile: fix parallel issue
-
-Fixed:
-Assembler messages:
-Fatal error: can't create runtime/rtlock.o: No such file or directory
-Assembler messages:
-Fatal error: can't create runtime/rtdata.o: No such file or directory
-Assembler messages:
-Fatal error: can't create runtime/vm.o: No such file or directory
-Assembler messages:
-Fatal error: can't create runtime/efirtlib.o: No such file or directory
-
-Upstream-Status: Pending
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- lib/Makefile | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/lib/Makefile b/lib/Makefile
-index 048751a..ed39bbb 100644
---- a/lib/Makefile
-+++ b/lib/Makefile
-@@ -74,6 +74,8 @@ all: libsubdirs libefi.a
- libsubdirs:
- for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
-
-+$(OBJS): libsubdirs
-+
- libefi.a: $(OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJS)
-
---
-2.7.4
-
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
index 8a0138bbe5..63d9b6fc31 100644
--- a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
@@ -1,7 +1,7 @@
-From 48b2cdbcd761105e8ebad412fcbf23db1ac4ef7c Mon Sep 17 00:00:00 2001
+From f56ddb00a656af2e84f839738fad19909ac65047 Mon Sep 17 00:00:00 2001
From: Saul Wold <sgw@linux.intel.com>
Date: Sun, 9 Mar 2014 15:22:15 +0200
-Subject: [PATCH 1/3] Fix parallel make failure for archives
+Subject: [PATCH] Fix parallel make failure for archives
Upstream-Status: Pending
@@ -20,12 +20,16 @@ Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
[Rebased for 3.0.8]
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ lib/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
diff --git a/lib/Makefile b/lib/Makefile
-index 0e6410d..048751a 100644
+index 1fc6a47..54b0ca7 100644
--- a/lib/Makefile
+++ b/lib/Makefile
-@@ -75,7 +75,7 @@ libsubdirs:
- for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
+@@ -77,7 +77,7 @@ libsubdirs:
+ $(OBJS): libsubdirs
libefi.a: $(OBJS)
- $(AR) $(ARFLAGS) $@ $^
@@ -33,6 +37,3 @@ index 0e6410d..048751a 100644
clean:
rm -f libefi.a *~ $(OBJS) */*.o
---
-2.7.4
-
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
index 36d10354ed..5ae6f391ae 100644
--- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.14.bb
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.15.bb
@@ -14,11 +14,10 @@ LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=e582
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/files/${BP}.tar.bz2 \
file://parallel-make-archives.patch \
- file://lib-Makefile-fix-parallel-issue.patch \
file://gnu-efi-3.0.9-fix-clang-build.patch \
"
-SRC_URI[sha256sum] = "b73b643a0d5697d1f396d7431448e886dd805668789578e3e1a28277c9528435"
+SRC_URI[sha256sum] = "931a257b9c5c1ba65ff519f18373c438a26825f2db7866b163e96d1b168f20ea"
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux"
COMPATIBLE_HOST:armv4 = 'null'
diff --git a/meta/recipes-bsp/grub/files/CVE-2021-3695-video-readers-png-Drop-greyscale-support-to-fix-heap.patch b/meta/recipes-bsp/grub/files/CVE-2021-3695-video-readers-png-Drop-greyscale-support-to-fix-heap.patch
new file mode 100644
index 0000000000..7f7bb1acfe
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/CVE-2021-3695-video-readers-png-Drop-greyscale-support-to-fix-heap.patch
@@ -0,0 +1,179 @@
+From e623866d9286410156e8b9d2c82d6253a1b22d08 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 6 Jul 2021 18:51:35 +1000
+Subject: [PATCH] video/readers/png: Drop greyscale support to fix heap
+ out-of-bounds write
+
+A 16-bit greyscale PNG without alpha is processed in the following loop:
+
+ for (i = 0; i < (data->image_width * data->image_height);
+ i++, d1 += 4, d2 += 2)
+ {
+ d1[R3] = d2[1];
+ d1[G3] = d2[1];
+ d1[B3] = d2[1];
+ }
+
+The increment of d1 is wrong. d1 is incremented by 4 bytes per iteration,
+but there are only 3 bytes allocated for storage. This means that image
+data will overwrite somewhat-attacker-controlled parts of memory - 3 bytes
+out of every 4 following the end of the image.
+
+This has existed since greyscale support was added in 2013 in commit
+3ccf16dff98f (grub-core/video/readers/png.c: Support grayscale).
+
+Saving starfield.png as a 16-bit greyscale image without alpha in the gimp
+and attempting to load it causes grub-emu to crash - I don't think this code
+has ever worked.
+
+Delete all PNG greyscale support.
+
+Fixes: CVE-2021-3695
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2021-3695
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=e623866d9286410156e8b9d2c82d6253a1b22d08
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/video/readers/png.c | 87 +++--------------------------------
+ 1 file changed, 7 insertions(+), 80 deletions(-)
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index 35ae553c8..a3161e25b 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -100,7 +100,7 @@ struct grub_png_data
+
+ unsigned image_width, image_height;
+ int bpp, is_16bit;
+- int raw_bytes, is_gray, is_alpha, is_palette;
++ int raw_bytes, is_alpha, is_palette;
+ int row_bytes, color_bits;
+ grub_uint8_t *image_data;
+
+@@ -296,13 +296,13 @@ grub_png_decode_image_header (struct grub_png_data *data)
+ data->bpp = 3;
+ else
+ {
+- data->is_gray = 1;
+- data->bpp = 1;
++ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "png: color type not supported");
+ }
+
+ if ((color_bits != 8) && (color_bits != 16)
+ && (color_bits != 4
+- || !(data->is_gray || data->is_palette)))
++ || !data->is_palette))
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
+ "png: bit depth must be 8 or 16");
+
+@@ -331,7 +331,7 @@ grub_png_decode_image_header (struct grub_png_data *data)
+ }
+
+ #ifndef GRUB_CPU_WORDS_BIGENDIAN
+- if (data->is_16bit || data->is_gray || data->is_palette)
++ if (data->is_16bit || data->is_palette)
+ #endif
+ {
+ data->image_data = grub_calloc (data->image_height, data->row_bytes);
+@@ -899,27 +899,8 @@ grub_png_convert_image (struct grub_png_data *data)
+ int shift;
+ int mask = (1 << data->color_bits) - 1;
+ unsigned j;
+- if (data->is_gray)
+- {
+- /* Generic formula is
+- (0xff * i) / ((1U << data->color_bits) - 1)
+- but for allowed bit depth of 1, 2 and for it's
+- equivalent to
+- (0xff / ((1U << data->color_bits) - 1)) * i
+- Precompute the multipliers to avoid division.
+- */
+-
+- const grub_uint8_t multipliers[5] = { 0xff, 0xff, 0x55, 0x24, 0x11 };
+- for (i = 0; i < (1U << data->color_bits); i++)
+- {
+- grub_uint8_t col = multipliers[data->color_bits] * i;
+- palette[i][0] = col;
+- palette[i][1] = col;
+- palette[i][2] = col;
+- }
+- }
+- else
+- grub_memcpy (palette, data->palette, 3 << data->color_bits);
++
++ grub_memcpy (palette, data->palette, 3 << data->color_bits);
+ d1c = d1;
+ d2c = d2;
+ for (j = 0; j < data->image_height; j++, d1c += data->image_width * 3,
+@@ -957,60 +938,6 @@ grub_png_convert_image (struct grub_png_data *data)
+ return;
+ }
+
+- if (data->is_gray)
+- {
+- switch (data->bpp)
+- {
+- case 4:
+- /* 16-bit gray with alpha. */
+- for (i = 0; i < (data->image_width * data->image_height);
+- i++, d1 += 4, d2 += 4)
+- {
+- d1[R4] = d2[3];
+- d1[G4] = d2[3];
+- d1[B4] = d2[3];
+- d1[A4] = d2[1];
+- }
+- break;
+- case 2:
+- if (data->is_16bit)
+- /* 16-bit gray without alpha. */
+- {
+- for (i = 0; i < (data->image_width * data->image_height);
+- i++, d1 += 4, d2 += 2)
+- {
+- d1[R3] = d2[1];
+- d1[G3] = d2[1];
+- d1[B3] = d2[1];
+- }
+- }
+- else
+- /* 8-bit gray with alpha. */
+- {
+- for (i = 0; i < (data->image_width * data->image_height);
+- i++, d1 += 4, d2 += 2)
+- {
+- d1[R4] = d2[1];
+- d1[G4] = d2[1];
+- d1[B4] = d2[1];
+- d1[A4] = d2[0];
+- }
+- }
+- break;
+- /* 8-bit gray without alpha. */
+- case 1:
+- for (i = 0; i < (data->image_width * data->image_height);
+- i++, d1 += 3, d2++)
+- {
+- d1[R3] = d2[0];
+- d1[G3] = d2[0];
+- d1[B3] = d2[0];
+- }
+- break;
+- }
+- return;
+- }
+-
+ {
+ /* Only copy the upper 8 bit. */
+ #ifndef GRUB_CPU_WORDS_BIGENDIAN
+--
+2.34.1
+
diff --git a/meta/recipes-bsp/grub/files/CVE-2021-3696-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff.patch b/meta/recipes-bsp/grub/files/CVE-2021-3696-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff.patch
new file mode 100644
index 0000000000..f06514e665
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/CVE-2021-3696-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff.patch
@@ -0,0 +1,50 @@
+From 210245129c932dc9e1c2748d9d35524fb95b5042 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Tue, 6 Jul 2021 23:25:07 +1000
+Subject: [PATCH] video/readers/png: Avoid heap OOB R/W inserting huff table
+ items
+
+In fuzzing we observed crashes where a code would attempt to be inserted
+into a huffman table before the start, leading to a set of heap OOB reads
+and writes as table entries with negative indices were shifted around and
+the new code written in.
+
+Catch the case where we would underflow the array and bail.
+
+Fixes: CVE-2021-3696
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2021-3696
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=210245129c932dc9e1c2748d9d35524fb95b5042
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/video/readers/png.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/grub-core/video/readers/png.c b/grub-core/video/readers/png.c
+index a3161e25b..d7ed5aa6c 100644
+--- a/grub-core/video/readers/png.c
++++ b/grub-core/video/readers/png.c
+@@ -438,6 +438,13 @@ grub_png_insert_huff_item (struct huff_table *ht, int code, int len)
+ for (i = len; i < ht->max_length; i++)
+ n += ht->maxval[i];
+
++ if (n > ht->num_values)
++ {
++ grub_error (GRUB_ERR_BAD_FILE_TYPE,
++ "png: out of range inserting huffman table item");
++ return;
++ }
++
+ for (i = 0; i < n; i++)
+ ht->values[ht->num_values - i] = ht->values[ht->num_values - i - 1];
+
+--
+2.34.1
+
diff --git a/meta/recipes-bsp/grub/files/CVE-2021-3697-video-readers-jpeg-Block-int-underflow-wild-pointer.patch b/meta/recipes-bsp/grub/files/CVE-2021-3697-video-readers-jpeg-Block-int-underflow-wild-pointer.patch
new file mode 100644
index 0000000000..e9fc52df86
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/CVE-2021-3697-video-readers-jpeg-Block-int-underflow-wild-pointer.patch
@@ -0,0 +1,84 @@
+From 22a3f97d39f6a10b08ad7fd1cc47c4dcd10413f6 Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Wed, 7 Jul 2021 15:38:19 +1000
+Subject: [PATCH] video/readers/jpeg: Block int underflow -> wild pointer write
+
+Certain 1 px wide images caused a wild pointer write in
+grub_jpeg_ycrcb_to_rgb(). This was caused because in grub_jpeg_decode_data(),
+we have the following loop:
+
+for (; data->r1 < nr1 && (!data->dri || rst);
+ data->r1++, data->bitmap_ptr += (vb * data->image_width - hb * nc1) * 3)
+
+We did not check if vb * width >= hb * nc1.
+
+On a 64-bit platform, if that turns out to be negative, it will underflow,
+be interpreted as unsigned 64-bit, then be added to the 64-bit pointer, so
+we see data->bitmap_ptr jump, e.g.:
+
+0x6180_0000_0480 to
+0x6181_0000_0498
+ ^
+ ~--- carry has occurred and this pointer is now far away from
+ any object.
+
+On a 32-bit platform, it will decrement the pointer, creating a pointer
+that won't crash but will overwrite random data.
+
+Catch the underflow and error out.
+
+Fixes: CVE-2021-3697
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+
+Upstream-Status: Backport
+CVE: CVE-2021-3697
+
+Reference to upstream patch:
+https://git.savannah.gnu.org/cgit/grub.git/commit/?id=22a3f97d39f6a10b08ad7fd1cc47c4dcd10413f6
+
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ grub-core/video/readers/jpeg.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
+index 579bbe8a4..09596fbf5 100644
+--- a/grub-core/video/readers/jpeg.c
++++ b/grub-core/video/readers/jpeg.c
+@@ -23,6 +23,7 @@
+ #include <grub/mm.h>
+ #include <grub/misc.h>
+ #include <grub/bufio.h>
++#include <grub/safemath.h>
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+@@ -699,6 +700,7 @@ static grub_err_t
+ grub_jpeg_decode_data (struct grub_jpeg_data *data)
+ {
+ unsigned c1, vb, hb, nr1