aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-selftest/recipes-test/logging-test/logging-test.bb24
-rw-r--r--meta-selftest/wic/test_efi_plugin.wks6
-rw-r--r--meta-skeleton/recipes-kernel/hello-mod/files/hello.c10
-rw-r--r--meta/classes/archiver.bbclass8
-rw-r--r--meta/classes/autotools.bbclass5
-rw-r--r--meta/classes/baremetal-image.bbclass10
-rw-r--r--meta/classes/base.bbclass52
-rw-r--r--meta/classes/buildhistory.bbclass21
-rw-r--r--meta/classes/cpan-base.bbclass2
-rw-r--r--meta/classes/create-spdx.bbclass39
-rw-r--r--meta/classes/cross-canadian.bbclass4
-rw-r--r--meta/classes/cross.bbclass4
-rw-r--r--meta/classes/devshell.bbclass10
-rw-r--r--meta/classes/externalsrc.bbclass9
-rw-r--r--meta/classes/image-artifact-names.bbclass9
-rw-r--r--meta/classes/image-prelink.bbclass13
-rw-r--r--meta/classes/image.bbclass20
-rw-r--r--meta/classes/image_types_wic.bbclass39
-rw-r--r--meta/classes/insane.bbclass4
-rw-r--r--meta/classes/kernel-yocto.bbclass5
-rw-r--r--meta/classes/kernel.bbclass44
-rw-r--r--meta/classes/libc-package.bbclass2
-rw-r--r--meta/classes/license.bbclass4
-rw-r--r--meta/classes/meta.bbclass4
-rw-r--r--meta/classes/mirrors.bbclass1
-rw-r--r--meta/classes/multilib.bbclass2
-rw-r--r--meta/classes/nativesdk.bbclass2
-rw-r--r--meta/classes/npm.bbclass27
-rw-r--r--meta/classes/package.bbclass14
-rw-r--r--meta/classes/package_deb.bbclass5
-rw-r--r--meta/classes/package_ipk.bbclass8
-rw-r--r--meta/classes/package_rpm.bbclass8
-rw-r--r--meta/classes/patch.bbclass7
-rw-r--r--meta/classes/populate_sdk_base.bbclass4
-rw-r--r--meta/classes/python3-dir.bbclass2
-rw-r--r--meta/classes/reproducible_build.bbclass127
-rw-r--r--meta/classes/reproducible_build_simple.bbclass9
-rw-r--r--meta/classes/rm_work.bbclass8
-rw-r--r--meta/classes/rootfs-postcommands.bbclass4
-rw-r--r--meta/classes/rust-common.bbclass17
-rw-r--r--meta/classes/siteinfo.bbclass34
-rw-r--r--meta/classes/sstate.bbclass85
-rw-r--r--meta/classes/staging.bbclass1
-rw-r--r--meta/classes/testimage.bbclass14
-rw-r--r--meta/classes/toolchain-scripts.bbclass5
-rw-r--r--meta/classes/uboot-config.bbclass2
-rw-r--r--meta/classes/useradd.bbclass4
-rw-r--r--meta/classes/utils.bbclass35
-rw-r--r--meta/conf/abi_version.conf2
-rw-r--r--meta/conf/bitbake.conf29
-rw-r--r--meta/conf/distro/include/default-distrovars.inc6
-rw-r--r--meta/conf/distro/include/default-versions.inc2
-rw-r--r--meta/conf/distro/include/maintainers.inc6
-rw-r--r--meta/conf/distro/include/ptest-packagelists.inc2
-rw-r--r--meta/conf/distro/include/rust_versions.inc13
-rw-r--r--meta/conf/distro/include/tcmode-default.inc17
-rw-r--r--meta/conf/documentation.conf4
-rw-r--r--meta/conf/layer.conf12
-rw-r--r--meta/conf/machine/include/mips/feature-mips-mips16e.inc2
-rw-r--r--meta/conf/machine/include/qemu.inc2
-rw-r--r--meta/conf/machine/include/x86/x86-base.inc2
-rw-r--r--meta/conf/machine/qemuarm.conf4
-rw-r--r--meta/conf/machine/qemuarm64.conf4
-rw-r--r--meta/conf/machine/qemuarmv5.conf5
-rw-r--r--meta/conf/multilib.conf2
-rw-r--r--meta/files/rust-ccld-wrapper.c29
-rw-r--r--meta/files/spdx-licenses.json2565
-rw-r--r--meta/lib/buildstats.py4
-rw-r--r--meta/lib/oe/gpg_sign.py27
-rw-r--r--meta/lib/oe/license.py6
-rw-r--r--meta/lib/oe/maketype.py7
-rw-r--r--meta/lib/oe/package_manager/__init__.py2
-rw-r--r--meta/lib/oe/packagedata.py2
-rw-r--r--meta/lib/oe/reproducible.py84
-rw-r--r--meta/lib/oe/rootfs.py2
-rw-r--r--meta/lib/oe/spdx.py64
-rw-r--r--meta/lib/oe/sstatesig.py81
-rw-r--r--meta/lib/oeqa/core/target/ssh.py4
-rw-r--r--meta/lib/oeqa/manual/eclipse-plugin.json6
-rw-r--r--meta/lib/oeqa/runtime/cases/rpm.py6
-rw-r--r--meta/lib/oeqa/sdk/buildtools-cases/build.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/bblogging.py104
-rw-r--r--meta/lib/oeqa/selftest/cases/bbtests.py7
-rw-r--r--meta/lib/oeqa/selftest/cases/devtool.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/eSDK.py2
-rw-r--r--meta/lib/oeqa/selftest/cases/gotoolchain.py6
-rw-r--r--meta/lib/oeqa/selftest/cases/oescripts.py4
-rw-r--r--meta/lib/oeqa/selftest/cases/reproducible.py1
-rw-r--r--meta/lib/oeqa/selftest/cases/signing.py8
-rw-r--r--meta/lib/oeqa/selftest/cases/sstatetests.py36
-rw-r--r--meta/lib/oeqa/selftest/cases/tinfoil.py6
-rw-r--r--meta/lib/oeqa/selftest/cases/wic.py29
-rw-r--r--meta/lib/oeqa/selftest/context.py2
-rw-r--r--meta/lib/oeqa/utils/buildproject.py3
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py4
-rw-r--r--meta/lib/oeqa/utils/targetbuild.py4
-rw-r--r--meta/recipes-bsp/acpid/acpid.inc6
-rw-r--r--meta/recipes-bsp/acpid/acpid_2.0.33.bb (renamed from meta/recipes-bsp/acpid/acpid_2.0.32.bb)3
-rw-r--r--meta/recipes-bsp/apmd/apmd_3.2.2-15.bb6
-rw-r--r--meta/recipes-bsp/opensbi/opensbi-payloads.inc8
-rw-r--r--meta/recipes-bsp/u-boot/u-boot.inc6
-rw-r--r--meta/recipes-connectivity/avahi/avahi_0.8.bb4
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.21/0001-avoid-start-failure-with-bind-user.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.20/0001-avoid-start-failure-with-bind-user.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.21/0001-named-lwresd-V-and-start-log-hide-build-options.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.20/0001-named-lwresd-V-and-start-log-hide-build-options.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.21/bind-ensure-searching-for-json-headers-searches-sysr.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.20/bind-ensure-searching-for-json-headers-searches-sysr.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.21/bind9 (renamed from meta/recipes-connectivity/bind/bind-9.16.20/bind9)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.21/conf.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.20/conf.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.21/generate-rndc-key.sh (renamed from meta/recipes-connectivity/bind/bind-9.16.20/generate-rndc-key.sh)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.21/init.d-add-support-for-read-only-rootfs.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.20/init.d-add-support-for-read-only-rootfs.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.21/make-etc-initd-bind-stop-work.patch (renamed from meta/recipes-connectivity/bind/bind-9.16.20/make-etc-initd-bind-stop-work.patch)0
-rw-r--r--meta/recipes-connectivity/bind/bind-9.16.21/named.service (renamed from meta/recipes-connectivity/bind/bind-9.16.20/named.service)0
-rw-r--r--meta/recipes-connectivity/bind/bind_9.16.21.bb (renamed from meta/recipes-connectivity/bind/bind_9.16.20.bb)8
-rw-r--r--meta/recipes-connectivity/connman/connman.inc8
-rw-r--r--meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb4
-rw-r--r--meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch12
-rw-r--r--meta/recipes-connectivity/inetutils/inetutils_2.2.bb (renamed from meta/recipes-connectivity/inetutils/inetutils_2.1.bb)2
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_5.14.0.bb (renamed from meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb)2
-rw-r--r--meta/recipes-connectivity/neard/neard_0.16.bb2
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb18
-rw-r--r--meta/recipes-connectivity/ofono/ofono_1.32.bb2
-rw-r--r--meta/recipes-connectivity/openssh/openssh_8.7p1.bb12
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch36
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch21
-rw-r--r--meta/recipes-connectivity/openssl/openssl/0001-skip-test_symbol_presence.patch46
-rw-r--r--meta/recipes-connectivity/openssl/openssl/reproducible.patch32
-rw-r--r--meta/recipes-connectivity/openssl/openssl/run-ptest2
-rw-r--r--meta/recipes-connectivity/openssl/openssl_3.0.0.bb (renamed from meta/recipes-connectivity/openssl/openssl_1.1.1l.bb)81
-rw-r--r--meta/recipes-connectivity/ppp/ppp_2.4.9.bb8
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb4
-rw-r--r--meta/recipes-core/busybox/busybox-inittab_1.34.1.bb (renamed from meta/recipes-core/busybox/busybox-inittab_1.34.0.bb)0
-rw-r--r--meta/recipes-core/busybox/busybox.inc24
-rw-r--r--meta/recipes-core/busybox/busybox_1.34.1.bb (renamed from meta/recipes-core/busybox/busybox_1.34.0.bb)2
-rw-r--r--meta/recipes-core/coreutils/coreutils/0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch167
-rw-r--r--meta/recipes-core/coreutils/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch99
-rw-r--r--meta/recipes-core/coreutils/coreutils/disable-ls-output-quoting.patch49
-rw-r--r--meta/recipes-core/coreutils/coreutils/e8b56ebd536e82b15542a00c888109471936bfda.patch93
-rw-r--r--meta/recipes-core/coreutils/coreutils/fix-selinux-flask.patch7
-rw-r--r--meta/recipes-core/coreutils/coreutils_9.0.bb (renamed from meta/recipes-core/coreutils/coreutils_8.32.bb)11
-rw-r--r--meta/recipes-core/dropbear/dropbear.inc10
-rw-r--r--meta/recipes-core/ell/ell_0.44.bb (renamed from meta/recipes-core/ell/ell_0.43.bb)2
-rw-r--r--meta/recipes-core/expat/expat_2.4.1.bb6
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch26
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch8
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/time-test.patch40
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.70.0.bb (renamed from meta/recipes-core/glib-2.0/glib-2.0_2.68.4.bb)3
-rw-r--r--meta/recipes-core/glib-2.0/glib.inc5
-rw-r--r--meta/recipes-core/glib-networking/glib-networking_2.70.0.bb (renamed from meta/recipes-core/glib-networking/glib-networking_2.68.2.bb)2
-rw-r--r--meta/recipes-core/glibc/glibc-package.inc9
-rw-r--r--meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch2
-rw-r--r--meta/recipes-core/images/build-appliance-image_15.0.0.bb4
-rw-r--r--meta/recipes-core/images/core-image-ptest-all.bb4
-rw-r--r--meta/recipes-core/libxml/libxml2_2.9.12.bb2
-rw-r--r--meta/recipes-core/meta/buildtools-tarball.bb1
-rw-r--r--meta/recipes-core/meta/meta-environment.bb5
-rw-r--r--meta/recipes-core/meta/meta-ide-support.bb8
-rw-r--r--meta/recipes-core/meta/testexport-tarball.bb1
-rw-r--r--meta/recipes-core/meta/uninative-tarball.bb1
-rw-r--r--meta/recipes-core/ovmf/ovmf_git.bb7
-rw-r--r--meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb1
-rw-r--r--meta/recipes-core/psplash/psplash_git.bb6
-rw-r--r--meta/recipes-core/systemd/systemd-boot_249.4.bb (renamed from meta/recipes-core/systemd/systemd-boot_249.3.bb)0
-rw-r--r--meta/recipes-core/systemd/systemd-compat-units.bb2
-rw-r--r--meta/recipes-core/systemd/systemd-conf_1.0.bb6
-rw-r--r--meta/recipes-core/systemd/systemd-serialgetty.bb18
-rw-r--r--meta/recipes-core/systemd/systemd.inc2
-rw-r--r--meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch15
-rw-r--r--meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch4
-rw-r--r--meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch4
-rw-r--r--meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch2
-rw-r--r--meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch2
-rw-r--r--meta/recipes-core/systemd/systemd_249.4.bb (renamed from meta/recipes-core/systemd/systemd_249.3.bb)79
-rw-r--r--meta/recipes-core/util-linux/util-linux_2.37.2.bb7
-rwxr-xr-xmeta/recipes-core/volatile-binds/files/mount-copybind26
-rw-r--r--meta/recipes-core/volatile-binds/volatile-binds.bb6
-rw-r--r--meta/recipes-devtools/binutils/binutils.inc2
-rw-r--r--meta/recipes-devtools/bison/bison/0001-Use-mapped-file-name-for-symbols.patch62
-rw-r--r--meta/recipes-devtools/bison/bison_3.8.1.bb (renamed from meta/recipes-devtools/bison/bison_3.7.6.bb)7
-rw-r--r--meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb8
-rw-r--r--meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb6
-rw-r--r--meta/recipes-devtools/cargo/cargo-cross-canadian_1.55.0.bb6
-rw-r--r--meta/recipes-devtools/cargo/cargo.inc4
-rw-r--r--meta/recipes-devtools/cargo/cargo_1.54.0.bb4
-rw-r--r--meta/recipes-devtools/cargo/cargo_1.55.0.bb4
-rw-r--r--meta/recipes-devtools/cmake/cmake-native_3.21.2.bb (renamed from meta/recipes-devtools/cmake/cmake-native_3.21.1.bb)0
-rw-r--r--meta/recipes-devtools/cmake/cmake.inc2
-rw-r--r--meta/recipes-devtools/cmake/cmake_3.21.2.bb (renamed from meta/recipes-devtools/cmake/cmake_3.21.1.bb)0
-rw-r--r--meta/recipes-devtools/createrepo-c/createrepo-c_0.17.5.bb (renamed from meta/recipes-devtools/createrepo-c/createrepo-c_0.17.4.bb)2
-rw-r--r--meta/recipes-devtools/distcc/distcc_3.4.bb6
-rw-r--r--meta/recipes-devtools/dnf/dnf_4.9.0.bb (renamed from meta/recipes-devtools/dnf/dnf_4.8.0.bb)2
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.185.bb1
-rw-r--r--meta/recipes-devtools/gdb/gdb-cross-canadian.inc1
-rw-r--r--meta/recipes-devtools/gdb/gdb-cross.inc2
-rw-r--r--meta/recipes-devtools/gdb/gdb.inc2
-rw-r--r--meta/recipes-devtools/go/go-1.16.8.inc (renamed from meta/recipes-devtools/go/go-1.16.7.inc)4
-rw-r--r--meta/recipes-devtools/go/go-binary-native_1.16.8.bb (renamed from meta/recipes-devtools/go/go-binary-native_1.16.7.bb)4
-rw-r--r--meta/recipes-devtools/go/go-cross-canadian_1.16.8.bb (renamed from meta/recipes-devtools/go/go-cross-canadian_1.16.7.bb)0
-rw-r--r--meta/recipes-devtools/go/go-cross_1.16.8.bb (renamed from meta/recipes-devtools/go/go-cross_1.16.7.bb)0
-rw-r--r--meta/recipes-devtools/go/go-crosssdk_1.16.8.bb (renamed from meta/recipes-devtools/go/go-crosssdk_1.16.7.bb)0
-rw-r--r--meta/recipes-devtools/go/go-native_1.16.8.bb (renamed from meta/recipes-devtools/go/go-native_1.16.7.bb)0
-rw-r--r--meta/recipes-devtools/go/go-runtime_1.16.8.bb (renamed from meta/recipes-devtools/go/go-runtime_1.16.7.bb)0
-rw-r--r--meta/recipes-devtools/go/go_1.16.8.bb (renamed from meta/recipes-devtools/go/go_1.16.7.bb)0
-rw-r--r--meta/recipes-devtools/help2man/help2man_1.48.5.bb (renamed from meta/recipes-devtools/help2man/help2man_1.48.4.bb)2
-rw-r--r--meta/recipes-devtools/libdnf/libdnf/0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch34
-rw-r--r--meta/recipes-devtools/libdnf/libdnf/0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch37
-rw-r--r--meta/recipes-devtools/libdnf/libdnf_0.64.0.bb (renamed from meta/recipes-devtools/libdnf/libdnf_0.63.1.bb)4
-rw-r--r--meta/recipes-devtools/libmodulemd/libmodulemd_git.bb2
-rw-r--r--meta/recipes-devtools/libtool/libtool-2.4.6.inc1
-rw-r--r--meta/recipes-devtools/libtool/libtool_2.4.6.bb2
-rw-r--r--meta/recipes-devtools/lua/lua/lua.pc.in10
-rw-r--r--meta/recipes-devtools/lua/lua/run-ptest19
-rw-r--r--meta/recipes-devtools/lua/lua_5.4.3.bb62
-rw-r--r--meta/recipes-devtools/meson/meson.inc4
-rw-r--r--meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch20
-rw-r--r--meta/recipes-devtools/meson/meson/0003-native_bindir.patch94
-rw-r--r--meta/recipes-devtools/meson/meson/gi-target-dep.patch41
-rw-r--r--meta/recipes-devtools/meson/meson_0.59.1.bb (renamed from meta/recipes-devtools/meson/meson_0.58.1.bb)0
-rw-r--r--meta/recipes-devtools/meson/nativesdk-meson_0.59.1.bb (renamed from meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb)0
-rw-r--r--meta/recipes-devtools/perl/files/CVE-2021-36770.patch40
-rw-r--r--meta/recipes-devtools/perl/perl_5.34.0.bb10
-rw-r--r--meta/recipes-devtools/pkgconfig/pkgconfig_git.bb2
-rw-r--r--meta/recipes-devtools/pseudo/pseudo_git.bb2
-rw-r--r--meta/recipes-devtools/python/python3-dbusmock_0.24.0.bb (renamed from meta/recipes-devtools/python/python3-dbusmock_0.23.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-git_3.1.24.bb (renamed from meta/recipes-devtools/python/python3-git_3.1.20.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-hypothesis_6.23.2.bb (renamed from meta/recipes-devtools/python/python3-hypothesis_6.15.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-importlib-metadata_4.8.1.bb (renamed from meta/recipes-devtools/python/python3-importlib-metadata_4.6.4.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-more-itertools_8.10.0.bb (renamed from meta/recipes-devtools/python/python3-more-itertools_8.8.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pycryptodome_3.10.1.bb5
-rw-r--r--meta/recipes-devtools/python/python3-pycryptodome_3.11.0.bb5
-rw-r--r--meta/recipes-devtools/python/python3-pycryptodomex_3.11.0.bb (renamed from meta/recipes-devtools/python/python3-pycryptodomex_3.10.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pytest/0001-Allow-pluggy-1.0.patch65
-rw-r--r--meta/recipes-devtools/python/python3-pytest_6.2.5.bb (renamed from meta/recipes-devtools/python/python3-pytest_6.2.4.bb)3
-rw-r--r--meta/recipes-devtools/python/python3-setuptools_58.0.4.bb (renamed from meta/recipes-devtools/python/python3-setuptools_57.4.0.bb)48
-rw-r--r--meta/recipes-devtools/python/python3-zipp_3.6.0.bb (renamed from meta/recipes-devtools/python/python3-zipp_3.5.0.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-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch49
-rw-r--r--meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch35
-rw-r--r--meta/recipes-devtools/python/python3/0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch34
-rw-r--r--meta/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch24
-rw-r--r--meta/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch15
-rw-r--r--meta/recipes-devtools/python/python3/0001-sysconfig.py-use-platlibdir-also-for-purelib.patch30
-rw-r--r--meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch14
-rw-r--r--meta/recipes-devtools/python/python3/makerace.patch25
-rw-r--r--meta/recipes-devtools/python/python3/reformat_sysconfig.py2
-rw-r--r--meta/recipes-devtools/python/python3_3.10.0.bb (renamed from meta/recipes-devtools/python/python3_3.9.6.bb)41
-rw-r--r--meta/recipes-devtools/qemu/qemu-native_6.1.0.bb (renamed from meta/recipes-devtools/qemu/qemu-native_6.0.0.bb)2
-rw-r--r--meta/recipes-devtools/qemu/qemu-system-native_6.1.0.bb (renamed from meta/recipes-devtools/qemu/qemu-system-native_6.0.0.bb)5
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc22
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-Add-enable-disable-udev.patch29
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-configure-fix-detection-of-gdbus-codegen.patch50
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch35
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-vhost-user-gpu-fix-memory-disclosure-in-virgl_cmd_ge.patch43
-rw-r--r--meta/recipes-devtools/qemu/qemu/0002-vhost-user-gpu-fix-resource-leak-in-vg_resource_crea.patch41
-rw-r--r--meta/recipes-devtools/qemu/qemu/0003-vhost-user-gpu-fix-memory-leak-in-vg_resource_attach.patch48
-rw-r--r--meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch34
-rw-r--r--meta/recipes-devtools/qemu/qemu/0004-vhost-user-gpu-fix-memory-leak-while-calling-vg_reso.patch50
-rw-r--r--meta/recipes-devtools/qemu/qemu/0005-vhost-user-gpu-fix-memory-leak-in-virgl_cmd_resource.patch58
-rw-r--r--meta/recipes-devtools/qemu/qemu/0006-vhost-user-gpu-fix-memory-leak-in-virgl_resource_att.patch49
-rw-r--r--meta/recipes-devtools/qemu/qemu/0007-vhost-user-gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch49
-rw-r--r--meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch87
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2021-3527-1.patch42
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2021-3527-2.patch59
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2021-3682.patch41
-rw-r--r--meta/recipes-devtools/qemu/qemu/cross.patch40
-rw-r--r--meta/recipes-devtools/qemu/qemu_6.1.0.bb (renamed from meta/recipes-devtools/qemu/qemu_6.0.0.bb)0
-rw-r--r--meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb1
-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-Fix-build-with-musl-C-library.patch22
-rw-r--r--meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch28
-rw-r--r--meta/recipes-devtools/rpm/files/0001-docs-do-not-build-manpages-requires-pandoc.patch26
-rw-r--r--meta/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch65
-rw-r--r--meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch59
-rw-r--r--meta/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch33
-rw-r--r--meta/recipes-devtools/rpm/rpm_4.17.0.bb (renamed from meta/recipes-devtools/rpm/rpm_4.16.1.3.bb)28
-rw-r--r--meta/recipes-devtools/ruby/ruby.inc5
-rw-r--r--meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch35
-rw-r--r--meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch28
-rw-r--r--meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch28
-rw-r--r--meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch67
-rw-r--r--meta/recipes-devtools/ruby/ruby_3.0.2.bb4
-rw-r--r--meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb6
-rw-r--r--meta/recipes-devtools/rust/libstd-rs/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch (renamed from meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch)0
-rw-r--r--meta/recipes-devtools/rust/libstd-rs/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch (renamed from meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch)0
-rw-r--r--meta/recipes-devtools/rust/libstd-rs/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch (renamed from meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch)0
-rw-r--r--meta/recipes-devtools/rust/libstd-rs/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch (renamed from meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch)0
-rw-r--r--meta/recipes-devtools/rust/libstd-rs_1.55.0.bb (renamed from meta/recipes-devtools/rust/libstd-rs_1.54.0.bb)2
-rw-r--r--meta/recipes-devtools/rust/rust-common.inc58
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian_1.55.0.bb (renamed from meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb)4
-rw-r--r--meta/recipes-devtools/rust/rust-cross.inc4
-rw-r--r--meta/recipes-devtools/rust/rust-cross_1.54.0.bb2
-rw-r--r--meta/recipes-devtools/rust/rust-cross_1.55.0.bb2
-rw-r--r--meta/recipes-devtools/rust/rust-llvm.inc5
-rw-r--r--meta/recipes-devtools/rust/rust-llvm_1.55.0.bb (renamed from meta/recipes-devtools/rust/rust-llvm_1.54.0.bb)2
-rw-r--r--meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc18
-rw-r--r--meta/recipes-devtools/rust/rust-snapshot.inc16
-rw-r--r--meta/recipes-devtools/rust/rust-source-1.54.0.inc3
-rw-r--r--meta/recipes-devtools/rust/rust-source.inc1
-rw-r--r--meta/recipes-devtools/rust/rust-tools-cross-canadian_1.55.0.bb (renamed from meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb)4
-rw-r--r--meta/recipes-devtools/rust/rust.inc1
-rw-r--r--meta/recipes-devtools/rust/rust_1.55.0.bb (renamed from meta/recipes-devtools/rust/rust_1.54.0.bb)4
-rw-r--r--meta/recipes-devtools/strace/strace_5.14.bb (renamed from meta/recipes-devtools/strace/strace_5.13.bb)2
-rw-r--r--meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb1
-rw-r--r--meta/recipes-devtools/systemd-bootchart/systemd-bootchart_234.bb2
-rw-r--r--meta/recipes-devtools/tcf-agent/tcf-agent/0001-Fixed-copyright-messages.patch56
-rw-r--r--meta/recipes-devtools/tcf-agent/tcf-agent_git.bb9
-rw-r--r--meta/recipes-extended/at/at_3.2.2.bb6
-rw-r--r--meta/recipes-extended/bash/bash.inc5
-rw-r--r--meta/recipes-extended/bzip2/bzip2/Makefile.am2
-rw-r--r--meta/recipes-extended/cronie/cronie_1.5.7.bb6
-rw-r--r--meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch6
-rw-r--r--meta/recipes-extended/ethtool/ethtool_5.14.bb (renamed from meta/recipes-extended/ethtool/ethtool_5.13.bb)2
-rw-r--r--meta/recipes-extended/findutils/findutils.inc6
-rw-r--r--meta/recipes-extended/findutils/findutils/run-ptest57
-rw-r--r--meta/recipes-extended/findutils/findutils_4.8.0.bb12
-rw-r--r--meta/recipes-extended/gzip/gzip-1.11/wrong-path-fix.patch (renamed from meta/recipes-extended/gzip/gzip-1.10/wrong-path-fix.patch)0
-rw-r--r--meta/recipes-extended/gzip/gzip_1.11.bb (renamed from meta/recipes-extended/gzip/gzip_1.10.bb)3
-rw-r--r--meta/recipes-extended/iputils/iputils_20210722.bb6
-rw-r--r--meta/recipes-extended/libsolv/libsolv_0.7.20.bb (renamed from meta/recipes-extended/libsolv/libsolv_0.7.19.bb)4
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd_1.4.59.bb6
-rw-r--r--meta/recipes-extended/lsof/files/lsof-remove-host-information.patch17
-rw-r--r--meta/recipes-extended/lsof/lsof_4.94.0.bb (renamed from meta/recipes-extended/lsof/lsof_4.91.bb)28
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch12
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-syscalls-ioctl_ns05.c-ioctl_ns06.c-Fix-too-small-buf.patch59
-rw-r--r--meta/recipes-extended/ltp/ltp/0002-lib-fix-MemAvailable-parsing.patch36
-rw-r--r--meta/recipes-extended/ltp/ltp/0003-lapi-rtnetlink.h-Fix-include-guards.patch37
-rw-r--r--meta/recipes-extended/ltp/ltp/0004-lapi-Create-if_addr.h-and-reuse-it-in-rtnetlink.h.patch58
-rw-r--r--meta/recipes-extended/ltp/ltp/0005-lapi-if_addr.h-Define-IFA_FLAGS.patch60
-rw-r--r--meta/recipes-extended/ltp/ltp_20210927.bb (renamed from meta/recipes-extended/ltp/ltp_20210524.bb)17
-rw-r--r--meta/recipes-extended/man-db/man-db_2.9.4.bb2
-rw-r--r--meta/recipes-extended/mdadm/mdadm_4.1.bb2
-rw-r--r--meta/recipes-extended/newt/libnewt_0.52.21.bb2
-rw-r--r--meta/recipes-extended/pam/libpam/0001-Makefile.am-support-usrmage.patch28
-rw-r--r--meta/recipes-extended/pam/libpam/0001-modules-pam_namespace-Makefile.am-correctly-install-.patch28
-rw-r--r--meta/recipes-extended/pam/libpam_1.5.2.bb (renamed from meta/recipes-extended/pam/libpam_1.5.1.bb)9
-rw-r--r--meta/recipes-extended/perl/libconvert-asn1-perl_0.33.bb (renamed from meta/recipes-extended/perl/libconvert-asn1-perl_0.31.bb)3
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb2
-rw-r--r--meta/recipes-extended/sudo/files/0001-lib-util-mksigname.c-correctly-include-header-for-ou.patch25
-rw-r--r--meta/recipes-extended/sudo/sudo.inc16
-rw-r--r--meta/recipes-extended/sudo/sudo_1.9.8p1.bb (renamed from meta/recipes-extended/sudo/sudo_1.9.7p2.bb)3
-rw-r--r--meta/recipes-extended/sysstat/sysstat.inc6
-rw-r--r--meta/recipes-extended/tar/tar_1.34.bb6
-rw-r--r--meta/recipes-extended/wget/wget.inc2
-rw-r--r--meta/recipes-extended/wget/wget_1.21.2.bb (renamed from meta/recipes-extended/wget/wget_1.21.1.bb)2
-rw-r--r--meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb6
-rw-r--r--meta/recipes-gnome/epiphany/epiphany_41.0.bb (renamed from meta/recipes-gnome/epiphany/epiphany_40.3.bb)20
-rw-r--r--meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST-3.34.3.patch27
-rw-r--r--meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch6
-rw-r--r--meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch24
-rw-r--r--meta/recipes-gnome/gnome/adwaita-icon-theme_3.34.3.bb43
-rw-r--r--meta/recipes-gnome/gnome/adwaita-icon-theme_41.0.bb (renamed from meta/recipes-gnome/gnome/adwaita-icon-theme_3.38.0.bb)7
-rw-r--r--meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb2
-rw-r--r--meta/recipes-gnome/libhandy/libhandy_1.4.0.bb (renamed from meta/recipes-gnome/libhandy/libhandy_1.2.3.bb)4
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch35
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0001-GdkPixbufRGBA-ToGdkPixbufRGBA-start-naming-types-and.patch81
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch47
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0001-Remove-non-reproducible-SRCDIR.patch30
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0001-crossbeam-utils-check-only-the-architecture-not-the-.patch148
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch53
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0001-vendor-system-deps-sort-dependencies-before-using-th.patch53
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0002-New-ToPixel-trait.patch100
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0003-New-ToCairoARGB-trait.patch81
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/0004-impl-ToPixel-for-CairoARGB.patch49
-rw-r--r--meta/recipes-gnome/librsvg/librsvg/gtk-option.patch60
-rw-r--r--meta/recipes-gnome/librsvg/librsvg_2.40.21.bb52
-rw-r--r--meta/recipes-gnome/librsvg/librsvg_2.52.0.bb76
-rw-r--r--meta/recipes-graphics/glew/glew/notempdir.patch19
-rw-r--r--meta/recipes-graphics/glew/glew_2.2.0.bb1
-rw-r--r--meta/recipes-graphics/glslang/glslang_11.6.0.bb (renamed from meta/recipes-graphics/glslang/glslang_11.5.0.bb)2
-rw-r--r--meta/recipes-graphics/harfbuzz/harfbuzz_2.9.1.bb (renamed from meta/recipes-graphics/harfbuzz/harfbuzz_2.9.0.bb)2
-rw-r--r--meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb2
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc6
-rw-r--r--meta/recipes-graphics/piglit/piglit_git.bb5
-rw-r--r--meta/recipes-graphics/shaderc/shaderc_2021.2.bb (renamed from meta/recipes-graphics/shaderc/shaderc_2021.1.bb)4
-rw-r--r--meta/recipes-graphics/spir/files/0001-fix-strncpy-bound-error.patch30
-rw-r--r--meta/recipes-graphics/spir/spirv-headers_1.5.4.bb2
-rw-r--r--meta/recipes-graphics/spir/spirv-tools_2021.3.bb (renamed from meta/recipes-graphics/spir/spirv-tools_2021.2.bb)6
-rw-r--r--meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch32
-rw-r--r--meta/recipes-graphics/vulkan/assimp/0001-closes-https-github.com-assimp-assimp-issues-2733-up.patch1664
-rw-r--r--meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch257
-rw-r--r--meta/recipes-graphics/vulkan/assimp_5.0.1.bb26
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-headers_1.2.191.0.bb (renamed from meta/recipes-graphics/vulkan/vulkan-headers_1.2.182.0.bb)4
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-loader_1.2.191.0.bb (renamed from meta/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bb)2
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-tools_1.2.191.0.bb (renamed from meta/recipes-graphics/vulkan/vulkan-tools_1.2.182.0.bb)4
-rw-r--r--meta/recipes-graphics/waffle/waffle_1.6.1.bb2
-rw-r--r--meta/recipes-graphics/wayland/libinput_1.19.0.bb (renamed from meta/recipes-graphics/wayland/libinput_1.18.1.bb)2
-rw-r--r--meta/recipes-graphics/wayland/wayland-protocols_1.23.bb (renamed from meta/recipes-graphics/wayland/wayland-protocols_1.21.bb)2
-rw-r--r--meta/recipes-graphics/wayland/weston-init.bb2
-rwxr-xr-xmeta/recipes-graphics/wayland/weston-init/weston-start11
-rw-r--r--meta/recipes-graphics/wayland/weston/systemd-notify.weston-start9
-rw-r--r--meta/recipes-graphics/wayland/weston_9.0.0.bb5
-rw-r--r--meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb6
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.2.0.bb (renamed from meta/recipes-graphics/xorg-driver/xf86-input-libinput_1.1.0.bb)2
-rw-r--r--meta/recipes-graphics/xorg-lib/libxi_1.8.bb (renamed from meta/recipes-graphics/xorg-lib/libxi_1.7.99.2.bb)2
-rw-r--r--meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.1.bb (renamed from meta/recipes-graphics/xorg-lib/libxkbcommon_1.3.0.bb)2
-rw-r--r--meta/recipes-graphics/xorg-lib/xkeyboard-config_2.34.bb (renamed from meta/recipes-graphics/xorg-lib/xkeyboard-config_2.33.bb)2
-rw-r--r--meta/recipes-graphics/xorg-proto/xorgproto_2021.5.bb (renamed from meta/recipes-graphics/xorg-proto/xorgproto_2021.4.99.2.bb)2
-rw-r--r--meta/recipes-graphics/xwayland/xwayland_21.1.2.bb2
-rw-r--r--meta/recipes-kernel/cryptodev/cryptodev-tests_1.12.bb1
-rw-r--r--meta/recipes-kernel/cryptodev/files/0001-tests-Makefile-do-not-use-Werror.patch24
-rw-r--r--meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb6
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.14.bb (renamed from meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb)6
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-dev.bb3
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb6
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_5.14.bb (renamed from meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb)10
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb8
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_5.14.bb (renamed from meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb)14
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.10.bb24
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_5.14.bb (renamed from meta/recipes-kernel/linux/linux-yocto_5.13.bb)52
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch394
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch829
-rw-r--r--meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb9
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/0001-Fix-Tests-race-condition-in-test_event_tracker.patch221
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/0001-src-common-correct-header-location.patch41
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch55
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/0002-Fix-Tests-race-condition-in-test_ns_contexts_change.patch46
-rwxr-xr-xmeta/recipes-kernel/lttng/lttng-tools/run-ptest1
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools_2.13.0.bb (renamed from meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb)29
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch35
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch25
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch22
-rw-r--r--meta/recipes-kernel/lttng/lttng-ust_2.13.0.bb (renamed from meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb)11
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch26
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.bb2
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_git.inc3
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg/fix-CVE-2021-38171.patch42
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb5
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-devtools_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gst-devtools_1.18.4.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-examples_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gst-examples_1.18.4.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.4.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.4.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.4.bb)5
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch50
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.4.bb)3
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch33
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch100
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.4.bb)4
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.4.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.4.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.4.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.4.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch14
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.4.bb)2
-rw-r--r--meta/recipes-multimedia/libsamplerate/libsamplerate0/shared_version_info.patch13
-rw-r--r--meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb1
-rw-r--r--meta/recipes-rt/rt-tests/files/0001-Makefile-Allow-for-CC-and-AR-to-be-overridden.patch6
-rw-r--r--meta/recipes-rt/rt-tests/rt-tests.inc4
-rw-r--r--meta/recipes-sato/images/core-image-sato.bb1
-rw-r--r--meta/recipes-sato/webkit/libwpe_1.10.1.bb2
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-ANGLE-do-not-enable-SSE-on-x86.patch26
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch10
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-MiniBrowser-Fix-reproduciblity.patch31
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/include_xutil.patch8
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch14
-rw-r--r--meta/recipes-sato/webkit/webkitgtk_2.34.0.bb (renamed from meta/recipes-sato/webkit/webkitgtk_2.32.3.bb)41
-rw-r--r--meta/recipes-sato/webkit/wpebackend-fdo_1.10.0.bb2
-rw-r--r--meta/recipes-support/apr/apr/CVE-2021-35940.patch58
-rw-r--r--meta/recipes-support/apr/apr_1.7.0.bb1
-rw-r--r--meta/recipes-support/consolekit/consolekit_0.4.6.bb2
-rw-r--r--meta/recipes-support/curl/curl/cve-2021-22945.patch34
-rw-r--r--meta/recipes-support/curl/curl/cve-2021-22946.patch332
-rw-r--r--meta/recipes-support/curl/curl/cve-2021-22947.patch355
-rw-r--r--meta/recipes-support/curl/curl_7.78.0.bb3
-rw-r--r--meta/recipes-support/diffoscope/diffoscope_182.bb (renamed from meta/recipes-support/diffoscope/diffoscope_181.bb)2
-rw-r--r--meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch6
-rw-r--r--meta/recipes-support/gnupg/gnupg/relocate.patch39
-rw-r--r--meta/recipes-support/gnupg/gnupg_2.3.2.bb (renamed from meta/recipes-support/gnupg/gnupg_2.3.1.bb)3
-rw-r--r--meta/recipes-support/itstool/itstool/0001-Native-Don-t-use-build-time-hardcoded-python-binary-.patch8
-rw-r--r--meta/recipes-support/itstool/itstool_2.0.7.bb (renamed from meta/recipes-support/itstool/itstool_2.0.6.bb)6
-rw-r--r--meta/recipes-support/libcap/files/0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch36
-rw-r--r--meta/recipes-support/libcap/files/0001-tests-do-not-statically-link-a-test.patch52
-rw-r--r--meta/recipes-support/libcap/files/0002-tests-do-not-run-target-executables.patch10
-rw-r--r--meta/recipes-support/libcap/libcap_2.54.bb (renamed from meta/recipes-support/libcap/libcap_2.51.bb)7
-rw-r--r--meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch28
-rw-r--r--meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch81
-rw-r--r--meta/recipes-support/libevent/libevent/run-ptest10
-rw-r--r--meta/recipes-support/libevent/libevent_2.1.12.bb4
-rw-r--r--meta/recipes-support/libexif/files/CVE-2020-0198.patch66
-rw-r--r--meta/recipes-support/libexif/files/CVE-2020-0452.patch39
-rw-r--r--meta/recipes-support/libexif/libexif_0.6.23.bb (renamed from meta/recipes-support/libexif/libexif_0.6.22.bb)6
-rw-r--r--meta/recipes-support/libgcrypt/libgcrypt_1.9.4.bb (renamed from meta/recipes-support/libgcrypt/libgcrypt_1.9.3.bb)2
-rw-r--r--meta/recipes-support/libgit2/libgit2_1.2.0.bb (renamed from meta/recipes-support/libgit2/libgit2_1.1.1.bb)8
-rw-r--r--meta/recipes-support/libical/libical_3.0.11.bb (renamed from meta/recipes-support/libical/libical_3.0.10.bb)4
-rw-r--r--meta/recipes-support/libseccomp/files/0001-arch-Add-riscv32-architecture-support.patch162
-rw-r--r--meta/recipes-support/libseccomp/files/0002-man-Add-RISCV64-to-arch-list.patch28
-rw-r--r--meta/recipes-support/libseccomp/files/0003-syscalls-update-the-syscall-defs-for-Linux-v5.15.0-r.patch (renamed from meta/recipes-support/libseccomp/files/0002-Regenerate-syscall-cvs-file-from-5.13-rc5-kernel.patch)60
-rw-r--r--meta/recipes-support/libseccomp/files/0004-syscalls-Add-quotactl_path.patch40
-rw-r--r--meta/recipes-support/libseccomp/libseccomp_2.5.2.bb (renamed from meta/recipes-support/libseccomp/libseccomp_2.5.1.bb)6
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4_2.72.0.bb4
-rw-r--r--meta/recipes-support/libsoup/libsoup_3.0.1.bb44
-rw-r--r--meta/recipes-support/libssh2/files/0001-Don-t-let-host-enviroment-to-decide-if-a-test-is-bui.patch6
-rw-r--r--meta/recipes-support/libssh2/files/0001-configure-Conditionally-undefine-backend-m4-macro.patch30
-rw-r--r--meta/recipes-support/libssh2/files/0001-kex.c-move-EC-macro-outside-of-if-check-549-550.patch112
-rw-r--r--meta/recipes-support/libssh2/files/CVE-2019-17498.patch131
-rw-r--r--meta/recipes-support/libssh2/libssh2_1.10.0.bb (renamed from meta/recipes-support/libssh2/libssh2_1.9.0.bb)10
-rw-r--r--meta/recipes-support/nghttp2/nghttp2/0001-fetch-ocsp-response-use-python3.patch27
-rw-r--r--meta/recipes-support/nghttp2/nghttp2_1.45.1.bb35
-rw-r--r--meta/recipes-support/pinentry/pinentry-1.2.0/gpg-error_pkconf.patch (renamed from meta/recipes-support/pinentry/pinentry-1.1.1/gpg-error_pkconf.patch)126
-rw-r--r--meta/recipes-support/pinentry/pinentry-1.2.0/libassuan_pkgconf.patch (renamed from meta/recipes-support/pinentry/pinentry-1.1.1/libassuan_pkgconf.patch)0
-rw-r--r--meta/recipes-support/pinentry/pinentry_1.2.0.bb (renamed from meta/recipes-support/pinentry/pinentry_1.1.1.bb)2
-rw-r--r--meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb (renamed from meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb)8
-rw-r--r--meta/recipes-support/rng-tools/rng-tools/rngd.service1
-rw-r--r--meta/recipes-support/serf/serf/0001-buckets-ssl_buckets.c-do-not-use-ERR_GET_FUNC.patch28
-rw-r--r--meta/recipes-support/serf/serf_1.3.9.bb1
-rw-r--r--meta/recipes-support/shared-mime-info/shared-mime-info_git.bb2
-rw-r--r--meta/recipes-support/sqlite/sqlite3_3.36.0.bb2
-rw-r--r--meta/recipes-support/vim/files/CVE-2021-3778.patch46
-rw-r--r--meta/recipes-support/vim/files/b7081e135a16091c93f6f5f7525a5c58fb7ca9f9.patch207
-rw-r--r--meta/recipes-support/vim/vim.inc3
-rw-r--r--meta/site/arm-3214
-rw-r--r--meta/site/arm-6414
-rw-r--r--meta/site/arm-common3
-rw-r--r--meta/site/ix86-common17
-rw-r--r--meta/site/mips-common14
-rw-r--r--meta/site/mips-linux3
-rw-r--r--meta/site/mips64-linux3
-rw-r--r--meta/site/mips64el-linux3
-rw-r--r--meta/site/mipsel-linux3
-rw-r--r--meta/site/mipsisa32r6-linux3
-rw-r--r--meta/site/mipsisa32r6el-linux3
-rw-r--r--meta/site/mipsisa64r6-linux3
-rw-r--r--meta/site/mipsisa64r6el-linux3
-rw-r--r--meta/site/nios2-linux18
-rw-r--r--meta/site/powerpc32-linux17
-rw-r--r--meta/site/sh-common17
-rw-r--r--meta/site/x86_64-linux17
-rwxr-xr-xscripts/autobuilder-worker-prereq-tests5
-rw-r--r--scripts/lib/build_perf/report.py3
-rw-r--r--scripts/lib/devtool/standard.py4
-rw-r--r--scripts/lib/recipetool/create.py193
-rw-r--r--scripts/lib/recipetool/create_npm.py60
-rw-r--r--scripts/lib/recipetool/licenses.csv37
-rw-r--r--scripts/lib/scriptutils.py3
-rw-r--r--scripts/lib/wic/partition.py2
-rw-r--r--scripts/lib/wic/plugins/imager/direct.py2
-rw-r--r--scripts/lib/wic/plugins/source/bootimg-efi.py74
-rwxr-xr-xscripts/oe-publish-sdk4
-rwxr-xr-xscripts/oepydevshell-internal.py2
-rw-r--r--scripts/pybootchartgui/pybootchartgui/draw.py5
-rwxr-xr-xscripts/runqemu4
-rwxr-xr-xscripts/sstate-cache-management.sh40
558 files changed, 8492 insertions, 7968 deletions
diff --git a/meta-selftest/recipes-test/logging-test/logging-test.bb b/meta-selftest/recipes-test/logging-test/logging-test.bb
new file mode 100644
index 0000000000..a6100123f9
--- /dev/null
+++ b/meta-selftest/recipes-test/logging-test/logging-test.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Destined to fail"
+LICENSE = "CLOSED"
+
+deltask do_patch
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_shelltest() {
+ echo "This is shell stdout"
+ echo "This is shell stderr" >&2
+ exit 1
+}
+addtask do_shelltest
+
+python do_pythontest_exit () {
+ print("This is python stdout")
+ sys.exit(1)
+}
+addtask do_pythontest_exit
+
+python do_pythontest_fatal () {
+ print("This is python fatal test stdout")
+ bb.fatal("This is a fatal error")
+}
+addtask do_pythontest_fatal
diff --git a/meta-selftest/wic/test_efi_plugin.wks b/meta-selftest/wic/test_efi_plugin.wks
new file mode 100644
index 0000000000..1603d6c4bb
--- /dev/null
+++ b/meta-selftest/wic/test_efi_plugin.wks
@@ -0,0 +1,6 @@
+# short-description: This file is used in oe-selftest wic module to test efi plugin
+
+part /boot --source bootimg-efi --sourceparams="loader=systemd-boot,create-unified-kernel-image=true,initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --active --align 1024 --use-uuid
+part / --source rootfs --fstype=ext4 --align 1024 --use-uuid
+
+bootloader --timeout=0 --append="console=ttyS0,115200n8"
diff --git a/meta-skeleton/recipes-kernel/hello-mod/files/hello.c b/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
index f3c0d372eb..6b73a79524 100644
--- a/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
+++ b/meta-skeleton/recipes-kernel/hello-mod/files/hello.c
@@ -19,15 +19,17 @@
#include <linux/module.h>
-int init_module(void)
+static int __init hello_init(void)
{
- printk("Hello World!\n");
+ pr_info("Hello World!\n");
return 0;
}
-void cleanup_module(void)
+static void __exit hello_exit(void)
{
- printk("Goodbye Cruel World!\n");
+ pr_info("Goodbye Cruel World!\n");
}
+module_init(hello_init);
+module_exit(hello_exit);
MODULE_LICENSE("GPL");
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index dd31dc0cd8..411d459ed0 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -51,6 +51,7 @@ ARCHIVER_MODE[diff-exclude] ?= ".pc autom4te.cache patches"
ARCHIVER_MODE[dumpdata] ?= "0"
ARCHIVER_MODE[recipe] ?= "0"
ARCHIVER_MODE[mirror] ?= "split"
+ARCHIVER_MODE[compression] ?= "gz"
DEPLOY_DIR_SRC ?= "${DEPLOY_DIR}/sources"
ARCHIVER_TOPDIR ?= "${WORKDIR}/archiver-sources"
@@ -409,15 +410,16 @@ def create_tarball(d, srcdir, suffix, ar_outdir):
# that we archive the actual directory and not just the link.
srcdir = os.path.realpath(srcdir)
+ compression_method = d.getVarFlag('ARCHIVER_MODE', 'compression')
bb.utils.mkdirhier(ar_outdir)
if suffix:
- filename = '%s-%s.tar.gz' % (d.getVar('PF'), suffix)
+ filename = '%s-%s.tar.%s' % (d.getVar('PF'), suffix, compression_method)
else:
- filename = '%s.tar.gz' % d.getVar('PF')
+ filename = '%s.tar.%s' % (d.getVar('PF'), compression_method)
tarname = os.path.join(ar_outdir, filename)
bb.note('Creating %s' % tarname)
- tar = tarfile.open(tarname, 'w:gz')
+ tar = tarfile.open(tarname, 'w:%s' % compression_method)
tar.add(srcdir, arcname=os.path.basename(srcdir), filter=exclude_useless_paths)
tar.close()
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 2c7968e659..4ab2460990 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -145,9 +145,12 @@ ACLOCALEXTRAPATH:class-target = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
ACLOCALEXTRAPATH:class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
python autotools_aclocals () {
- d.setVar("CONFIG_SITE", siteinfo_get_files(d, sysrootcache=True))
+ sitefiles, searched = siteinfo_get_files(d, sysrootcache=True)
+ d.setVar("CONFIG_SITE", " ".join(sitefiles))
}
+do_configure[file-checksums] += "${@' '.join(siteinfo_get_files(d, sysrootcache=False)[1])}"
+
CONFIGURE_FILES = "${S}/configure.in ${S}/configure.ac ${S}/config.h.in ${S}/acinclude.m4 Makefile.am"
autotools_do_configure() {
diff --git a/meta/classes/baremetal-image.bbclass b/meta/classes/baremetal-image.bbclass
index 089c445522..81f5e5e93d 100644
--- a/meta/classes/baremetal-image.bbclass
+++ b/meta/classes/baremetal-image.bbclass
@@ -105,13 +105,17 @@ inherit qemuboot
python(){
# do_addto_recipe_sysroot doesnt exist for all recipes, but we need it to have
# /usr/bin on recipe-sysroot (qemu) populated
+ # The do_addto_recipe_sysroot dependency is coming from EXTRA_IMAGDEPENDS now,
+ # we just need to add the logic to add its dependency to do_image.
def extraimage_getdepends(task):
deps = ""
for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
# Make sure we only add it for qemu
if 'qemu' in dep:
- deps += " %s:%s" % (dep, task)
+ if ":" in dep:
+ deps += " %s " % (dep)
+ else:
+ deps += " %s:%s" % (dep, task)
return deps
- d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_addto_recipe_sysroot'))
- d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_populate_sysroot'))
+ d.appendVarFlag('do_image', 'depends', extraimage_getdepends('do_populate_sysroot'))
}
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 340ebe7d78..a65fcc6c1d 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -12,7 +12,7 @@ inherit logging
OE_EXTRA_IMPORTS ?= ""
-OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license ${OE_EXTRA_IMPORTS}"
+OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license oe.qa oe.reproducible ${OE_EXTRA_IMPORTS}"
OE_IMPORTS[type] = "list"
PACKAGECONFIG_CONFARGS ??= ""
@@ -153,14 +153,14 @@ do_fetch[vardeps] += "SRCREV"
python base_do_fetch() {
src_uri = (d.getVar('SRC_URI') or "").split()
- if len(src_uri) == 0:
+ if not src_uri:
return
try:
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.download()
except bb.fetch2.BBFetchException as e:
- bb.fatal(str(e))
+ bb.fatal("Bitbake Fetcher Error: " + repr(e))
}
addtask unpack after do_fetch
@@ -170,16 +170,54 @@ do_unpack[cleandirs] = "${@d.getVar('S') if os.path.normpath(d.getVar('S')) != o
python base_do_unpack() {
src_uri = (d.getVar('SRC_URI') or "").split()
- if len(src_uri) == 0:
+ if not src_uri:
return
try:
fetcher = bb.fetch2.Fetch(src_uri, d)
fetcher.unpack(d.getVar('WORKDIR'))
except bb.fetch2.BBFetchException as e:
- bb.fatal(str(e))
+ bb.fatal("Bitbake Fetcher Error: " + repr(e))
+}
+
+SSTATETASKS += "do_deploy_source_date_epoch"
+
+do_deploy_source_date_epoch () {
+ mkdir -p ${SDE_DEPLOYDIR}
+ if [ -e ${SDE_FILE} ]; then
+ echo "Deploying SDE from ${SDE_FILE} -> ${SDE_DEPLOYDIR}."
+ cp -p ${SDE_FILE} ${SDE_DEPLOYDIR}/__source_date_epoch.txt
+ else
+ echo "${SDE_FILE} not found!"
+ fi
}
+python do_deploy_source_date_epoch_setscene () {
+ sstate_setscene(d)
+ bb.utils.mkdirhier(d.getVar('SDE_DIR'))
+ sde_file = os.path.join(d.getVar('SDE_DEPLOYDIR'), '__source_date_epoch.txt')
+ if os.path.exists(sde_file):
+ target = d.getVar('SDE_FILE')
+ bb.debug(1, "Moving setscene SDE file %s -> %s" % (sde_file, target))
+ bb.utils.rename(sde_file, target)
+ else:
+ bb.debug(1, "%s not found!" % sde_file)
+}
+
+do_deploy_source_date_epoch[dirs] = "${SDE_DEPLOYDIR}"
+do_deploy_source_date_epoch[sstate-plaindirs] = "${SDE_DEPLOYDIR}"
+addtask do_deploy_source_date_epoch_setscene
+addtask do_deploy_source_date_epoch before do_configure after do_patch
+
+python create_source_date_epoch_stamp() {
+ source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
+ oe.reproducible.epochfile_write(source_date_epoch, d.getVar('SDE_FILE'), d)
+}
+do_unpack[postfuncs] += "create_source_date_epoch_stamp"
+
+def get_source_date_epoch_value(d):
+ return oe.reproducible.epochfile_read(d.getVar('SDE_FILE'), d)
+
def get_layers_branch_rev(d):
layers = (d.getVar("BBLAYERS") or "").split()
layers_branch_rev = ["%-20s = \"%s:%s\"" % (os.path.basename(i), \
@@ -693,7 +731,7 @@ python () {
if os.path.basename(p) == machine and os.path.isdir(p):
paths.append(p)
- if len(paths) != 0:
+ if paths:
for s in srcuri.split():
if not s.startswith("file://"):
continue
@@ -726,7 +764,7 @@ do_cleansstate[nostamp] = "1"
python do_cleanall() {
src_uri = (d.getVar('SRC_URI') or "").split()
- if len(src_uri) == 0:
+ if not src_uri:
return
try:
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index a613306270..7c44fec2d1 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -442,11 +442,16 @@ def buildhistory_list_installed(d, rootfs_type="image"):
else:
pkgs = sdk_list_installed_packages(d, rootfs_type == "sdk_target")
+ if rootfs_type == "sdk_host":
+ pkgdata_dir = d.getVar('PKGDATA_DIR_SDK')
+ else:
+ pkgdata_dir = d.getVar('PKGDATA_DIR')
+
for output_type, output_file in process_list:
output_file_full = os.path.join(d.getVar('WORKDIR'), output_file)
with open(output_file_full, 'w') as output:
- output.write(format_pkg_list(pkgs, output_type, d.getVar('PKGDATA_DIR')))
+ output.write(format_pkg_list(pkgs, output_type, pkgdata_dir))
python buildhistory_list_installed_image() {
buildhistory_list_installed(d)
@@ -496,13 +501,19 @@ buildhistory_get_installed() {
echo "}" >> $1/depends.dot
rm $1/depends.tmp
+ # Set correct pkgdatadir
+ pkgdatadir=${PKGDATA_DIR}
+ if [ "$2" == "sdk" ] && [ "$3" == "host" ]; then
+ pkgdatadir="${PKGDATA_DIR_SDK}"
+ fi
+
# Produce installed package sizes list
- oe-pkgdata-util -p ${PKGDATA_DIR} read-value "PKGSIZE" -n -f $pkgcache > $1/installed-package-sizes.tmp
+ oe-pkgdata-util -p $pkgdatadir read-value "PKGSIZE" -n -f $pkgcache > $1/installed-package-sizes.tmp
cat $1/installed-package-sizes.tmp | awk '{print $2 "\tKiB\t" $1}' | sort -n -r > $1/installed-package-sizes.txt
rm $1/installed-package-sizes.tmp
# Produce package info: runtime_name, buildtime_name, recipe, version, size
- oe-pkgdata-util -p ${PKGDATA_DIR} read-value "PACKAGE,PN,PV,PKGSIZE" -n -f $pkgcache > $1/installed-package-info.tmp
+ oe-pkgdata-util -p $pkgdatadir read-value "PACKAGE,PN,PV,PKGSIZE" -n -f $pkgcache > $1/installed-package-info.tmp
cat $1/installed-package-info.tmp | sort -n -r -k 5 > $1/installed-package-info.txt
rm $1/installed-package-info.tmp
@@ -542,7 +553,7 @@ buildhistory_get_sdk_installed() {
return
fi
- buildhistory_get_installed ${BUILDHISTORY_DIR_SDK}/$1 sdk
+ buildhistory_get_installed ${BUILDHISTORY_DIR_SDK}/$1 sdk $1
}
buildhistory_get_sdk_installed_host() {
@@ -773,7 +784,7 @@ def buildhistory_get_imagevars(d):
def buildhistory_get_sdkvars(d):
if d.getVar('BB_WORKERCONTEXT') != '1':
return ""
- sdkvars = "DISTRO DISTRO_VERSION SDK_NAME SDK_VERSION SDKMACHINE SDKIMAGE_FEATURES BAD_RECOMMENDATIONS NO_RECOMMENDATIONS PACKAGE_EXCLUDE"
+ sdkvars = "DISTRO DISTRO_VERSION SDK_NAME SDK_VERSION SDKMACHINE SDKIMAGE_FEATURES TOOLCHAIN_HOST_TASK TOOLCHAIN_TARGET_TASK BAD_RECOMMENDATIONS NO_RECOMMENDATIONS PACKAGE_EXCLUDE"
if d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
# Extensible SDK uses some additional variables
sdkvars += " SDK_LOCAL_CONF_WHITELIST SDK_LOCAL_CONF_BLACKLIST SDK_INHERIT_BLACKLIST SDK_UPDATE_URL SDK_EXT_TYPE SDK_RECRDEP_TASKS SDK_INCLUDE_PKGDATA SDK_INCLUDE_TOOLCHAIN"
diff --git a/meta/classes/cpan-base.bbclass b/meta/classes/cpan-base.bbclass
index 9758065bfc..93d11e1bee 100644
--- a/meta/classes/cpan-base.bbclass
+++ b/meta/classes/cpan-base.bbclass
@@ -20,7 +20,7 @@ PERLLIBDIRS:class-native = "${libdir}/perl5"
def cpan_upstream_check_pattern(d):
for x in (d.getVar('SRC_URI') or '').split(' '):
if x.startswith("https://cpan.metacpan.org"):
- _pattern = x.split('/')[-1].replace(d.getVar('PV'), '(?P<pver>\d+.\d+)')
+ _pattern = x.split('/')[-1].replace(d.getVar('PV'), r'(?P<pver>\d+.\d+)')
return _pattern
return ''
diff --git a/meta/classes/create-spdx.bbclass b/meta/classes/create-spdx.bbclass
index 1e0b360558..739b46e9b3 100644
--- a/meta/classes/create-spdx.bbclass
+++ b/meta/classes/create-spdx.bbclass
@@ -13,6 +13,9 @@ SPDXDIR ??= "${WORKDIR}/spdx"
SPDXDEPLOY = "${SPDXDIR}/deploy"
SPDXWORK = "${SPDXDIR}/work"
+SPDX_TOOL_NAME ??= "oe-spdx-creator"
+SPDX_TOOL_VERSION ??= "1.0"
+
SPDXRUNTIMEDEPLOY = "${SPDXDIR}/runtime-deploy"
SPDX_INCLUDE_SOURCES ??= "0"
@@ -32,6 +35,10 @@ def get_doc_namespace(d, doc):
namespace_uuid = uuid.uuid5(uuid.NAMESPACE_DNS, d.getVar("SPDX_UUID_NAMESPACE"))
return "%s/%s-%s" % (d.getVar("SPDX_NAMESPACE_PREFIX"), doc.name, str(uuid.uuid5(namespace_uuid, doc.name)))
+def recipe_spdx_is_native(d, recipe):
+ return any(a.annotationType == "OTHER" and
+ a.annotator == "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION")) and
+ a.comment == "isNative" for a in recipe.annotations)
def is_work_shared(d):
pn = d.getVar('PN')
@@ -67,6 +74,7 @@ def convert_license_to_spdx(lic, document, d, existing={}):
extracted_info = oe.spdx.SPDXExtractedLicensingInfo()
extracted_info.name = name
extracted_info.licenseId = ident
+ extracted_info.extractedText = None
if name == "PD":
# Special-case this.
@@ -78,10 +86,12 @@ def convert_license_to_spdx(lic, document, d, existing={}):
with (Path(directory) / name).open(errors="replace") as f:
extracted_info.extractedText = f.read()
break
- except Exception as e:
- # Error out, as the license was in available_licenses so
- # should be on disk somewhere.
- bb.error(f"Cannot find text for license {name}: {e}")
+ except FileNotFoundError:
+ pass
+ if extracted_info.extractedText is None:
+ # Error out, as the license was in available_licenses so should
+ # be on disk somewhere.
+ bb.error("Cannot find text for license %s" % name)
else:
# If it's not SPDX, or PD, or in available licenses, then NO_GENERIC_LICENSE must be set
filename = d.getVarFlag('NO_GENERIC_LICENSE', name)
@@ -90,7 +100,7 @@ def convert_license_to_spdx(lic, document, d, existing={}):
with open(filename, errors="replace") as f:
extracted_info.extractedText = f.read()
else:
- bb.error(f"Cannot find any text for license {name}")
+ bb.error("Cannot find any text for license %s" % name)
extracted[name] = extracted_info
document.hasExtractedLicensingInfos.append(extracted_info)
@@ -105,6 +115,9 @@ def convert_license_to_spdx(lic, document, d, existing={}):
if l == "|":
return "OR"
+ if l == "CLOSED":
+ return "NONE"
+
spdx_license = d.getVarFlag("SPDXLICENSEMAP", l) or l
if spdx_license in license_data["licenses"]:
return spdx_license
@@ -270,7 +283,7 @@ def add_package_sources_from_debug(d, package_doc, spdx_package, package, packag
doc_ref.checksum.checksumValue = source_file.doc_sha1
package_doc.externalDocumentRefs.append(doc_ref)
- ref_id = "%s:%s" % (doc_ref.externalDocumentId, source_file.file.SPDXID),
+ ref_id = "%s:%s" % (doc_ref.externalDocumentId, source_file.file.SPDXID)
else:
bb.debug(1, "Debug source %s with SHA256 %s not found in any dependency" % (str(debugsrc_path), file_sha256))
break
@@ -330,6 +343,10 @@ def collect_dep_sources(d, dep_recipes):
sources = {}
for dep in dep_recipes:
+ # Don't collect sources from native recipes as they
+ # match non-native sources also.
+ if recipe_spdx_is_native(d, dep.recipe):
+ continue
recipe_files = set(dep.recipe.hasFiles)
for spdx_file in dep.doc.files:
@@ -376,7 +393,6 @@ python do_create_spdx() {
include_sources = d.getVar("SPDX_INCLUDE_SOURCES") == "1"
archive_sources = d.getVar("SPDX_ARCHIVE_SOURCES") == "1"
archive_packaged = d.getVar("SPDX_ARCHIVE_PACKAGED") == "1"
- is_native = bb.data.inherits_class("native", d)
creation_time = datetime.now(tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
@@ -395,6 +411,13 @@ python do_create_spdx() {
recipe.name = d.getVar("PN")
recipe.versionInfo = d.getVar("PV")
recipe.SPDXID = oe.sbom.get_recipe_spdxid(d)
+ if bb.data.inherits_class("native", d):
+ annotation = oe.spdx.SPDXAnnotation()
+ annotation.annotationDate = creation_time
+ annotation.annotationType = "OTHER"
+ annotation.annotator = "Tool: %s - %s" % (d.getVar("SPDX_TOOL_NAME"), d.getVar("SPDX_TOOL_VERSION"))
+ annotation.comment = "isNative"
+ recipe.annotations.append(annotation)
for s in d.getVar('SRC_URI').split():
if not s.startswith("file://"):
@@ -474,7 +497,7 @@ python do_create_spdx() {
sources = collect_dep_sources(d, dep_recipes)
found_licenses = {license.name:recipe_ref.externalDocumentId + ":" + license.licenseId for license in doc.hasExtractedLicensingInfos}
- if not is_native:
+ if not recipe_spdx_is_native(d, recipe):
bb.build.exec_func("read_subpackage_metadata", d)
pkgdest = Path(d.getVar("PKGDEST"))
diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index 447a2bb158..ac82e86356 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -40,6 +40,8 @@ python () {
extralibcs = [""]
if "musl" in d.getVar("BASECANADIANEXTRAOS"):
extralibcs.append("musl")
+ if "android" in tos:
+ extralibcs.append("android")
for variant in ["", "spe", "x32", "eabi", "n32", "_ilp32"]:
for libc in extralibcs:
entry = "linux"
@@ -167,7 +169,7 @@ USE_NLS = "${SDKUSE_NLS}"
# and not any particular tune that is enabled.
TARGET_ARCH[vardepsexclude] = "TUNE_ARCH"
-PKGDATA_DIR = "${TMPDIR}/pkgdata/${SDK_SYS}"
+PKGDATA_DIR = "${PKGDATA_DIR_SDK}"
# If MLPREFIX is set by multilib code, shlibs
# points to the wrong place so force it
SHLIBSDIRS = "${PKGDATA_DIR}/nativesdk-shlibs2"
diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass
index 00e0de84f3..3e6a2f60b9 100644
--- a/meta/classes/cross.bbclass
+++ b/meta/classes/cross.bbclass
@@ -72,10 +72,6 @@ libexecdir = "${exec_prefix}/libexec/${CROSS_TARGET_SYS_DIR}"
do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}/"
do_packagedata[stamp-extra-info] = ""
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
-}
-
USE_NLS = "no"
export CC = "${BUILD_CC}"
diff --git a/meta/classes/devshell.bbclass b/meta/classes/devshell.bbclass
index 76dd0b42ee..62dc958d9a 100644
--- a/meta/classes/devshell.bbclass
+++ b/meta/classes/devshell.bbclass
@@ -34,7 +34,7 @@ python () {
d.delVarFlag("do_devshell", "fakeroot")
}
-def devpyshell(d):
+def pydevshell(d):
import code
import select
@@ -140,17 +140,17 @@ def devpyshell(d):
os.kill(child, signal.SIGTERM)
break
-python do_devpyshell() {
+python do_pydevshell() {
import signal
try:
- devpyshell(d)
+ pydevshell(d)
except SystemExit:
# Stop the SIGTERM above causing an error exit code
return
finally:
return
}
-addtask devpyshell after do_patch
+addtask pydevshell after do_patch
-do_devpyshell[nostamp] = "1"
+do_pydevshell[nostamp] = "1"
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 54b08adf62..abfe24bace 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -109,6 +109,15 @@ python () {
if local_srcuri and task in fetch_tasks:
continue
bb.build.deltask(task, d)
+ if task == 'do_unpack':
+ # The reproducible build create_source_date_epoch_stamp function must
+ # be run after the source is available and before the
+ # do_deploy_source_date_epoch task. In the normal case, it's attached
+ # to do_unpack as a postfuncs, but since we removed do_unpack (above)
+ # we need to move the function elsewhere. The easiest thing to do is
+ # move it into the prefuncs of the do_deploy_source_date_epoch task.
+ # This is safe, as externalsrc runs with the source already unpacked.
+ d.prependVarFlag('do_deploy_source_date_epoch', 'prefuncs', 'create_source_date_epoch_stamp ')
d.prependVarFlag('do_compile', 'prefuncs', "externalsrc_compile_prefunc ")
d.prependVarFlag('do_configure', 'prefuncs', "externalsrc_configure_prefunc ")
diff --git a/meta/classes/image-artifact-names.bbclass b/meta/classes/image-artifact-names.bbclass
index 3ac8dd731a..f5769e520f 100644
--- a/meta/classes/image-artifact-names.bbclass
+++ b/meta/classes/image-artifact-names.bbclass
@@ -4,7 +4,7 @@
IMAGE_BASENAME ?= "${PN}"
IMAGE_VERSION_SUFFIX ?= "-${DATETIME}"
-IMAGE_VERSION_SUFFIX[vardepsexclude] += "DATETIME"
+IMAGE_VERSION_SUFFIX[vardepsexclude] += "DATETIME SOURCE_DATE_EPOCH"
IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}"
@@ -13,3 +13,10 @@ IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}"
# by default) followed by additional suffices which describe the format (.ext4,
# .ext4.xz, etc.).
IMAGE_NAME_SUFFIX ??= ".rootfs"
+
+python () {
+ if bb.data.inherits_class('deploy', d) and d.getVar("IMAGE_VERSION_SUFFIX") == "-${DATETIME}":
+ import datetime
+ d.setVar("IMAGE_VERSION_SUFFIX", "-" + datetime.datetime.fromtimestamp(int(d.getVar("SOURCE_DATE_EPOCH")), datetime.timezone.utc).strftime('%Y%m%d%H%M%S'))
+ d.setVarFlag("IMAGE_VERSION_SUFFIX", "vardepvalue", "")
+}
diff --git a/meta/classes/image-prelink.bbclass b/meta/classes/image-prelink.bbclass
index 0da094a551..8158eeaf4c 100644
--- a/meta/classes/image-prelink.bbclass
+++ b/meta/classes/image-prelink.bbclass
@@ -46,17 +46,12 @@ prelink_image () {
dynamic_loader=${@get_linuxloader(d)}
# prelink!
- if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
- bbnote " prelink: BUILD_REPRODUCIBLE_BINARIES..."
- if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
- export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
- else
- export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
- fi
- ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
+ if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
+ export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
else
- ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -amR -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
+ export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
fi
+ ${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
# Remove the prelink.conf if we had to add it.
if [ "$dummy_prelink_conf" = "true" ]; then
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index d76895178f..2fa69a40d1 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -138,7 +138,10 @@ python () {
def extraimage_getdepends(task):
deps = ""
for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
- deps += " %s:%s" % (dep, task)
+ if ":" in dep:
+ deps += " %s " % (dep)
+ else:
+ deps += " %s:%s" % (dep, task)
return deps
d.appendVarFlag('do_image_complete', 'depends', extraimage_getdepends('do_populate_sysroot'))
@@ -431,6 +434,7 @@ python () {
localdata.delVar('DATETIME')
localdata.delVar('DATE')
localdata.delVar('TMPDIR')
+ localdata.delVar('IMAGE_VERSION_SUFFIX')
vardepsexclude = (d.getVarFlag('IMAGE_CMD:' + realt, 'vardepsexclude', True) or '').split()
for dep in vardepsexclude:
localdata.delVar(dep)
@@ -647,17 +651,15 @@ ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge'
POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk; ', '',d)}"
reproducible_final_image_task () {
- if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
+ if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
+ REPRODUCIBLE_TIMESTAMP_ROOTFS=`git -C "${COREBASE}" log -1 --pretty=%ct 2>/dev/null` || true
if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
- REPRODUCIBLE_TIMESTAMP_ROOTFS=`git -C "${COREBASE}" log -1 --pretty=%ct 2>/dev/null` || true
- if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
- REPRODUCIBLE_TIMESTAMP_ROOTFS=`stat -c%Y ${@bb.utils.which(d.getVar("BBPATH"), "conf/bitbake.conf")}`
- fi
+ REPRODUCIBLE_TIMESTAMP_ROOTFS=`stat -c%Y ${@bb.utils.which(d.getVar("BBPATH"), "conf/bitbake.conf")}`
fi
- # Set mtime of all files to a reproducible value
- bbnote "reproducible_final_image_task: mtime set to $REPRODUCIBLE_TIMESTAMP_ROOTFS"
- find ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS
fi
+ # Set mtime of all files to a reproducible value
+ bbnote "reproducible_final_image_task: mtime set to $REPRODUCIBLE_TIMESTAMP_ROOTFS"
+ find ${IMAGE_ROOTFS} -print0 | xargs -0 touch -h --date=@$REPRODUCIBLE_TIMESTAMP_ROOTFS
}
systemd_preset_all () {
diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass
index 2f1a0b709c..e3863c88a9 100644
--- a/meta/classes/image_types_wic.bbclass
+++ b/meta/classes/image_types_wic.bbclass
@@ -1,11 +1,36 @@
# 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 ?= "\
- BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_EFI_BOOT_FILES IMAGE_BOOT_FILES \
- IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \
- ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS HOSTTOOLS_DIR \
- KERNEL_IMAGETYPE MACHINE INITRAMFS_IMAGE INITRAMFS_IMAGE_BUNDLE INITRAMFS_LINK_NAME APPEND \
- ASSUME_PROVIDED PSEUDO_IGNORE_PATHS"
+ APPEND \
+ ASSUME_PROVIDED \
+ BBLAYERS \
+ DEPLOY_DIR_IMAGE \
+ FAKEROOTCMD \
+ HOSTTOOLS_DIR \
+ IMAGE_BASENAME \
+ IMAGE_BOOT_FILES \
+ IMAGE_EFI_BOOT_FILES \
+ IMAGE_LINK_NAME \
+ IMAGE_ROOTFS \
+ IMGDEPLOYDIR \
+ INITRAMFS_FSTYPES \
+ INITRAMFS_IMAGE \
+ INITRAMFS_IMAGE_BUNDLE \
+ INITRAMFS_LINK_NAME \
+ INITRD \
+ INITRD_LIVE \
+ ISODIR \
+ KERNEL_IMAGETYPE \
+ MACHINE \
+ PSEUDO_IGNORE_PATHS \
+ RECIPE_SYSROOT_NATIVE \
+ ROOTFS_SIZE \
+ STAGING_DATADIR \
+ STAGING_DIR \
+ STAGING_DIR_HOST \
+ STAGING_LIBDIR \
+ TARGET_SYS \
+"
inherit ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)}
@@ -60,8 +85,8 @@ do_image_wic[deptask] += "do_image_complete"
WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native"
WKS_FILE_DEPENDS_BOOTLOADERS = ""
-WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot"
-WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux grub-efi systemd-boot"
+WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot os-release"
+WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux grub-efi systemd-boot os-release"
WKS_FILE_DEPENDS_BOOTLOADERS:x86-x32 = "syslinux grub-efi"
WKS_FILE_DEPENDS ??= "${WKS_FILE_DEPENDS_DEFAULT} ${WKS_FILE_DEPENDS_BOOTLOADERS}"
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 20d4e4d746..433e4dfa33 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -702,8 +702,6 @@ def package_qa_recipe(warnfuncs, errorfuncs, pn, d):
# Walk over all files in a directory and call func
def package_qa_walk(warnfuncs, errorfuncs, package, d):
- import oe.qa
-
#if this will throw an exception, then fix the dict above
target_os = d.getVar('TARGET_OS')
target_arch = d.getVar('TARGET_ARCH')
@@ -780,7 +778,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
filerdepends = {}
rdep_data = oe.packagedata.read_subpkgdata(pkg, d)
for key in rdep_data:
- if key.startswith("FILERDEPENDS_"):
+ if key.startswith("FILERDEPENDS:"):
for subkey in bb.utils.explode_deps(rdep_data[key]):
if subkey not in ignored_file_rdeps and \
not subkey.startswith('perl('):
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 549dfd97a4..1d5a8cdf29 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -36,7 +36,10 @@ def find_patches(d,subdir):
if subdir == patchdir:
patch_list.append(local)
else:
- patch_list.append(local)
+ # skip the patch if a patchdir was supplied, it won't be handled
+ # properly
+ if not patchdir:
+ patch_list.append(local)
return patch_list
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index d13c38fb02..6fb8fffe0f 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -77,7 +77,7 @@ python __anonymous () {
# KERNEL_IMAGETYPES may contain a mixture of image types supported directly
# by the kernel build system and types which are created by post-processing
# the output of the kernel build system (e.g. compressing vmlinux ->
- # vmlinux.gz in kernel_do_compile()).
+ # vmlinux.gz in kernel_do_transform_kernel()).
# KERNEL_IMAGETYPE_FOR_MAKE should contain only image types supported
# directly by the kernel build system.
if not d.getVar('KERNEL_IMAGETYPE_FOR_MAKE'):
@@ -134,6 +134,8 @@ set -e
# standalone for use by wic and other tools.
if image:
d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
+ if image and bb.utils.to_boolean(d.getVar('INITRAMFS_IMAGE_BUNDLE')):
+ bb.build.addtask('do_transform_bundled_initramfs', 'do_deploy', 'do_bundle_initramfs', d)
# NOTE: setting INITRAMFS_TASK is for backward compatibility
# The preferred method is to set INITRAMFS_IMAGE, because
@@ -226,8 +228,8 @@ UBOOT_LOADADDRESS ?= "${UBOOT_ENTRYPOINT}"
# Some Linux kernel configurations need additional parameters on the command line
KERNEL_EXTRA_ARGS ?= ""
-EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
-EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX} ${BUILD_CXXFLAGS} ${BUILD_LDFLAGS}""
+EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOST_LDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
+EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}""
KERNEL_ALT_IMAGETYPE ??= ""
@@ -316,24 +318,25 @@ do_bundle_initramfs () {
}
do_bundle_initramfs[dirs] = "${B}"
+kernel_do_transform_bundled_initramfs() {
+ # vmlinux.gz is not built by kernel
+ if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then
+ gzip -9cn < ${KERNEL_OUTPUT_DIR}/vmlinux.initramfs > ${KERNEL_OUTPUT_DIR}/vmlinux.gz.initramfs
+ fi
+}
+do_transform_bundled_initramfs[dirs] = "${B}"
+
python do_devshell:prepend () {
os.environ["LDFLAGS"] = ''
}
addtask bundle_initramfs after do_install before do_deploy
-get_cc_option () {
- # Check if KERNEL_CC supports the option "file-prefix-map".
- # This option allows us to build images with __FILE__ values that do not
- # contain the host build path.
- if ${KERNEL_CC} -Q --help=joined | grep -q "\-ffile-prefix-map=<old=new>"; then
- echo "-ffile-prefix-map=${S}=/kernel-source/"
- fi
-}
+KERNEL_DEBUG_TIMESTAMPS ??= "0"
kernel_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
- if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
+ if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "1" ]; then
# kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not
# be set....
if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = "0" ]; then
@@ -361,20 +364,24 @@ kernel_do_compile() {
copy_initramfs
use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
fi
- cc_extra=$(get_cc_option)
for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
- oe_runmake ${typeformake} CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
+ oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
done
+}
+
+kernel_do_transform_kernel() {
# vmlinux.gz is not built by kernel
if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then
mkdir -p "${KERNEL_OUTPUT_DIR}"
gzip -9cn < ${B}/vmlinux > "${KERNEL_OUTPUT_DIR}/vmlinux.gz"
fi
}
+do_transform_kernel[dirs] = "${B}"
+addtask transform_kernel after do_compile before do_install
do_compile_kernelmodules() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
- if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
+ if [ "${KERNEL_DEBUG_TIMESTAMPS}" != "1" ]; then
# kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not
# be set....
if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = "0" ]; then
@@ -390,8 +397,7 @@ do_compile_kernelmodules() {
bbnote "KBUILD_BUILD_TIMESTAMP: $ts"
fi
if (grep -q -i -e '^CONFIG_MODULES=y$' ${B}/.config); then
- cc_extra=$(get_cc_option)
- oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+ oe_runmake -C ${B} ${PARALLEL_MAKE} modules CC="${KERNEL_CC}" LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
# Module.symvers gets updated during the
# building of the kernel modules. We need to
@@ -623,7 +629,7 @@ inherit cml1
KCONFIG_CONFIG_COMMAND:append = " LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'"
-EXPORT_FUNCTIONS do_compile do_install do_configure
+EXPORT_FUNCTIONS do_compile do_transform_kernel do_transform_bundled_initramfs do_install do_configure
# kernel-base becomes kernel-${KERNEL_VERSION}
# kernel-image becomes kernel-image-${KERNEL_VERSION}
@@ -774,7 +780,7 @@ kernel_do_deploy() {
fi
if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then
- for imageType in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
+ for imageType in ${KERNEL_IMAGETYPES} ; do
if [ "$imageType" = "fitImage" ] ; then
continue
fi
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index 7a661d44bd..13ef8cdc0d 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -355,7 +355,7 @@ python package_do_split_gconvs () {
m.write("\t@echo 'Progress %d/%d'\n" % (i, total))
m.write("\t" + makerecipe + "\n\n")
d.setVar("EXTRA_OEMAKE", "-C %s ${PARALLEL_MAKE}" % (os.path.dirname(makefile)))
- d.setVarFlag("oe_runmake", "progress", "outof:Progress\s(\d+)/(\d+)")
+ d.setVarFlag("oe_runmake", "progress", r"outof:Progress\s(\d+)/(\d+)")
bb.note("Executing binary locale generation makefile")
bb.build.exec_func("oe_runmake", d)
bb.note("collecting binary locales from locale tree")
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 45d912741d..7a34e185c7 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -145,6 +145,10 @@ def find_license_files(d):
find_license(node.s.replace("+", "").replace("*", ""))
self.generic_visit(node)
+ def visit_Constant(self, node):
+ find_license(node.value.replace("+", "").replace("*", ""))
+ self.generic_visit(node)
+
def find_license(license_type):
try:
bb.utils.mkdirhier(gen_lic_dest)
diff --git a/meta/classes/meta.bbclass b/meta/classes/meta.bbclass
deleted file mode 100644
index 5e6890238b..0000000000
--- a/meta/classes/meta.bbclass
+++ /dev/null
@@ -1,4 +0,0 @@
-
-PACKAGES = ""
-
-do_build[recrdeptask] = "do_build"
diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass
index ba325a658b..1afce92147 100644
--- a/meta/classes/mirrors.bbclass
+++ b/meta/classes/mirrors.bbclass
@@ -29,7 +29,6 @@ ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \n \
ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \n \
ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n \
ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \n \
-http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n \
http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n \
http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/ http://www.mirrorservice.org/sites/lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/ \n \
${APACHE_MIRROR} http://www.us.apache.org/dist \n \
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 3cbda5d806..b210c49c0c 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -196,7 +196,7 @@ PACKAGEFUNCS:append = " do_package_qa_multilib"
python do_package_qa_multilib() {
def check_mlprefix(pkg, var, mlprefix):
- values = bb.utils.explode_deps(d.getVar('%s_%s' % (var, pkg)) or d.getVar(var) or "")
+ values = bb.utils.explode_deps(d.getVar('%s:%s' % (var, pkg)) or d.getVar(var) or "")
candidates = []
for i in values:
if i.startswith('virtual/'):
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index c66de8c787..14e210562f 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -31,7 +31,7 @@ PACKAGE_ARCHS = "${SDK_PACKAGE_ARCHS}"
DEPENDS:append = " chrpath-replacement-native"
EXTRANATIVEPATH += "chrpath-native"
-PKGDATA_DIR = "${TMPDIR}/pkgdata/${SDK_SYS}"
+PKGDATA_DIR = "${PKGDATA_DIR_SDK}"
HOST_ARCH = "${SDK_ARCH}"
HOST_VENDOR = "${SDK_VENDOR}"
diff --git a/meta/classes/npm.bbclass b/meta/classes/npm.bbclass
index 91a2321116..547c531883 100644
--- a/meta/classes/npm.bbclass
+++ b/meta/classes/npm.bbclass
@@ -22,8 +22,12 @@ inherit python3native
DEPENDS:prepend = "nodejs-native "
RDEPENDS:${PN}:append:class-target = " nodejs"
+EXTRA_OENPM = ""
+
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"""
import re
@@ -57,8 +61,8 @@ def npm_pack(env, srcdir, workdir):
"""Run 'npm pack' on a specified directory"""
import shlex
cmd = "npm pack %s" % shlex.quote(srcdir)
- configs = [("ignore-scripts", "true")]
- tarball = env.run(cmd, configs=configs, workdir=workdir).strip("\n")
+ args = [("ignore-scripts", "true")]
+ tarball = env.run(cmd, args=args, workdir=workdir).strip("\n")
return os.path.join(workdir, tarball)
python npm_do_configure() {
@@ -224,15 +228,11 @@ python npm_do_compile() {
bb.utils.remove(d.getVar("NPM_BUILD"), recurse=True)
- env = NpmEnvironment(d, configs=npm_global_configs(d))
-
- dev = bb.utils.to_boolean(d.getVar("NPM_INSTALL_DEV"), False)
-
with tempfile.TemporaryDirectory() as tmpdir:
args = []
- configs = []
+ configs = npm_global_configs(d)
- if dev:
+ if bb.utils.to_boolean(d.getVar("NPM_INSTALL_DEV"), False):
configs.append(("also", "development"))
else:
configs.append(("only", "production"))
@@ -247,20 +247,19 @@ python npm_do_compile() {
# Add node-gyp configuration
configs.append(("arch", d.getVar("NPM_ARCH")))
configs.append(("release", "true"))
- nodedir = d.getVar("NPM_NODEDIR")
- if not nodedir:
- sysroot = d.getVar("RECIPE_SYSROOT_NATIVE")
- nodedir = os.path.join(sysroot, d.getVar("prefix_native").strip("/"))
- configs.append(("nodedir", nodedir))
+ configs.append(("nodedir", d.getVar("NPM_NODEDIR")))
configs.append(("python", d.getVar("PYTHON")))
+ env = NpmEnvironment(d, configs)
+
# Add node-pre-gyp configuration
args.append(("target_arch", d.getVar("NPM_ARCH")))
args.append(("build-from-source", "true"))
# Pack and install the main package
tarball = npm_pack(env, d.getVar("NPM_PACKAGE"), tmpdir)
- env.run("npm install %s" % shlex.quote(tarball), args=args, configs=configs)
+ cmd = "npm install %s %s" % (shlex.quote(tarball), d.getVar("EXTRA_OENPM"))
+ env.run(cmd, args=args, configs=configs)
}
npm_do_install() {
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 3a78e48da4..985dfacd09 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1690,11 +1690,11 @@ fi
val = write_if_exists(sf, pkg, var)
write_if_exists(sf, pkg, 'FILERPROVIDESFLIST')
- for dfile in (d.getVar('FILERPROVIDESFLIST:' + pkg) or "").split():
+ for dfile in sorted((d.getVar('FILERPROVIDESFLIST:' + pkg) or "").split()):
write_if_exists(sf, pkg, 'FILERPROVIDES:' + dfile)
write_if_exists(sf, pkg, 'FILERDEPENDSFLIST')
- for dfile in (d.getVar('FILERDEPENDSFLIST:' + pkg) or "").split():
+ for dfile in sorted((d.getVar('FILERDEPENDSFLIST:' + pkg) or "").split()):
write_if_exists(sf, pkg, 'FILERDEPENDS:' + dfile)
sf.write('%s:%s: %d\n' % ('PKGSIZE', pkg, total_size))
@@ -1797,9 +1797,9 @@ python package_do_filedeps() {
d.appendVar(key, " " + " ".join(requires[file]))
for pkg in requires_files:
- d.setVar("FILERDEPENDSFLIST:" + pkg, " ".join(requires_files[pkg]))
+ d.setVar("FILERDEPENDSFLIST:" + pkg, " ".join(sorted(requires_files[pkg])))
for pkg in provides_files:
- d.setVar("FILERPROVIDESFLIST:" + pkg, " ".join(provides_files[pkg]))
+ d.setVar("FILERPROVIDESFLIST:" + pkg, " ".join(sorted(provides_files[pkg])))
}
SHLIBSDIRS = "${WORKDIR_PKGDATA}/${MLPREFIX}shlibs2"
@@ -2112,12 +2112,12 @@ python package_do_pkgconfig () {
for pkg in packages.split():
pkgconfig_provided[pkg] = []
pkgconfig_needed[pkg] = []
- for file in pkgfiles[pkg]:
+ for file in sorted(pkgfiles[pkg]):
m = pc_re.match(file)
if m:
pd = bb.data.init()
name = m.group(1)
- pkgconfig_provided[pkg].append(name)
+ pkgconfig_provided[pkg].append(os.path.basename(name))
if not os.access(file, os.R_OK):
continue
with open(file, 'r') as f:
@@ -2140,7 +2140,7 @@ python package_do_pkgconfig () {
pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist")
if pkgconfig_provided[pkg] != []:
with open(pkgs_file, 'w') as f:
- for p in pkgconfig_provided[pkg]:
+ for p in sorted(pkgconfig_provided[pkg]):
f.write('%s\n' % p)
# Go from least to most specific since the last one found wins
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index eca43e1787..1ae6393d37 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -315,10 +315,7 @@ python do_package_write_deb () {
do_package_write_deb[dirs] = "${PKGWRITEDIRDEB}"
do_package_write_deb[cleandirs] = "${PKGWRITEDIRDEB}"
do_package_write_deb[depends] += "${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 'do_populate_sysroot')}"
-addtask package_write_deb after do_packagedata do_package
-
+addtask package_write_deb after do_packagedata do_package do_deploy_source_date_epoch before do_build
PACKAGEINDEXDEPS += "dpkg-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "apt-native:do_populate_sysroot"
-
-do_build[recrdeptask] += "do_package_write_deb"
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index c3b53854e8..902b7f94c8 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -230,8 +230,8 @@ def ipk_write_pkg(pkg, d):
shell=True)
if d.getVar('IPK_SIGN_PACKAGES') == '1':
- ipkver = "%s-%s" % (d.getVar('PKGV'), d.getVar('PKGR'))
- ipk_to_sign = "%s/%s_%s_%s.ipk" % (pkgoutdir, pkgname, ipkver, d.getVar('PACKAGE_ARCH'))
+ ipkver = "%s-%s" % (localdata.getVar('PKGV'), localdata.getVar('PKGR'))
+ ipk_to_sign = "%s/%s_%s_%s.ipk" % (pkgoutdir, pkgname, ipkver, localdata.getVar('PACKAGE_ARCH'))
sign_ipk(d, ipk_to_sign)
finally:
@@ -274,9 +274,7 @@ python do_package_write_ipk () {
do_package_write_ipk[dirs] = "${PKGWRITEDIRIPK}"
do_package_write_ipk[cleandirs] = "${PKGWRITEDIRIPK}"
do_package_write_ipk[depends] += "${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 'do_populate_sysroot')}"
-addtask package_write_ipk after do_packagedata do_package
+addtask package_write_ipk after do_packagedata do_package do_deploy_source_date_epoch before do_build
PACKAGEINDEXDEPS += "opkg-utils-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "opkg-native:do_populate_sysroot"
-
-do_build[recrdeptask] += "do_package_write_ipk"
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 88d861c0e7..b0754421a3 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -684,8 +684,8 @@ python do_package_rpm () {
cmd = cmd + " --define '_use_internal_dependency_generator 0'"
cmd = cmd + " --define '_binaries_in_noarch_packages_terminate_build 0'"
cmd = cmd + " --define '_build_id_links none'"
- cmd = cmd + " --define '_binary_payload w6T%d.xzdio'" % int(d.getVar("XZ_THREADS"))
- cmd = cmd + " --define '_source_payload w6T%d.xzdio'" % int(d.getVar("XZ_THREADS"))
+ cmd = cmd + " --define '_binary_payload w19T%d.zstdio'" % int(d.getVar("ZSTD_THREADS"))
+ cmd = cmd + " --define '_source_payload w19T%d.zstdio'" % int(d.getVar("ZSTD_THREADS"))
cmd = cmd + " --define 'clamp_mtime_to_source_date_epoch 1'"
cmd = cmd + " --define 'use_source_date_epoch_as_buildtime 1'"
cmd = cmd + " --define '_buildhost reproducible'"
@@ -748,9 +748,7 @@ python do_package_write_rpm () {
do_package_write_rpm[dirs] = "${PKGWRITEDIRRPM}"
do_package_write_rpm[cleandirs] = "${PKGWRITEDIRRPM}"
do_package_write_rpm[depends] += "${@oe.utils.build_depends_string(d.getVar('PACKAGE_WRITE_DEPS'), 'do_populate_sysroot')}"
-addtask package_write_rpm after do_packagedata do_package
+addtask package_write_rpm after do_packagedata do_package do_deploy_source_date_epoch before do_build
PACKAGEINDEXDEPS += "rpm-native:do_populate_sysroot"
PACKAGEINDEXDEPS += "createrepo-c-native:do_populate_sysroot"
-
-do_build[recrdeptask] += "do_package_write_rpm"
diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index 388773a237..fdf3c633bc 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes/patch.bbclass
@@ -131,6 +131,9 @@ python patch_do_patch() {
patchdir = parm["patchdir"]
if not os.path.isabs(patchdir):
patchdir = os.path.join(s, patchdir)
+ if not os.path.isdir(patchdir):
+ bb.fatal("Target directory '%s' not found, patchdir '%s' is incorrect in patch file '%s'" %
+ (patchdir, parm["patchdir"], parm['patchname']))
else:
patchdir = s
@@ -147,12 +150,12 @@ python patch_do_patch() {
patchset.Import({"file":local, "strippath": parm['striplevel']}, True)
except Exception as exc:
bb.utils.remove(process_tmpdir, True)
- bb.fatal(str(exc))
+ bb.fatal("Importing patch '%s' with striplevel '%s'\n%s" % (parm['patchname'], parm['striplevel'], repr(exc)))
try:
resolver.Resolve()
except bb.BBHandledException as e:
bb.utils.remove(process_tmpdir, True)
- bb.fatal(str(e))
+ bb.fatal("Applying patch '%s' on target directory '%s'\n%s" % (parm['patchname'], patchdir, repr(e)))
bb.utils.remove(process_tmpdir, True)
del os.environ['TMPDIR']
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index ccfe223289..49e166e697 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -1,4 +1,6 @@
-inherit meta image-postinst-intercepts image-artifact-names
+PACKAGES = ""
+
+inherit image-postinst-intercepts image-artifact-names
# Wildcards specifying complementary packages to install for every package that has been explicitly
# installed into the rootfs
diff --git a/meta/classes/python3-dir.bbclass b/meta/classes/python3-dir.bbclass
index f51f971fc5..ff03e584d4 100644
--- a/meta/classes/python3-dir.bbclass
+++ b/meta/classes/python3-dir.bbclass
@@ -1,4 +1,4 @@
-PYTHON_BASEVERSION = "3.9"
+PYTHON_BASEVERSION = "3.10"
PYTHON_ABI = ""
PYTHON_DIR = "python${PYTHON_BASEVERSION}"
PYTHON_PN = "python3"
diff --git a/meta/classes/reproducible_build.bbclass b/meta/classes/reproducible_build.bbclass
deleted file mode 100644
index 378121903d..0000000000
--- a/meta/classes/reproducible_build.bbclass
+++ /dev/null
@@ -1,127 +0,0 @@
-# reproducible_build.bbclass
-#
-# Sets SOURCE_DATE_EPOCH in each component's build environment.
-# Upstream components (generally) respect this environment variable,
-# using it in place of the "current" date and time.
-# See https://reproducible-builds.org/specs/source-date-epoch/
-#
-# After sources are unpacked but before they are patched, we set a reproducible value for SOURCE_DATE_EPOCH.
-# This value should be reproducible for anyone who builds the same revision from the same sources.
-#
-# There are 4 ways we determine SOURCE_DATE_EPOCH:
-#
-# 1. Use the value from __source_date_epoch.txt file if this file exists.
-# This file was most likely created in the previous build by one of the following methods 2,3,4.
-# Alternatively, it can be provided by a recipe via SRC_URI.
-#
-# If the file does not exist:
-#
-# 2. If there is a git checkout, use the last git commit timestamp.
-# Git does not preserve file timestamps on checkout.
-#
-# 3. Use the mtime of "known" files such as NEWS, CHANGLELOG, ...
-# This works for well-kept repositories distributed via tarball.
-#
-# 4. Use the modification time of the youngest file in the source tree, if there is one.
-# This will be the newest file from the distribution tarball, if any.
-#
-# 5. Fall back to a fixed timestamp.
-#
-# Once the value of SOURCE_DATE_EPOCH is determined, it is stored in the recipe's SDE_FILE.
-# If none of these mechanisms are suitable, replace the do_deploy_source_date_epoch task
-# with recipe-specific functionality to write the appropriate SOURCE_DATE_EPOCH into the SDE_FILE.
-#
-# If this file is found by other tasks, the value is exported in the SOURCE_DATE_EPOCH variable.
-# SOURCE_DATE_EPOCH is set for all tasks that might use it (do_configure, do_compile, do_package, ...)
-
-BUILD_REPRODUCIBLE_BINARIES ??= '1'
-inherit ${@oe.utils.ifelse(d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1', 'reproducible_build_simple', '')}
-
-SDE_DIR = "${WORKDIR}/source-date-epoch"
-SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
-SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
-
-# Enable compiler warning when the __TIME__, __DATE__ and __TIMESTAMP__ macros are used.
-TARGET_CC_ARCH:append:class-target = " -Wdate-time"
-
-# A SOURCE_DATE_EPOCH of '0' might be misinterpreted as no SDE
-export SOURCE_DATE_EPOCH_FALLBACK ??= "1302044400"
-
-SSTATETASKS += "do_deploy_source_date_epoch"
-
-do_deploy_source_date_epoch () {
- mkdir -p ${SDE_DEPLOYDIR}
- if [ -e ${SDE_FILE} ]; then
- echo "Deploying SDE from ${SDE_FILE} -> ${SDE_DEPLOYDIR}."
- cp -p ${SDE_FILE} ${SDE_DEPLOYDIR}/__source_date_epoch.txt
- else
- echo "${SDE_FILE} not found!"
- fi
-}
-
-python do_deploy_source_date_epoch_setscene () {
- sstate_setscene(d)
- bb.utils.mkdirhier(d.getVar('SDE_DIR'))
- sde_file = os.path.join(d.getVar('SDE_DEPLOYDIR'), '__source_date_epoch.txt')
- if os.path.exists(sde_file):
- target = d.getVar('SDE_FILE')
- bb.debug(1, "Moving setscene SDE file %s -> %s" % (sde_file, target))
- bb.utils.rename(sde_file, target)
- else:
- bb.debug(1, "%s not found!" % sde_file)
-}
-
-do_deploy_source_date_epoch[dirs] = "${SDE_DEPLOYDIR}"
-do_deploy_source_date_epoch[sstate-plaindirs] = "${SDE_DEPLOYDIR}"
-addtask do_deploy_source_date_epoch_setscene
-addtask do_deploy_source_date_epoch before do_configure after do_patch
-
-python create_source_date_epoch_stamp() {
- import oe.reproducible
-
- epochfile = d.getVar('SDE_FILE')
- tmp_file = "%s.new" % epochfile
-
- source_date_epoch = oe.reproducible.get_source_date_epoch(d, d.getVar('S'))
-
- bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
- bb.utils.mkdirhier(d.getVar('SDE_DIR'))
- with open(tmp_file, 'w') as f:
- f.write(str(source_date_epoch))
-
- os.rename(tmp_file, epochfile)
-}
-
-def get_source_date_epoch_value(d):
- cached = d.getVar('__CACHED_SOURCE_DATE_EPOCH')
- if cached:
- return cached
-
- epochfile = d.getVar('SDE_FILE')
- source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
- try:
- with open(epochfile, 'r') as f:
- s = f.read()
- try:
- source_date_epoch = int(s)
- # workaround for old sstate with SDE_FILE content being 0 - use SOURCE_DATE_EPOCH_FALLBACK
- if source_date_epoch == 0 :
- source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
- bb.warn("SOURCE_DATE_EPOCH value from sstate '%s' is deprecated/invalid. Reverting to SOURCE_DATE_EPOCH_FALLBACK '%s'" % (s, source_date_epoch))
- except ValueError:
- bb.warn("SOURCE_DATE_EPOCH value '%s' is invalid. Reverting to SOURCE_DATE_EPOCH_FALLBACK" % s)
- source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
- bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
- except FileNotFoundError:
- bb.debug(1, "Cannot find %s. SOURCE_DATE_EPOCH will default to %d" % (epochfile, source_date_epoch))
-
- d.setVar('__CACHED_SOURCE_DATE_EPOCH', str(source_date_epoch))
- return str(source_date_epoch)
-
-export SOURCE_DATE_EPOCH ?= "${@get_source_date_epoch_value(d)}"
-BB_HASHBASE_WHITELIST += "SOURCE_DATE_EPOCH"
-
-python () {
- if d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1':
- d.appendVarFlag("do_unpack", "postfuncs", " create_source_date_epoch_stamp")
-}
diff --git a/meta/classes/reproducible_build_simple.bbclass b/meta/classes/reproducible_build_simple.bbclass
deleted file mode 100644
index 393372993d..0000000000
--- a/meta/classes/reproducible_build_simple.bbclass
+++ /dev/null
@@ -1,9 +0,0 @@
-# Setup default environment for reproducible builds.
-
-BUILD_REPRODUCIBLE_BINARIES = "1"
-
-export PYTHONHASHSEED = "0"
-export PERL_HASH_SEED = "0"
-export SOURCE_DATE_EPOCH ??= "1520598896"
-
-REPRODUCIBLE_TIMESTAMP_ROOTFS ??= "1520598896"
diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass
index 07901d7597..5f12d5aaeb 100644
--- a/meta/classes/rm_work.bbclass
+++ b/meta/classes/rm_work.bbclass
@@ -73,7 +73,7 @@ do_rm_work () {
# sstate version since otherwise we'd need to leave 'plaindirs' around
# such as 'packages' and 'packages-split' and these can be large. No end
# of chain tasks depend directly on do_package anymore.
- rm -f $i;
+ rm -f -- $i;
;;
*_setscene*)
# Skip stamps which are already setscene versions
@@ -90,7 +90,7 @@ do_rm_work () {
;;
esac
done
- rm -f $i
+ rm -f -- $i
esac
done
@@ -100,9 +100,9 @@ do_rm_work () {
# Retain only logs and other files in temp, safely ignore
# failures of removing pseudo folers on NFS2/3 server.
if [ $dir = 'pseudo' ]; then
- rm -rf $dir 2> /dev/null || true
+ rm -rf -- $dir 2> /dev/null || true
elif ! echo "$excludes" | grep -q -w "$dir"; then
- rm -rf $dir
+ rm -rf -- $dir
fi
done
}
diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass
index c5746eba13..7fe9e3d8c8 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes/rootfs-postcommands.bbclass
@@ -218,8 +218,8 @@ postinst_enable_logging () {
# Modify systemd default target
#
set_systemd_default_target () {
- if [ -d ${IMAGE_ROOTFS}${sysconfdir}/systemd/system -a -e ${IMAGE_ROOTFS}${systemd_unitdir}/system/${SYSTEMD_DEFAULT_TARGET} ]; then
- ln -sf ${systemd_unitdir}/system/${SYSTEMD_DEFAULT_TARGET} ${IMAGE_ROOTFS}${sysconfdir}/systemd/system/default.target
+ if [ -d ${IMAGE_ROOTFS}${sysconfdir}/systemd/system -a -e ${IMAGE_ROOTFS}${systemd_system_unitdir}/${SYSTEMD_DEFAULT_TARGET} ]; then
+ ln -sf ${systemd_system_unitdir}/${SYSTEMD_DEFAULT_TARGET} ${IMAGE_ROOTFS}${sysconfdir}/systemd/system/default.target
fi
}
diff --git a/meta/classes/rust-common.bbclass b/meta/classes/rust-common.bbclass
index a8803d61b6..98d65970e8 100644
--- a/meta/classes/rust-common.bbclass
+++ b/meta/classes/rust-common.bbclass
@@ -1,3 +1,5 @@
+inherit python3native
+
# Common variables used by all Rust builds
export rustlibdir = "${libdir}/rust"
FILES:${PN} += "${rustlibdir}/*.so"
@@ -133,8 +135,12 @@ create_wrapper () {
shift
cat <<- EOF > "${file}"
- #!/bin/sh
- exec $@ "\$@"
+ #!/usr/bin/env python3
+ import os, sys
+ orig_binary = "$@"
+ binary = orig_binary.split()[0]
+ args = orig_binary.split() + sys.argv[1:]
+ os.execvp(binary, args)
EOF
chmod +x "${file}"
}
@@ -169,12 +175,7 @@ do_rust_create_wrappers () {
# Yocto Target / Rust Target archiver
create_wrapper "${RUST_TARGET_AR}" "${WRAPPER_TARGET_AR}"
- # Need to filter out LD_LIBRARY_PATH from the linker without using shell
- mv ${RUST_BUILD_CCLD} ${RUST_BUILD_CCLD}.real
- ${BUILD_CC} ${COREBASE}/meta/files/rust-ccld-wrapper.c -o ${RUST_BUILD_CCLD}
- mv ${RUST_TARGET_CCLD} ${RUST_TARGET_CCLD}.real
- ${BUILD_CC} ${COREBASE}/meta/files/rust-ccld-wrapper.c -o ${RUST_TARGET_CCLD}
}
-addtask rust_create_wrappers before do_configure after do_patch
+addtask rust_create_wrappers before do_configure after do_patch do_prepare_recipe_sysroot
do_rust_create_wrappers[dirs] += "${WRAPPER_DIR}"
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
index 0bd1f36805..c5f4dfda41 100644
--- a/meta/classes/siteinfo.bbclass
+++ b/meta/classes/siteinfo.bbclass
@@ -176,17 +176,39 @@ python () {
bb.fatal("Please add your architecture to siteinfo.bbclass")
}
-def siteinfo_get_files(d, sysrootcache = False):
+# Layers with siteconfig need to add a replacement path to this variable so the
+# sstate isn't path specific
+SITEINFO_PATHVARS = "COREBASE"
+
+def siteinfo_get_files(d, sysrootcache=False):
sitedata = siteinfo_data(d)
- sitefiles = ""
+ sitefiles = []
+ searched = []
for path in d.getVar("BBPATH").split(":"):
for element in sitedata:
filename = os.path.join(path, "site", element)
if os.path.exists(filename):
- sitefiles += filename + " "
+ searched.append(filename + ":True")
+ sitefiles.append(filename)
+ else:
+ searched.append(filename + ":False")
+
+ # Have to parameterise out hardcoded paths such as COREBASE for the main site files
+ for var in d.getVar("SITEINFO_PATHVARS").split():
+ searched2 = []
+ replace = os.path.normpath(d.getVar(var))
+ for s in searched:
+ searched2.append(s.replace(replace, "${" + var + "}"))
+ searched = searched2
+
+ if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d):
+ # We need sstate sigs for native/cross not to vary upon arch so we can't depend on the site files.
+ # In future we may want to depend upon all site files?
+ # This would show up as breaking sstatetests.SStateTests.test_sstate_32_64_same_hash for example
+ searched = []
if not sysrootcache:
- return sitefiles
+ return sitefiles, searched
# Now check for siteconfig cache files in sysroots
path_siteconfig = d.getVar('SITECONFIG_SYSROOTCACHE')
@@ -195,8 +217,8 @@ def siteinfo_get_files(d, sysrootcache = False):
if not i.endswith("_config"):
continue
filename = os.path.join(path_siteconfig, i)
- sitefiles += filename + " "
- return sitefiles
+ sitefiles.append(filename)
+ return sitefiles, searched
#
# Make some information available via variables
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index d7f1b3f26e..7f034d746a 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -1,4 +1,6 @@
-SSTATE_VERSION = "3"
+SSTATE_VERSION = "7"
+
+SSTATE_ZSTD_CLEVEL ??= "8"
SSTATE_MANIFESTS ?= "${TMPDIR}/sstate-control"
SSTATE_MANFILEPREFIX = "${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}-${PN}"
@@ -6,12 +8,12 @@ SSTATE_MANFILEPREFIX = "${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}-${PN}"
def generate_sstatefn(spec, hash, taskname, siginfo, d):
if taskname is None:
return ""
- extension = ".tgz"
+ extension = ".tar.zst"
# 8 chars reserved for siginfo
limit = 254 - 8
if siginfo:
limit = 254
- extension = ".tgz.siginfo"
+ extension = ".tar.zst.siginfo"
if not hash:
hash = "INVALID"
fn = spec + hash + "_" + taskname + extension
@@ -37,7 +39,7 @@ SSTATE_PKGNAME = "${SSTATE_EXTRAPATH}${@generate_sstatefn(d.getVar('SSTATE_PK
SSTATE_PKG = "${SSTATE_DIR}/${SSTATE_PKGNAME}"
SSTATE_EXTRAPATH = ""
SSTATE_EXTRAPATHWILDCARD = ""
-SSTATE_PATHSPEC = "${SSTATE_DIR}/${SSTATE_EXTRAPATHWILDCARD}*/*/${SSTATE_PKGSPEC}*_${SSTATE_PATH_CURRTASK}.tgz*"
+SSTATE_PATHSPEC = "${SSTATE_DIR}/${SSTATE_EXTRAPATHWILDCARD}*/*/${SSTATE_PKGSPEC}*_${SSTATE_PATH_CURRTASK}.tar.zst*"
# explicitly make PV to depend on evaluated value of PV variable
PV[vardepvalue] = "${PV}"
@@ -67,6 +69,13 @@ SSTATE_DUPWHITELIST += "${DEPLOY_DIR_IMAGE}/microcode"
SSTATE_SCAN_FILES ?= "*.la *-config *_config postinst-*"
SSTATE_SCAN_CMD ??= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES").split())}" \) -type f'
SSTATE_SCAN_CMD_NATIVE ??= 'grep -Irl -e ${RECIPE_SYSROOT} -e ${RECIPE_SYSROOT_NATIVE} -e ${HOSTTOOLS_DIR} ${SSTATE_BUILDDIR}'
+SSTATE_HASHEQUIV_FILEMAP ?= " \
+ populate_sysroot:*/postinst-useradd-*:${TMPDIR} \
+ populate_sysroot:*/postinst-useradd-*:${COREBASE} \
+ populate_sysroot:*/postinst-useradd-*:regex-\s(PATH|PSEUDO_IGNORE_PATHS|HOME|LOGNAME|OMP_NUM_THREADS|USER)=.*\s \
+ populate_sysroot:*/crossscripts/*:${TMPDIR} \
+ populate_sysroot:*/crossscripts/*:${COREBASE} \
+ "
BB_HASHFILENAME = "False ${SSTATE_PKGSPEC} ${SSTATE_SWSPEC}"
@@ -107,6 +116,9 @@ SSTATE_SIG_KEY ?= ""
SSTATE_SIG_PASSPHRASE ?= ""
# Whether to verify the GnUPG signatures when extracting sstate archives
SSTATE_VERIFY_SIG ?= "0"
+# List of signatures to consider valid.
+SSTATE_VALID_SIGS ??= ""
+SSTATE_VALID_SIGS[vardepvalue] = ""
SSTATE_HASHEQUIV_METHOD ?= "oe.sstatesig.OEOuthashBasic"
SSTATE_HASHEQUIV_METHOD[doc] = "The fully-qualified function used to calculate \
@@ -363,7 +375,7 @@ def sstate_installpkg(ss, d):
bb.warn("No signature file for sstate package %s, skipping acceleration..." % sstatepkg)
return False
signer = get_signer(d, 'local')
- if not signer.verify(sstatepkg + '.sig'):
+ if not signer.verify(sstatepkg + '.sig', d.getVar("SSTATE_VALID_SIGS")):
bb.warn("Cannot verify signature on sstate package %s, skipping acceleration..." % sstatepkg)
return False
@@ -640,10 +652,21 @@ python sstate_hardcode_path () {
def sstate_package(ss, d):
import oe.path
+ import time
tmpdir = d.getVar('TMPDIR')
+ fixtime = False
+ if ss['task'] == "package":
+ fixtime = True
+
+ def fixtimestamp(root, path):
+ f = os.path.join(root, path)
+ if os.lstat(f).st_mtime > sde:
+ os.utime(f, (sde, sde), follow_symlinks=False)
+
sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task'])
+ sde = int(d.getVar("SOURCE_DATE_EPOCH") or time.time())
d.setVar("SSTATE_CURRTASK", ss['task'])
bb.utils.remove(sstatebuild, recurse=True)
bb.utils.mkdirhier(sstatebuild)
@@ -656,6 +679,8 @@ def sstate_package(ss, d):
# to sstate tasks but there aren't many of these so better just avoid them entirely.
for walkroot, dirs, files in os.walk(state[1]):
for file in files + dirs:
+ if fixtime:
+ fixtimestamp(walkroot, file)
srcpath = os.path.join(walkroot, file)
if not os.path.islink(srcpath):
continue
@@ -677,6 +702,11 @@ def sstate_package(ss, d):
bb.utils.mkdirhier(plain)
bb.utils.mkdirhier(pdir)
bb.utils.rename(plain, pdir)
+ if fixtime:
+ fixtimestamp(pdir, "")
+ for walkroot, dirs, files in os.walk(pdir):
+ for file in files + dirs:
+ fixtimestamp(walkroot, file)
d.setVar('SSTATE_BUILDDIR', sstatebuild)
d.setVar('SSTATE_INSTDIR', sstatebuild)
@@ -731,6 +761,7 @@ def pstaging_fetch(sstatefetch, d):
localdata.setVar('FILESPATH', dldir)
localdata.setVar('DL_DIR', dldir)
localdata.setVar('PREMIRRORS', mirrors)
+ localdata.setVar('SRCPV', d.getVar('SRCPV'))
# if BB_NO_NETWORK is set but we also have SSTATE_MIRROR_ALLOW_NETWORK,
# we'll want to allow network access for the current set of fetches.
@@ -755,6 +786,9 @@ def pstaging_fetch(sstatefetch, d):
except bb.fetch2.BBFetchException:
pass
+pstaging_fetch[vardepsexclude] += "SRCPV"
+
+
def sstate_setscene(d):
shared_state = sstate_state_fromvars(d)
accelerate = sstate_installpkg(shared_state, d)
@@ -803,23 +837,24 @@ sstate_create_package () {
mkdir --mode=0775 -p `dirname ${SSTATE_PKG}`
TFILE=`mktemp ${SSTATE_PKG}.XXXXXXXX`
- # Use pigz if available
- OPT="-czS"
- if [ -x "$(command -v pigz)" ]; then
- OPT="-I pigz -cS"
+ OPT="-cS"
+ ZSTD="zstd -${SSTATE_ZSTD_CLEVEL} -T${ZSTD_THREADS}"
+ # Use pzstd if available
+ if [ -x "$(command -v pzstd)" ]; then
+ ZSTD="pzstd -${SSTATE_ZSTD_CLEVEL} -p ${ZSTD_THREADS}"
fi
# Need to handle empty directories
if [ "$(ls -A)" ]; then
set +e
- tar $OPT -f $TFILE *
+ tar -I "$ZSTD" $OPT -f $TFILE *
ret=$?
if [ $ret -ne 0 ] && [ $ret -ne 1 ]; then
exit 1
fi
set -e
else
- tar $OPT --file=$TFILE --files-from=/dev/null
+ tar -I "$ZSTD" $OPT --file=$TFILE --files-from=/dev/null
fi
chmod 0664 $TFILE
# Skip if it was already created by some other process
@@ -858,7 +893,13 @@ python sstate_report_unihash() {
# Will be run from within SSTATE_INSTDIR.
#
sstate_unpack_package () {
- tar -xvzf ${SSTATE_PKG}
+ ZSTD="zstd -T${ZSTD_THREADS}"
+ # Use pzstd if available
+ if [ -x "$(command -v pzstd)" ]; then
+ ZSTD="pzstd -p ${ZSTD_THREADS}"
+ fi
+
+ tar -I "$ZSTD" -xvf ${SSTATE_PKG}
# update .siginfo atime on local/NFS mirror
[ -O ${SSTATE_PKG}.siginfo ] && [ -w ${SSTATE_PKG}.siginfo ] && [ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo
# Use "! -w ||" to return true for read only files
@@ -1037,15 +1078,13 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None):
logit("Considering setscene task: %s" % (str(taskdependees[task])), log)
+ directtasks = ["do_populate_lic", "do_deploy_source_date_epoch", "do_shared_workdir", "do_stash_locale", "do_gcc_stash_builddir"]
+
def isNativeCross(x):
return x.endswith("-native") or "-cross-" in x or "-crosssdk" in x or x.endswith("-cross")
- # We only need to trigger populate_lic through direct dependencies
- if taskdependees[task][1] == "do_populate_lic":
- return True
-
- # stash_locale and gcc_stash_builddir are never needed as a dependency for built objects
- if taskdependees[task][1] == "do_stash_locale" or taskdependees[task][1] == "do_gcc_stash_builddir":
+ # We only need to trigger deploy_source_date_epoch through direct dependencies
+ if taskdependees[task][1] in directtasks:
return True
# We only need to trigger packagedata through direct dependencies
@@ -1068,8 +1107,8 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None):
# do_package_write_* need do_populate_sysroot as they're mainly postinstall dependencies
if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm']:
return False
- # do_package/packagedata/package_qa don't need do_populate_sysroot
- if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package', 'do_packagedata', 'do_package_qa']:
+ # do_package/packagedata/package_qa/deploy don't need do_populate_sysroot
+ if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package', 'do_packagedata', 'do_package_qa', 'do_deploy']:
continue
# Native/Cross packages don't exist and are noexec anyway
if isNativeCross(taskdependees[dep][0]) and taskdependees[dep][1] in ['do_package_write_deb', 'do_package_write_ipk', 'do_package_write_rpm', 'do_packagedata', 'do_package', 'do_package_qa']:
@@ -1117,13 +1156,9 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None):
# Target populate_sysroot need their dependencies
return False
- if taskdependees[task][1] == 'do_shared_workdir':
+ if taskdependees[dep][1] in directtasks:
continue
- if taskdependees[dep][1] == "do_populate_lic":
- continue
-
-
# Safe fallthrough default
logit(" Default setscene dependency fall through due to dependency: %s" % (str(taskdependees[dep])), log)
return False
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index af3397bab6..65a6cd5120 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -306,6 +306,7 @@ python extend_recipe_sysroot() {
sstatetasks = d.getVar("SSTATETASKS").split()
# Add recipe specific tasks referenced by setscene_depvalid()
sstatetasks.append("do_stash_locale")
+ sstatetasks.append("do_deploy")
def print_dep_tree(deptree):
data = ""
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 3c689aec91..a76e773853 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -64,8 +64,6 @@ BASICTESTSUITE = "\
DEFAULT_TEST_SUITES = "${BASICTESTSUITE}"
-# aarch64 has no graphics
-DEFAULT_TEST_SUITES:remove:aarch64 = "xorg"
# musl doesn't support systemtap
DEFAULT_TEST_SUITES:remove:libc-musl = "stap"
@@ -201,6 +199,7 @@ def testimage_main(d):
import json
import signal
import logging
+ import shutil
from bb.utils import export_proxies
from oeqa.core.utils.misc import updateTestData
@@ -408,10 +407,17 @@ def testimage_main(d):
get_testimage_result_id(configuration),
dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
results.logSummary(pn)
+
+ # Copy additional logs to tmp/log/oeqa so it's easier to find them
+ targetdir = os.path.join(get_testimage_json_result_dir(d), d.getVar("PN"))
+ os.makedirs(targetdir, exist_ok=True)
+ os.symlink(bootlog, os.path.join(targetdir, os.path.basename(bootlog)))
+ os.symlink(d.getVar("BB_LOGFILE"), os.path.join(targetdir, os.path.basename(d.getVar("BB_LOGFILE") + "." + d.getVar('DATETIME'))))
+
if not results or not complete:
- bb.fatal('%s - FAILED - tests were interrupted during execution' % pn, forcelog=True)
+ bb.fatal('%s - FAILED - tests were interrupted during execution, check the logs in %s' % (pn, d.getVar("LOG_DIR")), forcelog=True)
if not results.wasSuccessful():
- bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True)
+ bb.fatal('%s - FAILED - also check the logs in %s' % (pn, d.getVar("LOG_DIR")), forcelog=True)
def get_runtime_paths(d):
"""
diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
index 479f3b706e..fb6261c91d 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes/toolchain-scripts.bbclass
@@ -65,6 +65,7 @@ toolchain_create_sdk_env_script () {
# This function creates an environment-setup-script in the TMPDIR which enables
# a OE-core IDE to integrate with the build tree
+# Caller must ensure CONFIG_SITE is setup
toolchain_create_tree_env_script () {
script=${TMPDIR}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
rm -f $script
@@ -73,7 +74,7 @@ toolchain_create_tree_env_script () {
echo 'export PATH=${STAGING_DIR_NATIVE}/usr/bin:${STAGING_BINDIR_TOOLCHAIN}:$PATH' >> $script
echo 'export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}' >> $script
echo 'export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}' >> $script
- echo 'export CONFIG_SITE="${@siteinfo_get_files(d)}"' >> $script
+ echo 'export CONFIG_SITE="${CONFIG_SITE}"' >> $script
echo 'export SDKTARGETSYSROOT=${STAGING_DIR_TARGET}' >> $script
echo 'export OECORE_NATIVE_SYSROOT="${STAGING_DIR_NATIVE}"' >> $script
echo 'export OECORE_TARGET_SYSROOT="${STAGING_DIR_TARGET}"' >> $script
@@ -161,7 +162,7 @@ EOF
}
#we get the cached site config in the runtime
-TOOLCHAIN_CONFIGSITE_NOCACHE = "${@siteinfo_get_files(d)}"
+TOOLCHAIN_CONFIGSITE_NOCACHE = "${@' '.join(siteinfo_get_files(d)[0])}"
TOOLCHAIN_CONFIGSITE_SYSROOTCACHE = "${STAGING_DIR}/${MLPREFIX}${MACHINE}/${target_datadir}/${TARGET_SYS}_config_site.d"
TOOLCHAIN_NEED_CONFIGSITE_CACHE ??= "virtual/${MLPREFIX}libc ncurses"
DEPENDS += "${TOOLCHAIN_NEED_CONFIGSITE_CACHE}"
diff --git a/meta/classes/uboot-config.bbclass b/meta/classes/uboot-config.bbclass
index 07a303d0a0..b9ad35821a 100644
--- a/meta/classes/uboot-config.bbclass
+++ b/meta/classes/uboot-config.bbclass
@@ -53,6 +53,8 @@ SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}${SPL_DELIMITER}${SPL_SUFFIX}"
# include it in the SRC_URI and set the UBOOT_ENV parameter.
UBOOT_ENV_SUFFIX ?= "txt"
UBOOT_ENV ?= ""
+UBOOT_ENV_SRC_SUFFIX ?= "cmd"
+UBOOT_ENV_SRC ?= "${UBOOT_ENV}.${UBOOT_ENV_SRC_SUFFIX}"
UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index 287ef84334..20771a0ce5 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -230,6 +230,10 @@ fakeroot python populate_packages:prepend () {
preinst += 'perform_useradd () {\n%s}\n' % d.getVar('perform_useradd')
preinst += 'perform_groupmems () {\n%s}\n' % d.getVar('perform_groupmems')
preinst += d.getVar('useradd_preinst')
+ # Expand out the *_PARAM variables to the package specific versions
+ for rep in ["GROUPADD_PARAM", "USERADD_PARAM", "GROUPMEMS_PARAM"]:
+ val = d.getVar(rep + ":" + pkg) or ""
+ preinst = preinst.replace("${" + rep + "}", val)
d.setVar('pkg_preinst:%s' % pkg, preinst)
# RDEPENDS setup
diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass
index 072ea1f63c..b4eb3d38ab 100644
--- a/meta/classes/utils.bbclass
+++ b/meta/classes/utils.bbclass
@@ -30,7 +30,6 @@ oe_libinstall() {
silent=""
require_static=""
require_shared=""
- staging_install=""
while [ "$#" -gt 0 ]; do
case "$1" in
-C)
@@ -62,10 +61,6 @@ oe_libinstall() {
if [ -z "$destpath" ]; then
bbfatal "oe_libinstall: no destination path specified"
fi
- if echo "$destpath/" | egrep '^${STAGING_LIBDIR}/' >/dev/null
- then
- staging_install=1
- fi
__runcmd () {
if [ -z "$silent" ]; then
@@ -159,36 +154,6 @@ oe_libinstall() {
__runcmd cd "$olddir"
}
-oe_machinstall() {
- # Purpose: Install machine dependent files, if available
- # If not available, check if there is a default
- # If no default, just touch the destination
- # Example:
- # $1 $2 $3 $4
- # oe_machinstall -m 0644 fstab ${D}/etc/fstab
- #
- # TODO: Check argument number?
- #
- filename=`basename $3`
- dirname=`dirname $3`
-
- for o in `echo ${OVERRIDES} | tr ':' ' '`; do
- if [ -e $dirname/$o/$filename ]; then
- bbnote $dirname/$o/$filename present, installing to $4
- install $1 $2 $dirname/$o/$filename $4
- return
- fi
- done
-# bbnote overrides specific file NOT present, trying default=$3...
- if [ -e $3 ]; then
- bbnote $3 present, installing to $4
- install $1 $2 $3 $4
- else
- bbnote $3 NOT present, touching empty $4
- touch $4
- fi
-}
-
create_cmdline_wrapper () {
# Create a wrapper script where commandline options are needed
#
diff --git a/meta/conf/abi_version.conf b/meta/conf/abi_version.conf
index 35faef9a36..f406f927b0 100644
--- a/meta/conf/abi_version.conf
+++ b/meta/conf/abi_version.conf
@@ -12,4 +12,4 @@ OELAYOUT_ABI = "14"
# a reset of the equivalence, for example when reproducibility issues break the
# existing match data. Distros can also append to this value for the same effect.
#
-HASHEQUIV_HASH_VERSION = "5"
+HASHEQUIV_HASH_VERSION = "10"
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 2140d498f7..790f2f7a8c 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -415,6 +415,7 @@ DEPLOY_DIR_IMAGE ?= "${DEPLOY_DIR}/images/${MACHINE}"
DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools"
PKGDATA_DIR = "${TMPDIR}/pkgdata/${MACHINE}"
+PKGDATA_DIR_SDK = "${TMPDIR}/pkgdata/${SDK_SYS}"
##################################################################
# SDK variables.
@@ -498,7 +499,7 @@ HOSTTOOLS += " \
HOSTTOOLS += "${@'ip ping ps scp ssh stty' if (bb.utils.contains_any('IMAGE_CLASSES', 'testimage testsdk', True, False, d) or any(x in (d.getVar("BBINCLUDED") or "") for x in ["testimage.bbclass", "testsdk.bbclass"])) else ''}"
# Link to these if present
-HOSTTOOLS_NONFATAL += "aws gcc-ar gpg ld.bfd ld.gold nc pigz sftp socat ssh sudo"
+HOSTTOOLS_NONFATAL += "aws gcc-ar gpg gpg-agent ld.bfd ld.gold nc pigz sftp socat ssh sudo"
# Temporary add few more detected in bitbake world
HOSTTOOLS_NONFATAL += "join nl size yes zcat"
@@ -604,6 +605,7 @@ LINKER_HASH_STYLE:mipsarch:libc-musl = "sysv"
# Pass parallel make options to the compile task
EXTRA_OEMAKE:prepend:task-compile = "${PARALLEL_MAKE} "
PARALLEL_MAKEINST ??= "${PARALLEL_MAKE}"
+PARALLEL_MAKEINST[vardepvalue] = "1"
# Pass parallel make options to the install task
EXTRA_OEMAKE:prepend:task-install = "${PARALLEL_MAKEINST} "
@@ -627,6 +629,21 @@ BUILD_OPTIMIZATION = "${@oe.utils.vartrue('DEBUG_BUILD', '-Og -g -feliminate-unu
BUILD_OPTIMIZATION[vardeps] += "DEBUG_BUILD"
##################################################################
+# Reproducibility
+##################################################################
+
+SDE_DIR = "${WORKDIR}/source-date-epoch"
+SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
+SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
+
+export PYTHONHASHSEED = "0"
+export PERL_HASH_SEED = "0"
+export SOURCE_DATE_EPOCH ?= "${@get_source_date_epoch_value(d)}"
+# A SOURCE_DATE_EPOCH of '0' might be misinterpreted as no SDE
+export SOURCE_DATE_EPOCH_FALLBACK ??= "1302044400"
+REPRODUCIBLE_TIMESTAMP_ROOTFS ??= "1520598896"
+
+##################################################################
# Settings used by bitbake-layers.
##################################################################
BBLAYERS_LAYERINDEX_URL ??= "https://layers.openembedded.org/layerindex/"
@@ -811,9 +828,14 @@ PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
# Default parallelism and resource usage for xz
XZ_MEMLIMIT ?= "50%"
XZ_THREADS ?= "${@oe.utils.cpu_count(at_least=2)}"
+XZ_THREADS[vardepvalue] = "1"
XZ_DEFAULTS ?= "--memlimit=${XZ_MEMLIMIT} --threads=${XZ_THREADS}"
XZ_DEFAULTS[vardepsexclude] += "XZ_MEMLIMIT XZ_THREADS"
+# Default parallelism for zstd
+ZSTD_THREADS ?= "${@oe.utils.cpu_count(at_least=2)}"
+ZSTD_THREADS[vardepvalue] = "1"
+
# Limit the number of threads that OpenMP libraries will use. Otherwise they
# may fallback to using all CPUs
export OMP_NUM_THREADS = "${BB_NUMBER_THREADS}"
@@ -900,8 +922,9 @@ BB_HASHEXCLUDE_COMMON ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI
BB_WORKERCONTEXT BB_LIMITEDDEPS BB_UNIHASH extend_recipe_sysroot DEPLOY_DIR \
SSTATE_HASHEQUIV_METHOD SSTATE_HASHEQUIV_REPORT_TASKDATA \
SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR BB_HASHSERVE GIT_CEILING_DIRECTORIES \
- OMP_NUM_THREADS"
-BB_HASHBASE_WHITELIST ?= "${BB_HASHEXCLUDE_COMMON} PSEUDO_IGNORE_PATHS BUILDHISTORY_DIR SSTATE_DIR "
+ OMP_NUM_THREADS BB_CURRENTTASK"
+BB_HASHBASE_WHITELIST ?= "${BB_HASHEXCLUDE_COMMON} PSEUDO_IGNORE_PATHS BUILDHISTORY_DIR \
+ SSTATE_DIR SOURCE_DATE_EPOCH"
BB_HASHCONFIG_WHITELIST ?= "${BB_HASHEXCLUDE_COMMON} DATE TIME SSH_AGENT_PID \
SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE 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 5035508b98..f91df632d5 100644
--- a/meta/conf/distro/include/default-distrovars.inc
+++ b/meta/conf/distro/include/default-distrovars.inc
@@ -33,10 +33,8 @@ BB_GENERATE_MIRROR_TARBALLS ??= "0"
NO32LIBS ??= "1"
-# Default logger already emits logfiles if a build fails, setting this to any non-empty value would just include more copies (prefixed with "|") in the output
-# https://bugzilla.yoctoproject.org/show_bug.cgi?id=14542
-BBINCLUDELOGS ??= ""
-
+# Default to emitting logfiles if a build fails.
+BBINCLUDELOGS ??= "yes"
SDK_VERSION ??= "nodistro.0"
DISTRO_VERSION ??= "nodistro.0"
diff --git a/meta/conf/distro/include/default-versions.inc b/meta/conf/distro/include/default-versions.inc
index 5e6fd8a267..a88b65a74c 100644
--- a/meta/conf/distro/include/default-versions.inc
+++ b/meta/conf/distro/include/default-versions.inc
@@ -1,5 +1,3 @@
#
# Default preferred versions
#
-
-PREFERRED_VERSION_adwaita-icon-theme ?= "3.34.3"
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 0e8185f4e3..3ffb065804 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -4,7 +4,7 @@
#
# Please submit any patches against recipes in meta to the
# OE-Core mail list (openembedded-core@lists.openembedded.org)
-# For recipes in meta-yocto please use the Poky list (poky@yoctoproject.org)
+# For recipes in meta-yocto please use the Poky list (poky@lists.yoctoproject.org)
#
# If you have problems with or questions about a particular recipe, feel
# free to contact the maintainer directly (cc:ing the appropriate mailing list
@@ -46,7 +46,6 @@ RECIPE_MAINTAINER:pn-apt = "Aníbal Limón <limon.anibal@gmail.com>"
RECIPE_MAINTAINER:pn-argp-standalone = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-asciidoc = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-aspell = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER:pn-assimp = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-at = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER:pn-at-spi2-atk = "Tim Orling <timothy.t.orling@intel.com>"
RECIPE_MAINTAINER:pn-at-spi2-core = "Tim Orling <timothy.t.orling@intel.com>"
@@ -385,6 +384,7 @@ RECIPE_MAINTAINER:pn-libsecret = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-libsm = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-libsndfile1 = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-libsolv = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER:pn-libsoup = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-libsoup-2.4 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-libssh2 = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-libssp-nonshared = "Khem Raj <raj.khem@gmail.com>"
@@ -467,6 +467,7 @@ RECIPE_MAINTAINER:pn-ltp = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-lttng-modules = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER:pn-lttng-tools = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER:pn-lttng-ust = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-lua = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-lz4 = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER:pn-lzo = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER:pn-lzip = "Denys Dmytriyenko <denis@denix.org>"
@@ -535,6 +536,7 @@ RECIPE_MAINTAINER:pn-netbase = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-nettle = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-nfs-export-root = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER:pn-nfs-utils = "Robert Yang <liezhi.yang@windriver.com>"
+RECIPE_MAINTAINER:pn-nghttp2 = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-ninja = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-npth = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-nss-myhostname = "Anuj Mittal <anuj.mittal@intel.com>"
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index e0ae1dd971..2e324f8da4 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -40,6 +40,7 @@ PTESTS_FAST = "\
libxml-sax-base-perl-ptest \
libxml-simple-perl-ptest \
libxml2-ptest \
+ lua-ptest \
lzo-ptest \
m4-ptest \
nettle-ptest \
@@ -71,6 +72,7 @@ PTESTS_SLOW = "\
coreutils-ptest \
dbus-test-ptest \
e2fsprogs-ptest \
+ findutils-ptest \
glib-2.0-ptest \
gstreamer1.0-ptest \
libevent-ptest \
diff --git a/meta/conf/distro/include/rust_versions.inc b/meta/conf/distro/include/rust_versions.inc
deleted file mode 100644
index a11ba22a8f..0000000000
--- a/meta/conf/distro/include/rust_versions.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-# include this in your distribution to easily switch between versions
-# just by changing RUST_VERSION variable
-
-RUST_VERSION ?= "1.51.0"
-
-PREFERRED_VERSION_cargo ?= "${RUST_VERSION}"
-PREFERRED_VERSION_cargo-native ?= "${RUST_VERSION}"
-PREFERRED_VERSION_libstd-rs ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust-cross-${TARGET_ARCH} ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust-llvm ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust-llvm-native ?= "${RUST_VERSION}"
-PREFERRED_VERSION_rust-native ?= "${RUST_VERSION}"
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index 47f23f5c39..168bda2fd1 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -21,12 +21,13 @@ SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.37%"
GDBVERSION ?= "10.%"
GLIBCVERSION ?= "2.34"
-LINUXLIBCVERSION ?= "5.13%"
-QEMUVERSION ?= "6.0%"
+LINUXLIBCVERSION ?= "5.14%"
+QEMUVERSION ?= "6.1%"
GOVERSION ?= "1.16%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
# llvm version being used, so always bump it with llvm recipe version bump
LLVMVERSION ?= "12.0.1"
+RUSTVERSION ?= "1.55.0"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
@@ -81,3 +82,15 @@ PREFERRED_VERSION_nativesdk-go-runtime ?= "${GOVERSION}"
PREFERRED_VERSION_llvm = "${LLVMVERSION}"
PREFERRED_VERSION_llvm-native = "${LLVMVERSION}"
PREFERRED_VERSION_nativesdk-llvm = "${LLVMVERSION}"
+
+# Rust toolchain preferred versions:
+
+PREFERRED_VERSION_cargo ?= "${RUSTVERSION}"
+PREFERRED_VERSION_cargo-native ?= "${RUSTVERSION}"
+PREFERRED_VERSION_libstd-rs ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust-cross-${TARGET_ARCH} ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust-llvm ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust-llvm-native ?= "${RUSTVERSION}"
+PREFERRED_VERSION_rust-native ?= "${RUSTVERSION}"
+
diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
index f4697e28d0..80ad8e10d5 100644
--- a/meta/conf/documentation.conf
+++ b/meta/conf/documentation.conf
@@ -17,7 +17,7 @@ do_compile_ptest_base[doc] = "Compiles the runtime test suite included in the so
do_configure[doc] = "Configures the source by enabling and disabling any build-time and configuration options for the software being built"
do_configure_ptest_base[doc] = "Configures the runtime test suite included in the software being built"
do_deploy[doc] = "Writes deployable output files to the deploy directory"
-do_devpyshell[doc] = "Starts an interactive Python shell for development/debugging"
+do_pydevshell[doc] = "Starts an interactive Python shell for development/debugging"
do_devshell[doc] = "Starts a shell with the environment set up for development/debugging"
do_diffconfig[doc] = "Compares the old and new config files after running do_menuconfig for the kernel"
do_fetch[doc] = "Fetches the source code"
@@ -88,7 +88,7 @@ BBFILE_COLLECTIONS[doc] = "Lists the names of configured layers. These names are
BBFILE_PATTERN[doc] = "Variable that expands to match files from BBFILES in a particular layer. This variable is used in the layer.conf file and must be suffixed with the name of a layer."
BBFILE_PRIORITY[doc] = "Assigns the priority for recipe files in each layer. Setting this variable allows you to prioritize a layer against other layers that contain the same recipe."
BBFILES[doc] = "List of recipe files used by BitBake to build software."
-BBINCLUDELOGS[doc] = "Variable that controls how BitBake displays logs on build failure. Set to empty if you don't want to have 2nd copy of failed task output (prefixed with '|') in the cooker log."
+BBINCLUDELOGS[doc] = "Variable that controls how BitBake displays logs on build failure."
BBINCLUDELOGS_LINES[doc] = "Amount of log lines printed on failure."
BBLAYERS[doc] = "Lists the layers to enable during the build. This variable is defined in the bblayers.conf configuration file."
BBMASK[doc] = "Prevents BitBake from processing specific recipes or recipe append files."
diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index 307ad7e223..b3cc8a249e 100644
--- a/meta/conf/layer.conf
+++ b/meta/conf/layer.conf
@@ -48,6 +48,7 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \
"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
+ *->patch-native \
*->quilt-native \
*->subversion-native \
*->git-native \
@@ -90,7 +91,16 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
# (e.g. X -> Y -> binutils-cross -> bison-native) no longer meet the
# dependency incidentally. This improves determinism and avoids build
# failures when people switch to external toolchains.
-SSTATE_EXCLUDEDEPS_SYSROOT += ".*->bison-native"
+SSTATE_EXCLUDEDEPS_SYSROOT += "\
+ .*->autoconf-native \
+ .*->automake-native \
+ .*->bison-native \
+ .*->meson-native \
+ .*->ninja-native \
+ .*->patch-native \
+ .*->pkgconfig-native \
+ .*->quilt-native \
+"
# Nothing needs to depend on libc-initial
# base-passwd/shadow-sysroot don't need their dependencies
SSTATE_EXCLUDEDEPS_SYSROOT += "\
diff --git a/meta/conf/machine/include/mips/feature-mips-mips16e.inc b/meta/conf/machine/include/mips/feature-mips-mips16e.inc
index 101d5331bc..6fd12fb842 100644
--- a/meta/conf/machine/include/mips/feature-mips-mips16e.inc
+++ b/meta/conf/machine/include/mips/feature-mips-mips16e.inc
@@ -11,7 +11,7 @@ MIPSPKGSFX_MIPS16E .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', '-m16',
TUNEVALID[no-interlink-compressed] = "Disable mixing of standard and MIPS16e code"
MIPS16_TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'no-interlink-compressed', ' -mno-interlink-compressed', ' -minterlink-compressed', d)}"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ' ${MIPS16_TUNE_CCARGS}', '', d)}"
-OVERRIDES .= "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', ':mips16e', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'mips16e', 'mips16e:', '', d)}"
# show status (if compiling in MIPS16e mode)
BUILDCFG_VARS += "${@['', 'MIPS_INSTRUCTION_SET'][d.getVar('MIPS_INSTRUCTION_SET') == 'mips16e']}"
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index c7136da711..642c322abc 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -21,7 +21,7 @@ RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
# Use a common kernel recipe for all QEMU machines
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native"
+EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sysroot"
# Provide the nfs server kernel module for all qemu images
KERNEL_FEATURES:append:pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
diff --git a/meta/conf/machine/include/x86/x86-base.inc b/meta/conf/machine/include/x86/x86-base.inc
index 958b3490e8..44e4b4ec46 100644
--- a/meta/conf/machine/include/x86/x86-base.inc
+++ b/meta/conf/machine/include/x86/x86-base.inc
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "5.13%"
+PREFERRED_VERSION_linux-yocto ??= "5.14%"
#
# XSERVER subcomponents, used to build the XSERVER variable
diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
index 93d855b6e1..1bd4e3e154 100644
--- a/meta/conf/machine/qemuarm.conf
+++ b/meta/conf/machine/qemuarm.conf
@@ -7,7 +7,7 @@ require conf/machine/include/qemu.inc
KERNEL_IMAGETYPE = "zImage"
-UBOOT_MACHINE ?= "qemu:arm_defconfig"
+UBOOT_MACHINE ?= "qemu_arm_defconfig"
SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
@@ -20,7 +20,7 @@ QB_SMP = "-smp 4"
# Standard Serial console
QB_KERNEL_CMDLINE_APPEND = "vmalloc=256"
# For graphics to work we need to define the VGA device as well as the necessary USB devices
-QB_GRAPHICS = "-device VGA,edid=on"
+QB_GRAPHICS = "-device virtio-gpu-pci"
QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
# Virtio Networking support
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
diff --git a/meta/conf/machine/qemuarm64.conf b/meta/conf/machine/qemuarm64.conf
index ea7fae2722..f245152168 100644
--- a/meta/conf/machine/qemuarm64.conf
+++ b/meta/conf/machine/qemuarm64.conf
@@ -7,7 +7,7 @@ require conf/machine/include/qemu.inc
KERNEL_IMAGETYPE = "Image"
-UBOOT_MACHINE ?= "qemu:arm64_defconfig"
+UBOOT_MACHINE ?= "qemu_arm64_defconfig"
SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
@@ -19,7 +19,7 @@ QB_CPU = "-cpu cortex-a57"
QB_SMP = "-smp 4"
QB_CPU_KVM = "-cpu host -machine gic-version=3"
# For graphics to work we need to define the VGA device as well as the necessary USB devices
-QB_GRAPHICS = "-device VGA,edid=on"
+QB_GRAPHICS = "-device virtio-gpu-pci"
QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
# Virtio Networking support
QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
diff --git a/meta/conf/machine/qemuarmv5.conf b/meta/conf/machine/qemuarmv5.conf
index 6c99a52965..3c2c4997b9 100644
--- a/meta/conf/machine/qemuarmv5.conf
+++ b/meta/conf/machine/qemuarmv5.conf
@@ -13,8 +13,9 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
QB_SYSTEM_NAME = "qemu-system-arm"
QB_MACHINE = "-machine versatilepb"
QB_KERNEL_CMDLINE_APPEND = "vmalloc=256"
-QB_OPT_APPEND = "-usb -device usb-tablet"
-PREFERRED_VERSION_linux-yocto ??= "5.13%"
+QB_GRAPHICS = "-device virtio-gpu-pci"
+QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
+PREFERRED_VERSION_linux-yocto ??= "5.14%"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
KMACHINE:qemuarmv5 = "qemuarm"
diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
index 8a8db582df..7f3b9463ef 100644
--- a/meta/conf/multilib.conf
+++ b/meta/conf/multilib.conf
@@ -11,6 +11,8 @@ STAGING_DIR_TARGET = "${WORKDIR}/${MLPREFIX}recipe-sysroot"
RECIPE_SYSROOT = "${WORKDIR}/${MLPREFIX}recipe-sysroot"
RECIPE_SYSROOT:class-native = "${WORKDIR}/recipe-sysroot"
+PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/${MLPREFIX}recipe-sysroot"
+
INHERIT += "multilib_global"
BBCLASSEXTEND:append = " ${MULTILIBS}"
diff --git a/meta/files/rust-ccld-wrapper.c b/meta/files/rust-ccld-wrapper.c
deleted file mode 100644
index 6bc9958b90..0000000000
--- a/meta/files/rust-ccld-wrapper.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Richard Purdie
- *
- * SPDX-License-Identifier: GPL-2.0-only
- */
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-/*
- * Run the original script (argv[0] + ".real") with LD_LIBRARY_PATH unset
- * This avoids issues where cargo is running a wrapper script using /bin/sh from the host
- * which links to something which has an incompatible version in in recipe-sysroot-native
- * such as libtinfo on centos 7.
- */
-
-int main(int argc, char* argv[]) {
- char *real = malloc(strlen(argv[0] + 5));
- strcpy(real, argv[0]);
- strcpy(real + strlen(argv[0]), ".real");
- putenv("LD_LIBRARY_PATH=");
- if(execv(real, argv) == -1) {
- printf("Wrapper failed to execute, error: %s\n", strerror(errno));
- return -1;
- }
-}
diff --git a/meta/files/spdx-licenses.json b/meta/files/spdx-licenses.json
index 582c73ca64..ef926164ec 100644
--- a/meta/files/spdx-licenses.json
+++ b/meta/files/spdx-licenses.json
@@ -1,5 +1,5 @@
{
- "licenseListVersion": "7bcf79d",
+ "licenseListVersion": "3.14",
"licenses": [
{
"reference": "https://spdx.org/licenses/GPL-1.0.html",
@@ -14,10 +14,23 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/bzip2-1.0.6.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.6.json",
+ "referenceNumber": 1,
+ "name": "bzip2 and libbzip2 License v1.0.6",
+ "licenseId": "bzip2-1.0.6",
+ "seeAlso": [
+ "https://sourceware.org/git/?p\u003dbzip2.git;a\u003dblob;f\u003dLICENSE;hb\u003dbzip2-1.0.6",
+ "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/Intel-ACPI.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Intel-ACPI.json",
- "referenceNumber": 1,
+ "referenceNumber": 2,
"name": "Intel ACPI Software License Agreement",
"licenseId": "Intel-ACPI",
"seeAlso": [
@@ -29,7 +42,7 @@
"reference": "https://spdx.org/licenses/XSkat.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/XSkat.json",
- "referenceNumber": 2,
+ "referenceNumber": 3,
"name": "XSkat License",
"licenseId": "XSkat",
"seeAlso": [
@@ -41,7 +54,7 @@
"reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.0.json",
- "referenceNumber": 3,
+ "referenceNumber": 4,
"name": "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic",
"licenseId": "CC-BY-NC-SA-2.0",
"seeAlso": [
@@ -50,15 +63,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/bzip2-1.0.6.html",
+ "reference": "https://spdx.org/licenses/Plexus.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/bzip2-1.0.6.json",
- "referenceNumber": 4,
- "name": "bzip2 and libbzip2 License v1.0.6",
- "licenseId": "bzip2-1.0.6",
+ "detailsUrl": "https://spdx.org/licenses/Plexus.json",
+ "referenceNumber": 5,
+ "name": "Plexus Classworlds License",
+ "licenseId": "Plexus",
"seeAlso": [
- "https://sourceware.org/git/?p\u003dbzip2.git;a\u003dblob;f\u003dLICENSE;hb\u003dbzip2-1.0.6",
- "http://bzip.org/1.0.5/bzip2-manual-1.0.5.html"
+ "https://fedoraproject.org/wiki/Licensing/Plexus_Classworlds_License"
],
"isOsiApproved": false
},
@@ -66,7 +78,7 @@
"reference": "https://spdx.org/licenses/Giftware.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Giftware.json",
- "referenceNumber": 5,
+ "referenceNumber": 6,
"name": "Giftware License",
"licenseId": "Giftware",
"seeAlso": [
@@ -75,18 +87,6 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Plexus.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Plexus.json",
- "referenceNumber": 6,
- "name": "Plexus Classworlds License",
- "licenseId": "Plexus",
- "seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Plexus_Classworlds_License"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/BitTorrent-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/BitTorrent-1.0.json",
@@ -185,24 +185,10 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/W3C.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/W3C.json",
- "referenceNumber": 15,
- "name": "W3C Software Notice and License (2002-12-31)",
- "licenseId": "W3C",
- "seeAlso": [
- "http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html",
- "https://opensource.org/licenses/W3C"
- ],
- "isOsiApproved": true,
- "isFsfLibre": true
- },
- {
"reference": "https://spdx.org/licenses/JPNIC.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/JPNIC.json",
- "referenceNumber": 16,
+ "referenceNumber": 15,
"name": "Japan Network Information Center License",
"licenseId": "JPNIC",
"seeAlso": [
@@ -214,7 +200,7 @@
"reference": "https://spdx.org/licenses/SAX-PD.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/SAX-PD.json",
- "referenceNumber": 17,
+ "referenceNumber": 16,
"name": "Sax Public Domain Notice",
"licenseId": "SAX-PD",
"seeAlso": [
@@ -226,7 +212,7 @@
"reference": "https://spdx.org/licenses/CC-BY-ND-2.5.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.5.json",
- "referenceNumber": 18,
+ "referenceNumber": 17,
"name": "Creative Commons Attribution No Derivatives 2.5 Generic",
"licenseId": "CC-BY-ND-2.5",
"seeAlso": [
@@ -235,6 +221,19 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/eGenix.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/eGenix.json",
+ "referenceNumber": 18,
+ "name": "eGenix.com Public License 1.1.0",
+ "licenseId": "eGenix",
+ "seeAlso": [
+ "http://www.egenix.com/products/eGenix.com-Public-License-1.1.0.pdf",
+ "https://fedoraproject.org/wiki/Licensing/eGenix.com_Public_License_1.1.0"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/LGPLLR.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/LGPLLR.json",
@@ -247,27 +246,26 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/eGenix.html",
+ "reference": "https://spdx.org/licenses/OLDAP-2.2.2.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/eGenix.json",
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.2.json",
"referenceNumber": 20,
- "name": "eGenix.com Public License 1.1.0",
- "licenseId": "eGenix",
+ "name": "Open LDAP Public License 2.2.2",
+ "licenseId": "OLDAP-2.2.2",
"seeAlso": [
- "http://www.egenix.com/products/eGenix.com-Public-License-1.1.0.pdf",
- "https://fedoraproject.org/wiki/Licensing/eGenix.com_Public_License_1.1.0"
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003ddf2cc1e21eb7c160695f5b7cffd6296c151ba188"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/OLDAP-2.2.2.html",
+ "reference": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OLDAP-2.2.2.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.json",
"referenceNumber": 21,
- "name": "Open LDAP Public License 2.2.2",
- "licenseId": "OLDAP-2.2.2",
+ "name": "Creative Commons Attribution No Derivatives 3.0 Germany",
+ "licenseId": "CC-BY-ND-3.0-DE",
"seeAlso": [
- "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003ddf2cc1e21eb7c160695f5b7cffd6296c151ba188"
+ "https://creativecommons.org/licenses/by-nd/3.0/de/legalcode"
],
"isOsiApproved": false
},
@@ -285,22 +283,10 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0-DE.json",
- "referenceNumber": 23,
- "name": "Creative Commons Attribution No Derivatives 3.0 Germany",
- "licenseId": "CC-BY-ND-3.0-DE",
- "seeAlso": [
- "https://creativecommons.org/licenses/by-nd/3.0/de/legalcode"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/NCSA.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/NCSA.json",
- "referenceNumber": 24,
+ "referenceNumber": 23,
"name": "University of Illinois/NCSA Open Source License",
"licenseId": "NCSA",
"seeAlso": [
@@ -311,27 +297,28 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/PHP-3.01.html",
+ "reference": "https://spdx.org/licenses/W3C.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/PHP-3.01.json",
- "referenceNumber": 25,
- "name": "PHP License v3.01",
- "licenseId": "PHP-3.01",
+ "detailsUrl": "https://spdx.org/licenses/W3C.json",
+ "referenceNumber": 24,
+ "name": "W3C Software Notice and License (2002-12-31)",
+ "licenseId": "W3C",
"seeAlso": [
- "http://www.php.net/license/3_01.txt"
+ "http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html",
+ "https://opensource.org/licenses/W3C"
],
"isOsiApproved": true,
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CC-PDDC.html",
+ "reference": "https://spdx.org/licenses/Adobe-2006.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-PDDC.json",
- "referenceNumber": 26,
- "name": "Creative Commons Public Domain Dedication and Certification",
- "licenseId": "CC-PDDC",
+ "detailsUrl": "https://spdx.org/licenses/Adobe-2006.json",
+ "referenceNumber": 25,
+ "name": "Adobe Systems Incorporated Source Code License Agreement",
+ "licenseId": "Adobe-2006",
"seeAlso": [
- "https://creativecommons.org/licenses/publicdomain/"
+ "https://fedoraproject.org/wiki/Licensing/AdobeLicense"
],
"isOsiApproved": false
},
@@ -339,7 +326,7 @@
"reference": "https://spdx.org/licenses/Net-SNMP.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Net-SNMP.json",
- "referenceNumber": 27,
+ "referenceNumber": 26,
"name": "Net-SNMP License",
"licenseId": "Net-SNMP",
"seeAlso": [
@@ -348,6 +335,19 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-4.0.json",
+ "referenceNumber": 27,
+ "name": "Creative Commons Attribution Share Alike 4.0 International",
+ "licenseId": "CC-BY-SA-4.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/4.0/legalcode"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
"reference": "https://spdx.org/licenses/YPL-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/YPL-1.0.json",
@@ -360,22 +360,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Adobe-2006.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Adobe-2006.json",
- "referenceNumber": 29,
- "name": "Adobe Systems Incorporated Source Code License Agreement",
- "licenseId": "Adobe-2006",
- "seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/AdobeLicense"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/Nunit.html",
"isDeprecatedLicenseId": true,
"detailsUrl": "https://spdx.org/licenses/Nunit.json",
- "referenceNumber": 30,
+ "referenceNumber": 29,
"name": "Nunit License",
"licenseId": "Nunit",
"seeAlso": [
@@ -387,7 +375,7 @@
"reference": "https://spdx.org/licenses/MITNFA.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/MITNFA.json",
- "referenceNumber": 31,
+ "referenceNumber": 30,
"name": "MIT +no-false-attribs license",
"licenseId": "MITNFA",
"seeAlso": [
@@ -396,6 +384,19 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/PHP-3.01.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/PHP-3.01.json",
+ "referenceNumber": 31,
+ "name": "PHP License v3.01",
+ "licenseId": "PHP-3.01",
+ "seeAlso": [
+ "http://www.php.net/license/3_01.txt"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
"reference": "https://spdx.org/licenses/BSD-Source-Code.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/BSD-Source-Code.json",
@@ -420,18 +421,16 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/OPUBL-1.0.html",
+ "reference": "https://spdx.org/licenses/Motosoto.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OPUBL-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/Motosoto.json",
"referenceNumber": 34,
- "name": "Open Publication License v1.0",
- "licenseId": "OPUBL-1.0",
+ "name": "Motosoto License",
+ "licenseId": "Motosoto",
"seeAlso": [
- "http://opencontent.org/openpub/",
- "https://www.debian.org/opl",
- "https://www.ctan.org/license/opl"
+ "https://opensource.org/licenses/Motosoto"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/OSL-1.1.html",
@@ -447,41 +446,40 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CC-BY-SA-4.0.html",
+ "reference": "https://spdx.org/licenses/NGPL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-4.0.json",
+ "detailsUrl": "https://spdx.org/licenses/NGPL.json",
"referenceNumber": 36,
- "name": "Creative Commons Attribution Share Alike 4.0 International",
- "licenseId": "CC-BY-SA-4.0",
+ "name": "Nethack General Public License",
+ "licenseId": "NGPL",
"seeAlso": [
- "https://creativecommons.org/licenses/by-sa/4.0/legalcode"
+ "https://opensource.org/licenses/NGPL"
],
- "isOsiApproved": false,
- "isFsfLibre": true
+ "isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/Unicode-TOU.html",
+ "reference": "https://spdx.org/licenses/CC-BY-2.5-AU.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Unicode-TOU.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5-AU.json",
"referenceNumber": 37,
- "name": "Unicode Terms of Use",
- "licenseId": "Unicode-TOU",
+ "name": "Creative Commons Attribution 2.5 Australia",
+ "licenseId": "CC-BY-2.5-AU",
"seeAlso": [
- "http://www.unicode.org/copyright.html"
+ "https://creativecommons.org/licenses/by/2.5/au/legalcode"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/NGPL.html",
+ "reference": "https://spdx.org/licenses/Unicode-TOU.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NGPL.json",
+ "detailsUrl": "https://spdx.org/licenses/Unicode-TOU.json",
"referenceNumber": 38,
- "name": "Nethack General Public License",
- "licenseId": "NGPL",
+ "name": "Unicode Terms of Use",
+ "licenseId": "Unicode-TOU",
"seeAlso": [
- "https://opensource.org/licenses/NGPL"
+ "http://www.unicode.org/copyright.html"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html",
@@ -496,16 +494,18 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Motosoto.html",
+ "reference": "https://spdx.org/licenses/OPUBL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Motosoto.json",
+ "detailsUrl": "https://spdx.org/licenses/OPUBL-1.0.json",
"referenceNumber": 40,
- "name": "Motosoto License",
- "licenseId": "Motosoto",
+ "name": "Open Publication License v1.0",
+ "licenseId": "OPUBL-1.0",
"seeAlso": [
- "https://opensource.org/licenses/Motosoto"
+ "http://opencontent.org/openpub/",
+ "https://www.debian.org/opl",
+ "https://www.ctan.org/license/opl"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-UK.html",
@@ -520,47 +520,35 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/gnuplot.html",
+ "reference": "https://spdx.org/licenses/NLOD-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/gnuplot.json",
+ "detailsUrl": "https://spdx.org/licenses/NLOD-2.0.json",
"referenceNumber": 42,
- "name": "gnuplot License",
- "licenseId": "gnuplot",
- "seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Gnuplot"
- ],
- "isOsiApproved": false,
- "isFsfLibre": true
- },
- {
- "reference": "https://spdx.org/licenses/Eurosym.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Eurosym.json",
- "referenceNumber": 43,
- "name": "Eurosym License",
- "licenseId": "Eurosym",
+ "name": "Norwegian Licence for Open Government Data (NLOD) 2.0",
+ "licenseId": "NLOD-2.0",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Eurosym"
+ "http://data.norge.no/nlod/en/2.0"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CC-BY-2.5-AU.html",
+ "reference": "https://spdx.org/licenses/gnuplot.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-2.5-AU.json",
- "referenceNumber": 44,
- "name": "Creative Commons Attribution 2.5 Australia",
- "licenseId": "CC-BY-2.5-AU",
+ "detailsUrl": "https://spdx.org/licenses/gnuplot.json",
+ "referenceNumber": 43,
+ "name": "gnuplot License",
+ "licenseId": "gnuplot",
"seeAlso": [
- "https://creativecommons.org/licenses/by/2.5/au/legalcode"
+ "https://fedoraproject.org/wiki/Licensing/Gnuplot"
],
- "isOsiApproved": false
+ "isOsiApproved": false,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/EPICS.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/EPICS.json",
- "referenceNumber": 45,
+ "referenceNumber": 44,
"name": "EPICS Open License",
"licenseId": "EPICS",
"seeAlso": [
@@ -572,7 +560,7 @@
"reference": "https://spdx.org/licenses/Info-ZIP.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Info-ZIP.json",
- "referenceNumber": 46,
+ "referenceNumber": 45,
"name": "Info-ZIP License",
"licenseId": "Info-ZIP",
"seeAlso": [
@@ -584,7 +572,7 @@
"reference": "https://spdx.org/licenses/OLDAP-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/OLDAP-2.0.json",
- "referenceNumber": 47,
+ "referenceNumber": 46,
"name": "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)",
"licenseId": "OLDAP-2.0",
"seeAlso": [
@@ -593,6 +581,18 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/CERN-OHL-P-2.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CERN-OHL-P-2.0.json",
+ "referenceNumber": 47,
+ "name": "CERN Open Hardware Licence Version 2 - Permissive",
+ "licenseId": "CERN-OHL-P-2.0",
+ "seeAlso": [
+ "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
+ ],
+ "isOsiApproved": true
+ },
+ {
"reference": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.json",
@@ -605,22 +605,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CERN-OHL-P-2.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CERN-OHL-P-2.0.json",
- "referenceNumber": 49,
- "name": "CERN Open Hardware Licence Version 2 - Permissive",
- "licenseId": "CERN-OHL-P-2.0",
- "seeAlso": [
- "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
- ],
- "isOsiApproved": true
- },
- {
"reference": "https://spdx.org/licenses/AML.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/AML.json",
- "referenceNumber": 50,
+ "referenceNumber": 49,
"name": "Apple MIT License",
"licenseId": "AML",
"seeAlso": [
@@ -632,7 +620,7 @@
"reference": "https://spdx.org/licenses/MulanPSL-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/MulanPSL-1.0.json",
- "referenceNumber": 51,
+ "referenceNumber": 50,
"name": "Mulan Permissive Software License, Version 1",
"licenseId": "MulanPSL-1.0",
"seeAlso": [
@@ -642,6 +630,18 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/Multics.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Multics.json",
+ "referenceNumber": 51,
+ "name": "Multics License",
+ "licenseId": "Multics",
+ "seeAlso": [
+ "https://opensource.org/licenses/Multics"
+ ],
+ "isOsiApproved": true
+ },
+ {
"reference": "https://spdx.org/licenses/VSL-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/VSL-1.0.json",
@@ -654,39 +654,38 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/NLOD-2.0.html",
+ "reference": "https://spdx.org/licenses/RSA-MD.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NLOD-2.0.json",
+ "detailsUrl": "https://spdx.org/licenses/RSA-MD.json",
"referenceNumber": 53,
- "name": "Norwegian Licence for Open Government Data (NLOD) 2.0",
- "licenseId": "NLOD-2.0",
+ "name": "RSA Message-Digest License",
+ "licenseId": "RSA-MD",
"seeAlso": [
- "http://data.norge.no/nlod/en/2.0"
+ "http://www.faqs.org/rfcs/rfc1321.html"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/RSA-MD.html",
+ "reference": "https://spdx.org/licenses/CC-PDDC.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/RSA-MD.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-PDDC.json",
"referenceNumber": 54,
- "name": "RSA Message-Digest License",
- "licenseId": "RSA-MD",
+ "name": "Creative Commons Public Domain Dedication and Certification",
+ "licenseId": "CC-PDDC",
"seeAlso": [
- "http://www.faqs.org/rfcs/rfc1321.html"
+ "https://creativecommons.org/licenses/publicdomain/"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/O-UDA-1.0.html",
+ "reference": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/O-UDA-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.json",
"referenceNumber": 55,
- "name": "Open Use of Data Agreement v1.0",
- "licenseId": "O-UDA-1.0",
+ "name": "Creative Commons Attribution Share Alike 2.1 Japan",
+ "licenseId": "CC-BY-SA-2.1-JP",
"seeAlso": [
- "https://github.com/microsoft/Open-Use-of-Data-Agreement/blob/v1.0/O-UDA-1.0.md",
- "https://cdla.dev/open-use-of-data-agreement-v1-0/"
+ "https://creativecommons.org/licenses/by-sa/2.1/jp/legalcode"
],
"isOsiApproved": false
},
@@ -704,22 +703,10 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-2.1-JP.json",
- "referenceNumber": 57,
- "name": "Creative Commons Attribution Share Alike 2.1 Japan",
- "licenseId": "CC-BY-SA-2.1-JP",
- "seeAlso": [
- "https://creativecommons.org/licenses/by-sa/2.1/jp/legalcode"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/Spencer-94.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Spencer-94.json",
- "referenceNumber": 58,
+ "referenceNumber": 57,
"name": "Spencer License 94",
"licenseId": "Spencer-94",
"seeAlso": [
@@ -731,7 +718,7 @@
"reference": "https://spdx.org/licenses/OLDAP-1.2.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/OLDAP-1.2.json",
- "referenceNumber": 59,
+ "referenceNumber": 58,
"name": "Open LDAP Public License v1.2",
"licenseId": "OLDAP-1.2",
"seeAlso": [
@@ -740,6 +727,19 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/O-UDA-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/O-UDA-1.0.json",
+ "referenceNumber": 59,
+ "name": "Open Use of Data Agreement v1.0",
+ "licenseId": "O-UDA-1.0",
+ "seeAlso": [
+ "https://github.com/microsoft/Open-Use-of-Data-Agreement/blob/v1.0/O-UDA-1.0.md",
+ "https://cdla.dev/open-use-of-data-agreement-v1-0/"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/OLDAP-2.7.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/OLDAP-2.7.json",
@@ -802,22 +802,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/BSD-Protection.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/BSD-Protection.json",
- "referenceNumber": 65,
- "name": "BSD Protection License",
- "licenseId": "BSD-Protection",
- "seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/BSD_Protection_License"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/LiLiQ-R-1.1.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/LiLiQ-R-1.1.json",
- "referenceNumber": 66,
+ "referenceNumber": 65,
"name": "Licence Libre du Québec – Réciprocité version 1.1",
"licenseId": "LiLiQ-R-1.1",
"seeAlso": [
@@ -830,7 +818,7 @@
"reference": "https://spdx.org/licenses/Noweb.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Noweb.json",
- "referenceNumber": 67,
+ "referenceNumber": 66,
"name": "Noweb License",
"licenseId": "Noweb",
"seeAlso": [
@@ -839,22 +827,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.json",
- "referenceNumber": 68,
- "name": "GNU Free Documentation License v1.3 or later - invariants",
- "licenseId": "GFDL-1.3-invariants-or-later",
- "seeAlso": [
- "https://www.gnu.org/licenses/fdl-1.3.txt"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/CC0-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC0-1.0.json",
- "referenceNumber": 69,
+ "referenceNumber": 67,
"name": "Creative Commons Zero v1.0 Universal",
"licenseId": "CC0-1.0",
"seeAlso": [
@@ -864,10 +840,22 @@
"isFsfLibre": true
},
{
+ "reference": "https://spdx.org/licenses/BSD-Protection.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSD-Protection.json",
+ "referenceNumber": 68,
+ "name": "BSD Protection License",
+ "licenseId": "BSD-Protection",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/BSD_Protection_License"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/CC-BY-NC-2.5.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC-BY-NC-2.5.json",
- "referenceNumber": 70,
+ "referenceNumber": 69,
"name": "Creative Commons Attribution Non Commercial 2.5 Generic",
"licenseId": "CC-BY-NC-2.5",
"seeAlso": [
@@ -879,7 +867,7 @@
"reference": "https://spdx.org/licenses/Zlib.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Zlib.json",
- "referenceNumber": 71,
+ "referenceNumber": 70,
"name": "zlib License",
"licenseId": "Zlib",
"seeAlso": [
@@ -890,14 +878,14 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.html",
+ "reference": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.json",
- "referenceNumber": 72,
- "name": "GNU Free Documentation License v1.1 or later - invariants",
- "licenseId": "GFDL-1.1-invariants-or-later",
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-invariants-or-later.json",
+ "referenceNumber": 71,
+ "name": "GNU Free Documentation License v1.3 or later - invariants",
+ "licenseId": "GFDL-1.3-invariants-or-later",
"seeAlso": [
- "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
],
"isOsiApproved": false
},
@@ -905,7 +893,7 @@
"reference": "https://spdx.org/licenses/CC-BY-3.0-AT.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-AT.json",
- "referenceNumber": 73,
+ "referenceNumber": 72,
"name": "Creative Commons Attribution 3.0 Austria",
"licenseId": "CC-BY-3.0-AT",
"seeAlso": [
@@ -917,7 +905,7 @@
"reference": "https://spdx.org/licenses/LPPL-1.3c.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/LPPL-1.3c.json",
- "referenceNumber": 74,
+ "referenceNumber": 73,
"name": "LaTeX Project Public License v1.3c",
"licenseId": "LPPL-1.3c",
"seeAlso": [
@@ -930,7 +918,7 @@
"reference": "https://spdx.org/licenses/EPL-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/EPL-1.0.json",
- "referenceNumber": 75,
+ "referenceNumber": 74,
"name": "Eclipse Public License 1.0",
"licenseId": "EPL-1.0",
"seeAlso": [
@@ -941,6 +929,18 @@
"isFsfLibre": true
},
{
+ "reference": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-invariants-or-later.json",
+ "referenceNumber": 75,
+ "name": "GNU Free Documentation License v1.1 or later - invariants",
+ "licenseId": "GFDL-1.1-invariants-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/ANTLR-PD-fallback.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/ANTLR-PD-fallback.json",
@@ -965,22 +965,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Multics.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Multics.json",
- "referenceNumber": 78,
- "name": "Multics License",
- "licenseId": "Multics",
- "seeAlso": [
- "https://opensource.org/licenses/Multics"
- ],
- "isOsiApproved": true
- },
- {
"reference": "https://spdx.org/licenses/OLDAP-2.3.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/OLDAP-2.3.json",
- "referenceNumber": 79,
+ "referenceNumber": 78,
"name": "Open LDAP Public License v2.3",
"licenseId": "OLDAP-2.3",
"seeAlso": [
@@ -993,7 +981,7 @@
"reference": "https://spdx.org/licenses/ZPL-2.1.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/ZPL-2.1.json",
- "referenceNumber": 80,
+ "referenceNumber": 79,
"name": "Zope Public License 2.1",
"licenseId": "ZPL-2.1",
"seeAlso": [
@@ -1003,22 +991,24 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.html",
+ "reference": "https://spdx.org/licenses/Apache-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.json",
- "referenceNumber": 81,
- "name": "Creative Commons Attribution Share Alike 3.0 Germany",
- "licenseId": "CC-BY-SA-3.0-DE",
+ "detailsUrl": "https://spdx.org/licenses/Apache-2.0.json",
+ "referenceNumber": 80,
+ "name": "Apache License 2.0",
+ "licenseId": "Apache-2.0",
"seeAlso": [
- "https://creativecommons.org/licenses/by-sa/3.0/de/legalcode"
+ "https://www.apache.org/licenses/LICENSE-2.0",
+ "https://opensource.org/licenses/Apache-2.0"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/SGI-B-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/SGI-B-2.0.json",
- "referenceNumber": 82,
+ "referenceNumber": 81,
"name": "SGI Free Software License B v2.0",
"licenseId": "SGI-B-2.0",
"seeAlso": [
@@ -1028,24 +1018,10 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/Apache-2.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Apache-2.0.json",
- "referenceNumber": 83,
- "name": "Apache License 2.0",
- "licenseId": "Apache-2.0",
- "seeAlso": [
- "https://www.apache.org/licenses/LICENSE-2.0",
- "https://opensource.org/licenses/Apache-2.0"
- ],
- "isOsiApproved": true,
- "isFsfLibre": true
- },
- {
"reference": "https://spdx.org/licenses/Hippocratic-2.1.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Hippocratic-2.1.json",
- "referenceNumber": 84,
+ "referenceNumber": 82,
"name": "Hippocratic License 2.1",
"licenseId": "Hippocratic-2.1",
"seeAlso": [
@@ -1055,10 +1031,22 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.json",
+ "referenceNumber": 83,
+ "name": "Creative Commons Attribution Share Alike 3.0 Germany",
+ "licenseId": "CC-BY-SA-3.0-DE",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-sa/3.0/de/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-1.0.json",
- "referenceNumber": 85,
+ "referenceNumber": 84,
"name": "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic",
"licenseId": "CC-BY-NC-SA-1.0",
"seeAlso": [
@@ -1067,6 +1055,20 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/LGPL-2.1-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-or-later.json",
+ "referenceNumber": 85,
+ "name": "GNU Lesser General Public License v2.1 or later",
+ "licenseId": "LGPL-2.1-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
+ "https://opensource.org/licenses/LGPL-2.1"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
"reference": "https://spdx.org/licenses/CC-BY-3.0-US.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC-BY-3.0-US.json",
@@ -1103,18 +1105,16 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/LGPL-2.1-or-later.html",
+ "reference": "https://spdx.org/licenses/Eurosym.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-or-later.json",
+ "detailsUrl": "https://spdx.org/licenses/Eurosym.json",
"referenceNumber": 89,
- "name": "GNU Lesser General Public License v2.1 or later",
- "licenseId": "LGPL-2.1-or-later",
+ "name": "Eurosym License",
+ "licenseId": "Eurosym",
"seeAlso": [
- "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
- "https://opensource.org/licenses/LGPL-2.1"
+ "https://fedoraproject.org/wiki/Licensing/Eurosym"
],
- "isOsiApproved": true,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/GFDL-1.1.html",
@@ -1178,14 +1178,14 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/Unicode-DFS-2015.html",
+ "reference": "https://spdx.org/licenses/libtiff.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2015.json",
+ "detailsUrl": "https://spdx.org/licenses/libtiff.json",
"referenceNumber": 95,
- "name": "Unicode License Agreement - Data Files and Software (2015)",
- "licenseId": "Unicode-DFS-2015",
+ "name": "libtiff License",
+ "licenseId": "libtiff",
"seeAlso": [
- "https://web.archive.org/web/20151224134844/http://unicode.org/copyright.html"
+ "https://fedoraproject.org/wiki/Licensing/libtiff"
],
"isOsiApproved": false
},
@@ -1253,18 +1253,16 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/MPL-1.1.html",
+ "reference": "https://spdx.org/licenses/Unicode-DFS-2015.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/MPL-1.1.json",
+ "detailsUrl": "https://spdx.org/licenses/Unicode-DFS-2015.json",
"referenceNumber": 101,
- "name": "Mozilla Public License 1.1",
- "licenseId": "MPL-1.1",
+ "name": "Unicode License Agreement - Data Files and Software (2015)",
+ "licenseId": "Unicode-DFS-2015",
"seeAlso": [
- "http://www.mozilla.org/MPL/MPL-1.1.html",
- "https://opensource.org/licenses/MPL-1.1"
+ "https://web.archive.org/web/20151224134844/http://unicode.org/copyright.html"
],
- "isOsiApproved": true,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/GFDL-1.2-only.html",
@@ -1280,34 +1278,24 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CNRI-Jython.html",
+ "reference": "https://spdx.org/licenses/MPL-1.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CNRI-Jython.json",
+ "detailsUrl": "https://spdx.org/licenses/MPL-1.1.json",
"referenceNumber": 103,
- "name": "CNRI Jython License",
- "licenseId": "CNRI-Jython",
- "seeAlso": [
- "http://www.jython.org/license.html"
- ],
- "isOsiApproved": false
- },
- {
- "reference": "https://spdx.org/licenses/ZPL-1.1.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/ZPL-1.1.json",
- "referenceNumber": 104,
- "name": "Zope Public License 1.1",
- "licenseId": "ZPL-1.1",
+ "name": "Mozilla Public License 1.1",
+ "licenseId": "MPL-1.1",
"seeAlso": [
- "http://old.zope.org/Resources/License/ZPL-1.1"
+ "http://www.mozilla.org/MPL/MPL-1.1.html",
+ "https://opensource.org/licenses/MPL-1.1"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/GPL-2.0-only.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/GPL-2.0-only.json",
- "referenceNumber": 105,
+ "referenceNumber": 104,
"name": "GNU General Public License v2.0 only",
"licenseId": "GPL-2.0-only",
"seeAlso": [
@@ -1318,6 +1306,18 @@
"isFsfLibre": true
},
{
+ "reference": "https://spdx.org/licenses/CC-BY-NC-4.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-4.0.json",
+ "referenceNumber": 105,
+ "name": "Creative Commons Attribution Non Commercial 4.0 International",
+ "licenseId": "CC-BY-NC-4.0",
+ "seeAlso": [
+ "https://creativecommons.org/licenses/by-nc/4.0/legalcode"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/FreeImage.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/FreeImage.json",
@@ -1342,41 +1342,40 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CC-BY-NC-4.0.html",
+ "reference": "https://spdx.org/licenses/CNRI-Jython.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-4.0.json",
+ "detailsUrl": "https://spdx.org/licenses/CNRI-Jython.json",
"referenceNumber": 108,
- "name": "Creative Commons Attribution Non Commercial 4.0 International",
- "licenseId": "CC-BY-NC-4.0",
+ "name": "CNRI Jython License",
+ "licenseId": "CNRI-Jython",
"seeAlso": [
- "https://creativecommons.org/licenses/by-nc/4.0/legalcode"
+ "http://www.jython.org/license.html"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Rdisc.html",
+ "reference": "https://spdx.org/licenses/ZPL-1.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Rdisc.json",
+ "detailsUrl": "https://spdx.org/licenses/ZPL-1.1.json",
"referenceNumber": 109,
- "name": "Rdisc License",
- "licenseId": "Rdisc",
+ "name": "Zope Public License 1.1",
+ "licenseId": "ZPL-1.1",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Rdisc_License"
+ "http://old.zope.org/Resources/License/ZPL-1.1"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html",
+ "reference": "https://spdx.org/licenses/Afmparse.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.json",
+ "detailsUrl": "https://spdx.org/licenses/Afmparse.json",
"referenceNumber": 110,
- "name": "Mozilla Public License 2.0 (no copyleft exception)",
- "licenseId": "MPL-2.0-no-copyleft-exception",
+ "name": "Afmparse License",
+ "licenseId": "Afmparse",
"seeAlso": [
- "http://www.mozilla.org/MPL/2.0/",
- "https://opensource.org/licenses/MPL-2.0"
+ "https://fedoraproject.org/wiki/Licensing/Afmparse"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/OLDAP-2.1.html",
@@ -1391,14 +1390,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/libtiff.html",
+ "reference": "https://spdx.org/licenses/Rdisc.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/libtiff.json",
+ "detailsUrl": "https://spdx.org/licenses/Rdisc.json",
"referenceNumber": 112,
- "name": "libtiff License",
- "licenseId": "libtiff",
+ "name": "Rdisc License",
+ "licenseId": "Rdisc",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/libtiff"
+ "https://fedoraproject.org/wiki/Licensing/Rdisc_License"
],
"isOsiApproved": false
},
@@ -1429,16 +1428,17 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/AAL.html",
+ "reference": "https://spdx.org/licenses/Sendmail.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/AAL.json",
+ "detailsUrl": "https://spdx.org/licenses/Sendmail.json",
"referenceNumber": 115,
- "name": "Attribution Assurance License",
- "licenseId": "AAL",
+ "name": "Sendmail License",
+ "licenseId": "Sendmail",
"seeAlso": [
- "https://opensource.org/licenses/attribution"
+ "http://www.sendmail.com/pdfs/open_source/sendmail_license.pdf",
+ "https://web.archive.org/web/20160322142305/https://www.sendmail.com/pdfs/open_source/sendmail_license.pdf"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/CC-BY-2.5.html",
@@ -1453,39 +1453,39 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/APSL-1.2.html",
+ "reference": "https://spdx.org/licenses/AAL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/APSL-1.2.json",
+ "detailsUrl": "https://spdx.org/licenses/AAL.json",
"referenceNumber": 117,
- "name": "Apple Public Source License 1.2",
- "licenseId": "APSL-1.2",
+ "name": "Attribution Assurance License",
+ "licenseId": "AAL",
"seeAlso": [
- "http://www.samurajdata.se/opensource/mirror/licenses/apsl.php"
+ "https://opensource.org/licenses/attribution"
],
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/OFL-1.0-no-RFN.html",
+ "reference": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OFL-1.0-no-RFN.json",
+ "detailsUrl": "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.json",
"referenceNumber": 118,
- "name": "SIL Open Font License 1.0 with no Reserved Font Name",
- "licenseId": "OFL-1.0-no-RFN",
+ "name": "Mozilla Public License 2.0 (no copyleft exception)",
+ "licenseId": "MPL-2.0-no-copyleft-exception",
"seeAlso": [
- "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web"
+ "http://www.mozilla.org/MPL/2.0/",
+ "https://opensource.org/licenses/MPL-2.0"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/Sendmail.html",
+ "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Sendmail.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.json",
"referenceNumber": 119,
- "name": "Sendmail License",
- "licenseId": "Sendmail",
+ "name": "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic",
+ "licenseId": "CC-BY-NC-ND-2.5",
"seeAlso": [
- "http://www.sendmail.com/pdfs/open_source/sendmail_license.pdf",
- "https://web.archive.org/web/20160322142305/https://www.sendmail.com/pdfs/open_source/sendmail_license.pdf"
+ "https://creativecommons.org/licenses/by-nc-nd/2.5/legalcode"
],
"isOsiApproved": false
},
@@ -1502,16 +1502,18 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html",
+ "reference": "https://spdx.org/licenses/LPL-1.02.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-ND-2.5.json",
+ "detailsUrl": "https://spdx.org/licenses/LPL-1.02.json",
"referenceNumber": 121,
- "name": "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic",
- "licenseId": "CC-BY-NC-ND-2.5",
+ "name": "Lucent Public License v1.02",
+ "licenseId": "LPL-1.02",
"seeAlso": [
- "https://creativecommons.org/licenses/by-nc-nd/2.5/legalcode"
+ "http://plan9.bell-labs.com/plan9/license.html",
+ "https://opensource.org/licenses/LPL-1.02"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/ECL-1.0.html",
@@ -1526,14 +1528,14 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/Afmparse.html",
+ "reference": "https://spdx.org/licenses/OFL-1.0-no-RFN.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Afmparse.json",
+ "detailsUrl": "https://spdx.org/licenses/OFL-1.0-no-RFN.json",
"referenceNumber": 123,
- "name": "Afmparse License",
- "licenseId": "Afmparse",
+ "name": "SIL Open Font License 1.0 with no Reserved Font Name",
+ "licenseId": "OFL-1.0-no-RFN",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Afmparse"
+ "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL10_web"
],
"isOsiApproved": false
},
@@ -1588,41 +1590,40 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.3-or-later.html",
+ "reference": "https://spdx.org/licenses/APSL-1.2.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-or-later.json",
+ "detailsUrl": "https://spdx.org/licenses/APSL-1.2.json",
"referenceNumber": 128,
- "name": "GNU Free Documentation License v1.3 or later",
- "licenseId": "GFDL-1.3-or-later",
+ "name": "Apple Public Source License 1.2",
+ "licenseId": "APSL-1.2",
"seeAlso": [
- "https://www.gnu.org/licenses/fdl-1.3.txt"
+ "http://www.samurajdata.se/opensource/mirror/licenses/apsl.php"
],
- "isOsiApproved": false,
- "isFsfLibre": true
+ "isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/LPL-1.02.html",
+ "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/LPL-1.02.json",
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.json",
"referenceNumber": 129,
- "name": "Lucent Public License v1.02",
- "licenseId": "LPL-1.02",
+ "name": "GNU Free Documentation License v1.2 only - no invariants",
+ "licenseId": "GFDL-1.2-no-invariants-only",
"seeAlso": [
- "http://plan9.bell-labs.com/plan9/license.html",
- "https://opensource.org/licenses/LPL-1.02"
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
],
- "isOsiApproved": true,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/AFL-2.0.html",
+ "reference": "https://spdx.org/licenses/Artistic-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/AFL-2.0.json",
+ "detailsUrl": "https://spdx.org/licenses/Artistic-2.0.json",
"referenceNumber": 130,
- "name": "Academic Free License v2.0",
- "licenseId": "AFL-2.0",
+ "name": "Artistic License 2.0",
+ "licenseId": "Artistic-2.0",
"seeAlso": [
- "http://wayback.archive.org/web/20060924134533/http://www.opensource.org/licenses/afl-2.0.txt"
+ "http://www.perlfoundation.org/artistic_license_2_0",
+ "https://www.perlfoundation.org/artistic-license-20.html",
+ "https://opensource.org/licenses/artistic-license-2.0"
],
"isOsiApproved": true,
"isFsfLibre": true
@@ -1642,30 +1643,27 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/Artistic-2.0.html",
+ "reference": "https://spdx.org/licenses/RSCPL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Artistic-2.0.json",
+ "detailsUrl": "https://spdx.org/licenses/RSCPL.json",
"referenceNumber": 132,
- "name": "Artistic License 2.0",
- "licenseId": "Artistic-2.0",
+ "name": "Ricoh Source Code Public License",
+ "licenseId": "RSCPL",
"seeAlso": [
- "http://www.perlfoundation.org/artistic_license_2_0",
- "https://www.perlfoundation.org/artistic-license-20.html",
- "https://opensource.org/licenses/artistic-license-2.0"
+ "http://wayback.archive.org/web/20060715140826/http://www.risource.org/RPL/RPL-1.0A.shtml",
+ "https://opensource.org/licenses/RSCPL"
],
- "isOsiApproved": true,
- "isFsfLibre": true
+ "isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/MS-RL.html",
+ "reference": "https://spdx.org/licenses/Sleepycat.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/MS-RL.json",
+ "detailsUrl": "https://spdx.org/licenses/Sleepycat.json",
"referenceNumber": 133,
- "name": "Microsoft Reciprocal License",
- "licenseId": "MS-RL",
+ "name": "Sleepycat License",
+ "licenseId": "Sleepycat",
"seeAlso": [
- "http://www.microsoft.com/opensource/licenses.mspx",
- "https://opensource.org/licenses/MS-RL"
+ "https://opensource.org/licenses/Sleepycat"
],
"isOsiApproved": true,
"isFsfLibre": true
@@ -1683,14 +1681,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.html",
+ "reference": "https://spdx.org/licenses/CDLA-Sharing-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-only.json",
+ "detailsUrl": "https://spdx.org/licenses/CDLA-Sharing-1.0.json",
"referenceNumber": 135,
- "name": "GNU Free Documentation License v1.2 only - no invariants",
- "licenseId": "GFDL-1.2-no-invariants-only",
+ "name": "Community Data License Agreement Sharing 1.0",
+ "licenseId": "CDLA-Sharing-1.0",
"seeAlso": [
- "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
+ "https://cdla.io/sharing-1-0"
],
"isOsiApproved": false
},
@@ -1709,14 +1707,14 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/HaskellReport.html",
+ "reference": "https://spdx.org/licenses/AGPL-1.0-only.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/HaskellReport.json",
+ "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-only.json",
"referenceNumber": 137,
- "name": "Haskell Language Report License",
- "licenseId": "HaskellReport",
+ "name": "Affero General Public License v1.0 only",
+ "licenseId": "AGPL-1.0-only",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Haskell_Language_Report_License"
+ "http://www.affero.org/oagpl.html"
],
"isOsiApproved": false
},
@@ -1733,17 +1731,17 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/RSCPL.html",
+ "reference": "https://spdx.org/licenses/AFL-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/RSCPL.json",
+ "detailsUrl": "https://spdx.org/licenses/AFL-2.0.json",
"referenceNumber": 139,
- "name": "Ricoh Source Code Public License",
- "licenseId": "RSCPL",
+ "name": "Academic Free License v2.0",
+ "licenseId": "AFL-2.0",
"seeAlso": [
- "http://wayback.archive.org/web/20060715140826/http://www.risource.org/RPL/RPL-1.0A.shtml",
- "https://opensource.org/licenses/RSCPL"
+ "http://wayback.archive.org/web/20060924134533/http://www.opensource.org/licenses/afl-2.0.txt"
],
- "isOsiApproved": true
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/Intel.html",
@@ -1810,28 +1808,28 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/HTMLTIDY.html",
+ "reference": "https://spdx.org/licenses/Naumen.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/HTMLTIDY.json",
+ "detailsUrl": "https://spdx.org/licenses/Naumen.json",
"referenceNumber": 145,
- "name": "HTML Tidy License",
- "licenseId": "HTMLTIDY",
+ "name": "Naumen Public License",
+ "licenseId": "Naumen",
"seeAlso": [
- "https://github.com/htacg/tidy-html5/blob/next/README/LICENSE.md"
+ "https://opensource.org/licenses/Naumen"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/Naumen.html",
+ "reference": "https://spdx.org/licenses/HTMLTIDY.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Naumen.json",
+ "detailsUrl": "https://spdx.org/licenses/HTMLTIDY.json",
"referenceNumber": 146,
- "name": "Naumen Public License",
- "licenseId": "Naumen",
+ "name": "HTML Tidy License",
+ "licenseId": "HTMLTIDY",
"seeAlso": [
- "https://opensource.org/licenses/Naumen"
+ "https://github.com/htacg/tidy-html5/blob/next/README/LICENSE.md"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/OLDAP-2.8.html",
@@ -1859,16 +1857,16 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/LGPL-2.0-or-later.html",
+ "reference": "https://spdx.org/licenses/CC-BY-ND-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-or-later.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.0.json",
"referenceNumber": 149,
- "name": "GNU Library General Public License v2 or later",
- "licenseId": "LGPL-2.0-or-later",
+ "name": "Creative Commons Attribution No Derivatives 2.0 Generic",
+ "licenseId": "CC-BY-ND-2.0",
"seeAlso": [
- "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
+ "https://creativecommons.org/licenses/by-nd/2.0/legalcode"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/OGTSL.html",
@@ -1884,16 +1882,16 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/CC-BY-ND-2.0.html",
+ "reference": "https://spdx.org/licenses/LGPL-2.0-or-later.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-2.0.json",
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.0-or-later.json",
"referenceNumber": 151,
- "name": "Creative Commons Attribution No Derivatives 2.0 Generic",
- "licenseId": "CC-BY-ND-2.0",
+ "name": "GNU Library General Public License v2 or later",
+ "licenseId": "LGPL-2.0-or-later",
"seeAlso": [
- "https://creativecommons.org/licenses/by-nd/2.0/legalcode"
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/Parity-7.0.0.html",
@@ -1908,26 +1906,26 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html",
+ "reference": "https://spdx.org/licenses/CC-BY-ND-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-1.0.json",
"referenceNumber": 153,
- "name": "Creative Commons Attribution Non Commercial Share Alike 4.0 International",
- "licenseId": "CC-BY-NC-SA-4.0",
+ "name": "Creative Commons Attribution No Derivatives 1.0 Generic",
+ "licenseId": "CC-BY-ND-1.0",
"seeAlso": [
- "https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode"
+ "https://creativecommons.org/licenses/by-nd/1.0/legalcode"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CC-BY-ND-1.0.html",
+ "reference": "https://spdx.org/licenses/dvipdfm.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-ND-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/dvipdfm.json",
"referenceNumber": 154,
- "name": "Creative Commons Attribution No Derivatives 1.0 Generic",
- "licenseId": "CC-BY-ND-1.0",
+ "name": "dvipdfm License",
+ "licenseId": "dvipdfm",
"seeAlso": [
- "https://creativecommons.org/licenses/by-nd/1.0/legalcode"
+ "https://fedoraproject.org/wiki/Licensing/dvipdfm"
],
"isOsiApproved": false
},
@@ -1944,64 +1942,64 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/dvipdfm.html",
+ "reference": "https://spdx.org/licenses/BSD-4-Clause-UC.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/dvipdfm.json",
+ "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-UC.json",
"referenceNumber": 156,
- "name": "dvipdfm License",
- "licenseId": "dvipdfm",
+ "name": "BSD-4-Clause (University of California-Specific)",
+ "licenseId": "BSD-4-Clause-UC",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/dvipdfm"
+ "http://www.freebsd.org/copyright/license.html"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/LGPL-3.0.html",
- "isDeprecatedLicenseId": true,
- "detailsUrl": "https://spdx.org/licenses/LGPL-3.0.json",
+ "reference": "https://spdx.org/licenses/NLOD-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NLOD-1.0.json",
"referenceNumber": 157,
- "name": "GNU Lesser General Public License v3.0 only",
- "licenseId": "LGPL-3.0",
+ "name": "Norwegian Licence for Open Government Data (NLOD) 1.0",
+ "licenseId": "NLOD-1.0",
"seeAlso": [
- "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
- "https://opensource.org/licenses/LGPL-3.0"
+ "http://data.norge.no/nlod/en/1.0"
],
- "isOsiApproved": true,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/OLDAP-2.5.html",
+ "reference": "https://spdx.org/licenses/MS-RL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OLDAP-2.5.json",
+ "detailsUrl": "https://spdx.org/licenses/MS-RL.json",
"referenceNumber": 158,
- "name": "Open LDAP Public License v2.5",
- "licenseId": "OLDAP-2.5",
+ "name": "Microsoft Reciprocal License",
+ "licenseId": "MS-RL",
"seeAlso": [
- "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d6852b9d90022e8593c98205413380536b1b5a7cf"
+ "http://www.microsoft.com/opensource/licenses.mspx",
+ "https://opensource.org/licenses/MS-RL"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/NLOD-1.0.html",
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NLOD-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-4.0.json",
"referenceNumber": 159,
- "name": "Norwegian Licence for Open Government Data (NLOD) 1.0",
- "licenseId": "NLOD-1.0",
+ "name": "Creative Commons Attribution Non Commercial Share Alike 4.0 International",
+ "licenseId": "CC-BY-NC-SA-4.0",
"seeAlso": [
- "http://data.norge.no/nlod/en/1.0"
+ "https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/SMPPL.html",
+ "reference": "https://spdx.org/licenses/HaskellReport.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/SMPPL.json",
+ "detailsUrl": "https://spdx.org/licenses/HaskellReport.json",
"referenceNumber": 160,
- "name": "Secure Messaging Protocol Public License",
- "licenseId": "SMPPL",
+ "name": "Haskell Language Report License",
+ "licenseId": "HaskellReport",
"seeAlso": [
- "https://github.com/dcblake/SMP/blob/master/Documentation/License.txt"
+ "https://fedoraproject.org/wiki/Licensing/Haskell_Language_Report_License"
],
"isOsiApproved": false
},
@@ -2042,28 +2040,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/LGPL-2.1-only.html",
+ "reference": "https://spdx.org/licenses/SMPPL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-only.json",
+ "detailsUrl": "https://spdx.org/licenses/SMPPL.json",
"referenceNumber": 164,
- "name": "GNU Lesser General Public License v2.1 only",
- "licenseId": "LGPL-2.1-only",
- "seeAlso": [
- "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
- "https://opensource.org/licenses/LGPL-2.1"
- ],
- "isOsiApproved": true,
- "isFsfLibre": true
- },
- {
- "reference": "https://spdx.org/licenses/GL2PS.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GL2PS.json",
- "referenceNumber": 165,
- "name": "GL2PS License",
- "licenseId": "GL2PS",
+ "name": "Secure Messaging Protocol Public License",
+ "licenseId": "SMPPL",
"seeAlso": [
- "http://www.geuz.org/gl2ps/COPYING.GL2PS"
+ "https://github.com/dcblake/SMP/blob/master/Documentation/License.txt"
],
"isOsiApproved": false
},
@@ -2071,7 +2055,7 @@
"reference": "https://spdx.org/licenses/PHP-3.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/PHP-3.0.json",
- "referenceNumber": 166,
+ "referenceNumber": 165,
"name": "PHP License v3.0",
"licenseId": "PHP-3.0",
"seeAlso": [
@@ -2081,15 +2065,26 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/NIST-PD-fallback.html",
+ "reference": "https://spdx.org/licenses/GL2PS.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NIST-PD-fallback.json",
+ "detailsUrl": "https://spdx.org/licenses/GL2PS.json",
+ "referenceNumber": 166,
+ "name": "GL2PS License",
+ "licenseId": "GL2PS",
+ "seeAlso": [
+ "http://www.geuz.org/gl2ps/COPYING.GL2PS"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/CrystalStacker.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CrystalStacker.json",
"referenceNumber": 167,
- "name": "NIST Public Domain Notice with license fallback",
- "licenseId": "NIST-PD-fallback",
+ "name": "CrystalStacker License",
+ "licenseId": "CrystalStacker",
"seeAlso": [
- "https://github.com/usnistgov/jsip/blob/59700e6926cbe96c5cdae897d9a7d2656b42abe3/LICENSE",
- "https://github.com/usnistgov/fipy/blob/86aaa5c2ba2c6f1be19593c5986071cf6568cc34/LICENSE.rst"
+ "https://fedoraproject.org/wiki/Licensing:CrystalStacker?rd\u003dLicensing/CrystalStacker"
],
"isOsiApproved": false
},
@@ -2106,17 +2101,17 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CPL-1.0.html",
+ "reference": "https://spdx.org/licenses/NIST-PD-fallback.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CPL-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/NIST-PD-fallback.json",
"referenceNumber": 169,
- "name": "Common Public License 1.0",
- "licenseId": "CPL-1.0",
+ "name": "NIST Public Domain Notice with license fallback",
+ "licenseId": "NIST-PD-fallback",
"seeAlso": [
- "https://opensource.org/licenses/CPL-1.0"
+ "https://github.com/usnistgov/jsip/blob/59700e6926cbe96c5cdae897d9a7d2656b42abe3/LICENSE",
+ "https://github.com/usnistgov/fipy/blob/86aaa5c2ba2c6f1be19593c5986071cf6568cc34/LICENSE.rst"
],
- "isOsiApproved": true,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/OGL-UK-1.0.html",
@@ -2131,29 +2126,31 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CrystalStacker.html",
+ "reference": "https://spdx.org/licenses/CPL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CrystalStacker.json",
+ "detailsUrl": "https://spdx.org/licenses/CPL-1.0.json",
"referenceNumber": 171,
- "name": "CrystalStacker License",
- "licenseId": "CrystalStacker",
+ "name": "Common Public License 1.0",
+ "licenseId": "CPL-1.0",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing:CrystalStacker?rd\u003dLicensing/CrystalStacker"
+ "https://opensource.org/licenses/CPL-1.0"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/TCL.html",
+ "reference": "https://spdx.org/licenses/LGPL-2.1-only.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/TCL.json",
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.1-only.json",
"referenceNumber": 172,
- "name": "TCL/TK License",
- "licenseId": "TCL",
+ "name": "GNU Lesser General Public License v2.1 only",
+ "licenseId": "LGPL-2.1-only",
"seeAlso": [
- "http://www.tcl.tk/software/tcltk/license.html",
- "https://fedoraproject.org/wiki/Licensing/TCL"
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",
+ "https://opensource.org/licenses/LGPL-2.1"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/ZPL-2.0.html",
@@ -2208,22 +2205,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/LGPL-2.0.html",
- "isDeprecatedLicenseId": true,
- "detailsUrl": "https://spdx.org/licenses/LGPL-2.0.json",
- "referenceNumber": 177,
- "name": "GNU Library General Public License v2 only",
- "licenseId": "LGPL-2.0",
- "seeAlso": [
- "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
- ],
- "isOsiApproved": true
- },
- {
"reference": "https://spdx.org/licenses/EFL-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/EFL-2.0.json",
- "referenceNumber": 178,
+ "referenceNumber": 177,
"name": "Eiffel Forum License v2.0",
"licenseId": "EFL-2.0",
"seeAlso": [
@@ -2234,6 +2219,18 @@
"isFsfLibre": true
},
{
+ "reference": "https://spdx.org/licenses/Spencer-99.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Spencer-99.json",
+ "referenceNumber": 178,
+ "name": "Spencer License 99",
+ "licenseId": "Spencer-99",
+ "seeAlso": [
+ "http://www.opensource.apple.com/source/tcl/tcl-5/tcl/generic/regfronts.c"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.json",
@@ -2259,14 +2256,15 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/psutils.html",
+ "reference": "https://spdx.org/licenses/TCL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/psutils.json",
+ "detailsUrl": "https://spdx.org/licenses/TCL.json",
"referenceNumber": 181,
- "name": "psutils License",
- "licenseId": "psutils",
+ "name": "TCL/TK License",
+ "licenseId": "TCL",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/psutils"
+ "http://www.tcl.tk/software/tcltk/license.html",
+ "https://fedoraproject.org/wiki/Licensing/TCL"
],
"isOsiApproved": false
},
@@ -2295,62 +2293,62 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CERN-OHL-W-2.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CERN-OHL-W-2.0.json",
+ "reference": "https://spdx.org/licenses/LGPL-2.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-2.0.json",
"referenceNumber": 184,
- "name": "CERN Open Hardware Licence Version 2 - Weakly Reciprocal",
- "licenseId": "CERN-OHL-W-2.0",
+ "name": "GNU Library General Public License v2 only",
+ "licenseId": "LGPL-2.0",
"seeAlso": [
- "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
+ "https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html"
],
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/NRL.html",
+ "reference": "https://spdx.org/licenses/CERN-OHL-W-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NRL.json",
+ "detailsUrl": "https://spdx.org/licenses/CERN-OHL-W-2.0.json",
"referenceNumber": 185,
- "name": "NRL License",
- "licenseId": "NRL",
+ "name": "CERN Open Hardware Licence Version 2 - Weakly Reciprocal",
+ "licenseId": "CERN-OHL-W-2.0",
"seeAlso": [
- "http://web.mit.edu/network/isakmp/nrllicense.html"
+ "https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/CECILL-2.1.html",
+ "reference": "https://spdx.org/licenses/Glide.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CECILL-2.1.json",
+ "detailsUrl": "https://spdx.org/licenses/Glide.json",
"referenceNumber": 186,
- "name": "CeCILL Free Software License Agreement v2.1",
- "licenseId": "CECILL-2.1",
+ "name": "3dfx Glide License",
+ "licenseId": "Glide",
"seeAlso": [
- "http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html"
+ "http://www.users.on.net/~triforce/glidexp/COPYING.txt"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Glide.html",
+ "reference": "https://spdx.org/licenses/mpich2.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Glide.json",
+ "detailsUrl": "https://spdx.org/licenses/mpich2.json",
"referenceNumber": 187,
- "name": "3dfx Glide License",
- "licenseId": "Glide",
+ "name": "mpich2 License",
+ "licenseId": "mpich2",
"seeAlso": [
- "http://www.users.on.net/~triforce/glidexp/COPYING.txt"
+ "https://fedoraproject.org/wiki/Licensing/MIT"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/SCEA.html",
+ "reference": "https://spdx.org/licenses/psutils.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/SCEA.json",
+ "detailsUrl": "https://spdx.org/licenses/psutils.json",
"referenceNumber": 188,
- "name": "SCEA Shared Source License",
- "licenseId": "SCEA",
+ "name": "psutils License",
+ "licenseId": "psutils",
"seeAlso": [
- "http://research.scea.com/scea_shared_source_license.html"
+ "https://fedoraproject.org/wiki/Licensing/psutils"
],
"isOsiApproved": false
},
@@ -2394,52 +2392,52 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/SWL.html",
+ "reference": "https://spdx.org/licenses/FreeBSD-DOC.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/SWL.json",
+ "detailsUrl": "https://spdx.org/licenses/FreeBSD-DOC.json",
"referenceNumber": 192,
- "name": "Scheme Widget Library (SWL) Software License Agreement",
- "licenseId": "SWL",
+ "name": "FreeBSD Documentation License",
+ "licenseId": "FreeBSD-DOC",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/SWL"
+ "https://www.freebsd.org/copyright/freebsd-doc-license/"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/mpich2.html",
+ "reference": "https://spdx.org/licenses/SCEA.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/mpich2.json",
+ "detailsUrl": "https://spdx.org/licenses/SCEA.json",
"referenceNumber": 193,
- "name": "mpich2 License",
- "licenseId": "mpich2",
+ "name": "SCEA Shared Source License",
+ "licenseId": "SCEA",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/MIT"
+ "http://research.scea.com/scea_shared_source_license.html"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CERN-OHL-1.1.html",
+ "reference": "https://spdx.org/licenses/Latex2e.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.1.json",
+ "detailsUrl": "https://spdx.org/licenses/Latex2e.json",
"referenceNumber": 194,
- "name": "CERN Open Hardware Licence v1.1",
- "licenseId": "CERN-OHL-1.1",
+ "name": "Latex2e License",
+ "licenseId": "Latex2e",
"seeAlso": [
- "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.1"
+ "https://fedoraproject.org/wiki/Licensing/Latex2e"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Latex2e.html",
+ "reference": "https://spdx.org/licenses/Artistic-1.0-cl8.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Latex2e.json",
+ "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-cl8.json",
"referenceNumber": 195,
- "name": "Latex2e License",
- "licenseId": "Latex2e",
+ "name": "Artistic License 1.0 w/clause 8",
+ "licenseId": "Artistic-1.0-cl8",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Latex2e"
+ "https://opensource.org/licenses/Artistic-1.0"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/SGI-B-1.1.html",
@@ -2454,28 +2452,28 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/FreeBSD-DOC.html",
+ "reference": "https://spdx.org/licenses/NRL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/FreeBSD-DOC.json",
+ "detailsUrl": "https://spdx.org/licenses/NRL.json",
"referenceNumber": 197,
- "name": "FreeBSD Documentation License",
- "licenseId": "FreeBSD-DOC",
+ "name": "NRL License",
+ "licenseId": "NRL",
"seeAlso": [
- "https://www.freebsd.org/copyright/freebsd-doc-license/"
+ "http://web.mit.edu/network/isakmp/nrllicense.html"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Artistic-1.0-cl8.html",
+ "reference": "https://spdx.org/licenses/SWL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Artistic-1.0-cl8.json",
+ "detailsUrl": "https://spdx.org/licenses/SWL.json",
"referenceNumber": 198,
- "name": "Artistic License 1.0 w/clause 8",
- "licenseId": "Artistic-1.0-cl8",
+ "name": "Scheme Widget Library (SWL) Software License Agreement",
+ "licenseId": "SWL",
"seeAlso": [
- "https://opensource.org/licenses/Artistic-1.0"
+ "https://fedoraproject.org/wiki/Licensing/SWL"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/Zed.html",
@@ -2490,26 +2488,26 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/RHeCos-1.1.html",
+ "reference": "https://spdx.org/licenses/CERN-OHL-1.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/RHeCos-1.1.json",
+ "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.1.json",
"referenceNumber": 200,
- "name": "Red Hat eCos Public License v1.1",
- "licenseId": "RHeCos-1.1",
+ "name": "CERN Open Hardware Licence v1.1",
+ "licenseId": "CERN-OHL-1.1",
"seeAlso": [
- "http://ecos.sourceware.org/old-license.html"
+ "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.1"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/SSPL-1.0.html",
+ "reference": "https://spdx.org/licenses/RHeCos-1.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/SSPL-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/RHeCos-1.1.json",
"referenceNumber": 201,
- "name": "Server Side Public License, v 1",
- "licenseId": "SSPL-1.0",
+ "name": "Red Hat eCos Public License v1.1",
+ "licenseId": "RHeCos-1.1",
"seeAlso": [
- "https://www.mongodb.com/licensing/server-side-public-license"
+ "http://ecos.sourceware.org/old-license.html"
],
"isOsiApproved": false
},
@@ -2526,10 +2524,22 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/SSPL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/SSPL-1.0.json",
+ "referenceNumber": 203,
+ "name": "Server Side Public License, v 1",
+ "licenseId": "SSPL-1.0",
+ "seeAlso": [
+ "https://www.mongodb.com/licensing/server-side-public-license"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/GPL-2.0+.html",
"isDeprecatedLicenseId": true,
"detailsUrl": "https://spdx.org/licenses/GPL-2.0+.json",
- "referenceNumber": 203,
+ "referenceNumber": 204,
"name": "GNU General Public License v2.0 or later",
"licenseId": "GPL-2.0+",
"seeAlso": [
@@ -2542,7 +2552,7 @@
"reference": "https://spdx.org/licenses/OLDAP-1.4.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/OLDAP-1.4.json",
- "referenceNumber": 204,
+ "referenceNumber": 205,
"name": "Open LDAP Public License v1.4",
"licenseId": "OLDAP-1.4",
"seeAlso": [
@@ -2554,7 +2564,7 @@
"reference": "https://spdx.org/licenses/libpng-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/libpng-2.0.json",
- "referenceNumber": 205,
+ "referenceNumber": 206,
"name": "PNG Reference Library version 2",
"licenseId": "libpng-2.0",
"seeAlso": [
@@ -2566,7 +2576,7 @@
"reference": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CNRI-Python-GPL-Compatible.json",
- "referenceNumber": 206,
+ "referenceNumber": 207,
"name": "CNRI Python Open Source GPL Compatible License Agreement",
"licenseId": "CNRI-Python-GPL-Compatible",
"seeAlso": [
@@ -2575,18 +2585,6 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CC-BY-2.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-2.0.json",
- "referenceNumber": 207,
- "name": "Creative Commons Attribution 2.0 Generic",
- "licenseId": "CC-BY-2.0",
- "seeAlso": [
- "https://creativecommons.org/licenses/by/2.0/legalcode"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/Aladdin.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Aladdin.json",
@@ -2599,17 +2597,16 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Sleepycat.html",
+ "reference": "https://spdx.org/licenses/CECILL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Sleepycat.json",
+ "detailsUrl": "https://spdx.org/licenses/CECILL-1.0.json",
"referenceNumber": 209,
- "name": "Sleepycat License",
- "licenseId": "Sleepycat",
+ "name": "CeCILL Free Software License Agreement v1.0",
+ "licenseId": "CECILL-1.0",
"seeAlso": [
- "https://opensource.org/licenses/Sleepycat"
+ "http://www.cecill.info/licences/Licence_CeCILL_V1-fr.html"
],
- "isOsiApproved": true,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/Ruby.html",
@@ -2625,10 +2622,23 @@
"isFsfLibre": true
},
{
+ "reference": "https://spdx.org/licenses/NPL-1.1.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/NPL-1.1.json",
+ "referenceNumber": 211,
+ "name": "Netscape Public License v1.1",
+ "licenseId": "NPL-1.1",
+ "seeAlso": [
+ "http://www.mozilla.org/MPL/NPL/1.1/"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
"reference": "https://spdx.org/licenses/ImageMagick.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/ImageMagick.json",
- "referenceNumber": 211,
+ "referenceNumber": 212,
"name": "ImageMagick License",
"licenseId": "ImageMagick",
"seeAlso": [
@@ -2637,14 +2647,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CECILL-1.0.html",
+ "reference": "https://spdx.org/licenses/Cube.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CECILL-1.0.json",
- "referenceNumber": 212,
- "name": "CeCILL Free Software License Agreement v1.0",
- "licenseId": "CECILL-1.0",
+ "detailsUrl": "https://spdx.org/licenses/Cube.json",
+ "referenceNumber": 213,
+ "name": "Cube License",
+ "licenseId": "Cube",
"seeAlso": [
- "http://www.cecill.info/licences/Licence_CeCILL_V1-fr.html"
+ "https://fedoraproject.org/wiki/Licensing/Cube"
],
"isOsiApproved": false
},
@@ -2652,7 +2662,7 @@
"reference": "https://spdx.org/licenses/GFDL-1.1-only.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/GFDL-1.1-only.json",
- "referenceNumber": 213,
+ "referenceNumber": 214,
"name": "GNU Free Documentation License v1.1 only",
"licenseId": "GFDL-1.1-only",
"seeAlso": [
@@ -2662,41 +2672,30 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/NPL-1.1.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NPL-1.1.json",
- "referenceNumber": 214,
- "name": "Netscape Public License v1.1",
- "licenseId": "NPL-1.1",
- "seeAlso": [
- "http://www.mozilla.org/MPL/NPL/1.1/"
- ],
- "isOsiApproved": false,
- "isFsfLibre": true
- },
- {
- "reference": "https://spdx.org/licenses/TU-Berlin-2.0.html",
+ "reference": "https://spdx.org/licenses/CC-BY-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/TU-Berlin-2.0.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-2.0.json",
"referenceNumber": 215,
- "name": "Technische Universitaet Berlin License 2.0",
- "licenseId": "TU-Berlin-2.0",
+ "name": "Creative Commons Attribution 2.0 Generic",
+ "licenseId": "CC-BY-2.0",
"seeAlso": [
- "https://github.com/CorsixTH/deps/blob/fd339a9f526d1d9c9f01ccf39e438a015da50035/licences/libgsm.txt"
+ "https://creativecommons.org/licenses/by/2.0/legalcode"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Cube.html",
+ "reference": "https://spdx.org/licenses/AFL-1.2.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Cube.json",
+ "detailsUrl": "https://spdx.org/licenses/AFL-1.2.json",
"referenceNumber": 216,
- "name": "Cube License",
- "licenseId": "Cube",
+ "name": "Academic Free License v1.2",
+ "licenseId": "AFL-1.2",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Cube"
+ "http://opensource.linux-mirror.org/licenses/afl-1.2.txt",
+ "http://wayback.archive.org/web/20021204204652/http://www.opensource.org/licenses/academic.php"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/CC-BY-SA-2.0.html",
@@ -2711,22 +2710,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/MIT-advertising.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/MIT-advertising.json",
- "referenceNumber": 218,
- "name": "Enlightenment License (e16)",
- "licenseId": "MIT-advertising",
- "seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/MIT_With_Advertising"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/CECILL-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CECILL-2.0.json",
- "referenceNumber": 219,
+ "referenceNumber": 218,
"name": "CeCILL Free Software License Agreement v2.0",
"licenseId": "CECILL-2.0",
"seeAlso": [
@@ -2736,6 +2723,18 @@
"isFsfLibre": true
},
{
+ "reference": "https://spdx.org/licenses/MIT-advertising.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-advertising.json",
+ "referenceNumber": 219,
+ "name": "Enlightenment License (e16)",
+ "licenseId": "MIT-advertising",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/MIT_With_Advertising"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-2.5.json",
@@ -2760,15 +2759,15 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/AFL-1.2.html",
+ "reference": "https://spdx.org/licenses/OSL-3.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/AFL-1.2.json",
+ "detailsUrl": "https://spdx.org/licenses/OSL-3.0.json",
"referenceNumber": 222,
- "name": "Academic Free License v1.2",
- "licenseId": "AFL-1.2",
+ "name": "Open Software License 3.0",
+ "licenseId": "OSL-3.0",
"seeAlso": [
- "http://opensource.linux-mirror.org/licenses/afl-1.2.txt",
- "http://wayback.archive.org/web/20021204204652/http://www.opensource.org/licenses/academic.php"
+ "https://web.archive.org/web/20120101081418/http://rosenlaw.com:80/OSL3.0.htm",
+ "https://opensource.org/licenses/OSL-3.0"
],
"isOsiApproved": true,
"isFsfLibre": true
@@ -2811,24 +2810,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/OSL-3.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OSL-3.0.json",
- "referenceNumber": 226,
- "name": "Open Software License 3.0",
- "licenseId": "OSL-3.0",
- "seeAlso": [
- "https://web.archive.org/web/20120101081418/http://rosenlaw.com:80/OSL3.0.htm",
- "https://opensource.org/licenses/OSL-3.0"
- ],
- "isOsiApproved": true,
- "isFsfLibre": true
- },
- {
"reference": "https://spdx.org/licenses/EUDatagrid.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/EUDatagrid.json",
- "referenceNumber": 227,
+ "referenceNumber": 226,
"name": "EU DataGrid Software License",
"licenseId": "EUDatagrid",
"seeAlso": [
@@ -2842,7 +2827,7 @@
"reference": "https://spdx.org/licenses/MTLL.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/MTLL.json",
- "referenceNumber": 228,
+ "referenceNumber": 227,
"name": "Matrix Template Library License",
"licenseId": "MTLL",
"seeAlso": [
@@ -2854,7 +2839,7 @@
"reference": "https://spdx.org/licenses/GFDL-1.2-invariants-only.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/GFDL-1.2-invariants-only.json",
- "referenceNumber": 229,
+ "referenceNumber": 228,
"name": "GNU Free Documentation License v1.2 only - invariants",
"licenseId": "GFDL-1.2-invariants-only",
"seeAlso": [
@@ -2863,6 +2848,18 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.json",
+ "referenceNumber": 229,
+ "name": "GNU Free Documentation License v1.3 or later - no invariants",
+ "licenseId": "GFDL-1.3-no-invariants-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/curl.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/curl.json",
@@ -2875,14 +2872,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CC-BY-3.0.html",
+ "reference": "https://spdx.org/licenses/LAL-1.3.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0.json",
+ "detailsUrl": "https://spdx.org/licenses/LAL-1.3.json",
"referenceNumber": 231,
- "name": "Creative Commons Attribution 3.0 Unported",
- "licenseId": "CC-BY-3.0",
+ "name": "Licence Art Libre 1.3",
+ "licenseId": "LAL-1.3",
"seeAlso": [
- "https://creativecommons.org/licenses/by/3.0/legalcode"
+ "https://artlibre.org/"
],
"isOsiApproved": false
},
@@ -2899,26 +2896,26 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/LAL-1.3.html",
+ "reference": "https://spdx.org/licenses/CERN-OHL-1.2.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/LAL-1.3.json",
+ "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.2.json",
"referenceNumber": 233,
- "name": "Licence Art Libre 1.3",
- "licenseId": "LAL-1.3",
+ "name": "CERN Open Hardware Licence v1.2",
+ "licenseId": "CERN-OHL-1.2",
"seeAlso": [
- "https://artlibre.org/"
+ "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.2"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CERN-OHL-1.2.html",
+ "reference": "https://spdx.org/licenses/TOSL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CERN-OHL-1.2.json",
+ "detailsUrl": "https://spdx.org/licenses/TOSL.json",
"referenceNumber": 234,
- "name": "CERN Open Hardware Licence v1.2",
- "licenseId": "CERN-OHL-1.2",
+ "name": "Trusster Open Source License",
+ "licenseId": "TOSL",
"seeAlso": [
- "https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.2"
+ "https://fedoraproject.org/wiki/Licensing/TOSL"
],
"isOsiApproved": false
},
@@ -2935,38 +2932,38 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/TOSL.html",
+ "reference": "https://spdx.org/licenses/CC-BY-3.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/TOSL.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-3.0.json",
"referenceNumber": 236,
- "name": "Trusster Open Source License",
- "licenseId": "TOSL",
+ "name": "Creative Commons Attribution 3.0 Unported",
+ "licenseId": "CC-BY-3.0",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/TOSL"
+ "https://creativecommons.org/licenses/by/3.0/legalcode"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.html",
+ "reference": "https://spdx.org/licenses/Qhull.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.json",
+ "detailsUrl": "https://spdx.org/licenses/Qhull.json",
"referenceNumber": 237,
- "name": "GNU Free Documentation License v1.3 only - no invariants",
- "licenseId": "GFDL-1.3-no-invariants-only",
+ "name": "Qhull License",
+ "licenseId": "Qhull",
"seeAlso": [
- "https://www.gnu.org/licenses/fdl-1.3.txt"
+ "https://fedoraproject.org/wiki/Licensing/Qhull"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Qhull.html",
+ "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Qhull.json",
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-only.json",
"referenceNumber": 238,
- "name": "Qhull License",
- "licenseId": "Qhull",
+ "name": "GNU Free Documentation License v1.3 only - no invariants",
+ "licenseId": "GFDL-1.3-no-invariants-only",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Qhull"
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
],
"isOsiApproved": false
},
@@ -3073,28 +3070,29 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CDLA-Sharing-1.0.html",
+ "reference": "https://spdx.org/licenses/Xerox.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CDLA-Sharing-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/Xerox.json",
"referenceNumber": 247,
- "name": "Community Data License Agreement Sharing 1.0",
- "licenseId": "CDLA-Sharing-1.0",
+ "name": "Xerox License",
+ "licenseId": "Xerox",
"seeAlso": [
- "https://cdla.io/sharing-1-0"
+ "https://fedoraproject.org/wiki/Licensing/Xerox"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/AGPL-1.0-only.html",
+ "reference": "https://spdx.org/licenses/CDDL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-only.json",
+ "detailsUrl": "https://spdx.org/licenses/CDDL-1.0.json",
"referenceNumber": 248,
- "name": "Affero General Public License v1.0 only",
- "licenseId": "AGPL-1.0-only",
+ "name": "Common Development and Distribution License 1.0",
+ "licenseId": "CDDL-1.0",
"seeAlso": [
- "http://www.affero.org/oagpl.html"
+ "https://opensource.org/licenses/cddl1"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/GFDL-1.3-invariants-only.html",
@@ -3109,14 +3107,15 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/BSD-4-Clause-UC.html",
+ "reference": "https://spdx.org/licenses/etalab-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/BSD-4-Clause-UC.json",
+ "detailsUrl": "https://spdx.org/licenses/etalab-2.0.json",
"referenceNumber": 250,
- "name": "BSD-4-Clause (University of California-Specific)",
- "licenseId": "BSD-4-Clause-UC",
+ "name": "Etalab Open License 2.0",
+ "licenseId": "etalab-2.0",
"seeAlso": [
- "http://www.freebsd.org/copyright/license.html"
+ "https://github.com/DISIC/politique-de-contribution-open-source/blob/master/LICENSE.pdf",
+ "https://raw.githubusercontent.com/DISIC/politique-de-contribution-open-source/master/LICENSE"
],
"isOsiApproved": false
},
@@ -3146,14 +3145,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Spencer-99.html",
+ "reference": "https://spdx.org/licenses/LPPL-1.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Spencer-99.json",
+ "detailsUrl": "https://spdx.org/licenses/LPPL-1.1.json",
"referenceNumber": 253,
- "name": "Spencer License 99",
- "licenseId": "Spencer-99",
+ "name": "LaTeX Project Public License v1.1",
+ "licenseId": "LPPL-1.1",
"seeAlso": [
- "http://www.opensource.apple.com/source/tcl/tcl-5/tcl/generic/regfronts.c"
+ "http://www.latex-project.org/lppl/lppl-1-1.txt"
],
"isOsiApproved": false
},
@@ -3170,53 +3169,39 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.html",
+ "reference": "https://spdx.org/licenses/TU-Berlin-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.json",
+ "detailsUrl": "https://spdx.org/licenses/TU-Berlin-2.0.json",
"referenceNumber": 255,
- "name": "GNU Free Documentation License v1.3 or later - no invariants",
- "licenseId": "GFDL-1.3-no-invariants-or-later",
+ "name": "Technische Universitaet Berlin License 2.0",
+ "licenseId": "TU-Berlin-2.0",
"seeAlso": [
- "https://www.gnu.org/licenses/fdl-1.3.txt"
+ "https://github.com/CorsixTH/deps/blob/fd339a9f526d1d9c9f01ccf39e438a015da50035/licences/libgsm.txt"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/LPPL-1.1.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/LPPL-1.1.json",
+ "reference": "https://spdx.org/licenses/GFDL-1.3.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3.json",
"referenceNumber": 256,
- "name": "LaTeX Project Public License v1.1",
- "licenseId": "LPPL-1.1",
- "seeAlso": [
- "http://www.latex-project.org/lppl/lppl-1-1.txt"
- ],
- "isOsiApproved": false
- },
- {
- "reference": "https://spdx.org/licenses/CDDL-1.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CDDL-1.0.json",
- "referenceNumber": 257,
- "name": "Common Development and Distribution License 1.0",
- "licenseId": "CDDL-1.0",
+ "name": "GNU Free Documentation License v1.3",
+ "licenseId": "GFDL-1.3",
"seeAlso": [
- "https://opensource.org/licenses/cddl1"
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
],
- "isOsiApproved": true,
+ "isOsiApproved": false,
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/FTL.html",
+ "reference": "https://spdx.org/licenses/GFDL-1.3-or-later.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/FTL.json",
- "referenceNumber": 258,
- "name": "Freetype Project License",
- "licenseId": "FTL",
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-or-later.json",
+ "referenceNumber": 257,
+ "name": "GNU Free Documentation License v1.3 or later",
+ "licenseId": "GFDL-1.3-or-later",
"seeAlso": [
- "http://freetype.fis.uniroma2.it/FTL.TXT",
- "http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT",
- "http://gitlab.freedesktop.org/freetype/freetype/-/raw/master/docs/FTL.TXT"
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
],
"isOsiApproved": false,
"isFsfLibre": true
@@ -3225,7 +3210,7 @@
"reference": "https://spdx.org/licenses/LAL-1.2.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/LAL-1.2.json",
- "referenceNumber": 259,
+ "referenceNumber": 258,
"name": "Licence Art Libre 1.2",
"licenseId": "LAL-1.2",
"seeAlso": [
@@ -3237,7 +3222,7 @@
"reference": "https://spdx.org/licenses/ICU.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/ICU.json",
- "referenceNumber": 260,
+ "referenceNumber": 259,
"name": "ICU License",
"licenseId": "ICU",
"seeAlso": [
@@ -3246,6 +3231,21 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/FTL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/FTL.json",
+ "referenceNumber": 260,
+ "name": "Freetype Project License",
+ "licenseId": "FTL",
+ "seeAlso": [
+ "http://freetype.fis.uniroma2.it/FTL.TXT",
+ "http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT",
+ "http://gitlab.freedesktop.org/freetype/freetype/-/raw/master/docs/FTL.TXT"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
"reference": "https://spdx.org/licenses/MirOS.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/MirOS.json",
@@ -3282,16 +3282,17 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Xerox.html",
+ "reference": "https://spdx.org/licenses/OSET-PL-2.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Xerox.json",
+ "detailsUrl": "https://spdx.org/licenses/OSET-PL-2.1.json",
"referenceNumber": 264,
- "name": "Xerox License",
- "licenseId": "Xerox",
+ "name": "OSET Public License version 2.1",
+ "licenseId": "OSET-PL-2.1",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Xerox"
+ "http://www.osetfoundation.org/public-license",
+ "https://opensource.org/licenses/OPL-2.1"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/CC-BY-NC-ND-2.0.html",
@@ -3306,39 +3307,38 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/OSET-PL-2.1.html",
+ "reference": "https://spdx.org/licenses/SISSL-1.2.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OSET-PL-2.1.json",
+ "detailsUrl": "https://spdx.org/licenses/SISSL-1.2.json",
"referenceNumber": 266,
- "name": "OSET Public License version 2.1",
- "licenseId": "OSET-PL-2.1",
+ "name": "Sun Industry Standards Source License v1.2",
+ "licenseId": "SISSL-1.2",
"seeAlso": [
- "http://www.osetfoundation.org/public-license",
- "https://opensource.org/licenses/OPL-2.1"
+ "http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/SISSL-1.2.html",
+ "reference": "https://spdx.org/licenses/Wsuipa.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/SISSL-1.2.json",
+ "detailsUrl": "https://spdx.org/licenses/Wsuipa.json",
"referenceNumber": 267,
- "name": "Sun Industry Standards Source License v1.2",
- "licenseId": "SISSL-1.2",
+ "name": "Wsuipa License",
+ "licenseId": "Wsuipa",
"seeAlso": [
- "http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html"
+ "https://fedoraproject.org/wiki/Licensing/Wsuipa"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Adobe-Glyph.html",
+ "reference": "https://spdx.org/licenses/Zimbra-1.4.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Adobe-Glyph.json",
+ "detailsUrl": "https://spdx.org/licenses/Zimbra-1.4.json",
"referenceNumber": 268,
- "name": "Adobe Glyph List License",
- "licenseId": "Adobe-Glyph",
+ "name": "Zimbra Public License v1.4",
+ "licenseId": "Zimbra-1.4",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/MIT#AdobeGlyph"
+ "http://www.zimbra.com/legal/zimbra-public-license-1-4"
],
"isOsiApproved": false
},
@@ -3355,27 +3355,28 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/etalab-2.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/etalab-2.0.json",
+ "reference": "https://spdx.org/licenses/LGPL-3.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/LGPL-3.0.json",
"referenceNumber": 270,
- "name": "Etalab Open License 2.0",
- "licenseId": "etalab-2.0",
+ "name": "GNU Lesser General Public License v3.0 only",
+ "licenseId": "LGPL-3.0",
"seeAlso": [
- "https://github.com/DISIC/politique-de-contribution-open-source/blob/master/LICENSE.pdf",
- "https://raw.githubusercontent.com/DISIC/politique-de-contribution-open-source/master/LICENSE"
+ "https://www.gnu.org/licenses/lgpl-3.0-standalone.html",
+ "https://opensource.org/licenses/LGPL-3.0"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/Wsuipa.html",
+ "reference": "https://spdx.org/licenses/OLDAP-2.5.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Wsuipa.json",
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.5.json",
"referenceNumber": 271,
- "name": "Wsuipa License",
- "licenseId": "Wsuipa",
+ "name": "Open LDAP Public License v2.5",
+ "licenseId": "OLDAP-2.5",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Wsuipa"
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d6852b9d90022e8593c98205413380536b1b5a7cf"
],
"isOsiApproved": false
},
@@ -3416,10 +3417,22 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/Adobe-Glyph.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Adobe-Glyph.json",
+ "referenceNumber": 275,
+ "name": "Adobe Glyph List License",
+ "licenseId": "Adobe-Glyph",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/MIT#AdobeGlyph"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/0BSD.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/0BSD.json",
- "referenceNumber": 275,
+ "referenceNumber": 276,
"name": "BSD Zero Clause License",
"licenseId": "0BSD",
"seeAlso": [
@@ -3431,7 +3444,7 @@
"reference": "https://spdx.org/licenses/W3C-19980720.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/W3C-19980720.json",
- "referenceNumber": 276,
+ "referenceNumber": 277,
"name": "W3C Software Notice and License (1998-07-20)",
"licenseId": "W3C-19980720",
"seeAlso": [
@@ -3440,18 +3453,6 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.json",
- "referenceNumber": 277,
- "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported",
- "licenseId": "CC-BY-NC-SA-3.0",
- "seeAlso": [
- "https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/FSFUL.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/FSFUL.json",
@@ -3464,26 +3465,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.html",
+ "reference": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-NC-SA-3.0.json",
"referenceNumber": 279,
- "name": "PolyForm Noncommercial License 1.0.0",
- "licenseId": "PolyForm-Noncommercial-1.0.0",
- "seeAlso": [
- "https://polyformproject.org/licenses/noncommercial/1.0.0"
- ],
- "isOsiApproved": false
- },
- {
- "reference": "https://spdx.org/licenses/Zimbra-1.4.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Zimbra-1.4.json",
- "referenceNumber": 280,
- "name": "Zimbra Public License v1.4",
- "licenseId": "Zimbra-1.4",
+ "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported",
+ "licenseId": "CC-BY-NC-SA-3.0",
"seeAlso": [
- "http://www.zimbra.com/legal/zimbra-public-license-1-4"
+ "https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode"
],
"isOsiApproved": false
},
@@ -3491,7 +3480,7 @@
"reference": "https://spdx.org/licenses/DOC.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/DOC.json",
- "referenceNumber": 281,
+ "referenceNumber": 280,
"name": "DOC License",
"licenseId": "DOC",
"seeAlso": [
@@ -3504,7 +3493,7 @@
"reference": "https://spdx.org/licenses/TMate.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/TMate.json",
- "referenceNumber": 282,
+ "referenceNumber": 281,
"name": "TMate Open Source License",
"licenseId": "TMate",
"seeAlso": [
@@ -3513,6 +3502,21 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/MIT-open-group.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-open-group.json",
+ "referenceNumber": 282,
+ "name": "MIT Open Group variant",
+ "licenseId": "MIT-open-group",
+ "seeAlso": [
+ "https://gitlab.freedesktop.org/xorg/app/iceauth/-/blob/master/COPYING",
+ "https://gitlab.freedesktop.org/xorg/app/xvinfo/-/blob/master/COPYING",
+ "https://gitlab.freedesktop.org/xorg/app/xsetroot/-/blob/master/COPYING",
+ "https://gitlab.freedesktop.org/xorg/app/xauth/-/blob/master/COPYING"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/AMDPLPA.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/AMDPLPA.json",
@@ -3525,32 +3529,30 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/MIT-open-group.html",
+ "reference": "https://spdx.org/licenses/Condor-1.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/MIT-open-group.json",
+ "detailsUrl": "https://spdx.org/licenses/Condor-1.1.json",
"referenceNumber": 284,
- "name": "MIT Open Group variant",
- "licenseId": "MIT-open-group",
+ "name": "Condor Public License v1.1",
+ "licenseId": "Condor-1.1",
"seeAlso": [
- "https://gitlab.freedesktop.org/xorg/app/iceauth/-/blob/master/COPYING",
- "https://gitlab.freedesktop.org/xorg/app/xvinfo/-/blob/master/COPYING",
- "https://gitlab.freedesktop.org/xorg/app/xsetroot/-/blob/master/COPYING",
- "https://gitlab.freedesktop.org/xorg/app/xauth/-/blob/master/COPYING"
+ "http://research.cs.wisc.edu/condor/license.html#condor",
+ "http://web.archive.org/web/20111123062036/http://research.cs.wisc.edu/condor/license.html#condor"
],
- "isOsiApproved": false
+ "isOsiApproved": false,
+ "isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CC-BY-4.0.html",
+ "reference": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-4.0.json",
+ "detailsUrl": "https://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.json",
"referenceNumber": 285,
- "name": "Creative Commons Attribution 4.0 International",
- "licenseId": "CC-BY-4.0",
+ "name": "PolyForm Noncommercial License 1.0.0",
+ "licenseId": "PolyForm-Noncommercial-1.0.0",
"seeAlso": [
- "https://creativecommons.org/licenses/by/4.0/legalcode"
+ "https://polyformproject.org/licenses/noncommercial/1.0.0"
],
- "isOsiApproved": false,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/BSD-3-Clause-No-Military-License.html",
@@ -3566,15 +3568,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Condor-1.1.html",
+ "reference": "https://spdx.org/licenses/CC-BY-4.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Condor-1.1.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-4.0.json",
"referenceNumber": 287,
- "name": "Condor Public License v1.1",
- "licenseId": "Condor-1.1",
+ "name": "Creative Commons Attribution 4.0 International",
+ "licenseId": "CC-BY-4.0",
"seeAlso": [
- "http://research.cs.wisc.edu/condor/license.html#condor",
- "http://web.archive.org/web/20111123062036/http://research.cs.wisc.edu/condor/license.html#condor"
+ "https://creativecommons.org/licenses/by/4.0/legalcode"
],
"isOsiApproved": false,
"isFsfLibre": true
@@ -3641,23 +3642,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.3.html",
- "isDeprecatedLicenseId": true,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.3.json",
- "referenceNumber": 293,
- "name": "GNU Free Documentation License v1.3",
- "licenseId": "GFDL-1.3",
- "seeAlso": [
- "https://www.gnu.org/licenses/fdl-1.3.txt"
- ],
- "isOsiApproved": false,
- "isFsfLibre": true
- },
- {
"reference": "https://spdx.org/licenses/GPL-3.0-or-later.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/GPL-3.0-or-later.json",
- "referenceNumber": 294,
+ "referenceNumber": 293,
"name": "GNU General Public License v3.0 or later",
"licenseId": "GPL-3.0-or-later",
"seeAlso": [
@@ -3671,7 +3659,7 @@
"reference": "https://spdx.org/licenses/CDLA-Permissive-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-2.0.json",
- "referenceNumber": 295,
+ "referenceNumber": 294,
"name": "Community Data License Agreement Permissive 2.0",
"licenseId": "CDLA-Permissive-2.0",
"seeAlso": [
@@ -3683,7 +3671,7 @@
"reference": "https://spdx.org/licenses/CC-BY-ND-3.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC-BY-ND-3.0.json",
- "referenceNumber": 296,
+ "referenceNumber": 295,
"name": "Creative Commons Attribution No Derivatives 3.0 Unported",
"licenseId": "CC-BY-ND-3.0",
"seeAlso": [
@@ -3695,7 +3683,7 @@
"reference": "https://spdx.org/licenses/C-UDA-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/C-UDA-1.0.json",
- "referenceNumber": 297,
+ "referenceNumber": 296,
"name": "Computational Use of Data Agreement v1.0",
"licenseId": "C-UDA-1.0",
"seeAlso": [
@@ -3705,6 +3693,18 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/Barr.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Barr.json",
+ "referenceNumber": 297,
+ "name": "Barr License",
+ "licenseId": "Barr",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/Barr"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/Vim.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Vim.json",
@@ -3730,34 +3730,23 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Barr.html",
+ "reference": "https://spdx.org/licenses/BitTorrent-1.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Barr.json",
+ "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.1.json",
"referenceNumber": 300,
- "name": "Barr License",
- "licenseId": "Barr",
- "seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Barr"
- ],
- "isOsiApproved": false
- },
- {
- "reference": "https://spdx.org/licenses/ADSL.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/ADSL.json",
- "referenceNumber": 301,
- "name": "Amazon Digital Services License",
- "licenseId": "ADSL",
+ "name": "BitTorrent Open Source License v1.1",
+ "licenseId": "BitTorrent-1.1",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/AmazonDigitalServicesLicense"
+ "http://directory.fsf.org/wiki/License:BitTorrentOSL1.1"
],
- "isOsiApproved": false
+ "isOsiApproved": false,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/CDL-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CDL-1.0.json",
- "referenceNumber": 302,
+ "referenceNumber": 301,
"name": "Common Documentation License 1.0",
"licenseId": "CDL-1.0",
"seeAlso": [
@@ -3771,7 +3760,7 @@
"reference": "https://spdx.org/licenses/CC-BY-SA-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CC-BY-SA-1.0.json",
- "referenceNumber": 303,
+ "referenceNumber": 302,
"name": "Creative Commons Attribution Share Alike 1.0 Generic",
"licenseId": "CC-BY-SA-1.0",
"seeAlso": [
@@ -3780,10 +3769,35 @@
"isOsiApproved": false
},
{
+ "reference": "https://spdx.org/licenses/ADSL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/ADSL.json",
+ "referenceNumber": 303,
+ "name": "Amazon Digital Services License",
+ "licenseId": "ADSL",
+ "seeAlso": [
+ "https://fedoraproject.org/wiki/Licensing/AmazonDigitalServicesLicense"
+ ],
+ "isOsiApproved": false
+ },
+ {
+ "reference": "https://spdx.org/licenses/PostgreSQL.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/PostgreSQL.json",
+ "referenceNumber": 304,
+ "name": "PostgreSQL License",
+ "licenseId": "PostgreSQL",
+ "seeAlso": [
+ "http://www.postgresql.org/about/licence",
+ "https://opensource.org/licenses/PostgreSQL"
+ ],
+ "isOsiApproved": true
+ },
+ {
"reference": "https://spdx.org/licenses/OFL-1.1.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/OFL-1.1.json",
- "referenceNumber": 304,
+ "referenceNumber": 305,
"name": "SIL Open Font License 1.1",
"licenseId": "OFL-1.1",
"seeAlso": [
@@ -3794,18 +3808,6 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/GLWTPL.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GLWTPL.json",
- "referenceNumber": 305,
- "name": "Good Luck With That Public License",
- "licenseId": "GLWTPL",
- "seeAlso": [
- "https://github.com/me-shaon/GLWTPL/commit/da5f6bc734095efbacb442c0b31e33a65b9d6e85"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/NPL-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/NPL-1.0.json",
@@ -3892,17 +3894,16 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/PostgreSQL.html",
+ "reference": "https://spdx.org/licenses/GLWTPL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/PostgreSQL.json",
+ "detailsUrl": "https://spdx.org/licenses/GLWTPL.json",
"referenceNumber": 313,
- "name": "PostgreSQL License",
- "licenseId": "PostgreSQL",
+ "name": "Good Luck With That Public License",
+ "licenseId": "GLWTPL",
"seeAlso": [
- "http://www.postgresql.org/about/licence",
- "https://opensource.org/licenses/PostgreSQL"
+ "https://github.com/me-shaon/GLWTPL/commit/da5f6bc734095efbacb442c0b31e33a65b9d6e85"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/LGPL-3.0-only.html",
@@ -3993,36 +3994,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/AGPL-1.0-or-later.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-or-later.json",
- "referenceNumber": 321,
- "name": "Affero General Public License v1.0 or later",
- "licenseId": "AGPL-1.0-or-later",
- "seeAlso": [
- "http://www.affero.org/oagpl.html"
- ],
- "isOsiApproved": false
- },
- {
- "reference": "https://spdx.org/licenses/BSL-1.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/BSL-1.0.json",
- "referenceNumber": 322,
- "name": "Boost Software License 1.0",
- "licenseId": "BSL-1.0",
- "seeAlso": [
- "http://www.boost.org/LICENSE_1_0.txt",
- "https://opensource.org/licenses/BSL-1.0"
- ],
- "isOsiApproved": true,
- "isFsfLibre": true
- },
- {
"reference": "https://spdx.org/licenses/IJG.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/IJG.json",
- "referenceNumber": 323,
+ "referenceNumber": 321,
"name": "Independent JPEG Group License",
"licenseId": "IJG",
"seeAlso": [
@@ -4032,10 +4007,22 @@
"isFsfLibre": true
},
{
+ "reference": "https://spdx.org/licenses/AGPL-1.0-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/AGPL-1.0-or-later.json",
+ "referenceNumber": 322,
+ "name": "Affero General Public License v1.0 or later",
+ "licenseId": "AGPL-1.0-or-later",
+ "seeAlso": [
+ "http://www.affero.org/oagpl.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/OFL-1.1-no-RFN.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/OFL-1.1-no-RFN.json",
- "referenceNumber": 324,
+ "referenceNumber": 323,
"name": "SIL Open Font License 1.1 with no Reserved Font Name",
"licenseId": "OFL-1.1-no-RFN",
"seeAlso": [
@@ -4045,6 +4032,20 @@
"isOsiApproved": true
},
{
+ "reference": "https://spdx.org/licenses/BSL-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/BSL-1.0.json",
+ "referenceNumber": 324,
+ "name": "Boost Software License 1.0",
+ "licenseId": "BSL-1.0",
+ "seeAlso": [
+ "http://www.boost.org/LICENSE_1_0.txt",
+ "https://opensource.org/licenses/BSL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
"reference": "https://spdx.org/licenses/Libpng.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Libpng.json",
@@ -4193,28 +4194,28 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/libselinux-1.0.html",
+ "reference": "https://spdx.org/licenses/CECILL-1.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/libselinux-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/CECILL-1.1.json",
"referenceNumber": 337,
- "name": "libselinux public domain notice",
- "licenseId": "libselinux-1.0",
+ "name": "CeCILL Free Software License Agreement v1.1",
+ "licenseId": "CECILL-1.1",
"seeAlso": [
- "https://github.com/SELinuxProject/selinux/blob/master/libselinux/LICENSE"
+ "http://www.cecill.info/licences/Licence_CeCILL_V1.1-US.html"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CECILL-1.1.html",
+ "reference": "https://spdx.org/licenses/CECILL-2.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CECILL-1.1.json",
+ "detailsUrl": "https://spdx.org/licenses/CECILL-2.1.json",
"referenceNumber": 338,
- "name": "CeCILL Free Software License Agreement v1.1",
- "licenseId": "CECILL-1.1",
+ "name": "CeCILL Free Software License Agreement v2.1",
+ "licenseId": "CECILL-2.1",
"seeAlso": [
- "http://www.cecill.info/licences/Licence_CeCILL_V1.1-US.html"
+ "http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/OGDL-Taiwan-1.0.html",
@@ -4229,39 +4230,26 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/BSD-1-Clause.html",
+ "reference": "https://spdx.org/licenses/Abstyles.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/BSD-1-Clause.json",
+ "detailsUrl": "https://spdx.org/licenses/Abstyles.json",
"referenceNumber": 340,
- "name": "BSD 1-Clause License",
- "licenseId": "BSD-1-Clause",
+ "name": "Abstyles License",
+ "licenseId": "Abstyles",
"seeAlso": [
- "https://svnweb.freebsd.org/base/head/include/ifaddrs.h?revision\u003d326823"
+ "https://fedoraproject.org/wiki/Licensing/Abstyles"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/BitTorrent-1.1.html",
+ "reference": "https://spdx.org/licenses/libselinux-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/BitTorrent-1.1.json",
+ "detailsUrl": "https://spdx.org/licenses/libselinux-1.0.json",
"referenceNumber": 341,
- "name": "BitTorrent Open Source License v1.1",
- "licenseId": "BitTorrent-1.1",
- "seeAlso": [
- "http://directory.fsf.org/wiki/License:BitTorrentOSL1.1"
- ],
- "isOsiApproved": false,
- "isFsfLibre": true
- },
- {
- "reference": "https://spdx.org/licenses/MIT-enna.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/MIT-enna.json",
- "referenceNumber": 342,
- "name": "enna License",
- "licenseId": "MIT-enna",
+ "name": "libselinux public domain notice",
+ "licenseId": "libselinux-1.0",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/MIT#enna"
+ "https://github.com/SELinuxProject/selinux/blob/master/libselinux/LICENSE"
],
"isOsiApproved": false
},
@@ -4269,7 +4257,7 @@
"reference": "https://spdx.org/licenses/ANTLR-PD.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/ANTLR-PD.json",
- "referenceNumber": 343,
+ "referenceNumber": 342,
"name": "ANTLR Software Rights Notice",
"licenseId": "ANTLR-PD",
"seeAlso": [
@@ -4281,7 +4269,7 @@
"reference": "https://spdx.org/licenses/GPL-2.0-or-later.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/GPL-2.0-or-later.json",
- "referenceNumber": 344,
+ "referenceNumber": 343,
"name": "GNU General Public License v2.0 or later",
"licenseId": "GPL-2.0-or-later",
"seeAlso": [
@@ -4292,14 +4280,27 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.html",
+ "reference": "https://spdx.org/licenses/IPL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.json",
+ "detailsUrl": "https://spdx.org/licenses/IPL-1.0.json",
+ "referenceNumber": 344,
+ "name": "IBM Public License v1.0",
+ "licenseId": "IPL-1.0",
+ "seeAlso": [
+ "https://opensource.org/licenses/IPL-1.0"
+ ],
+ "isOsiApproved": true,
+ "isFsfLibre": true
+ },
+ {
+ "reference": "https://spdx.org/licenses/MIT-enna.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/MIT-enna.json",
"referenceNumber": 345,
- "name": "Creative Commons Attribution Share Alike 3.0 Austria",
- "licenseId": "CC-BY-SA-3.0-AT",
+ "name": "enna License",
+ "licenseId": "MIT-enna",
"seeAlso": [
- "https://creativecommons.org/licenses/by-sa/3.0/at/legalcode"
+ "https://fedoraproject.org/wiki/Licensing/MIT#enna"
],
"isOsiApproved": false
},
@@ -4316,17 +4317,16 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/OFL-1.1-RFN.html",
+ "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OFL-1.1-RFN.json",
+ "detailsUrl": "https://spdx.org/licenses/CC-BY-SA-3.0-AT.json",
"referenceNumber": 347,
- "name": "SIL Open Font License 1.1 with Reserved Font Name",
- "licenseId": "OFL-1.1-RFN",
+ "name": "Creative Commons Attribution Share Alike 3.0 Austria",
+ "licenseId": "CC-BY-SA-3.0-AT",
"seeAlso": [
- "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web",
- "https://opensource.org/licenses/OFL-1.1"
+ "https://creativecommons.org/licenses/by-sa/3.0/at/legalcode"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html",
@@ -4341,17 +4341,16 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/IPL-1.0.html",
+ "reference": "https://spdx.org/licenses/BSD-1-Clause.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/IPL-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/BSD-1-Clause.json",
"referenceNumber": 349,
- "name": "IBM Public License v1.0",
- "licenseId": "IPL-1.0",
+ "name": "BSD 1-Clause License",
+ "licenseId": "BSD-1-Clause",
"seeAlso": [
- "https://opensource.org/licenses/IPL-1.0"
+ "https://svnweb.freebsd.org/base/head/include/ifaddrs.h?revision\u003d326823"
],
- "isOsiApproved": true,
- "isFsfLibre": true
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/NTP-0.html",
@@ -4391,28 +4390,29 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/Watcom-1.0.html",
+ "reference": "https://spdx.org/licenses/OFL-1.1-RFN.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Watcom-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/OFL-1.1-RFN.json",
"referenceNumber": 353,
- "name": "Sybase Open Watcom Public License 1.0",
- "licenseId": "Watcom-1.0",
+ "name": "SIL Open Font License 1.1 with Reserved Font Name",
+ "licenseId": "OFL-1.1-RFN",
"seeAlso": [
- "https://opensource.org/licenses/Watcom-1.0"
+ "http://scripts.sil.org/cms/scripts/page.php?item_id\u003dOFL_web",
+ "https://opensource.org/licenses/OFL-1.1"
],
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/FSFULLR.html",
+ "reference": "https://spdx.org/licenses/Watcom-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/FSFULLR.json",
+ "detailsUrl": "https://spdx.org/licenses/Watcom-1.0.json",
"referenceNumber": 354,
- "name": "FSF Unlimited License (with License Retention)",
- "licenseId": "FSFULLR",
+ "name": "Sybase Open Watcom Public License 1.0",
+ "licenseId": "Watcom-1.0",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License#License_Retention_Variant"
+ "https://opensource.org/licenses/Watcom-1.0"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/CC-BY-NC-SA-2.0-FR.html",
@@ -4427,26 +4427,28 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/BSD-2-Clause.html",
+ "reference": "https://spdx.org/licenses/ODbL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause.json",
+ "detailsUrl": "https://spdx.org/licenses/ODbL-1.0.json",
"referenceNumber": 356,
- "name": "BSD 2-Clause \"Simplified\" License",
- "licenseId": "BSD-2-Clause",
+ "name": "Open Data Commons Open Database License v1.0",
+ "licenseId": "ODbL-1.0",
"seeAlso": [
- "https://opensource.org/licenses/BSD-2-Clause"
+ "http://www.opendatacommons.org/licenses/odbl/1.0/",
+ "https://opendatacommons.org/licenses/odbl/1-0/"
],
- "isOsiApproved": true
+ "isOsiApproved": false,
+ "isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/SSH-OpenSSH.html",
+ "reference": "https://spdx.org/licenses/FSFULLR.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/SSH-OpenSSH.json",
+ "detailsUrl": "https://spdx.org/licenses/FSFULLR.json",
"referenceNumber": 357,
- "name": "SSH OpenSSH license",
- "licenseId": "SSH-OpenSSH",
+ "name": "FSF Unlimited License (with License Retention)",
+ "licenseId": "FSFULLR",
"seeAlso": [
- "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/LICENCE#L10"
+ "https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License#License_Retention_Variant"
],
"isOsiApproved": false
},
@@ -4463,31 +4465,28 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/ODbL-1.0.html",
+ "reference": "https://spdx.org/licenses/SSH-OpenSSH.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/ODbL-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/SSH-OpenSSH.json",
"referenceNumber": 359,
- "name": "Open Data Commons Open Database License v1.0",
- "licenseId": "ODbL-1.0",
+ "name": "SSH OpenSSH license",
+ "licenseId": "SSH-OpenSSH",
"seeAlso": [
- "http://www.opendatacommons.org/licenses/odbl/1.0/",
- "https://opendatacommons.org/licenses/odbl/1-0/"
+ "https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/LICENCE#L10"
],
- "isOsiApproved": false,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.3-only.html",
+ "reference": "https://spdx.org/licenses/BSD-2-Clause.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-only.json",
+ "detailsUrl": "https://spdx.org/licenses/BSD-2-Clause.json",
"referenceNumber": 360,
- "name": "GNU Free Documentation License v1.3 only",
- "licenseId": "GFDL-1.3-only",
+ "name": "BSD 2-Clause \"Simplified\" License",
+ "licenseId": "BSD-2-Clause",
"seeAlso": [
- "https://www.gnu.org/licenses/fdl-1.3.txt"
+ "https://opensource.org/licenses/BSD-2-Clause"
],
- "isOsiApproved": false,
- "isFsfLibre": true
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/HPND.html",
@@ -4503,17 +4502,17 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/NASA-1.3.html",
+ "reference": "https://spdx.org/licenses/Zimbra-1.3.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NASA-1.3.json",
+ "detailsUrl": "https://spdx.org/licenses/Zimbra-1.3.json",
"referenceNumber": 362,
- "name": "NASA Open Source Agreement 1.3",
- "licenseId": "NASA-1.3",
+ "name": "Zimbra Public License v1.3",
+ "licenseId": "Zimbra-1.3",
"seeAlso": [
- "http://ti.arc.nasa.gov/opensource/nosa/",
- "https://opensource.org/licenses/NASA-1.3"
+ "http://web.archive.org/web/20100302225219/http://www.zimbra.com/license/zimbra-public-license-1-3.html"
],
- "isOsiApproved": true
+ "isOsiApproved": false,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/Borceux.html",
@@ -4552,17 +4551,17 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CPAL-1.0.html",
+ "reference": "https://spdx.org/licenses/NASA-1.3.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CPAL-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/NASA-1.3.json",
"referenceNumber": 366,
- "name": "Common Public Attribution License 1.0",
- "licenseId": "CPAL-1.0",
+ "name": "NASA Open Source Agreement 1.3",
+ "licenseId": "NASA-1.3",
"seeAlso": [
- "https://opensource.org/licenses/CPAL-1.0"
+ "http://ti.arc.nasa.gov/opensource/nosa/",
+ "https://opensource.org/licenses/NASA-1.3"
],
- "isOsiApproved": true,
- "isFsfLibre": true
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/VOSTROM.html",
@@ -4577,16 +4576,18 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Abstyles.html",
+ "reference": "https://spdx.org/licenses/MIT-0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Abstyles.json",
+ "detailsUrl": "https://spdx.org/licenses/MIT-0.json",
"referenceNumber": 368,
- "name": "Abstyles License",
- "licenseId": "Abstyles",
+ "name": "MIT No Attribution",
+ "licenseId": "MIT-0",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Abstyles"
+ "https://github.com/aws/mit-0",
+ "https://romanrm.net/mit-zero",
+ "https://github.com/awsdocs/aws-cloud9-user-guide/blob/master/LICENSE-SAMPLECODE"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/ISC.html",
@@ -4641,18 +4642,17 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/MIT-0.html",
+ "reference": "https://spdx.org/licenses/NOSL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/MIT-0.json",
+ "detailsUrl": "https://spdx.org/licenses/NOSL.json",
"referenceNumber": 373,
- "name": "MIT No Attribution",
- "licenseId": "MIT-0",
+ "name": "Netizen Open Source License",
+ "licenseId": "NOSL",
"seeAlso": [
- "https://github.com/aws/mit-0",
- "https://romanrm.net/mit-zero",
- "https://github.com/awsdocs/aws-cloud9-user-guide/blob/master/LICENSE-SAMPLECODE"
+ "http://bits.netizen.com.au/licenses/NOSL/nosl.txt"
],
- "isOsiApproved": true
+ "isOsiApproved": false,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/SMLNJ.html",
@@ -4681,16 +4681,16 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/NOSL.html",
+ "reference": "https://spdx.org/licenses/CPAL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NOSL.json",
+ "detailsUrl": "https://spdx.org/licenses/CPAL-1.0.json",
"referenceNumber": 376,
- "name": "Netizen Open Source License",
- "licenseId": "NOSL",
+ "name": "Common Public Attribution License 1.0",
+ "licenseId": "CPAL-1.0",
"seeAlso": [
- "http://bits.netizen.com.au/licenses/NOSL/nosl.txt"
+ "https://opensource.org/licenses/CPAL-1.0"
],
- "isOsiApproved": false,
+ "isOsiApproved": true,
"isFsfLibre": true
},
{
@@ -4783,56 +4783,55 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CDDL-1.1.html",
+ "reference": "https://spdx.org/licenses/EUPL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CDDL-1.1.json",
+ "detailsUrl": "https://spdx.org/licenses/EUPL-1.0.json",
"referenceNumber": 384,
- "name": "Common Development and Distribution License 1.1",
- "licenseId": "CDDL-1.1",
+ "name": "European Union Public License 1.0",
+ "licenseId": "EUPL-1.0",
"seeAlso": [
- "http://glassfish.java.net/public/CDDL+GPL_1_1.html",
- "https://javaee.github.io/glassfish/LICENSE"
+ "http://ec.europa.eu/idabc/en/document/7330.html",
+ "http://ec.europa.eu/idabc/servlets/Doc027f.pdf?id\u003d31096"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Zimbra-1.3.html",
+ "reference": "https://spdx.org/licenses/CDDL-1.1.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Zimbra-1.3.json",
+ "detailsUrl": "https://spdx.org/licenses/CDDL-1.1.json",
"referenceNumber": 385,
- "name": "Zimbra Public License v1.3",
- "licenseId": "Zimbra-1.3",
+ "name": "Common Development and Distribution License 1.1",
+ "licenseId": "CDDL-1.1",
"seeAlso": [
- "http://web.archive.org/web/20100302225219/http://www.zimbra.com/license/zimbra-public-license-1-3.html"
+ "http://glassfish.java.net/public/CDDL+GPL_1_1.html",
+ "https://javaee.github.io/glassfish/LICENSE"
],
- "isOsiApproved": false,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/EUPL-1.0.html",
+ "reference": "https://spdx.org/licenses/GFDL-1.3-only.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/EUPL-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.3-only.json",
"referenceNumber": 386,
- "name": "European Union Public License 1.0",
- "licenseId": "EUPL-1.0",
+ "name": "GNU Free Documentation License v1.3 only",
+ "licenseId": "GFDL-1.3-only",
"seeAlso": [
- "http://ec.europa.eu/idabc/en/document/7330.html",
- "http://ec.europa.eu/idabc/servlets/Doc027f.pdf?id\u003d31096"
+ "https://www.gnu.org/licenses/fdl-1.3.txt"
],
- "isOsiApproved": false
+ "isOsiApproved": false,
+ "isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/Fair.html",
+ "reference": "https://spdx.org/licenses/OLDAP-2.6.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Fair.json",
+ "detailsUrl": "https://spdx.org/licenses/OLDAP-2.6.json",
"referenceNumber": 387,
- "name": "Fair License",
- "licenseId": "Fair",
+ "name": "Open LDAP Public License v2.6",
+ "licenseId": "OLDAP-2.6",
"seeAlso": [
- "http://fairlicense.org/",
- "https://opensource.org/licenses/Fair"
+ "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d1cae062821881f41b73012ba816434897abf4205"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/JSON.html",
@@ -4875,17 +4874,17 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/OPL-1.0.html",
+ "reference": "https://spdx.org/licenses/Fair.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OPL-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/Fair.json",
"referenceNumber": 391,
- "name": "Open Public License v1.0",
- "licenseId": "OPL-1.0",
+ "name": "Fair License",
+ "licenseId": "Fair",
"seeAlso": [
- "http://old.koalateam.com/jackaroo/OPL_1_0.TXT",
- "https://fedoraproject.org/wiki/Licensing/Open_Public_License"
+ "http://fairlicense.org/",
+ "https://opensource.org/licenses/Fair"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/GPL-2.0-with-font-exception.html",
@@ -4977,14 +4976,15 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/OLDAP-2.6.html",
+ "reference": "https://spdx.org/licenses/OPL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OLDAP-2.6.json",
+ "detailsUrl": "https://spdx.org/licenses/OPL-1.0.json",
"referenceNumber": 399,
- "name": "Open LDAP Public License v2.6",
- "licenseId": "OLDAP-2.6",
+ "name": "Open Public License v1.0",
+ "licenseId": "OPL-1.0",
"seeAlso": [
- "http://www.openldap.org/devel/gitweb.cgi?p\u003dopenldap.git;a\u003dblob;f\u003dLICENSE;hb\u003d1cae062821881f41b73012ba816434897abf4205"
+ "http://old.koalateam.com/jackaroo/OPL_1_0.TXT",
+ "https://fedoraproject.org/wiki/Licensing/Open_Public_License"
],
"isOsiApproved": false
},
@@ -5001,49 +5001,24 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/NCGL-UK-2.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NCGL-UK-2.0.json",
- "referenceNumber": 401,
- "name": "Non-Commercial Government Licence",
- "licenseId": "NCGL-UK-2.0",
- "seeAlso": [
- "http://www.nationalarchives.gov.uk/doc/non-commercial-government-licence/version/2/"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/QPL-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/QPL-1.0.json",
- "referenceNumber": 402,
+ "referenceNumber": 401,
"name": "Q Public License 1.0",
"licenseId": "QPL-1.0",
"seeAlso": [
"http://doc.qt.nokia.com/3.3/license.html",
- "https://opensource.org/licenses/QPL-1.0",
- "https://doc.qt.io/archives/3.3/license.html"
+ "https://opensource.org/licenses/QPL-1.0"
],
"isOsiApproved": true,
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.json",
- "referenceNumber": 403,
- "name": "GNU Free Documentation License v1.2 or later - no invariants",
- "licenseId": "GFDL-1.2-no-invariants-or-later",
- "seeAlso": [
- "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/EUPL-1.2.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/EUPL-1.2.json",
- "referenceNumber": 404,
+ "referenceNumber": 402,
"name": "European Union Public License 1.2",
"licenseId": "EUPL-1.2",
"seeAlso": [
@@ -5057,15 +5032,14 @@
"isOsiApproved": true
},
{
- "reference": "https://spdx.org/licenses/Beerware.html",
+ "reference": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Beerware.json",
- "referenceNumber": 405,
- "name": "Beerware License",
- "licenseId": "Beerware",
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.json",
+ "referenceNumber": 403,
+ "name": "GNU Free Documentation License v1.2 or later - no invariants",
+ "licenseId": "GFDL-1.2-no-invariants-or-later",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Beerware",
- "https://people.freebsd.org/~phk/"
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt"
],
"isOsiApproved": false
},
@@ -5073,7 +5047,7 @@
"reference": "https://spdx.org/licenses/eCos-2.0.html",
"isDeprecatedLicenseId": true,
"detailsUrl": "https://spdx.org/licenses/eCos-2.0.json",
- "referenceNumber": 406,
+ "referenceNumber": 404,
"name": "eCos license version 2.0",
"licenseId": "eCos-2.0",
"seeAlso": [
@@ -5082,27 +5056,27 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CAL-1.0.html",
+ "reference": "https://spdx.org/licenses/NCGL-UK-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CAL-1.0.json",
- "referenceNumber": 407,
- "name": "Cryptographic Autonomy License 1.0",
- "licenseId": "CAL-1.0",
+ "detailsUrl": "https://spdx.org/licenses/NCGL-UK-2.0.json",
+ "referenceNumber": 405,
+ "name": "Non-Commercial Government Licence",
+ "licenseId": "NCGL-UK-2.0",
"seeAlso": [
- "http://cryptographicautonomylicense.com/license-text.html",
- "https://opensource.org/licenses/CAL-1.0"
+ "http://www.nationalarchives.gov.uk/doc/non-commercial-government-licence/version/2/"
],
- "isOsiApproved": true
+ "isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html",
- "isDeprecatedLicenseId": true,
- "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.json",
- "referenceNumber": 408,
- "name": "GNU General Public License v2.0 w/Bison exception",
- "licenseId": "GPL-2.0-with-bison-exception",
+ "reference": "https://spdx.org/licenses/Beerware.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/Beerware.json",
+ "referenceNumber": 406,
+ "name": "Beerware License",
+ "licenseId": "Beerware",
"seeAlso": [
- "http://git.savannah.gnu.org/cgit/bison.git/tree/data/yacc.c?id\u003d193d7c7054ba7197b0789e14965b739162319b5e#n141"
+ "https://fedoraproject.org/wiki/Licensing/Beerware",
+ "https://people.freebsd.org/~phk/"
],
"isOsiApproved": false
},
@@ -5110,7 +5084,7 @@
"reference": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.json",
- "referenceNumber": 409,
+ "referenceNumber": 407,
"name": "BSD 3-Clause Open MPI variant",
"licenseId": "BSD-3-Clause-Open-MPI",
"seeAlso": [
@@ -5120,14 +5094,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html",
+ "reference": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html",
"isDeprecatedLicenseId": true,
- "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.json",
- "referenceNumber": 410,
- "name": "GNU General Public License v2.0 w/Autoconf exception",
- "licenseId": "GPL-2.0-with-autoconf-exception",
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-bison-exception.json",
+ "referenceNumber": 408,
+ "name": "GNU General Public License v2.0 w/Bison exception",
+ "licenseId": "GPL-2.0-with-bison-exception",
"seeAlso": [
- "http://ac-archive.sourceforge.net/doc/copyright.html"
+ "http://git.savannah.gnu.org/cgit/bison.git/tree/data/yacc.c?id\u003d193d7c7054ba7197b0789e14965b739162319b5e#n141"
],
"isOsiApproved": false
},
@@ -5135,7 +5109,7 @@
"reference": "https://spdx.org/licenses/CECILL-B.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/CECILL-B.json",
- "referenceNumber": 411,
+ "referenceNumber": 409,
"name": "CeCILL-B Free Software License Agreement",
"licenseId": "CECILL-B",
"seeAlso": [
@@ -5145,10 +5119,22 @@
"isFsfLibre": true
},
{
+ "reference": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.json",
+ "referenceNumber": 410,
+ "name": "GNU General Public License v2.0 w/Autoconf exception",
+ "licenseId": "GPL-2.0-with-autoconf-exception",
+ "seeAlso": [
+ "http://ac-archive.sourceforge.net/doc/copyright.html"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/EPL-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/EPL-2.0.json",
- "referenceNumber": 412,
+ "referenceNumber": 411,
"name": "Eclipse Public License 2.0",
"licenseId": "EPL-2.0",
"seeAlso": [
@@ -5162,7 +5148,7 @@
"reference": "https://spdx.org/licenses/MIT-feh.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/MIT-feh.json",
- "referenceNumber": 413,
+ "referenceNumber": 412,
"name": "feh License",
"licenseId": "MIT-feh",
"seeAlso": [
@@ -5174,7 +5160,7 @@
"reference": "https://spdx.org/licenses/RPL-1.1.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/RPL-1.1.json",
- "referenceNumber": 414,
+ "referenceNumber": 413,
"name": "Reciprocal Public License 1.1",
"licenseId": "RPL-1.1",
"seeAlso": [
@@ -5183,6 +5169,18 @@
"isOsiApproved": true
},
{
+ "reference": "https://spdx.org/licenses/CDLA-Permissive-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-1.0.json",
+ "referenceNumber": 414,
+ "name": "Community Data License Agreement Permissive 1.0",
+ "licenseId": "CDLA-Permissive-1.0",
+ "seeAlso": [
+ "https://cdla.io/permissive-1-0"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/Python-2.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Python-2.0.json",
@@ -5196,22 +5194,10 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/CDLA-Permissive-1.0.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CDLA-Permissive-1.0.json",
- "referenceNumber": 416,
- "name": "Community Data License Agreement Permissive 1.0",
- "licenseId": "CDLA-Permissive-1.0",
- "seeAlso": [
- "https://cdla.io/permissive-1-0"
- ],
- "isOsiApproved": false
- },
- {
"reference": "https://spdx.org/licenses/MPL-1.0.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/MPL-1.0.json",
- "referenceNumber": 417,
+ "referenceNumber": 416,
"name": "Mozilla Public License 1.0",
"licenseId": "MPL-1.0",
"seeAlso": [
@@ -5221,6 +5207,19 @@
"isOsiApproved": true
},
{
+ "reference": "https://spdx.org/licenses/GFDL-1.1-or-later.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-or-later.json",
+ "referenceNumber": 417,
+ "name": "GNU Free Documentation License v1.1 or later",
+ "licenseId": "GFDL-1.1-or-later",
+ "seeAlso": [
+ "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ ],
+ "isOsiApproved": false,
+ "isFsfLibre": true
+ },
+ {
"reference": "https://spdx.org/licenses/diffmark.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/diffmark.json",
@@ -5245,14 +5244,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/GFDL-1.1-or-later.html",
+ "reference": "https://spdx.org/licenses/OpenSSL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/GFDL-1.1-or-later.json",
+ "detailsUrl": "https://spdx.org/licenses/OpenSSL.json",
"referenceNumber": 420,
- "name": "GNU Free Documentation License v1.1 or later",
- "licenseId": "GFDL-1.1-or-later",
+ "name": "OpenSSL License",
+ "licenseId": "OpenSSL",
"seeAlso": [
- "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt"
+ "http://www.openssl.org/source/license.html"
],
"isOsiApproved": false,
"isFsfLibre": true
@@ -5283,14 +5282,14 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/OpenSSL.html",
- "isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OpenSSL.json",
+ "reference": "https://spdx.org/licenses/AGPL-1.0.html",
+ "isDeprecatedLicenseId": true,
+ "detailsUrl": "https://spdx.org/licenses/AGPL-1.0.json",
"referenceNumber": 423,
- "name": "OpenSSL License",
- "licenseId": "OpenSSL",
+ "name": "Affero General Public License v1.0",
+ "licenseId": "AGPL-1.0",
"seeAlso": [
- "http://www.openssl.org/source/license.html"
+ "http://www.affero.org/oagpl.html"
],
"isOsiApproved": false,
"isFsfLibre": true
@@ -5335,23 +5334,10 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/AGPL-1.0.html",
- "isDeprecatedLicenseId": true,
- "detailsUrl": "https://spdx.org/licenses/AGPL-1.0.json",
- "referenceNumber": 427,
- "name": "Affero General Public License v1.0",
- "licenseId": "AGPL-1.0",
- "seeAlso": [
- "http://www.affero.org/oagpl.html"
- ],
- "isOsiApproved": false,
- "isFsfLibre": true
- },
- {
"reference": "https://spdx.org/licenses/Xnet.html",
"isDeprecatedLicenseId": false,
"detailsUrl": "https://spdx.org/licenses/Xnet.json",
- "referenceNumber": 428,
+ "referenceNumber": 427,
"name": "X.Net License",
"licenseId": "Xnet",
"seeAlso": [
@@ -5360,6 +5346,18 @@
"isOsiApproved": true
},
{
+ "reference": "https://spdx.org/licenses/TU-Berlin-1.0.html",
+ "isDeprecatedLicenseId": false,
+ "detailsUrl": "https://spdx.org/licenses/TU-Berlin-1.0.json",
+ "referenceNumber": 428,
+ "name": "Technische Universitaet Berlin License 1.0",
+ "licenseId": "TU-Berlin-1.0",
+ "seeAlso": [
+ "https://github.com/swh/ladspa/blob/7bf6f3799fdba70fda297c2d8fd9f526803d9680/gsm/COPYRIGHT"
+ ],
+ "isOsiApproved": false
+ },
+ {
"reference": "https://spdx.org/licenses/AGPL-3.0.html",
"isDeprecatedLicenseId": true,
"detailsUrl": "https://spdx.org/licenses/AGPL-3.0.json",
@@ -5374,16 +5372,17 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/TU-Berlin-1.0.html",
+ "reference": "https://spdx.org/licenses/CAL-1.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/TU-Berlin-1.0.json",
+ "detailsUrl": "https://spdx.org/licenses/CAL-1.0.json",
"referenceNumber": 430,
- "name": "Technische Universitaet Berlin License 1.0",
- "licenseId": "TU-Berlin-1.0",
+ "name": "Cryptographic Autonomy License 1.0",
+ "licenseId": "CAL-1.0",
"seeAlso": [
- "https://github.com/swh/ladspa/blob/7bf6f3799fdba70fda297c2d8fd9f526803d9680/gsm/COPYRIGHT"
+ "http://cryptographicautonomylicense.com/license-text.html",
+ "https://opensource.org/licenses/CAL-1.0"
],
- "isOsiApproved": false
+ "isOsiApproved": true
},
{
"reference": "https://spdx.org/licenses/AFL-3.0.html",
@@ -5400,16 +5399,16 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/APSL-2.0.html",
+ "reference": "https://spdx.org/licenses/CECILL-C.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/APSL-2.0.json",
+ "detailsUrl": "https://spdx.org/licenses/CECILL-C.json",
"referenceNumber": 432,
- "name": "Apple Public Source License 2.0",
- "licenseId": "APSL-2.0",
+ "name": "CeCILL-C Free Software License Agreement",
+ "licenseId": "CECILL-C",
"seeAlso": [
- "http://www.opensource.apple.com/license/apsl/"
+ "http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"
],
- "isOsiApproved": true,
+ "isOsiApproved": false,
"isFsfLibre": true
},
{
@@ -5425,30 +5424,29 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/CECILL-C.html",
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-Clear.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/CECILL-C.json",
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Clear.json",
"referenceNumber": 434,
- "name": "CeCILL-C Free Software License Agreement",
- "licenseId": "CECILL-C",
+ "name": "BSD 3-Clause Clear License",
+ "licenseId": "BSD-3-Clause-Clear",
"seeAlso": [
- "http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"
+ "http://labs.metacarta.com/license-explanation.html#license"
],
"isOsiApproved": false,
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/BSD-3-Clause-Clear.html",
+ "reference": "https://spdx.org/licenses/BSD-3-Clause-Modification.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Clear.json",
+ "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Modification.json",
"referenceNumber": 435,
- "name": "BSD 3-Clause Clear License",
- "licenseId": "BSD-3-Clause-Clear",
+ "name": "BSD 3-Clause Modification",
+ "licenseId": "BSD-3-Clause-Modification",
"seeAlso": [
- "http://labs.metacarta.com/license-explanation.html#license"
+ "https://fedoraproject.org/wiki/Licensing:BSD#Modification_Variant"
],
- "isOsiApproved": false,
- "isFsfLibre": true
+ "isOsiApproved": false
},
{
"reference": "https://spdx.org/licenses/CC-BY-SA-2.0-UK.html",
@@ -5511,26 +5509,26 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/BSD-3-Clause-Modification.html",
+ "reference": "https://spdx.org/licenses/Spencer-86.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/BSD-3-Clause-Modification.json",
+ "detailsUrl": "https://spdx.org/licenses/Spencer-86.json",
"referenceNumber": 441,
- "name": "BSD 3-Clause Modification",
- "licenseId": "BSD-3-Clause-Modification",
+ "name": "Spencer License 86",
+ "licenseId": "Spencer-86",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing:BSD#Modification_Variant"
+ "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License"
],
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/Spencer-86.html",
+ "reference": "https://spdx.org/licenses/OCCT-PL.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/Spencer-86.json",
+ "detailsUrl": "https://spdx.org/licenses/OCCT-PL.json",
"referenceNumber": 442,
- "name": "Spencer License 86",
- "licenseId": "Spencer-86",
+ "name": "Open CASCADE Technology Public License",
+ "licenseId": "OCCT-PL",
"seeAlso": [
- "https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License"
+ "http://www.opencascade.com/content/occt-public-license"
],
"isOsiApproved": false
},
@@ -5572,14 +5570,15 @@
"isOsiApproved": false
},
{
- "reference": "https://spdx.org/licenses/OCCT-PL.html",
+ "reference": "https://spdx.org/licenses/NIST-PD.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/OCCT-PL.json",
+ "detailsUrl": "https://spdx.org/licenses/NIST-PD.json",
"referenceNumber": 446,
- "name": "Open CASCADE Technology Public License",
- "licenseId": "OCCT-PL",
+ "name": "NIST Public Domain Notice",
+ "licenseId": "NIST-PD",
"seeAlso": [
- "http://www.opencascade.com/content/occt-public-license"
+ "https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt",
+ "https://github.com/tcheneau/Routing/blob/f09f46fcfe636107f22f2c98348188a65a135d98/README.md"
],
"isOsiApproved": false
},
@@ -5597,17 +5596,17 @@
"isFsfLibre": true
},
{
- "reference": "https://spdx.org/licenses/NIST-PD.html",
+ "reference": "https://spdx.org/licenses/APSL-2.0.html",
"isDeprecatedLicenseId": false,
- "detailsUrl": "https://spdx.org/licenses/NIST-PD.json",
+ "detailsUrl": "https://spdx.org/licenses/APSL-2.0.json",
"referenceNumber": 448,
- "name": "NIST Public Domain Notice",
- "licenseId": "NIST-PD",
+ "name": "Apple Public Source License 2.0",
+ "licenseId": "APSL-2.0",
"seeAlso": [
- "https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt",
- "https://github.com/tcheneau/Routing/blob/f09f46fcfe636107f22f2c98348188a65a135d98/README.md"
+ "http://www.opensource.apple.com/license/apsl/"
],
- "isOsiApproved": false
+ "isOsiApproved": true,
+ "isFsfLibre": true
},
{
"reference": "https://spdx.org/licenses/Leptonica.html",
@@ -5934,5 +5933,5 @@
"isOsiApproved": false
}
],
- "releaseDate": "2021-08-19"
+ "releaseDate": "2021-08-08"
} \ No newline at end of file
diff --git a/meta/lib/buildstats.py b/meta/lib/buildstats.py
index 8627ed3c31..c52b6c3b72 100644
--- a/meta/lib/buildstats.py
+++ b/meta/lib/buildstats.py
@@ -43,8 +43,8 @@ class SystemStats:
# depends on the heartbeat event, which fires less often.
self.min_seconds = 1
- self.meminfo_regex = re.compile(b'^(MemTotal|MemFree|Buffers|Cached|SwapTotal|SwapFree):\s*(\d+)')
- self.diskstats_regex = re.compile(b'^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+.*)$')
+ self.meminfo_regex = re.compile(rb'^(MemTotal|MemFree|Buffers|Cached|SwapTotal|SwapFree):\s*(\d+)')
+ self.diskstats_regex = re.compile(rb'^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+.*)$')
self.diskstats_ltime = None
self.diskstats_data = None
self.stat_ltimes = None
diff --git a/meta/lib/oe/gpg_sign.py b/meta/lib/oe/gpg_sign.py
index 492f096eaa..1bce6cb792 100644
--- a/meta/lib/oe/gpg_sign.py
+++ b/meta/lib/oe/gpg_sign.py
@@ -109,16 +109,33 @@ class LocalSigner(object):
bb.fatal("Could not get gpg version: %s" % e)
- def verify(self, sig_file):
+ def verify(self, sig_file, valid_sigs = ''):
"""Verify signature"""
- cmd = self.gpg_cmd + ["--verify", "--no-permission-warning"]
+ cmd = self.gpg_cmd + ["--verify", "--no-permission-warning", "--status-fd", "1"]
if self.gpg_path:
cmd += ["--homedir", self.gpg_path]
cmd += [sig_file]
- status = subprocess.call(cmd)
- ret = False if status else True
- return ret
+ status = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ # Valid if any key matches if unspecified
+ if not valid_sigs:
+ ret = False if status.returncode else True
+ return ret
+
+ import re
+ goodsigs = []
+ sigre = re.compile(r'^\[GNUPG:\] GOODSIG (\S+)\s(.*)$')
+ for l in status.stdout.decode("utf-8").splitlines():
+ s = sigre.match(l)
+ if s:
+ goodsigs += [s.group(1)]
+
+ for sig in valid_sigs.split():
+ if sig in goodsigs:
+ return True
+ if len(goodsigs):
+ bb.warn('No accepted signatures found. Good signatures found: %s.' % ' '.join(goodsigs))
+ return False
def get_signer(d, backend):
diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py
index 665d32ecbb..b5d378a549 100644
--- a/meta/lib/oe/license.py
+++ b/meta/lib/oe/license.py
@@ -74,6 +74,9 @@ class FlattenVisitor(LicenseVisitor):
def visit_Str(self, node):
self.licenses.append(node.s)
+ def visit_Constant(self, node):
+ self.licenses.append(node.value)
+
def visit_BinOp(self, node):
if isinstance(node.op, ast.BitOr):
left = FlattenVisitor(self.choose_licenses)
@@ -227,6 +230,9 @@ class ListVisitor(LicenseVisitor):
def visit_Str(self, node):
self.licenses.add(node.s)
+ def visit_Constant(self, node):
+ self.licenses.add(node.value)
+
def list_licenses(licensestr):
"""Simply get a list of all licenses mentioned in a license string.
Binary operators are not applied or taken into account in any way"""
diff --git a/meta/lib/oe/maketype.py b/meta/lib/oe/maketype.py
index d929c8b3e5..d36082c535 100644
--- a/meta/lib/oe/maketype.py
+++ b/meta/lib/oe/maketype.py
@@ -10,12 +10,7 @@ the arguments of the type's factory for details.
import inspect
import oe.types as types
-try:
- # Python 3.7+
- from collections.abc import Callable
-except ImportError:
- # Python < 3.7
- from collections import Callable
+from collections.abc import Callable
available_types = {}
diff --git a/meta/lib/oe/package_manager/__init__.py b/meta/lib/oe/package_manager/__init__.py
index 8f7b60e077..80bc1a6bc6 100644
--- a/meta/lib/oe/package_manager/__init__.py
+++ b/meta/lib/oe/package_manager/__init__.py
@@ -321,7 +321,7 @@ class PackageManager(object, metaclass=ABCMeta):
# TODO don't have sdk here but have a property on the superclass
# (and respect in install_complementary)
if sdk:
- pkgdatadir = self.d.expand("${TMPDIR}/pkgdata/${SDK_SYS}")
+ pkgdatadir = self.d.getVar("PKGDATA_DIR_SDK")
else:
pkgdatadir = self.d.getVar("PKGDATA_DIR")
diff --git a/meta/lib/oe/packagedata.py b/meta/lib/oe/packagedata.py
index 02c81e5a52..212f048bc6 100644
--- a/meta/lib/oe/packagedata.py
+++ b/meta/lib/oe/packagedata.py
@@ -19,7 +19,7 @@ def read_pkgdatafile(fn):
import re
with open(fn, 'r') as f:
lines = f.readlines()
- r = re.compile("(^.+?):\s+(.*)")
+ r = re.compile(r"(^.+?):\s+(.*)")
for l in lines:
m = r.match(l)
if m:
diff --git a/meta/lib/oe/reproducible.py b/meta/lib/oe/reproducible.py
index 204b9bd734..4fb99d963c 100644
--- a/meta/lib/oe/reproducible.py
+++ b/meta/lib/oe/reproducible.py
@@ -5,6 +5,57 @@ import os
import subprocess
import bb
+# For reproducible builds, this code sets the default SOURCE_DATE_EPOCH in each
+# component's build environment. The format is number of seconds since the
+# system epoch.
+#
+# Upstream components (generally) respect this environment variable,
+# using it in place of the "current" date and time.
+# See https://reproducible-builds.org/specs/source-date-epoch/
+#
+# The default value of SOURCE_DATE_EPOCH comes from the function
+# get_source_date_epoch_value which reads from the SDE_FILE, or if the file
+# is not available will use the fallback of SOURCE_DATE_EPOCH_FALLBACK.
+#
+# The SDE_FILE is normally constructed from the function
+# create_source_date_epoch_stamp which is typically added as a postfuncs to
+# the do_unpack task. If a recipe does NOT have do_unpack, it should be added
+# to a task that runs after the source is available and before the
+# do_deploy_source_date_epoch task is executed.
+#
+# If a recipe wishes to override the default behavior it should set it's own
+# SOURCE_DATE_EPOCH or override the do_deploy_source_date_epoch_stamp task
+# with recipe-specific functionality to write the appropriate
+# SOURCE_DATE_EPOCH into the SDE_FILE.
+#
+# SOURCE_DATE_EPOCH is intended to be a reproducible value. This value should
+# be reproducible for anyone who builds the same revision from the same
+# sources.
+#
+# There are 4 ways the create_source_date_epoch_stamp function determines what
+# becomes SOURCE_DATE_EPOCH:
+#
+# 1. Use the value from __source_date_epoch.txt file if this file exists.
+# This file was most likely created in the previous build by one of the
+# following methods 2,3,4.
+# Alternatively, it can be provided by a recipe via SRC_URI.
+#
+# If the file does not exist:
+#
+# 2. If there is a git checkout, use the last git commit timestamp.
+# Git does not preserve file timestamps on checkout.
+#
+# 3. Use the mtime of "known" files such as NEWS, CHANGLELOG, ...
+# This works for well-kept repositories distributed via tarball.
+#
+# 4. Use the modification time of the youngest file in the source tree, if
+# there is one.
+# This will be the newest file from the distribution tarball, if any.
+#
+# 5. Fall back to a fixed timestamp (SOURCE_DATE_EPOCH_FALLBACK).
+#
+# Once the value is determined, it is stored in the recipe's SDE_FILE.
+
def get_source_date_epoch_from_known_files(d, sourcedir):
source_date_epoch = None
newest_file = None
@@ -106,3 +157,36 @@ def get_source_date_epoch(d, sourcedir):
fixed_source_date_epoch(d) # Last resort
)
+def epochfile_read(epochfile, d):
+ cached, efile = d.getVar('__CACHED_SOURCE_DATE_EPOCH') or (None, None)
+ if cached and efile == epochfile:
+ return cached
+
+ if cached and epochfile != efile:
+ bb.debug(1, "Epoch file changed from %s to %s" % (efile, epochfile))
+
+ source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
+ try:
+ with open(epochfile, 'r') as f:
+ s = f.read()
+ try:
+ source_date_epoch = int(s)
+ except ValueError:
+ bb.warn("SOURCE_DATE_EPOCH value '%s' is invalid. Reverting to SOURCE_DATE_EPOCH_FALLBACK" % s)
+ source_date_epoch = int(d.getVar('SOURCE_DATE_EPOCH_FALLBACK'))
+ bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
+ except FileNotFoundError:
+ bb.debug(1, "Cannot find %s. SOURCE_DATE_EPOCH will default to %d" % (epochfile, source_date_epoch))
+
+ d.setVar('__CACHED_SOURCE_DATE_EPOCH', (str(source_date_epoch), epochfile))
+ return str(source_date_epoch)
+
+def epochfile_write(source_date_epoch, epochfile, d):
+
+ bb.debug(1, "SOURCE_DATE_EPOCH: %d" % source_date_epoch)
+ bb.utils.mkdirhier(os.path.dirname(epochfile))
+
+ tmp_file = "%s.new" % epochfile
+ with open(tmp_file, 'w') as f:
+ f.write(str(source_date_epoch))
+ os.rename(tmp_file, epochfile)
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 4ea5adb9f4..b0dd625539 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -253,7 +253,7 @@ class Rootfs(object, metaclass=ABCMeta):
# Remove the run-postinsts package if no delayed postinsts are found
delayed_postinsts = self._get_delayed_postinsts()
if delayed_postinsts is None:
- if os.path.exists(self.d.expand("${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts")) or os.path.exists(self.d.expand("${IMAGE_ROOTFS}${systemd_unitdir}/system/run-postinsts.service")):
+ if os.path.exists(self.d.expand("${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts")) or os.path.exists(self.d.expand("${IMAGE_ROOTFS}${systemd_system_unitdir}/run-postinsts.service")):
self.pm.remove(["run-postinsts"])
image_rorfs = bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs",
diff --git a/meta/lib/oe/spdx.py b/meta/lib/oe/spdx.py
index 9814fbfd66..4416194e06 100644
--- a/meta/lib/oe/spdx.py
+++ b/meta/lib/oe/spdx.py
@@ -2,6 +2,18 @@
# SPDX-License-Identifier: GPL-2.0-only
#
+#
+# This library is intended to capture the JSON SPDX specification in a type
+# safe manner. It is not intended to encode any particular OE specific
+# behaviors, see the sbom.py for that.
+#
+# The documented SPDX spec document doesn't cover the JSON syntax for
+# particular configuration, which can make it hard to determine what the JSON
+# syntax should be. I've found it is actually much simpler to read the official
+# SPDX JSON schema which can be found here: https://github.com/spdx/spdx-spec
+# in schemas/spdx-schema.json
+#
+
import hashlib
import itertools
import json
@@ -9,7 +21,16 @@ import json
SPDX_VERSION = "2.2"
+#
+# The following are the support classes that are used to implement SPDX object
+#
+
class _Property(object):
+ """
+ A generic SPDX object property. The different types will derive from this
+ class
+ """
+
def __init__(self, *, default=None):
self.default = default
@@ -19,6 +40,10 @@ class _Property(object):
class _String(_Property):
+ """
+ A scalar string property for an SPDX object
+ """
+
def __init__(self, **kwargs):
super().__init__(**kwargs)
@@ -39,6 +64,10 @@ class _String(_Property):
class _Object(_Property):
+ """
+ A scalar SPDX object property of a SPDX object
+ """
+
def __init__(self, cls, **kwargs):
super().__init__(**kwargs)
self.cls = cls
@@ -62,6 +91,10 @@ class _Object(_Property):
class _ListProperty(_Property):
+ """
+ A list of SPDX properties
+ """
+
def __init__(self, prop, **kwargs):
super().__init__(**kwargs)
self.prop = prop
@@ -82,16 +115,28 @@ class _ListProperty(_Property):
class _StringList(_ListProperty):
+ """
+ A list of strings as a property for an SPDX object
+ """
+
def __init__(self, **kwargs):
super().__init__(_String(), **kwargs)
class _ObjectList(_ListProperty):
+ """
+ A list of SPDX objects as a property for an SPDX object
+ """
+
def __init__(self, cls, **kwargs):
super().__init__(_Object(cls), **kwargs)
class MetaSPDXObject(type):
+ """
+ A metaclass that allows properties (anything derived from a _Property
+ class) to be defined for a SPDX object
+ """
def __new__(mcls, name, bases, attrs):
attrs["_properties"] = {}
@@ -105,6 +150,9 @@ class MetaSPDXObject(type):
class SPDXObject(metaclass=MetaSPDXObject):
+ """
+ The base SPDX object; all SPDX spec classes must derive from this class
+ """
def __init__(self, **d):
self._spdx = {}
@@ -122,6 +170,21 @@ class SPDXObject(metaclass=MetaSPDXObject):
return
raise KeyError("%r is not a valid SPDX property" % name)
+#
+# These are the SPDX objects implemented from the spec. The *only* properties
+# that can be added to these objects are ones directly specified in the SPDX
+# spec, however you may add helper functions to make operations easier.
+#
+# Defaults should *only* be specified if the SPDX spec says there is a certain
+# required value for a field (e.g. dataLicense), or if the field is mandatory
+# and has some sane "this field is unknown" (e.g. "NOASSERTION")
+#
+
+class SPDXAnnotation(SPDXObject):
+ annotationDate = _String()
+ annotationType = _String()
+ annotator = _String()
+ comment = _String()
class SPDXChecksum(SPDXObject):
algorithm = _String()
@@ -164,6 +227,7 @@ class SPDXPackage(SPDXObject):
packageVerificationCode = _Object(SPDXPackageVerificationCode)
hasFiles = _StringList()
packageFileName = _String()
+ annotations = _ObjectList(SPDXAnnotation)
class SPDXFile(SPDXObject):
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 78cdf878f1..038404e377 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -108,7 +108,6 @@ class SignatureGeneratorOEBasicHashMixIn(object):
self.unlockedrecipes = (data.getVar("SIGGEN_UNLOCKED_RECIPES") or
"").split()
self.unlockedrecipes = { k: "" for k in self.unlockedrecipes }
- self.buildarch = data.getVar('BUILD_ARCH')
self._internal = False
pass
@@ -147,13 +146,6 @@ class SignatureGeneratorOEBasicHashMixIn(object):
self.dump_lockedsigs(sigfile)
return super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigs(dataCache, options)
- def prep_taskhash(self, tid, deps, dataCaches):
- super().prep_taskhash(tid, deps, dataCaches)
- if hasattr(self, "extramethod"):
- (mc, _, _, fn) = bb.runqueue.split_tid_mcfn(tid)
- inherits = " ".join(dataCaches[mc].inherits[fn])
- if inherits.find("/native.bbclass") != -1 or inherits.find("/cross.bbclass") != -1:
- self.extramethod[tid] = ":" + self.buildarch
def get_taskhash(self, tid, deps, dataCaches):
if tid in self.lockedhashes:
@@ -478,6 +470,8 @@ def OEOuthashBasic(path, sigfile, task, d):
import stat
import pwd
import grp
+ import re
+ import fnmatch
def update_hash(s):
s = s.encode('utf-8')
@@ -487,16 +481,29 @@ def OEOuthashBasic(path, sigfile, task, d):
h = hashlib.sha256()
prev_dir = os.getcwd()
+ corebase = d.getVar("COREBASE")
+ tmpdir = d.getVar("TMPDIR")
include_owners = os.environ.get('PSEUDO_DISABLED') == '0'
if "package_write_" in task or task == "package_qa":
include_owners = False
include_timestamps = False
+ include_root = True
if task == "package":
- include_timestamps = d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1'
+ include_timestamps = True
+ include_root = False
extra_content = d.getVar('HASHEQUIV_HASH_VERSION')
+ filemaps = {}
+ for m in (d.getVar('SSTATE_HASHEQUIV_FILEMAP') or '').split():
+ entry = m.split(":")
+ if len(entry) != 3 or entry[0] != task:
+ continue
+ filemaps.setdefault(entry[1], [])
+ filemaps[entry[1]].append(entry[2])
+
try:
os.chdir(path)
+ basepath = os.path.normpath(path)
update_hash("OEOuthashBasic\n")
if extra_content:
@@ -545,21 +552,22 @@ def OEOuthashBasic(path, sigfile, task, d):
else:
add_perm(stat.S_IXUSR, 'x')
- add_perm(stat.S_IRGRP, 'r')
- add_perm(stat.S_IWGRP, 'w')
- if stat.S_ISGID & s.st_mode:
- add_perm(stat.S_IXGRP, 's', 'S')
- else:
- add_perm(stat.S_IXGRP, 'x')
+ if include_owners:
+ # Group/other permissions are only relevant in pseudo context
+ add_perm(stat.S_IRGRP, 'r')
+ add_perm(stat.S_IWGRP, 'w')
+ if stat.S_ISGID & s.st_mode:
+ add_perm(stat.S_IXGRP, 's', 'S')
+ else:
+ add_perm(stat.S_IXGRP, 'x')
- add_perm(stat.S_IROTH, 'r')
- add_perm(stat.S_IWOTH, 'w')
- if stat.S_ISVTX & s.st_mode:
- update_hash('t')
- else:
- add_perm(stat.S_IXOTH, 'x')
+ add_perm(stat.S_IROTH, 'r')
+ add_perm(stat.S_IWOTH, 'w')
+ if stat.S_ISVTX & s.st_mode:
+ update_hash('t')
+ else:
+ add_perm(stat.S_IXOTH, 'x')
- if include_owners:
try:
update_hash(" %10s" % pwd.getpwuid(s.st_uid).pw_name)
update_hash(" %10s" % grp.getgrgid(s.st_gid).gr_name)
@@ -578,8 +586,13 @@ def OEOuthashBasic(path, sigfile, task, d):
else:
update_hash(" " * 9)
+ filterfile = False
+ for entry in filemaps:
+ if fnmatch.fnmatch(path, entry):
+ filterfile = True
+
update_hash(" ")
- if stat.S_ISREG(s.st_mode):
+ if stat.S_ISREG(s.st_mode) and not filterfile:
update_hash("%10d" % s.st_size)
else:
update_hash(" " * 10)
@@ -588,9 +601,24 @@ def OEOuthashBasic(path, sigfile, task, d):
fh = hashlib.sha256()
if stat.S_ISREG(s.st_mode):
# Hash file contents
- with open(path, 'rb') as d:
- for chunk in iter(lambda: d.read(4096), b""):
+ if filterfile:
+ # Need to ignore paths in crossscripts and postinst-useradd files.
+ with open(path, 'rb') as d:
+ chunk = d.read()
+ chunk = chunk.replace(bytes(basepath, encoding='utf8'), b'')
+ for entry in filemaps:
+ if not fnmatch.fnmatch(path, entry):
+ continue
+ for r in filemaps[entry]:
+ if r.startswith("regex-"):
+ chunk = re.sub(bytes(r[6:], encoding='utf8'), b'', chunk)
+ else:
+ chunk = chunk.replace(bytes(r, encoding='utf8'), b'')
fh.update(chunk)
+ else:
+ with open(path, 'rb') as d:
+ for chunk in iter(lambda: d.read(4096), b""):
+ fh.update(chunk)
update_hash(fh.hexdigest())
else:
update_hash(" " * len(fh.hexdigest()))
@@ -603,7 +631,8 @@ def OEOuthashBasic(path, sigfile, task, d):
update_hash("\n")
# Process this directory and all its child files
- process(root)
+ if include_root or root != ".":
+ process(root)
for f in files:
if f == 'fixmepath':
continue
diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py
index 923a223b25..f956a7744f 100644
--- a/meta/lib/oeqa/core/target/ssh.py
+++ b/meta/lib/oeqa/core/target/ssh.py
@@ -44,6 +44,7 @@ class OESSHTarget(OETarget):
self.ssh = self.ssh + [ '-p', port ]
self.scp = self.scp + [ '-P', port ]
self._monitor_dumper = None
+ self.target_dumper = None
def start(self, **kwargs):
pass
@@ -102,7 +103,8 @@ class OESSHTarget(OETarget):
if self.monitor_dumper:
self.monitor_dumper.dump_monitor()
if status == 255:
- self.target_dumper.dump_target()
+ if self.target_dumper:
+ self.target_dumper.dump_target()
if self.monitor_dumper:
self.monitor_dumper.dump_monitor()
return (status, output)
diff --git a/meta/lib/oeqa/manual/eclipse-plugin.json b/meta/lib/oeqa/manual/eclipse-plugin.json
index d77d0e673b..6c110d0656 100644
--- a/meta/lib/oeqa/manual/eclipse-plugin.json
+++ b/meta/lib/oeqa/manual/eclipse-plugin.json
@@ -44,7 +44,7 @@
"expected_results": ""
},
"2": {
- "action": "wget autobuilder.yoctoproject.org/pub/releases//machines/qemu/qemux86/qemu (ex:core-image-sato-sdk-qemux86-date-rootfs-tar-bz2) \nsource /opt/poky/version/environment-setup-i585-poky-linux \n\nExtract qemu with runqemu-extract-sdk /home/user/file(ex.core-image-sato-sdk-qemux86.bz2) \n/home/user/qemux86-sato-sdk \n\n",
+ "action": "wget https://downloads.yoctoproject.org/releases/yocto/yocto-$VERSION/machines/qemu/qemux86/ (ex:core-image-sato-sdk-qemux86-date-rootfs-tar-bz2) \nsource /opt/poky/version/environment-setup-i585-poky-linux \n\nExtract qemu with runqemu-extract-sdk /home/user/file(ex.core-image-sato-sdk-qemux86.bz2) \n/home/user/qemux86-sato-sdk \n\n",
"expected_results": " Qemu can be lauched normally."
},
"3": {
@@ -60,7 +60,7 @@
"expected_results": ""
},
"6": {
- "action": "(d) QEMU: \nSelect this option if you will be using the QEMU emulator. Specify the Kernel matching the QEMU architecture you are using. \n wget autobuilder.yoctoproject.org/pub/releases//machines/qemu/qemux86/bzImage-qemux86.bin \n e.g: /home/$USER/yocto/adt-installer/download_image/bzImage-qemux86.bin \n\n",
+ "action": "(d) QEMU: \nSelect this option if you will be using the QEMU emulator. Specify the Kernel matching the QEMU architecture you are using. \n wget https://downloads.yoctoproject.org/releases/yocto/yocto-$VERSION/machines/qemu/qemux86/bzImage-qemux86.bin \n e.g: /home/$USER/yocto/adt-installer/download_image/bzImage-qemux86.bin \n\n",
"expected_results": ""
},
"7": {
@@ -247,7 +247,7 @@
"execution": {
"1": {
"action": "Clone eclipse-poky source. \n \n - git clone git://git.yoctoproject.org/eclipse-poky \n\n",
- "expected_results": "Eclipse plugin is successfully installed \n\nDocumentation is there. For example if you have release yocto-2.0.1 you will found on http://autobuilder.yoctoproject.org/pub/releases/yocto-2.0.1/eclipse-plugin/mars/ archive with documentation like org.yocto.doc-development-$date.zip \n \n"
+ "expected_results": "Eclipse plugin is successfully installed \n\nDocumentation is there. For example if you have release yocto-2.0.1 you will found on https://downloads.yoctoproject.org/releases/yocto/yocto-2.0.1/eclipse-plugin/mars/ archive with documentation like org.yocto.doc-development-$date.zip \n \n"
},
"2": {
"action": "Checkout correct tag. \n\n - git checkout <eclipse-version>/<yocto-version> \n\n",
diff --git a/meta/lib/oeqa/runtime/cases/rpm.py b/meta/lib/oeqa/runtime/cases/rpm.py
index 7a9d62c003..a4339116bf 100644
--- a/meta/lib/oeqa/runtime/cases/rpm.py
+++ b/meta/lib/oeqa/runtime/cases/rpm.py
@@ -116,12 +116,12 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
Author: Alexander Kanavin <alex.kanavin@gmail.com>
AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
"""
- db_files_cmd = 'ls /var/lib/rpm/__db.*'
+ db_files_cmd = 'ls /var/lib/rpm/rpmdb.sqlite*'
check_log_cmd = "grep RPM /var/log/messages | wc -l"
- # Make sure that some database files are under /var/lib/rpm as '__db.xxx'
+ # Make sure that some database files are under /var/lib/rpm as 'rpmdb.sqlite'
status, output = self.target.run(db_files_cmd)
- msg = 'Failed to find database files under /var/lib/rpm/ as __db.xxx'
+ msg = 'Failed to find database files under /var/lib/rpm/ as rpmdb.sqlite'
self.assertEqual(0, status, msg=msg)
self.tc.target.copyTo(self.test_file, self.dst)
diff --git a/meta/lib/oeqa/sdk/buildtools-cases/build.py b/meta/lib/oeqa/sdk/buildtools-cases/build.py
index 9c9a84bf8a..aee2e5a8c0 100644
--- a/meta/lib/oeqa/sdk/buildtools-cases/build.py
+++ b/meta/lib/oeqa/sdk/buildtools-cases/build.py
@@ -25,6 +25,6 @@ class BuildTests(OESDKTestCase):
self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir))
finally:
delay = 10
- while delay and os.path.exists(testdir + "/bitbake.lock"):
+ while delay and (os.path.exists(testdir + "/bitbake.lock") or os.path.exists(testdir + "/cache/hashserv.db-wal")):
time.sleep(1)
delay = delay - 1
diff --git a/meta/lib/oeqa/selftest/cases/bblogging.py b/meta/lib/oeqa/selftest/cases/bblogging.py
new file mode 100644
index 0000000000..ea6c3c8c77
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/bblogging.py
@@ -0,0 +1,104 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake
+
+class BitBakeLogging(OESelftestTestCase):
+
+ def assertCount(self, item, entry, count):
+ self.assertEqual(item.count(entry), count, msg="Output:\n'''\n%s\n'''\ndoesn't contain %d copies of:\n'''\n%s\n'''\n" % (item, count, entry))
+
+ def test_shell_logging(self):
+ # no logs, no verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c shelltest -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertNotIn("This is shell stdout", result.output)
+ self.assertNotIn("This is shell stderr", result.output)
+
+ # logs, no verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c shelltest -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertCount(result.output, "This is shell stdout", 1)
+ self.assertCount(result.output, "This is shell stderr", 1)
+
+ # no logs, verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c shelltest -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # two copies due to set +x
+ self.assertCount(result.output, "This is shell stdout", 2)
+ self.assertCount(result.output, "This is shell stderr", 2)
+
+ # logs, verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c shelltest -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # two copies due to set +x
+ self.assertCount(result.output, "This is shell stdout", 2)
+ self.assertCount(result.output, "This is shell stderr", 2)
+
+ def test_python_exit_logging(self):
+ # no logs, no verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_exit -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertNotIn("This is python stdout", result.output)
+
+ # logs, no verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_exit -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # A sys.exit() should include the output
+ self.assertCount(result.output, "This is python stdout", 1)
+
+ # no logs, verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_exit -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python stdout", 1)
+
+ # logs, verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_exit -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python stdout", 1)
+
+ def test_python_fatal_logging(self):
+ # no logs, no verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_fatal -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ self.assertNotIn("This is python fatal test stdout", result.output)
+ self.assertCount(result.output, "This is a fatal error", 1)
+
+ # logs, no verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_fatal -f", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # A bb.fatal() should not include the output
+ self.assertNotIn("This is python fatal test stdout", result.output)
+ self.assertCount(result.output, "This is a fatal error", 1)
+
+ # no logs, verbose
+ self.write_config('BBINCLUDELOGS = ""')
+ result = bitbake("logging-test -c pythontest_fatal -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python fatal test stdout", 1)
+ self.assertCount(result.output, "This is a fatal error", 1)
+
+ # logs, verbose
+ self.write_config('BBINCLUDELOGS = "yes"')
+ result = bitbake("logging-test -c pythontest_fatal -f -v", ignore_status = True)
+ self.assertIn("ERROR: Logfile of failure stored in:", result.output)
+ # python tasks don't log output with -v currently
+ #self.assertCount(result.output, "This is python fatal test stdout", 1)
+ self.assertCount(result.output, "This is a fatal error", 1)
+
diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py
index 8831de6065..6779e62103 100644
--- a/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -83,8 +83,10 @@ class BitbakeTests(OESelftestTestCase):
def test_force_task_1(self):
# test 1 from bug 5875
+ import uuid
test_recipe = 'zlib'
- test_data = "Microsoft Made No Profit From Anyone's Zunes Yo"
+ # Need to use uuid otherwise hash equivlance would change the workflow
+ test_data = "Microsoft Made No Profit From Anyone's Zunes Yo %s" % uuid.uuid1()
bb_vars = get_bb_vars(['D', 'PKGDEST', 'mandir'], test_recipe)
image_dir = bb_vars['D']
pkgsplit_dir = bb_vars['PKGDEST']
@@ -149,9 +151,6 @@ INHERIT:remove = \"report-error\"
self.delete_recipeinc('man-db')
self.assertEqual(result.status, 1, msg="Command succeded when it should have failed. bitbake output: %s" % result.output)
self.assertIn('Fetcher failure: Unable to find file file://invalid anywhere. The paths that were searched were:', result.output)
- line = self.getline(result, 'Fetcher failure for URL: \'file://invalid\'. Unable to fetch URL from any source.')
- self.assertTrue(line and line.startswith("ERROR:"), msg = "\"invalid\" file \
-doesn't exist, yet fetcher didn't report any error. bitbake output: %s" % result.output)
def test_rename_downloaded_file(self):
# TODO unique dldir instead of using cleanall
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py
index 6d9cd46bf3..f495e84c79 100644
--- a/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/meta/lib/oeqa/selftest/cases/devtool.py
@@ -649,7 +649,7 @@ class DevtoolModifyTests(DevtoolBase):
self.track_for_cleanup(self.workspacedir)
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
- testrecipes = 'perf kernel-devsrc package-index core-image-minimal meta-toolchain packagegroup-core-sdk meta-ide-support'.split()
+ testrecipes = 'perf kernel-devsrc package-index core-image-minimal meta-toolchain packagegroup-core-sdk'.split()
# Find actual name of gcc-source since it now includes the version - crude, but good enough for this purpose
result = runCmd('bitbake-layers show-recipes gcc-source*')
for line in result.output.splitlines():
diff --git a/meta/lib/oeqa/selftest/cases/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py
index 862849af35..d0c402ba8a 100644
--- a/meta/lib/oeqa/selftest/cases/eSDK.py
+++ b/meta/lib/oeqa/selftest/cases/eSDK.py
@@ -100,7 +100,7 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH"
@classmethod
def tearDownClass(cls):
for i in range(0, 10):
- if os.path.exists(os.path.join(cls.tmpdir_eSDKQA, 'bitbake.lock')):
+ if os.path.exists(os.path.join(cls.tmpdir_eSDKQA, 'bitbake.lock')) or os.path.exists(os.path.join(cls.tmpdir_eSDKQA, 'cache/hashserv.db-wal')):
time.sleep(1)
else:
break
diff --git a/meta/lib/oeqa/selftest/cases/gotoolchain.py b/meta/lib/oeqa/selftest/cases/gotoolchain.py
index 4fc3605f42..c809d7c9b1 100644
--- a/meta/lib/oeqa/selftest/cases/gotoolchain.py
+++ b/meta/lib/oeqa/selftest/cases/gotoolchain.py
@@ -43,6 +43,12 @@ class oeGoToolchainSelfTest(OESelftestTestCase):
@classmethod
def tearDownClass(cls):
+ # Go creates file which are readonly
+ for dirpath, dirnames, filenames in os.walk(cls.tmpdir_SDKQA):
+ for filename in filenames + dirnames:
+ f = os.path.join(dirpath, filename)
+ if not os.path.islink(f):
+ os.chmod(f, 0o775)
shutil.rmtree(cls.tmpdir_SDKQA, ignore_errors=True)
super(oeGoToolchainSelfTest, cls).tearDownClass()
diff --git a/meta/lib/oeqa/selftest/cases/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py
index 8a10ff357b..91abf9654a 100644
--- a/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -150,7 +150,7 @@ class OEListPackageconfigTests(OEScriptTests):
expected_endlines = []
expected_endlines.append("RECIPE NAME PACKAGECONFIG FLAGS")
expected_endlines.append("pinentry gtk2 libcap ncurses qt secret")
- expected_endlines.append("tar acl")
+ expected_endlines.append("tar acl selinux")
self.check_endlines(results, expected_endlines)
@@ -167,7 +167,7 @@ class OEListPackageconfigTests(OEScriptTests):
def test_packageconfig_flags_option_all(self):
results = runCmd('%s/contrib/list-packageconfig-flags.py -a' % self.scripts_dir)
expected_endlines = []
- expected_endlines.append("pinentry-1.1.1")
+ expected_endlines.append("pinentry-1.2.0")
expected_endlines.append("PACKAGECONFIG ncurses libcap")
expected_endlines.append("PACKAGECONFIG[qt] --enable-pinentry-qt, --disable-pinentry-qt, qtbase-native qtbase")
expected_endlines.append("PACKAGECONFIG[gtk2] --enable-pinentry-gtk2, --disable-pinentry-gtk2, gtk+ glib-2.0")
diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
index e4582cb82a..2e983d2f17 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -219,7 +219,6 @@ class ReproducibleTests(OESelftestTestCase):
bb.utils.remove(tmpdir, recurse=True)
config = textwrap.dedent('''\
- INHERIT += "reproducible_build"
PACKAGE_CLASSES = "{package_classes}"
INHIBIT_PACKAGE_STRIP = "1"
TMPDIR = "{tmpdir}"
diff --git a/meta/lib/oeqa/selftest/cases/signing.py b/meta/lib/oeqa/selftest/cases/signing.py
index af7a0b8b45..6f3d4aeae9 100644
--- a/meta/lib/oeqa/selftest/cases/signing.py
+++ b/meta/lib/oeqa/selftest/cases/signing.py
@@ -159,13 +159,13 @@ class Signing(OESelftestTestCase):
bitbake('-c clean %s' % test_recipe)
bitbake('-c populate_lic %s' % test_recipe)
- recipe_sig = glob.glob(sstatedir + '/*/*/*:ed:*_populate_lic.tgz.sig')
- recipe_tgz = glob.glob(sstatedir + '/*/*/*:ed:*_populate_lic.tgz')
+ recipe_sig = glob.glob(sstatedir + '/*/*/*:ed:*_populate_lic.tar.zst.sig')
+ recipe_archive = glob.glob(sstatedir + '/*/*/*:ed:*_populate_lic.tar.zst')
self.assertEqual(len(recipe_sig), 1, 'Failed to find .sig file.')
- self.assertEqual(len(recipe_tgz), 1, 'Failed to find .tgz file.')
+ self.assertEqual(len(recipe_archive), 1, 'Failed to find .tar.zst file.')
- ret = runCmd('gpg --homedir %s --verify %s %s' % (self.gpg_dir, recipe_sig[0], recipe_tgz[0]))
+ ret = runCmd('gpg --homedir %s --verify %s %s' % (self.gpg_dir, recipe_sig[0], recipe_archive[0]))
# gpg: Signature made Thu 22 Oct 2015 01:45:09 PM EEST using RSA key ID 61EEFB30
# gpg: Good signature from "testuser (nocomment) <testuser@email.com>"
self.assertIn('gpg: Good signature from', ret.output, 'Package signed incorrectly.')
diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py
index 17a1545506..3dab607eeb 100644
--- a/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -68,7 +68,7 @@ class SStateTests(SStateBase):
results = self.search_sstate('|'.join(map(str, targets)), distro_specific, distro_nonspecific)
if distro_nonspecific:
for r in results:
- if r.endswith(("_populate_lic.tgz", "_populate_lic.tgz.siginfo", "_fetch.tgz.siginfo", "_unpack.tgz.siginfo", "_patch.tgz.siginfo")):
+ if r.endswith(("_populate_lic.tar.zst", "_populate_lic.tar.zst.siginfo", "_fetch.tar.zst.siginfo", "_unpack.tar.zst.siginfo", "_patch.tar.zst.siginfo")):
continue
file_tracker.append(r)
else:
@@ -98,15 +98,15 @@ class SStateTests(SStateBase):
bitbake(['-ccleansstate'] + targets)
bitbake(targets)
- tgz_created = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific)
- self.assertTrue(tgz_created, msg="Could not find sstate .tgz files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_created)))
+ archives_created = self.search_sstate('|'.join(map(str, [s + r'.*?\.tar.zst$' for s in targets])), distro_specific, distro_nonspecific)
+ self.assertTrue(archives_created, msg="Could not find sstate .tar.zst files for: %s (%s)" % (', '.join(map(str, targets)), str(archives_created)))
siginfo_created = self.search_sstate('|'.join(map(str, [s + r'.*?\.siginfo$' for s in targets])), distro_specific, distro_nonspecific)
self.assertTrue(siginfo_created, msg="Could not find sstate .siginfo files for: %s (%s)" % (', '.join(map(str, targets)), str(siginfo_created)))
bitbake(['-ccleansstate'] + targets)
- tgz_removed = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific)
- self.assertTrue(not tgz_removed, msg="do_cleansstate didn't remove .tgz sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_removed)))
+ archives_removed = self.search_sstate('|'.join(map(str, [s + r'.*?\.tar.zst$' for s in targets])), distro_specific, distro_nonspecific)
+ self.assertTrue(not archives_removed, msg="do_cleansstate didn't remove .tar.zst sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(archives_removed)))
def test_cleansstate_task_distro_specific_nonspecific(self):
targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native']
@@ -129,15 +129,15 @@ class SStateTests(SStateBase):
bitbake(['-ccleansstate'] + targets)
bitbake(targets)
- results = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific=False, distro_nonspecific=True)
+ results = self.search_sstate('|'.join(map(str, [s + r'.*?\.tar.zst$' for s in targets])), distro_specific=False, distro_nonspecific=True)
filtered_results = []
for r in results:
- if r.endswith(("_populate_lic.tgz", "_populate_lic.tgz.siginfo")):
+ if r.endswith(("_populate_lic.tar.zst", "_populate_lic.tar.zst.siginfo")):
continue
filtered_results.append(r)
self.assertTrue(filtered_results == [], msg="Found distro non-specific sstate for: %s (%s)" % (', '.join(map(str, targets)), str(filtered_results)))
- file_tracker_1 = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific=True, distro_nonspecific=False)
- self.assertTrue(len(file_tracker_1) >= len(targets), msg = "Not all sstate files ware created for: %s" % ', '.join(map(str, targets)))
+ file_tracker_1 = self.search_sstate('|'.join(map(str, [s + r'.*?\.tar.zst$' for s in targets])), distro_specific=True, distro_nonspecific=False)
+ self.assertTrue(len(file_tracker_1) >= len(targets), msg = "Not all sstate files were created for: %s" % ', '.join(map(str, targets)))
self.track_for_cleanup(self.distro_specific_sstate + "_old")
shutil.copytree(self.distro_specific_sstate, self.distro_specific_sstate + "_old")
@@ -145,14 +145,14 @@ class SStateTests(SStateBase):
bitbake(['-cclean'] + targets)
bitbake(targets)
- file_tracker_2 = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific=True, distro_nonspecific=False)
- self.assertTrue(len(file_tracker_2) >= len(targets), msg = "Not all sstate files ware created for: %s" % ', '.join(map(str, targets)))
+ file_tracker_2 = self.search_sstate('|'.join(map(str, [s + r'.*?\.tar.zst$' for s in targets])), distro_specific=True, distro_nonspecific=False)
+ self.assertTrue(len(file_tracker_2) >= len(targets), msg = "Not all sstate files were created for: %s" % ', '.join(map(str, targets)))
not_recreated = [x for x in file_tracker_1 if x not in file_tracker_2]
- self.assertTrue(not_recreated == [], msg="The following sstate files ware not recreated: %s" % ', '.join(map(str, not_recreated)))
+ self.assertTrue(not_recreated == [], msg="The following sstate files were not recreated: %s" % ', '.join(map(str, not_recreated)))
created_once = [x for x in file_tracker_2 if x not in file_tracker_1]
- self.assertTrue(created_once == [], msg="The following sstate files ware created only in the second run: %s" % ', '.join(map(str, created_once)))
+ self.assertTrue(created_once == [], msg="The following sstate files were created only in the second run: %s" % ', '.join(map(str, created_once)))
def test_rebuild_distro_specific_sstate_cross_native_targets(self):
self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch, 'binutils-native'], temp_sstate_location=True)
@@ -188,23 +188,23 @@ class SStateTests(SStateBase):
if not sstate_arch in sstate_archs_list:
sstate_archs_list.append(sstate_arch)
if target_config[idx] == target_config[-1]:
- target_sstate_before_build = self.search_sstate(target + r'.*?\.tgz$')
+ target_sstate_before_build = self.search_sstate(target + r'.*?\.tar.zst$')
bitbake("-cclean %s" % target)
result = bitbake(target, ignore_status=True)
if target_config[idx] == target_config[-1]:
- target_sstate_after_build = self.search_sstate(target + r'.*?\.tgz$')
+ target_sstate_after_build = self.search_sstate(target + r'.*?\.tar.zst$')
expected_remaining_sstate += [x for x in target_sstate_after_build if x not in target_sstate_before_build if not any(pattern in x for pattern in ignore_patterns)]
self.remove_config(global_config[idx])
self.remove_recipeinc(target, target_config[idx])
self.assertEqual(result.status, 0, msg = "build of %s failed with %s" % (target, result.output))
runCmd("sstate-cache-management.sh -y --cache-dir=%s --remove-duplicated --extra-archs=%s" % (self.sstate_path, ','.join(map(str, sstate_archs_list))))
- actual_remaining_sstate = [x for x in self.search_sstate(target + r'.*?\.tgz$') if not any(pattern in x for pattern in ignore_patterns)]
+ actual_remaining_sstate = [x for x in self.search_sstate(target + r'.*?\.tar.zst$') if not any(pattern in x for pattern in ignore_patterns)]
actual_not_expected = [x for x in actual_remaining_sstate if x not in expected_remaining_sstate]
- self.assertFalse(actual_not_expected, msg="Files should have been removed but ware not: %s" % ', '.join(map(str, actual_not_expected)))
+ self.assertFalse(actual_not_expected, msg="Files should have been removed but were not: %s" % ', '.join(map(str, actual_not_expected)))
expected_not_actual = [x for x in expected_remaining_sstate if x not in actual_remaining_sstate]
- self.assertFalse(expected_not_actual, msg="Extra files ware removed: %s" ', '.join(map(str, expected_not_actual)))
+ self.assertFalse(expected_not_actual, msg="Extra files were removed: %s" ', '.join(map(str, expected_not_actual)))
def test_sstate_cache_management_script_using_pr_1(self):
global_config = []
diff --git a/meta/lib/oeqa/selftest/cases/tinfoil.py b/meta/lib/oeqa/selftest/cases/tinfoil.py
index 51092805d8..8fd48bb054 100644
--- a/meta/lib/oeqa/selftest/cases/tinfoil.py
+++ b/meta/lib/oeqa/selftest/cases/tinfoil.py
@@ -94,14 +94,13 @@ class TinfoilTests(OESelftestTestCase):
pass
pattern = 'conf'
- res = tinfoil.run_command('findFilesMatchingInDir', pattern, 'conf/machine')
+ res = tinfoil.run_command('testCookerCommandEvent', pattern)
self.assertTrue(res)
eventreceived = False
commandcomplete = False
start = time.time()
# Wait for maximum 60s in total so we'd detect spurious heartbeat events for example
- # The test is IO load sensitive too
while (not (eventreceived == True and commandcomplete == True)
and (time.time() - start < 60)):
# if we received both events (on let's say a good day), we are done
@@ -111,7 +110,8 @@ class TinfoilTests(OESelftestTestCase):
commandcomplete = True
elif isinstance(event, bb.event.FilesMatchingFound):
self.assertEqual(pattern, event._pattern)
- self.assertIn('qemuarm.conf', event._matches)
+ self.assertIn('A', event._matches)
+ self.assertIn('B', event._matches)
eventreceived = True
elif isinstance(event, logging.LogRecord):
continue
diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py
index dc7b9e637e..5fc8e65142 100644
--- a/meta/lib/oeqa/selftest/cases/wic.py
+++ b/meta/lib/oeqa/selftest/cases/wic.py
@@ -1158,6 +1158,35 @@ class Wic2(WicTestCase):
out = glob(self.resultdir + "%s-*.direct" % wksname)
self.assertEqual(1, len(out))
+ @only_for_arch(['i586', 'i686', 'x86_64'])
+ def test_efi_plugin_unified_kernel_image_qemu(self):
+ """Test efi plugin's Unified Kernel Image feature in qemu"""
+ config = 'IMAGE_FSTYPES = "wic"\n'\
+ 'INITRAMFS_IMAGE = "core-image-minimal-initramfs"\n'\
+ 'WKS_FILE = "test_efi_plugin.wks"\n'\
+ 'MACHINE_FEATURES:append = " efi"\n'
+ self.append_config(config)
+ self.assertEqual(0, bitbake('core-image-minimal core-image-minimal-initramfs ovmf').status)
+ self.remove_config(config)
+
+ with runqemu('core-image-minimal', ssh=False,
+ runqemuparams='ovmf', image_fstype='wic') as qemu:
+ # Check that /boot has EFI bootx64.efi (required for EFI)
+ cmd = "ls /boot/EFI/BOOT/bootx64.efi | wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '1')
+ # Check that /boot has EFI/Linux/linux.efi (required for Unified Kernel Images auto detection)
+ cmd = "ls /boot/EFI/Linux/linux.efi | wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '1')
+ # Check that /boot doesn't have loader/entries/boot.conf (Unified Kernel Images are auto detected by the bootloader)
+ cmd = "ls /boot/loader/entries/boot.conf 2&>/dev/null | wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '0')
+
def test_fs_types(self):
"""Test filesystem types for empty and not empty partitions"""
img = 'core-image-minimal'
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py
index 1659926975..78c7a467e2 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -39,7 +39,7 @@ class NonConcurrentTestSuite(unittest.TestSuite):
def removebuilddir(d):
delay = 5
- while delay and os.path.exists(d + "/bitbake.lock"):
+ while delay and (os.path.exists(d + "/bitbake.lock") or os.path.exists(d + "/cache/hashserv.db-wal")):
time.sleep(1)
delay = delay - 1
# Deleting these directories takes a lot of time, use autobuilder
diff --git a/meta/lib/oeqa/utils/buildproject.py b/meta/lib/oeqa/utils/buildproject.py
index e6d80cc8dc..dfb9661868 100644
--- a/meta/lib/oeqa/utils/buildproject.py
+++ b/meta/lib/oeqa/utils/buildproject.py
@@ -18,6 +18,7 @@ class BuildProject(metaclass=ABCMeta):
def __init__(self, uri, foldername=None, tmpdir=None, dl_dir=None):
self.uri = uri
self.archive = os.path.basename(uri)
+ self.tempdirobj = None
if not tmpdir:
self.tempdirobj = tempfile.TemporaryDirectory(prefix='buildproject-')
tmpdir = self.tempdirobj.name
@@ -57,6 +58,8 @@ class BuildProject(metaclass=ABCMeta):
return self._run('cd %s; make install %s' % (self.targetdir, install_args))
def clean(self):
+ if self.tempdirobj:
+ self.tempdirobj.cleanup()
if not self.needclean:
return
self._run('rm -rf %s' % self.targetdir)
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index d55248c497..0397148082 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -183,7 +183,7 @@ class QemuRunner:
# then add in the site-packages path components and add that
# to the python sys.path so qmp.py can be found.
python_path = os.path.dirname(os.path.dirname(self.logfile))
- python_path += "/recipe-sysroot-native/usr/lib/python3.9/site-packages"
+ python_path += "/recipe-sysroot-native/usr/lib/qemu-python"
sys.path.append(python_path)
importlib.invalidate_caches()
try:
@@ -265,7 +265,7 @@ class QemuRunner:
r = os.fdopen(r)
x = r.read()
os.killpg(os.getpgid(self.runqemu.pid), signal.SIGTERM)
- sys.exit(0)
+ os._exit(0)
self.logger.debug("runqemu started, pid is %s" % self.runqemu.pid)
self.logger.debug("waiting at most %s seconds for qemu pid (%s)" %
diff --git a/meta/lib/oeqa/utils/targetbuild.py b/meta/lib/oeqa/utils/targetbuild.py
index 1055810ca3..09738add1d 100644
--- a/meta/lib/oeqa/utils/targetbuild.py
+++ b/meta/lib/oeqa/utils/targetbuild.py
@@ -19,6 +19,7 @@ class BuildProject(metaclass=ABCMeta):
self.d = d
self.uri = uri
self.archive = os.path.basename(uri)
+ self.tempdirobj = None
if not tmpdir:
tmpdir = self.d.getVar('WORKDIR')
if not tmpdir:
@@ -71,9 +72,10 @@ class BuildProject(metaclass=ABCMeta):
return self._run('cd %s; make install %s' % (self.targetdir, install_args))
def clean(self):
+ if self.tempdirobj:
+ self.tempdirobj.cleanup()
self._run('rm -rf %s' % self.targetdir)
subprocess.check_call('rm -f %s' % self.localarchive, shell=True)
- pass
class TargetBuildProject(BuildProject):
diff --git a/meta/recipes-bsp/acpid/acpid.inc b/meta/recipes-bsp/acpid/acpid.inc
index f48e519088..d39828e1cd 100644
--- a/meta/recipes-bsp/acpid/acpid.inc
+++ b/meta/recipes-bsp/acpid/acpid.inc
@@ -32,7 +32,7 @@ do_install:append () {
install -d ${D}${sysconfdir}/acpi
install -d ${D}${sysconfdir}/acpi/events
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/acpid.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/acpid.service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/acpid.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/acpid.service
}
diff --git a/meta/recipes-bsp/acpid/acpid_2.0.32.bb b/meta/recipes-bsp/acpid/acpid_2.0.33.bb
index 227e4a4675..7094ba2662 100644
--- a/meta/recipes-bsp/acpid/acpid_2.0.32.bb
+++ b/meta/recipes-bsp/acpid/acpid_2.0.33.bb
@@ -3,5 +3,4 @@ require acpid.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
file://acpid.h;endline=24;md5=324a9cf225ae69ddaad1bf9d942115b5"
-SRC_URI[md5sum] = "248995264b9d1cd8bdb923d5b190fd44"
-SRC_URI[sha256sum] = "f2d2d30b3edc3234bd82f6f7186699a6aa3c85c8d20bc4e30e9b3c68a1ed157e"
+SRC_URI[sha256sum] = "0856f71b3eb34a1b663d0a8e6363dfcbc519e63d847330498898658e2972dbe8"
diff --git a/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb b/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
index 5368abfda6..da17e5a235 100644
--- a/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
+++ b/meta/recipes-bsp/apmd/apmd_3.2.2-15.bb
@@ -73,10 +73,10 @@ do_install() {
sed -e 's,/usr/sbin,${sbindir},g; s,/etc,${sysconfdir},g;' ${WORKDIR}/init > ${D}${sysconfdir}/init.d/apmd
chmod 755 ${D}${sysconfdir}/init.d/apmd
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/apmd.service ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/apmd.service ${D}${systemd_system_unitdir}/
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apmd.service
+ -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/apmd.service
}
PACKAGES =+ "libapm apm"
diff --git a/meta/recipes-bsp/opensbi/opensbi-payloads.inc b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
index cc31ab3b1d..ce537c0587 100644
--- a/meta/recipes-bsp/opensbi/opensbi-payloads.inc
+++ b/meta/recipes-bsp/opensbi/opensbi-payloads.inc
@@ -17,13 +17,13 @@ def riscv_get_extra_oemake_fdt(d):
return "FW_FDT_PATH=" + deploy_dir + "/" + sbi_fdt
def riscv_get_do_compile_depends(d):
- sbi_payload = d.getVar('RISCV_SBI_PAYLOAD')
- sbi_fdt = d.getVar('RISCV_SBI_FDT')
+ sbi_payload = d.getVar('RISCV_SBI_PAYLOAD') or ""
+ sbi_fdt = d.getVar('RISCV_SBI_FDT') or ""
- if sbi_payload is None and sbi_fdt is None:
+ if sbi_payload == "" and sbi_fdt == "":
return ""
- if sbi_fdt is not None and 'u-boot.bin' in sbi_payload:
+ if sbi_fdt != "" and 'u-boot.bin' in sbi_payload:
return "virtual/kernel:do_deploy virtual/bootloader:do_deploy"
if 'linux' in sbi_payload or 'Image' in sbi_payload:
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index f27fdd5998..ec4a3d201d 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -4,6 +4,7 @@ PROVIDES = "virtual/bootloader"
PACKAGE_ARCH = "${MACHINE_ARCH}"
DEPENDS += "kern-tools-native"
+DEPENDS += "${@bb.utils.contains('UBOOT_ENV_SUFFIX', 'scr', 'u-boot-mkimage-native', '', d)}"
inherit uboot-config uboot-extlinux-config uboot-sign deploy cml1 python3native kernel-arch
@@ -106,6 +107,11 @@ do_compile () {
oe_runmake -C ${S} O=${B} u-boot-initial-env
fi
fi
+
+ if [ -n "${UBOOT_ENV}" && "${UBOOT_ENV_SUFFIX}" = "scr" ]
+ then
+ ${UBOOT_MKIMAGE} -C none -A ${UBOOT_ARCH} -T script -d ${WORKDIR}/${UBOOT_ENV_SRC} ${WORKDIR}/${UBOOT_ENV_BINARY}
+ fi
}
do_install () {
diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb
index 934044d5da..4b15d11b61 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -35,7 +35,7 @@ SRC_URI[sha256sum] = "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de79
# Issue only affects Debian/SUSE, not us
CVE_CHECK_WHITELIST += "CVE-2021-26720"
-DEPENDS = "expat libcap libdaemon glib-2.0 intltool-native"
+DEPENDS = "expat libcap libdaemon glib-2.0"
# For gtk related PACKAGECONFIGs: gtk, gtk3
AVAHI_GTK ?= ""
@@ -67,7 +67,7 @@ EXTRA_OECONF = "--with-avahi-priv-access-group=adm \
# The distro choice determines what init scripts are installed
EXTRA_OECONF_SYSVINIT = "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','--with-distro=debian','--with-distro=none',d)}"
-EXTRA_OECONF_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES','systemd','--with-systemdsystemunitdir=${systemd_unitdir}/system/','--without-systemdsystemunitdir',d)}"
+EXTRA_OECONF_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES','systemd','--with-systemdsystemunitdir=${systemd_system_unitdir}/','--without-systemdsystemunitdir',d)}"
do_configure:prepend() {
# This m4 file will get in the way of our introspection.m4 with special cross-compilation fixes
diff --git a/meta/recipes-connectivity/bind/bind-9.16.20/0001-avoid-start-failure-with-bind-user.patch b/meta/recipes-connectivity/bind/bind-9.16.21/0001-avoid-start-failure-with-bind-user.patch
index 8db96ec049..8db96ec049 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.20/0001-avoid-start-failure-with-bind-user.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.21/0001-avoid-start-failure-with-bind-user.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.20/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/meta/recipes-connectivity/bind/bind-9.16.21/0001-named-lwresd-V-and-start-log-hide-build-options.patch
index 5bcc16c9b2..5bcc16c9b2 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.20/0001-named-lwresd-V-and-start-log-hide-build-options.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.21/0001-named-lwresd-V-and-start-log-hide-build-options.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.20/bind-ensure-searching-for-json-headers-searches-sysr.patch b/meta/recipes-connectivity/bind/bind-9.16.21/bind-ensure-searching-for-json-headers-searches-sysr.patch
index f9cdc7ca4d..f9cdc7ca4d 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.20/bind-ensure-searching-for-json-headers-searches-sysr.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.21/bind-ensure-searching-for-json-headers-searches-sysr.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.20/bind9 b/meta/recipes-connectivity/bind/bind-9.16.21/bind9
index 968679ff7f..968679ff7f 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.20/bind9
+++ b/meta/recipes-connectivity/bind/bind-9.16.21/bind9
diff --git a/meta/recipes-connectivity/bind/bind-9.16.20/conf.patch b/meta/recipes-connectivity/bind/bind-9.16.21/conf.patch
index aad345f9fc..aad345f9fc 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.20/conf.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.21/conf.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.20/generate-rndc-key.sh b/meta/recipes-connectivity/bind/bind-9.16.21/generate-rndc-key.sh
index 633e29c0e6..633e29c0e6 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.20/generate-rndc-key.sh
+++ b/meta/recipes-connectivity/bind/bind-9.16.21/generate-rndc-key.sh
diff --git a/meta/recipes-connectivity/bind/bind-9.16.20/init.d-add-support-for-read-only-rootfs.patch b/meta/recipes-connectivity/bind/bind-9.16.21/init.d-add-support-for-read-only-rootfs.patch
index 11db95ede1..11db95ede1 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.20/init.d-add-support-for-read-only-rootfs.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.21/init.d-add-support-for-read-only-rootfs.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.20/make-etc-initd-bind-stop-work.patch b/meta/recipes-connectivity/bind/bind-9.16.21/make-etc-initd-bind-stop-work.patch
index 146f3e35db..146f3e35db 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.20/make-etc-initd-bind-stop-work.patch
+++ b/meta/recipes-connectivity/bind/bind-9.16.21/make-etc-initd-bind-stop-work.patch
diff --git a/meta/recipes-connectivity/bind/bind-9.16.20/named.service b/meta/recipes-connectivity/bind/bind-9.16.21/named.service
index cda56ef015..cda56ef015 100644
--- a/meta/recipes-connectivity/bind/bind-9.16.20/named.service
+++ b/meta/recipes-connectivity/bind/bind-9.16.21/named.service
diff --git a/meta/recipes-connectivity/bind/bind_9.16.20.bb b/meta/recipes-connectivity/bind/bind_9.16.21.bb
index f7d0416858..390c84248d 100644
--- a/meta/recipes-connectivity/bind/bind_9.16.20.bb
+++ b/meta/recipes-connectivity/bind/bind_9.16.21.bb
@@ -20,7 +20,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
file://0001-avoid-start-failure-with-bind-user.patch \
"
-SRC_URI[sha256sum] = "4d0d93c0d0b63080609e84625f24ff8777f8d164e78a75b1c19c334ce42d5b58"
+SRC_URI[sha256sum] = "65da5fd4fb80b7d0d7452876f81fd6d67cdcee54a5e3c1d65610334665dfa815"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
# stay at 9.16 follow the ESV versions divisible by 4
@@ -77,11 +77,11 @@ do_install:append() {
# Install systemd related files
install -d ${D}${sbindir}
install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir}
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/named.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/named.service
+ ${D}${systemd_system_unitdir}/named.service
install -d ${D}${sysconfdir}/default
install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
index 856bb9ee17..748eefa748 100644
--- a/meta/recipes-connectivity/connman/connman.inc
+++ b/meta/recipes-connectivity/connman/connman.inc
@@ -15,6 +15,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
inherit autotools pkgconfig systemd update-rc.d update-alternatives
+CVE_PRODUCT = "connman connection_manager"
+
DEPENDS = "dbus glib-2.0 ppp"
EXTRA_OECONF += "\
@@ -36,7 +38,7 @@ PACKAGECONFIG ??= "wispr iptables client\
# local.conf or distro config
# PACKAGECONFIG:append:pn-connman = " openvpn vpnc l2tp pptp"
-PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''"
+PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''"
PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant, wpa-supplicant"
PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5, bluez5"
PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono, ofono"
@@ -173,13 +175,13 @@ VPN technogies are implemented using plug-ins."
FILES:${PN}-vpn += "${sbindir}/connman-vpnd \
${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
${datadir}/dbus-1/system-services/net.connman.vpn.service \
- ${systemd_unitdir}/system/connman-vpn.service"
+ ${systemd_system_unitdir}/connman-vpn.service"
SUMMARY:${PN}-wait-online = "A program that will return once ConnMan has connected to a network"
DESCRIPTION:${PN}-wait-online = "A service that can be enabled so that \
the system waits until a network connection is established."
FILES:${PN}-wait-online += "${sbindir}/connmand-wait-online \
- ${systemd_unitdir}/system/connman-wait-online.service"
+ ${systemd_system_unitdir}/connman-wait-online.service"
SUMMARY:${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
DESCRIPTION:${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
diff --git a/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb b/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
index 4e9a367d96..dbad8c8728 100644
--- a/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
+++ b/meta/recipes-connectivity/dhcpcd/dhcpcd_9.4.0.bb
@@ -48,8 +48,8 @@ USERADD_PARAM:${PN} = "--system -d ${localstatedir}/lib/${BPN} -M -s /bin/false
do_install:append () {
# install systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dhcpcd*.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dhcpcd*.service ${D}${systemd_system_unitdir}
chmod 700 ${D}${localstatedir}/lib/${BPN}
chown dhcpcd:dhcpcd ${D}${localstatedir}/lib/${BPN}
diff --git a/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch b/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
index 7d5c087c9d..2343c03cb4 100644
--- a/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
+++ b/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
@@ -1,4 +1,4 @@
-From 684e45b34a33186bb17bcee0b01814c549a60bf6 Mon Sep 17 00:00:00 2001
+From cc66e842e037fba9f06761f942abe5c4856492b8 Mon Sep 17 00:00:00 2001
From: Kai Kang <kai.kang@windriver.com>
Date: Wed, 6 Mar 2019 09:36:11 -0500
Subject: [PATCH] inetutils: Import version 1.9.4
@@ -15,10 +15,10 @@ Signed-off-by: Kai Kang <kai.kang@windriver.com>
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 86136fb..b220319 100644
+index 5e16c3a..18510a8 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -183,6 +183,19 @@ AC_SUBST(LIBUTIL)
+@@ -182,6 +182,19 @@ AC_SUBST(LIBUTIL)
# See if we have libpam.a. Investigate PAM versus Linux-PAM.
if test "$with_pam" = yes ; then
@@ -38,12 +38,12 @@ index 86136fb..b220319 100644
AC_CHECK_LIB(dl, dlopen, LIBDL=-ldl)
AC_CHECK_LIB(pam, pam_authenticate, LIBPAM=-lpam)
if test "$ac_cv_lib_pam_pam_authenticate" = yes ; then
-@@ -620,7 +633,7 @@ AC_HEADER_DIRENT
- AC_CHECK_HEADERS([arpa/nameser.h arpa/tftp.h errno.h fcntl.h features.h \
+@@ -617,7 +630,7 @@ AC_HEADER_DIRENT
+ AC_CHECK_HEADERS([arpa/nameser.h arpa/tftp.h fcntl.h features.h \
glob.h memory.h netinet/ether.h netinet/in_systm.h \
netinet/ip.h netinet/ip_icmp.h netinet/ip_var.h \
- security/pam_appl.h shadow.h \
+ shadow.h \
- stdarg.h stdlib.h string.h stropts.h sys/tty.h \
+ stropts.h sys/tty.h \
sys/utsname.h sys/ptyvar.h sys/msgbuf.h sys/filio.h \
sys/ioctl_compat.h sys/cdefs.h sys/stream.h sys/mkdev.h \
diff --git a/meta/recipes-connectivity/inetutils/inetutils_2.1.bb b/meta/recipes-connectivity/inetutils/inetutils_2.2.bb
index 0cf73cdb24..3bab137eb4 100644
--- a/meta/recipes-connectivity/inetutils/inetutils_2.1.bb
+++ b/meta/recipes-connectivity/inetutils/inetutils_2.2.bb
@@ -10,7 +10,7 @@ LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7"
-SRC_URI[sha256sum] = "01b9a4bc73a47e63f6e8a07b76122d9ad2a2e46ebf14870e9c91d660b5647a22"
+SRC_URI[sha256sum] = "d547f69172df73afef691a0f7886280fd781acea28def4ff4b4b212086a89d80"
SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \
file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch \
file://inetutils-1.8-0003-wchar.patch \
diff --git a/meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb b/meta/recipes-connectivity/iproute2/iproute2_5.14.0.bb
index 44575bd50c..27fb5c8866 100644
--- a/meta/recipes-connectivity/iproute2/iproute2_5.13.0.bb
+++ b/meta/recipes-connectivity/iproute2/iproute2_5.14.0.bb
@@ -4,7 +4,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
file://0001-libc-compat.h-add-musl-workaround.patch \
"
-SRC_URI[sha256sum] = "72a2e53774cac9e65f7b617deebb2059f87e8960d6e9713e4d788cea966f1b36"
+SRC_URI[sha256sum] = "210fa785a52f3763c4287fd5ae63e246f6311bfaa48c424baab6d383bb7591d4"
# CFLAGS are computed in Makefile and reference CCOPTS
#
diff --git a/meta/recipes-connectivity/neard/neard_0.16.bb b/meta/recipes-connectivity/neard/neard_0.16.bb
index d55cf6a377..b6cc1d6ced 100644
--- a/meta/recipes-connectivity/neard/neard_0.16.bb
+++ b/meta/recipes-connectivity/neard/neard_0.16.bb
@@ -22,7 +22,7 @@ inherit autotools pkgconfig systemd update-rc.d
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/ --with-systemduserunitdir=${systemd_unitdir}/user/,--disable-systemd"
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}/ --with-systemduserunitdir=${systemd_unitdir}/user/,--disable-systemd"
EXTRA_OECONF += "--enable-tools"
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb
index a655de2aca..459f68f05e 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.5.4.bb
@@ -85,7 +85,7 @@ FILES:${PN}-client = "${sbindir}/*statd \
${sysconfdir}/nfs-utils.conf \
${sysconfdir}/nfsmount.conf \
${sysconfdir}/init.d/nfscommon \
- ${systemd_unitdir}/system/nfs-statd.service"
+ ${systemd_system_unitdir}/nfs-statd.service"
RDEPENDS:${PN}-client = "${PN}-mount rpcbind"
FILES:${PN}-mount = "${base_sbindir}/*mount.nfs*"
@@ -119,18 +119,18 @@ do_install:append () {
install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir}
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_system_unitdir}/
+ install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_system_unitdir}/
+ install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_system_unitdir}/
sed -i -e 's,@SBINDIR@,${sbindir},g' \
-e 's,@SYSCONFDIR@,${sysconfdir},g' \
-e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \
- ${D}${systemd_unitdir}/system/*.service
+ ${D}${systemd_system_unitdir}/*.service
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/
- install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
- ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
+ install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/
+ install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/
+ ln -sf ../proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/proc-fs-nfsd.mount
fi
# kernel code as of 3.8 hard-codes this path as a default
diff --git a/meta/recipes-connectivity/ofono/ofono_1.32.bb b/meta/recipes-connectivity/ofono/ofono_1.32.bb
index c3db52d944..61424c7469 100644
--- a/meta/recipes-connectivity/ofono/ofono_1.32.bb
+++ b/meta/recipes-connectivity/ofono/ofono_1.32.bb
@@ -25,7 +25,7 @@ PACKAGECONFIG ??= "\
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
"
-PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir="
+PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_system_unitdir}/,--with-systemdunitdir="
PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5"
EXTRA_OECONF += "--enable-test --enable-external-ell"
diff --git a/meta/recipes-connectivity/openssh/openssh_8.7p1.bb b/meta/recipes-connectivity/openssh/openssh_8.7p1.bb
index 8a2e7611af..07cd6b74cd 100644
--- a/meta/recipes-connectivity/openssh/openssh_8.7p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_8.7p1.bb
@@ -126,15 +126,15 @@ do_install:append () {
echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
- install -d ${D}${systemd_unitdir}/system
- install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system
- install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system
- install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_system_unitdir}
+ install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_system_unitdir}
+ install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
-e 's,@BINDIR@,${bindir},g' \
-e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
- ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service
+ ${D}${systemd_system_unitdir}/sshd.socket ${D}${systemd_system_unitdir}/*.service
sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
${D}${sysconfdir}/init.d/sshd
@@ -152,7 +152,7 @@ ALLOW_EMPTY:${PN} = "1"
PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
FILES:${PN}-scp = "${bindir}/scp.${BPN}"
FILES:${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
-FILES:${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
+FILES:${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_system_unitdir}"
FILES:${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
FILES:${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys"
FILES:${PN}-sftp = "${bindir}/sftp"
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch b/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch
new file mode 100644
index 0000000000..5effa6c6f6
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/0001-Configure-do-not-tweak-mips-cflags.patch
@@ -0,0 +1,36 @@
+From 326909baf81a638d51fa8be1d8227518784f5cc4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 14 Sep 2021 12:18:25 +0200
+Subject: [PATCH] Configure: do not tweak mips cflags
+
+This conflicts with mips machine definitons from yocto,
+e.g.
+| Error: -mips3 conflicts with the other architecture options, which imply -mips64r2
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ Configure | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/Configure b/Configure
+index 821e680..0387a74 100755
+--- a/Configure
++++ b/Configure
+@@ -1422,16 +1422,6 @@ if ($target =~ /^mingw/ && `$config{CC} --target-help 2>&1` =~ m/-mno-cygwin/m)
+ push @{$config{shared_ldflag}}, "-mno-cygwin";
+ }
+
+-if ($target =~ /linux.*-mips/ && !$disabled{asm}
+- && !grep { $_ !~ /-m(ips|arch=)/ } (@{$config{CFLAGS}})) {
+- # minimally required architecture flags for assembly modules
+- my $value;
+- $value = '-mips2' if ($target =~ /mips32/);
+- $value = '-mips3' if ($target =~ /mips64/);
+- unshift @{$config{cflags}}, $value;
+- unshift @{$config{cxxflags}}, $value if $config{CXX};
+-}
+-
+ # If threads aren't disabled, check how possible they are
+ unless ($disabled{threads}) {
+ if ($auto_threads) {
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch b/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
index 003cfbc8d8..60890c666d 100644
--- a/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
+++ b/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch
@@ -1,4 +1,4 @@
-From 3e1d00481093e10775eaf69d619c45b32a4aa7dc Mon Sep 17 00:00:00 2001
+From 5985253f2c9025d7c127443a3a9938946f80c2a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Hundeb=C3=B8ll?= <martin@geanix.com>
Date: Tue, 6 Nov 2018 14:50:47 +0100
Subject: [PATCH] buildinfo: strip sysroot and debug-prefix-map from compiler
@@ -21,7 +21,6 @@ https://patchwork.openembedded.org/patch/147229/
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Martin Hundebøll <martin@geanix.com>
-
Update to fix buildpaths qa issue for '-fmacro-prefix-map'.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
@@ -31,13 +30,15 @@ Update to fix buildpaths qa issue for '-ffile-prefix-map'.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- Configurations/unix-Makefile.tmpl | 10 +++++++++-
+ Configurations/unix-Makefile.tmpl | 12 +++++++++++-
crypto/build.info | 2 +-
- 2 files changed, 10 insertions(+), 2 deletions(-)
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
+index f88a70f..528cdef 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
-@@ -420,13 +420,23 @@ BIN_LDFLAGS={- join(' ', $target{bin_lfl
+@@ -471,13 +471,23 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (),
'$(CNF_LDFLAGS)', '$(LDFLAGS)') -}
BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS)
@@ -62,14 +63,16 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
PERLASM_SCHEME= {- $target{perlasm_scheme} -}
# For x86 assembler: Set PROCESSOR to 386 if you want to support
+diff --git a/crypto/build.info b/crypto/build.info
+index efca6cc..eda433e 100644
--- a/crypto/build.info
+++ b/crypto/build.info
-@@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink
- ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl
+@@ -109,7 +109,7 @@ DEFINE[../libcrypto]=$UPLINKDEF
+ DEPEND[info.o]=buildinf.h
DEPEND[cversion.o]=buildinf.h
-GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)"
+GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC_Q) $(CFLAGS_Q) $(CPPFLAGS_Q)" "$(PLATFORM)"
- DEPEND[buildinf.h]=../configdata.pm
- GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME)
+ GENERATE[uplink-x86.s]=../ms/uplink-x86.pl
+ GENERATE[uplink-x86_64.s]=../ms/uplink-x86_64.pl
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-skip-test_symbol_presence.patch b/meta/recipes-connectivity/openssl/openssl/0001-skip-test_symbol_presence.patch
deleted file mode 100644
index d8d9651b64..0000000000
--- a/meta/recipes-connectivity/openssl/openssl/0001-skip-test_symbol_presence.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From a9401b2289656c5a36dd1b0ecebf0d23e291ce70 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 2 Oct 2018 23:58:24 +0800
-Subject: [PATCH] skip test_symbol_presence
-
-We cannot skip `01-test_symbol_presence.t' by configuring option `no-shared'
-as INSTALL told us the shared libraries will not be built.
-
-[INSTALL snip]
- Notes on shared libraries
- -------------------------
-
- For most systems the OpenSSL Configure script knows what is needed to
- build shared libraries for libcrypto and libssl. On these systems
- the shared libraries will be created by default. This can be suppressed and
- only static libraries created by using the "no-shared" option. On systems
- where OpenSSL does not know how to build shared libraries the "no-shared"
- option will be forced and only static libraries will be created.
-[INSTALL snip]
-
-Hence directly modification the case to skip it.
-
-Upstream-Status: Inappropriate [OE Specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- test/recipes/01-test_symbol_presence.t | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/test/recipes/01-test_symbol_presence.t b/test/recipes/01-test_symbol_presence.t
-index 7f2a2d7..0b93745 100644
---- a/test/recipes/01-test_symbol_presence.t
-+++ b/test/recipes/01-test_symbol_presence.t
-@@ -14,8 +14,7 @@ use OpenSSL::Test::Utils;
-
- setup("test_symbol_presence");
-
--plan skip_all => "Only useful when building shared libraries"
-- if disabled("shared");
-+plan skip_all => "The case needs debug symbols then we just disable it";
-
- my @libnames = ("crypto", "ssl");
- my $testcount = scalar @libnames;
---
-2.7.4
-
diff --git a/meta/recipes-connectivity/openssl/openssl/reproducible.patch b/meta/recipes-connectivity/openssl/openssl/reproducible.patch
deleted file mode 100644
index a24260c95d..0000000000
--- a/meta/recipes-connectivity/openssl/openssl/reproducible.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-The value for perl_archname can vary depending on the host, e.g.
-x86_64-linux-gnu-thread-multi or x86_64-linux-thread-multi which
-makes the ptest package non-reproducible. Its unused other than
-these references so drop it.
-
-RP 2020/2/6
-
-Upstream-Status: Pending
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Index: openssl-1.1.1d/Configure
-===================================================================
---- openssl-1.1.1d.orig/Configure
-+++ openssl-1.1.1d/Configure
-@@ -286,7 +286,7 @@ if (defined env($local_config_envname))
- # Save away perl command information
- $config{perl_cmd} = $^X;
- $config{perl_version} = $Config{version};
--$config{perl_archname} = $Config{archname};
-+#$config{perl_archname} = $Config{archname};
-
- $config{prefix}="";
- $config{openssldir}="";
-@@ -2517,7 +2517,7 @@ _____
- @{$config{perlargv}}), "\n";
- print "\nPerl information:\n\n";
- print ' ',$config{perl_cmd},"\n";
-- print ' ',$config{perl_version},' for ',$config{perl_archname},"\n";
-+ print ' ',$config{perl_version},"\n";
- }
- if ($dump || $options) {
- my $longest = 0;
diff --git a/meta/recipes-connectivity/openssl/openssl/run-ptest b/meta/recipes-connectivity/openssl/openssl/run-ptest
index 3fb22471f8..8dff79101f 100644
--- a/meta/recipes-connectivity/openssl/openssl/run-ptest
+++ b/meta/recipes-connectivity/openssl/openssl/run-ptest
@@ -9,4 +9,4 @@ export TOP=.
# OPENSSL_ENGINES is relative from the test binaries
export OPENSSL_ENGINES=../engines
-perl ./test/run_tests.pl $* | perl -0pe 's#(.*) \.*.ok#PASS: \1#g; s#(.*) \.*.skipped: (.*)#SKIP: \1 (\2)#g; s#(.*) \.*.\nDubious#FAIL: \1#;'
+perl ./test/run_tests.pl $* | sed -u -r -e '/(.*) \.*.ok/ s/^/PASS: /g' -r -e '/Dubious(.*)/ s/^/FAIL: /g' -e '/(.*) \.*.skipped: (.*)/ s/^/SKIP: /g'
diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb b/meta/recipes-connectivity/openssl/openssl_3.0.0.bb
index b241ba78bc..d8c50a8011 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.1.1l.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.0.0.bb
@@ -4,19 +4,14 @@ HOMEPAGE = "http://www.openssl.org/"
BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
SECTION = "libs/network"
-# "openssl" here actually means both OpenSSL and SSLeay licenses apply
-# (see meta/files/common-licenses/OpenSSL to which "openssl" is SPDXLICENSEMAPped)
-LICENSE = "openssl"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d343e62fc9c833710bbbed25f27364c8"
-
-DEPENDS = "hostperl-runtime-native"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c75985e733726beaba57bc5253e96d04"
SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
file://run-ptest \
- file://0001-skip-test_symbol_presence.patch \
file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
file://afalg.patch \
- file://reproducible.patch \
+ file://0001-Configure-do-not-tweak-mips-cflags.patch \
"
SRC_URI:append:class-nativesdk = " \
@@ -28,9 +23,9 @@ SRC_URI:append:riscv32 = " \
file://0004-Fixup-support-for-io_pgetevents_time64-syscall.patch \
"
-SRC_URI[sha256sum] = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1"
+SRC_URI[sha256sum] = "59eedfcb46c25214c9bd37ed6078297b4df01d012267fe9e9eee31f61bc70536"
-inherit lib_package multilib_header multilib_script ptest
+inherit lib_package multilib_header multilib_script ptest perlnative
MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
PACKAGECONFIG ?= ""
@@ -59,19 +54,9 @@ EXTRA_OECONF:class-nativesdk = "--with-rand-seed=os,devrandom"
CFLAGS:append:class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
CFLAGS:append:class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
-# Disable deprecated crypto algorithms
-# Retained for compatibilty
-# des (curl)
-# dh (python-ssl)
-# dsa (rpm)
-# md4 (cyrus-sasl freeradius hostapd)
-# bf (wvstreams postgresql x11vnc crda znc cfengine)
-# rc4 (freerdp librtorrent ettercap xrdp transmission pam-ssh-agent-auth php)
-# rc2 (mailx)
-# psk (qt5)
-# srp (libest)
-# whirlpool (qca)
-DEPRECATED_CRYPTO_FLAGS = "no-ssl no-idea no-rc5 no-md2 no-camellia no-mdc2 no-scrypt no-seed no-siphash no-sm2 no-sm3 no-sm4"
+# This allows disabling deprecated or undesirable crypto algorithms.
+# The default is to trust upstream choices.
+DEPRECATED_CRYPTO_FLAGS ?= ""
do_configure () {
os=${HOST_OS}
@@ -146,7 +131,7 @@ do_configure () {
# WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
# environment variables set by bitbake. Adjust the environment variables instead.
HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
- perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target
+ perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-3 --libdir=${libdir} $target
perl ${B}/configdata.pm --dump
}
@@ -154,43 +139,49 @@ do_install () {
oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
oe_multilib_header openssl/opensslconf.h
+ oe_multilib_header openssl/configuration.h
# Create SSL structure for packages such as ca-certificates which
# contain hard-coded paths to /etc/ssl. Debian does the same.
install -d ${D}${sysconfdir}/ssl
- mv ${D}${libdir}/ssl-1.1/certs \
- ${D}${libdir}/ssl-1.1/private \
- ${D}${libdir}/ssl-1.1/openssl.cnf \
+ mv ${D}${libdir}/ssl-3/certs \
+ ${D}${libdir}/ssl-3/private \
+ ${D}${libdir}/ssl-3/openssl.cnf \
${D}${sysconfdir}/ssl/
# Although absolute symlinks would be OK for the target, they become
# invalid if native or nativesdk are relocated from sstate.
- ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-1.1/certs
- ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-1.1/private
- ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf
+ ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-3/certs
+ ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-3/private
+ ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-3/openssl.cnf
}
do_install:append:class-native () {
create_wrapper ${D}${bindir}/openssl \
- OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \
- SSL_CERT_DIR=${libdir}/ssl-1.1/certs \
- SSL_CERT_FILE=${libdir}/ssl-1.1/cert.pem \
- OPENSSL_ENGINES=${libdir}/engines-1.1
+ OPENSSL_CONF=${libdir}/ssl-3/openssl.cnf \
+ SSL_CERT_DIR=${libdir}/ssl-3/certs \
+ SSL_CERT_FILE=${libdir}/ssl-3/cert.pem \
+ OPENSSL_ENGINES=${libdir}/engines-3
}
do_install:append:class-nativesdk () {
mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
- sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+ sed 's|/usr/lib/ssl/|/usr/lib/ssl-3/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
}
PTEST_BUILD_HOST_FILES += "configdata.pm"
PTEST_BUILD_HOST_PATTERN = "perl_version ="
do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/test
+ install -m755 ${B}/test/p_test.so ${D}${PTEST_PATH}/test
+ install -m755 ${B}/test/provider_internal_test.cnf ${D}${PTEST_PATH}/test
+
# Prune the build tree
rm -f ${B}/fuzz/*.* ${B}/test/*.*
cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH}
+ sed 's|${S}|${PTEST_PATH}|g' -i ${D}${PTEST_PATH}/configdata.pm
cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH}
# For test_shlibload
@@ -204,10 +195,20 @@ do_install_ptest () {
install -d ${D}${PTEST_PATH}/engines
install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines
+ install -m755 ${B}/engines/loader_attic.so ${D}${PTEST_PATH}/engines
+
+ install -d ${D}${PTEST_PATH}/providers
+ install -m755 ${B}/providers/legacy.so ${D}${PTEST_PATH}/providers
+
+ install -d ${D}${PTEST_PATH}/Configurations
+ cp -rf ${S}/Configurations/* ${D}${PTEST_PATH}/Configurations/
# seems to be needed with perl 5.32.1
install -d ${D}${PTEST_PATH}/util/perl/recipes
cp ${D}${PTEST_PATH}/test/recipes/tconversion.pl ${D}${PTEST_PATH}/util/perl/recipes/
+
+ sed 's|${S}|${PTEST_PATH}|g' -i ${D}${PTEST_PATH}/util/wrap.pl
+
}
# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
@@ -220,13 +221,13 @@ PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}"
FILES:libssl = "${libdir}/libssl${SOLIBS}"
FILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf \
- ${libdir}/ssl-1.1/openssl.cnf* \
+ ${libdir}/ssl-3/openssl.cnf* \
"
-FILES:${PN}-engines = "${libdir}/engines-1.1"
+FILES:${PN}-engines = "${libdir}/engines-3"
# ${prefix} comes from what we pass into --prefix at configure time (which is used for INSTALLTOP)
-FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-1_1"
-FILES:${PN}-misc = "${libdir}/ssl-1.1/misc ${bindir}/c_rehash"
-FILES:${PN} =+ "${libdir}/ssl-1.1/*"
+FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-3"
+FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash"
+FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/"
FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
CONFFILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.9.bb b/meta/recipes-connectivity/ppp/ppp_2.4.9.bb
index 023d0feca9..235595ff76 100644
--- a/meta/recipes-connectivity/ppp/ppp_2.4.9.bb
+++ b/meta/recipes-connectivity/ppp/ppp_2.4.9.bb
@@ -60,10 +60,10 @@ do_install:append () {
install -m 0755 ${WORKDIR}/pap ${D}${sysconfdir}/chatscripts
install -m 0755 ${WORKDIR}/ppp_on_boot ${D}${sysconfdir}/ppp/ppp_on_boot
install -m 0755 ${WORKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/ppp@.service ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/ppp@.service ${D}${systemd_system_unitdir}
sed -i -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/ppp@.service
+ ${D}${systemd_system_unitdir}/ppp@.service
rm -rf ${D}/${mandir}/man8/man8
chmod u+s ${D}${sbindir}/pppd
}
@@ -74,7 +74,7 @@ do_install:append:libc-musl () {
CONFFILES:${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
PACKAGES =+ "${PN}-oa ${PN}-oe ${PN}-radius ${PN}-winbind ${PN}-minconn ${PN}-password ${PN}-l2tp ${PN}-tools"
-FILES:${PN} = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_unitdir}/system/ppp@.service"
+FILES:${PN} = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_system_unitdir}/ppp@.service"
FILES:${PN}-oa = "${libdir}/pppd/${PV}/pppoatm.so"
FILES:${PN}-oe = "${sbindir}/pppoe-discovery ${libdir}/pppd/${PV}/*pppoe.so"
FILES:${PN}-radius = "${libdir}/pppd/${PV}/radius.so ${libdir}/pppd/${PV}/radattr.so ${libdir}/pppd/${PV}/radrealms.so"
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
index 309bb4aea5..33b1495bb2 100644
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
@@ -100,8 +100,8 @@ do_install () {
install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system
+ install -d ${D}/${systemd_system_unitdir}
+ install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_system_unitdir}
fi
install -d ${D}/etc/default/volatiles
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.34.0.bb b/meta/recipes-core/busybox/busybox-inittab_1.34.1.bb
index be8c06323c..be8c06323c 100644
--- a/meta/recipes-core/busybox/busybox-inittab_1.34.0.bb
+++ b/meta/recipes-core/busybox/busybox-inittab_1.34.1.bb
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index d85e2a3d7a..622325aabb 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -24,7 +24,7 @@ EXTRA_OEMAKE = "CC='${CC}' LD='${CCLD}' V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${
PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev ${PN}-hwclock"
FILES:${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
-FILES:${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_unitdir}/system/syslog.service ${sysconfdir}/default/busybox-syslog"
+FILES:${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf* ${systemd_system_unitdir}/syslog.service ${sysconfdir}/default/busybox-syslog"
FILES:${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf ${sysconfdir}/mdev/*"
FILES:${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
FILES:${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
@@ -110,9 +110,8 @@ python () {
}
do_prepare_config () {
- if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
- export KCONFIG_NOTIMESTAMP=1
- fi
+ export KCONFIG_NOTIMESTAMP=1
+
sed -e '/CONFIG_STATIC/d' \
< ${WORKDIR}/defconfig > ${S}/.config
echo "# CONFIG_STATIC is not set" >> .config
@@ -143,9 +142,8 @@ do_configure () {
do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then
- export KCONFIG_NOTIMESTAMP=1
- fi
+ export KCONFIG_NOTIMESTAMP=1
+
if [ "${BUSYBOX_SPLIT_SUID}" = "1" -a x`grep "CONFIG_FEATURE_INDIVIDUAL=y" .config` = x ]; then
# split the .config into two parts, and make two busybox binaries
if [ -e .config.orig ]; then
@@ -317,17 +315,17 @@ do_install () {
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
if grep -q "CONFIG_KLOGD=y" ${B}/.config; then
- install -d ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \
- > ${D}${systemd_unitdir}/system/busybox-klogd.service
+ > ${D}${systemd_system_unitdir}/busybox-klogd.service
fi
if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then
- install -d ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \
- > ${D}${systemd_unitdir}/system/busybox-syslog.service
- if [ ! -e ${D}${systemd_unitdir}/system/busybox-klogd.service ] ; then
- sed -i '/klog/d' ${D}${systemd_unitdir}/system/busybox-syslog.service
+ > ${D}${systemd_system_unitdir}/busybox-syslog.service
+ if [ ! -e ${D}${systemd_system_unitdir}/busybox-klogd.service ] ; then
+ sed -i '/klog/d' ${D}${systemd_system_unitdir}/busybox-syslog.service
fi
if [ -f ${WORKDIR}/busybox-syslog.default ] ; then
install -d ${D}${sysconfdir}/default
diff --git a/meta/recipes-core/busybox/busybox_1.34.0.bb b/meta/recipes-core/busybox/busybox_1.34.1.bb
index 51df1df05f..6aed0f0476 100644
--- a/meta/recipes-core/busybox/busybox_1.34.0.bb
+++ b/meta/recipes-core/busybox/busybox_1.34.1.bb
@@ -51,4 +51,4 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
"
SRC_URI:append:libc-musl = " file://musl.cfg "
-SRC_URI[tarball.sha256sum] = "ec8d1615edb045b83b81966604759c4d4ac921434ab4011da604f629c06074ce"
+SRC_URI[tarball.sha256sum] = "415fbd89e5344c96acf449d94a6f956dbed62e18e835fc83e064db33a34bd549"
diff --git a/meta/recipes-core/coreutils/coreutils/0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch b/meta/recipes-core/coreutils/coreutils/0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch
deleted file mode 100644
index 06b6307dab..0000000000
--- a/meta/recipes-core/coreutils/coreutils/0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From 3a48610860a9a75692d2cbedde69ac15269d540a Mon Sep 17 00:00:00 2001
-Message-Id: <3a48610860a9a75692d2cbedde69ac15269d540a.1624302273.git.wallinux@gmail.com>
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Wed, 15 Apr 2020 20:50:32 -0700
-Subject: [PATCH] fts: remove NOSTAT_LEAF_OPTIMIZATION
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It caused ‘find’ and ‘du’ to dump core, and it was useful
-only for obsolescent Linux filesystems anyway. Problem reported in:
-https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
-Quite possibly there is still a serious underlying fts bug with
-tight-loop-check and mutating file systems, but if so this patch
-should cause the bug to be triggered less often.
-* lib/fts.c (enum leaf_optimization): Remove
-NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
-(S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
-(leaf_optimization): Remove special cases for ReiserFS and XFS.
-(fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
-* lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
-Remove. All uses removed.
-
-Upstream-Status: Backport [upstream gnulib commit:
-47bf2cf3184027c1eb9c1dfeea5c5b8b2d69710d]
-
-Signed-off-by: Anders Wallin <wallinux@gmail.com>
----
- lib/fts.c | 56 ++++++++----------------------------------------------
- lib/fts_.h | 5 -----
- 2 files changed, 8 insertions(+), 53 deletions(-)
-
-diff --git a/lib/fts.c b/lib/fts.c
-index d3a0472..ade8c33 100644
---- a/lib/fts.c
-+++ b/lib/fts.c
-@@ -445,7 +445,6 @@ fts_open (char * const *argv,
- if ((parent = fts_alloc(sp, "", 0)) == NULL)
- goto mem2;
- parent->fts_level = FTS_ROOTPARENTLEVEL;
-- parent->fts_n_dirs_remaining = -1;
- }
-
- /* The classic fts implementation would call fts_stat with
-@@ -634,9 +633,8 @@ fts_close (FTS *sp)
- }
-
- /* Minimum link count of a traditional Unix directory. When leaf
-- optimization is OK and MIN_DIR_NLINK <= st_nlink, then st_nlink is
-- an upper bound on the number of subdirectories (counting "." and
-- ".."). */
-+ optimization is OK and a directory's st_nlink == MIN_DIR_NLINK,
-+ then the directory has no subdirectories. */
- enum { MIN_DIR_NLINK = 2 };
-
- /* Whether leaf optimization is OK for a directory. */
-@@ -645,12 +643,8 @@ enum leaf_optimization
- /* st_nlink is not reliable for this directory's subdirectories. */
- NO_LEAF_OPTIMIZATION,
-
-- /* Leaf optimization is OK, but is not useful for avoiding stat calls. */
-- OK_LEAF_OPTIMIZATION,
--
-- /* Leaf optimization is not only OK: it is useful for avoiding
-- stat calls, because dirent.d_type does not work. */
-- NOSTAT_LEAF_OPTIMIZATION
-+ /* st_nlink == 2 means the directory lacks subdirectories. */
-+ OK_LEAF_OPTIMIZATION
- };
-
- #if (defined __linux__ || defined __ANDROID__) \
-@@ -663,9 +657,7 @@ enum leaf_optimization
- # define S_MAGIC_CIFS 0xFF534D42
- # define S_MAGIC_NFS 0x6969
- # define S_MAGIC_PROC 0x9FA0
--# define S_MAGIC_REISERFS 0x52654973
- # define S_MAGIC_TMPFS 0x1021994
--# define S_MAGIC_XFS 0x58465342
-
- # ifdef HAVE___FSWORD_T
- typedef __fsword_t fsword;
-@@ -782,23 +774,15 @@ dirent_inode_sort_may_be_useful (FTSENT const *p, int dir_fd)
- }
-
- /* Given an FTS entry P for a directory with descriptor DIR_FD,
-- return true if it is both useful and valid to apply leaf optimization.
-- The optimization is useful only for file systems that lack usable
-- dirent.d_type info. The optimization is valid if an st_nlink value
-- of at least MIN_DIR_NLINK is an upper bound on the number of
-- subdirectories of D, counting "." and ".." as subdirectories.
-+ return whether it is valid to apply leaf optimization.
-+ The optimization is valid if a directory's st_nlink value equal
-+ to MIN_DIR_NLINK means the directory has no subdirectories.
- DIR_FD is negative if unavailable. */
- static enum leaf_optimization
- leaf_optimization (FTSENT const *p, int dir_fd)
- {
- switch (filesystem_type (p, dir_fd))
- {
-- /* List here the file system types that may lack usable dirent.d_type
-- info, yet for which the optimization does apply. */
-- case S_MAGIC_REISERFS:
-- case S_MAGIC_XFS: /* XFS lacked it until 2013-08-22 commit. */
-- return NOSTAT_LEAF_OPTIMIZATION;
--
- case 0:
- /* Leaf optimization is unsafe if the file system type is unknown. */
- FALLTHROUGH;
-@@ -1023,26 +1007,7 @@ check_for_dir:
- if (p->fts_info == FTS_NSOK)
- {
- if (p->fts_statp->st_size == FTS_STAT_REQUIRED)
-- {
-- FTSENT *parent = p->fts_parent;
-- if (parent->fts_n_dirs_remaining == 0
-- && ISSET(FTS_NOSTAT)
-- && ISSET(FTS_PHYSICAL)
-- && (leaf_optimization (parent, sp->fts_cwd_fd)
-- == NOSTAT_LEAF_OPTIMIZATION))
-- {
-- /* nothing more needed */
-- }
-- else
-- {
-- p->fts_info = fts_stat(sp, p, false);
-- if (S_ISDIR(p->fts_statp->st_mode)
-- && p->fts_level != FTS_ROOTLEVEL
-- && 0 < parent->fts_n_dirs_remaining
-- && parent->fts_n_dirs_remaining != (nlink_t) -1)
-- parent->fts_n_dirs_remaining--;
-- }
-- }
-+ p->fts_info = fts_stat(sp, p, false);
- else
- fts_assert (p->fts_statp->st_size == FTS_NO_STAT_REQUIRED);
- }
-@@ -1826,11 +1791,6 @@ err: memset(sbp, 0, sizeof(struct stat));
- }
-
- if (S_ISDIR(sbp->st_mode)) {
-- p->fts_n_dirs_remaining
-- = ((sbp->st_nlink < MIN_DIR_NLINK
-- || p->fts_level <= FTS_ROOTLEVEL)
-- ? -1
-- : sbp->st_nlink - (ISSET (FTS_SEEDOT) ? 0 : MIN_DIR_NLINK));
- if (ISDOT(p->fts_name)) {
- /* Command-line "." and ".." are real directories. */
- return (p->fts_level == FTS_ROOTLEVEL ? FTS_D : FTS_DOT);
-diff --git a/lib/fts_.h b/lib/fts_.h
-index 6c7d0ce..15c248c 100644
---- a/lib/fts_.h
-+++ b/lib/fts_.h
-@@ -219,11 +219,6 @@ typedef struct _ftsent {
-
- size_t fts_namelen; /* strlen(fts_name) */
-
-- /* If not (nlink_t) -1, an upper bound on the number of
-- remaining subdirectories of interest. If this becomes
-- zero, some work can be avoided. */
-- nlink_t fts_n_dirs_remaining;
--
- # define FTS_D 1 /* preorder directory */
- # define FTS_DC 2 /* directory that causes cycles */
- # define FTS_DEFAULT 3 /* none of the above */
---
-2.32.0
-
diff --git a/meta/recipes-core/coreutils/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch b/meta/recipes-core/coreutils/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch
deleted file mode 100644
index fa900e3a76..0000000000
--- a/meta/recipes-core/coreutils/coreutils/0001-ls-restore-8.31-behavior-on-removed-directories.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 7c273e5c6041f8c70f73f5b280fbb8f27d9b5a36 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu, 5 Mar 2020 17:25:29 -0800
-Subject: [PATCH] ls: restore 8.31 behavior on removed directories
-
-* NEWS: Mention this.
-* src/ls.c: Do not include <sys/sycall.h>
-(print_dir): Don't worry about whether the directory is removed.
-* tests/ls/removed-directory.sh: Adjust to match new (i.e., old)
-behavior.
-
-Upstream-Status: Backport [https://github.com/coreutils/coreutils/commit/10fcb97bd728f09d4a027eddf8ad2900f0819b0a]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- src/ls.c | 22 ----------------------
- tests/ls/removed-directory.sh | 10 ++--------
- 2 files changed, 2 insertions(+), 30 deletions(-)
-
-diff --git a/src/ls.c b/src/ls.c
-index 637fe7a..0111f49 100644
---- a/src/ls.c
-+++ b/src/ls.c
-@@ -49,10 +49,6 @@
- # include <sys/ptem.h>
- #endif
-
--#ifdef __linux__
--# include <sys/syscall.h>
--#endif
--
- #include <stdio.h>
- #include <assert.h>
- #include <setjmp.h>
-@@ -2895,7 +2891,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
- struct dirent *next;
- uintmax_t total_blocks = 0;
- static bool first = true;
-- bool found_any_entries = false;
-
- errno = 0;
- dirp = opendir (name);
-@@ -2971,7 +2966,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
- next = readdir (dirp);
- if (next)
- {
-- found_any_entries = true;
- if (! file_ignored (next->d_name))
- {
- enum filetype type = unknown;
-@@ -3017,22 +3011,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
- if (errno != EOVERFLOW)
- break;
- }
--#ifdef __linux__
-- else if (! found_any_entries)
-- {
-- /* If readdir finds no directory entries at all, not even "." or
-- "..", then double check that the directory exists. */
-- if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1
-- && errno != EINVAL)
-- {
-- /* We exclude EINVAL as that pertains to buffer handling,
-- and we've passed NULL as the buffer for simplicity.
-- ENOENT is returned if appropriate before buffer handling. */
-- file_failure (command_line_arg, _("reading directory %s"), name);
-- }
-- break;
-- }
--#endif
- else
- break;
-
-diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh
-index e8c835d..fe8f929 100755
---- a/tests/ls/removed-directory.sh
-+++ b/tests/ls/removed-directory.sh
-@@ -26,20 +26,14 @@ case $host_triplet in
- *) skip_ 'non linux kernel' ;;
- esac
-
--LS_FAILURE=2
--
--cat <<\EOF >exp-err || framework_failure_
--ls: reading directory '.': No such file or directory
--EOF
--
- cwd=$(pwd)
- mkdir d || framework_failure_
- cd d || framework_failure_
- rmdir ../d || framework_failure_
-
--returns_ $LS_FAILURE ls >../out 2>../err || fail=1
-+ls >../out 2>../err || fail=1
- cd "$cwd" || framework_failure_
- compare /dev/null out || fail=1
--compare exp-err err || fail=1
-+compare /dev/null err || fail=1
-
- Exit $fail
diff --git a/meta/recipes-core/coreutils/coreutils/disable-ls-output-quoting.patch b/meta/recipes-core/coreutils/coreutils/disable-ls-output-quoting.patch
deleted file mode 100644
index e68c213550..0000000000
--- a/meta/recipes-core/coreutils/coreutils/disable-ls-output-quoting.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Subject: revert inconsistent ls quoting
-
-This is a revert of upstream commit 109b9220cead6e979d22d16327c4d9f8350431cc.
-
-Bug-Debian: https://bugs.debian.org/813164
-
-Upstream-Status: Submitted
-
-Originally-by: Adam Borowski <kilobyte@angband.pl>
-[PG: patch from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=813164#78 ]
-Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-
----
-
---- coreutils-8.25.orig/NEWS
-+++ coreutils-8.25/NEWS
-@@ -71,9 +71,6 @@ GNU coreutils NEWS
- df now prefers sources towards the root of a device when
- eliding duplicate bind mounted entries.
-
-- ls now quotes file names unambiguously and appropriate for use in a shell,
-- when outputting to a terminal.
--
- join, sort, uniq with --zero-terminated, now treat '\n' as a field delimiter.
-
- ** Improvements
---- coreutils-8.25.orig/doc/coreutils.texi
-+++ coreutils-8.25/doc/coreutils.texi
-@@ -7750,8 +7750,8 @@ this"} in the default C locale. This lo
-
- You can specify the default value of the @option{--quoting-style} option
- with the environment variable @env{QUOTING_STYLE}@. If that environment
--variable is not set, the default value is @samp{shell-escape} when the
--output is a terminal, and @samp{literal} otherwise.
-+variable is not set, the default value is @samp{literal}, but this
-+default may change to @samp{shell} in a future version of this package.
-
- @item --show-control-chars
- @opindex --show-control-chars
---- coreutils-8.25.orig/src/ls.c
-+++ coreutils-8.25/src/ls.c
-@@ -1581,7 +1581,6 @@ decode_switches (int argc, char **argv)
- if (isatty (STDOUT_FILENO))
- {
- format = many_per_line;
-- set_quoting_style (NULL, shell_escape_quoting_style);
- /* See description of qmark_funny_chars, above. */
- qmark_funny_chars = true;
- }
diff --git a/meta/recipes-core/coreutils/coreutils/e8b56ebd536e82b15542a00c888109471936bfda.patch b/meta/recipes-core/coreutils/coreutils/e8b56ebd536e82b15542a00c888109471936bfda.patch
new file mode 100644
index 0000000000..d69ee95e4a
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils/e8b56ebd536e82b15542a00c888109471936bfda.patch
@@ -0,0 +1,93 @@
+From e8b56ebd536e82b15542a00c888109471936bfda Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
+Date: Fri, 24 Sep 2021 20:57:41 +0100
+Subject: [PATCH] chmod: fix exit status when ignoring symlinks
+
+* src/chmod.c: Reorder enum so CH_NOT_APPLIED
+can be treated as a non error.
+* tests/chmod/ignore-symlink.sh: A new test.
+* tests/local.mk: Reference the new test.
+* NEWS: Mention the bug fix.
+Fixes https://bugs.gnu.org/50784
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/chmod.c | 4 ++--
+ tests/chmod/ignore-symlink.sh | 31 +++++++++++++++++++++++++++++++
+ tests/local.mk | 1 +
+ 4 files changed, 40 insertions(+), 2 deletions(-)
+ create mode 100755 tests/chmod/ignore-symlink.sh
+
+diff --git a/src/chmod.c b/src/chmod.c
+index 37b04f500..57ac47f33 100644
+--- a/src/chmod.c
++++ b/src/chmod.c
+@@ -44,8 +44,8 @@ struct change_status
+ enum
+ {
+ CH_NO_STAT,
+- CH_NOT_APPLIED,
+ CH_FAILED,
++ CH_NOT_APPLIED,
+ CH_NO_CHANGE_REQUESTED,
+ CH_SUCCEEDED
+ }
+@@ -322,7 +322,7 @@ process_file (FTS *fts, FTSENT *ent)
+ if ( ! recurse)
+ fts_set (fts, ent, FTS_SKIP);
+
+- return CH_NO_CHANGE_REQUESTED <= ch.status;
++ return CH_NOT_APPLIED <= ch.status;
+ }
+
+ /* Recursively change the modes of the specified FILES (the last entry
+diff --git a/tests/chmod/ignore-symlink.sh b/tests/chmod/ignore-symlink.sh
+new file mode 100755
+index 000000000..5ce3de816
+--- /dev/null
++++ b/tests/chmod/ignore-symlink.sh
+@@ -0,0 +1,31 @@
++#!/bin/sh
++# Test for proper exit code of chmod on a processed symlink.
++
++# Copyright (C) 2021 Free Software Foundation, Inc.
++
++# 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, either version 3 of the License, or
++# (at your option) any later version.
++
++# 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, see <https://www.gnu.org/licenses/>.
++
++. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
++print_ver_ chmod
++
++mkdir dir || framework_failure_
++touch dir/f || framework_failure_
++ln -s f dir/l || framework_failure_
++
++# This operation ignores symlinks but should succeed.
++chmod u+w -R dir 2> out || fail=1
++
++compare /dev/null out || fail=1
++
++Exit $fail
+diff --git a/tests/local.mk b/tests/local.mk
+index 228d0e368..b5b893fb7 100644
+--- a/tests/local.mk
++++ b/tests/local.mk
+@@ -456,6 +456,7 @@ all_tests = \
+ tests/chmod/c-option.sh \
+ tests/chmod/equal-x.sh \
+ tests/chmod/equals.sh \
++ tests/chmod/ignore-symlink.sh \
+ tests/chmod/inaccessible.sh \
+ tests/chmod/octal.sh \
+ tests/chmod/setgid.sh \
diff --git a/meta/recipes-core/coreutils/coreutils/fix-selinux-flask.patch b/meta/recipes-core/coreutils/coreutils/fix-selinux-flask.patch
index 173a57925b..4f126ad67c 100644
--- a/meta/recipes-core/coreutils/coreutils/fix-selinux-flask.patch
+++ b/meta/recipes-core/coreutils/coreutils/fix-selinux-flask.patch
@@ -1,4 +1,4 @@
-From 7e20a7242ba2657f73311bbf5278093da67f0721 Mon Sep 17 00:00:00 2001
+From b04363018b4b9b45fdf23384f30d02caa5564602 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Tue, 16 Sep 2014 01:59:08 -0700
Subject: [PATCH] gnulib-comp.m4: selinux/flask.h should respect to
@@ -19,16 +19,17 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
-index dead90e..0abf0bd 100644
+index 3857233..c01fb30 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
-@@ -1860,10 +1860,10 @@ AC_DEFUN([gl_INIT],
+@@ -1953,11 +1953,11 @@ AC_DEFUN([gl_INIT],
AC_LIBOBJ([select])
fi
gl_SYS_SELECT_MODULE_INDICATOR([select])
- AC_CHECK_HEADERS([selinux/flask.h])
gl_HEADERS_SELINUX_SELINUX_H
gl_HEADERS_SELINUX_CONTEXT_H
+ gl_HEADERS_SELINUX_LABEL_H
if test "$with_selinux" != no && test "$ac_cv_header_selinux_selinux_h" = yes; then
+ AC_CHECK_HEADERS([selinux/flask.h])
AC_LIBOBJ([getfilecon])
diff --git a/meta/recipes-core/coreutils/coreutils_8.32.bb b/meta/recipes-core/coreutils/coreutils_9.0.bb
index f82572ed52..0800bc3b6d 100644
--- a/meta/recipes-core/coreutils/coreutils_8.32.bb
+++ b/meta/recipes-core/coreutils/coreutils_9.0.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "http://www.gnu.org/software/coreutils/"
BUGTRACKER = "http://debbugs.gnu.org/coreutils"
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
- file://src/ls.c;beginline=1;endline=15;md5=b7d80abf5b279320fb0e4b1007ed108b \
+ file://src/ls.c;beginline=1;endline=15;md5=3b8fbaee597c8a9bb88d30840d53048c \
"
DEPENDS = "gmp libcap"
DEPENDS:class-native = ""
@@ -17,21 +17,17 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \
file://remove-usr-local-lib-from-m4.patch \
file://fix-selinux-flask.patch \
file://0001-uname-report-processor-and-hardware-correctly.patch \
- file://disable-ls-output-quoting.patch \
file://0001-local.mk-fix-cross-compiling-problem.patch \
+ file://e8b56ebd536e82b15542a00c888109471936bfda.patch \
file://run-ptest \
- file://0001-ls-restore-8.31-behavior-on-removed-directories.patch \
- file://0001-fts-remove-NOSTAT_LEAF_OPTIMIZATION.patch \
"
-SRC_URI[md5sum] = "022042695b7d5bcf1a93559a9735e668"
-SRC_URI[sha256sum] = "4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa"
+SRC_URI[sha256sum] = "ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce"
# http://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=v8.27-101-gf5d7c0842
# runcon is not really a sandbox command, use `runcon ... setsid ...` to avoid this particular issue.
CVE_CHECK_WHITELIST += "CVE-2016-2781"
-EXTRA_OECONF:class-native = "--without-gmp"
EXTRA_OECONF:class-target = "--enable-install-program=arch,hostname --libexecdir=${libdir}"
EXTRA_OECONF:class-nativesdk = "--enable-install-program=arch,hostname"
@@ -52,6 +48,7 @@ PACKAGECONFIG:class-nativesdk ??= "xattr"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
PACKAGECONFIG[single-binary] = "--enable-single-binary,--disable-single-binary,,"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
# [ df mktemp nice printenv base64 gets a special treatment and is not included in this
bindir_progs = "arch basename chcon cksum comm csplit cut dir dircolors dirname du \
diff --git a/meta/recipes-core/dropbear/dropbear.inc b/meta/recipes-core/dropbear/dropbear.inc
index f2a490c473..78f9f9adbd 100644
--- a/meta/recipes-core/dropbear/dropbear.inc
+++ b/meta/recipes-core/dropbear/dropbear.inc
@@ -97,14 +97,14 @@ do_install() {
fi
# deal with systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_system_unitdir}
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
-e 's,@BINDIR@,${bindir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/dropbear.socket ${D}${systemd_unitdir}/system/*.service
+ ${D}${systemd_system_unitdir}/dropbear.socket ${D}${systemd_system_unitdir}/*.service
}
inherit update-alternatives
diff --git a/meta/recipes-core/ell/ell_0.43.bb b/meta/recipes-core/ell/ell_0.44.bb
index 3d3ef82668..d1f1691645 100644
--- a/meta/recipes-core/ell/ell_0.43.bb
+++ b/meta/recipes-core/ell/ell_0.44.bb
@@ -17,7 +17,7 @@ inherit autotools pkgconfig
SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \
file://0001-pem.c-do-not-use-rawmemchr.patch \
"
-SRC_URI[sha256sum] = "b6c75895ad64bf78f5b5c464de871048d02f9403be518084e0d64b58f508c9fc"
+SRC_URI[sha256sum] = "41a6f8fa4d285b52cb7a5a87bda3e7370ecaac02d94aaa7ec1a23f0480b8bc3f"
do_configure:prepend () {
mkdir -p ${S}/build-aux
diff --git a/meta/recipes-core/expat/expat_2.4.1.bb b/meta/recipes-core/expat/expat_2.4.1.bb
index 555dd0d601..14e5aca9e6 100644
--- a/meta/recipes-core/expat/expat_2.4.1.bb
+++ b/meta/recipes-core/expat/expat_2.4.1.bb
@@ -6,11 +6,15 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9"
-SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \
+VERSION_TAG = "${@d.getVar('PV').replace('.', '_')}"
+
+SRC_URI = "https://github.com/libexpat/libexpat/releases/download/R_${VERSION_TAG}/expat-${PV}.tar.bz2 \
file://libtool-tag.patch \
file://run-ptest \
"
+UPSTREAM_CHECK_URI = "https://github.com/libexpat/libexpat/releases/"
+
SRC_URI[sha256sum] = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40"
EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF"
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
index 41ecfa1df8..9bbb33ffc1 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 7cde170afe6854d674b50e32b4c1d3b511be9abe Mon Sep 17 00:00:00 2001
+From 73b1c416674d285b021e218da1a3ddb884e606da Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Mon, 9 Nov 2015 11:07:27 +0200
Subject: [PATCH] Enable more tests while cross-compiling
@@ -15,10 +15,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/gio/tests/meson.build b/gio/tests/meson.build
-index 788cf97..dab65d2 100644
+index 5dbfb8e..3fd7998 100644
--- a/gio/tests/meson.build
+++ b/gio/tests/meson.build
-@@ -203,7 +203,7 @@ if host_machine.system() != 'windows'
+@@ -221,7 +221,7 @@ if host_machine.system() != 'windows'
# Test programs that need to bring up a session bus (requires dbus-daemon)
have_dbus_daemon = find_program('dbus-daemon', required : false).found()
@@ -27,7 +27,7 @@ index 788cf97..dab65d2 100644
annotate_args = [
'--annotate', 'org.project.Bar', 'Key1', 'Value1',
'--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
-@@ -548,12 +548,12 @@ if installed_tests_enabled
+@@ -570,12 +570,12 @@ if installed_tests_enabled
endforeach
endif
@@ -42,7 +42,7 @@ index 788cf97..dab65d2 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--generate-source',
-@@ -577,7 +577,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -599,7 +599,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
test_gresource = custom_target('test.gresource',
input : 'test.gresource.xml',
output : 'test.gresource',
@@ -51,7 +51,7 @@ index 788cf97..dab65d2 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--sourcedir=' + meson.current_build_dir(),
-@@ -588,7 +588,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -610,7 +610,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
test_resources2_c = custom_target('test_resources2.c',
input : 'test3.gresource.xml',
output : 'test_resources2.c',
@@ -60,7 +60,7 @@ index 788cf97..dab65d2 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--generate',
-@@ -599,7 +599,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -621,7 +621,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
test_resources2_h = custom_target('test_resources2.h',
input : 'test3.gresource.xml',
output : 'test_resources2.h',
@@ -69,7 +69,7 @@ index 788cf97..dab65d2 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--generate',
-@@ -611,7 +611,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -633,7 +633,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
input : 'test2.gresource.xml',
depends : big_test_resource,
output : 'test_resources.c',
@@ -78,7 +78,7 @@ index 788cf97..dab65d2 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--sourcedir=' + meson.current_build_dir(),
-@@ -622,7 +622,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -644,7 +644,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
digit_test_resources_c = custom_target('digit_test_resources.c',
input : '111_digit_test.gresource.xml',
output : 'digit_test_resources.c',
@@ -87,7 +87,7 @@ index 788cf97..dab65d2 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--sourcedir=' + meson.current_build_dir(),
-@@ -633,7 +633,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -655,7 +655,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
digit_test_resources_h = custom_target('digit_test_resources.h',
input : '111_digit_test.gresource.xml',
output : 'digit_test_resources.h',
@@ -96,11 +96,11 @@ index 788cf97..dab65d2 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--generate',
-@@ -668,11 +668,11 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -688,11 +688,11 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
ld = find_program('ld', required : false)
-- if build_machine.system() == 'linux' and cc.get_id() == 'gcc' and objcopy.found() and objcopy_supports_add_symbol and ld.found()
+- if build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_add_symbol and ld.found()
+ if not meson.is_cross_build()
test_gresource_binary = custom_target('test5.gresource',
input : 'test5.gresource.xml',
@@ -110,7 +110,7 @@ index 788cf97..dab65d2 100644
'--target=@OUTPUT@',
'--sourcedir=' + meson.current_source_dir(),
'--sourcedir=' + meson.current_build_dir(),
-@@ -684,7 +684,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -704,7 +704,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
test_resources_binary_c = custom_target('test_resources_binary.c',
input : 'test5.gresource.xml',
output : 'test_resources_binary.c',
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index 846c8d62b6..9bfb6e85cc 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From dac2bdeea38388e069412aa27eff8f1eff0440e5 Mon Sep 17 00:00:00 2001
+From ab071f315deed3740f867161ee58436b985d6fc1 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Fri, 11 Mar 2016 15:35:55 +0000
Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
@@ -19,10 +19,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/gio/giomodule.c b/gio/giomodule.c
-index a2909a8..1f4ab82 100644
+index d34037a..7442df6 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
-@@ -51,6 +51,8 @@
+@@ -54,6 +54,8 @@
#ifdef G_OS_WIN32
#include "gregistrysettingsbackend.h"
#include "giowin32-priv.h"
@@ -31,7 +31,7 @@ index a2909a8..1f4ab82 100644
#endif
#include <glib/gstdio.h>
-@@ -1213,7 +1215,15 @@ get_gio_module_dir (void)
+@@ -1224,7 +1226,15 @@ get_gio_module_dir (void)
NULL);
g_free (install_dir);
#else
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/time-test.patch b/meta/recipes-core/glib-2.0/glib-2.0/time-test.patch
deleted file mode 100644
index 4d7ef97bb5..0000000000
--- a/meta/recipes-core/glib-2.0/glib-2.0/time-test.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2177]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 289f8be1b397a453cfcf35641455f3ae5fb4faeb Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@arm.com>
-Date: Tue, 6 Jul 2021 19:26:03 +0100
-Subject: [PATCH] gio/tests/g-file-info: don't assume million-in-one events
- don't happen
-
-The modification time test creates a file, gets the modification time in
-seconds, then gets the modification time in microseconds and assumes
-that the difference between the two has to be above 0.
-
-As rare as this may be, it can happen:
-
-$ stat g-file-info-test-50A450 -c %y
-2021-07-06 18:24:56.000000767 +0100
-
-Change the test to simply assert that the difference not negative to
-handle this case.
----
- gio/tests/g-file-info.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gio/tests/g-file-info.c b/gio/tests/g-file-info.c
-index c11c50462..fd0c64b55 100644
---- a/gio/tests/g-file-info.c
-+++ b/gio/tests/g-file-info.c
-@@ -178,7 +178,7 @@ test_g_file_info_modification_time (void)
- g_assert_nonnull (dt_usecs);
-
- ts = g_date_time_difference (dt_usecs, dt);
-- g_assert_cmpint (ts, >, 0);
-+ g_assert_cmpint (ts, >=, 0);
- g_assert_cmpint (ts, <, G_USEC_PER_SEC);
-
- /* Try round-tripping the modification time. */
---
-2.25.1
-
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.68.4.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.70.0.bb
index cd789de3c0..8217aaa8d0 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.68.4.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.70.0.bb
@@ -17,11 +17,10 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \
- file://time-test.patch \
"
SRC_URI:append:class-native = " file://relocate-modules.patch"
-SRC_URI[sha256sum] = "62fd061d08a75492617e625a73e2c05e259f831acbb8e1f8b9c81f23f7993a3b"
+SRC_URI[sha256sum] = "200d7df811c5ba634afbf109f14bb40ba7fde670e89389885da14e27c0840742"
# Find any meson cross files in FILESPATH that are relevant for the current
# build (using siteinfo) and add them to EXTRA_OEMESON.
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index a34776b083..0eef2e330c 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -9,7 +9,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://glib/glib.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \
file://gmodule/COPYING;md5=4fbd65380cdd255951079008b364516c \
file://gmodule/gmodule.h;beginline=4;endline=17;md5=b88abb7f3ad09607e71cb9d530155906 \
- file://glib/pcre/pcre.h;beginline=8;endline=36;md5=3e2977dae4ad05217f58c446237298fc \
file://docs/reference/COPYING;md5=f51a5100c17af6bae00735cd791e1fcc"
BUGTRACKER = "http://bugzilla.gnome.org"
SECTION = "libs"
@@ -22,6 +21,7 @@ DEPENDS = "glib-2.0-native \
virtual/libintl \
virtual/libiconv \
libffi \
+ libpcre \
zlib"
PACKAGES += "${PN}-codegen ${PN}-utils"
@@ -36,10 +36,9 @@ GTKDOC_MESON_OPTION = "gtk_doc"
S = "${WORKDIR}/glib-${PV}"
-PACKAGECONFIG ??= "system-pcre libmount \
+PACKAGECONFIG ??= "libmount \
${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
# To use the system pcre it must be configured with --enable-unicode-properties
-PACKAGECONFIG[system-pcre] = "-Dinternal_pcre=false,-Dinternal_pcre=true,libpcre"
PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux"
PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
# libelf is auto-detected without a configuration option
diff --git a/meta/recipes-core/glib-networking/glib-networking_2.68.2.bb b/meta/recipes-core/glib-networking/glib-networking_2.70.0.bb
index acea26e080..fc700e03b7 100644
--- a/meta/recipes-core/glib-networking/glib-networking_2.68.2.bb
+++ b/meta/recipes-core/glib-networking/glib-networking_2.70.0.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS = "glib-2.0"
-SRC_URI[archive.sha256sum] = "535ebc054ef697db56a4fffed91bc0e11c8ee1c9acb48aad28c8e1d5c3d5994f"
+SRC_URI[archive.sha256sum] = "66b408e7afa86c582fe38963db56133869ab4b57d34e48ec56aba621940d6f35"
PACKAGECONFIG ??= "openssl ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index e25561d9b9..571ae7ae09 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -1,6 +1,6 @@
INHIBIT_SYSROOT_STRIP = "1"
-PACKAGES = "${PN}-dbg catchsegv sln nscd ldconfig ldd tzcode glibc-thread-db ${PN}-pic libcidn libmemusage malloc-debug libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-src"
+PACKAGES = "${PN}-dbg catchsegv sln nscd ldconfig ldd tzcode glibc-thread-db ${PN}-pic libmemusage malloc-debug libnss-db libsegfault ${PN}-pcprofile libsotruss ${PN} ${PN}-utils glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-src"
# The ld.so in this glibc supports the GNU_HASH
RPROVIDES:${PN} = "eglibc rtld(GNU_HASH)"
@@ -29,7 +29,6 @@ RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', '${MLPR
FILES:ldconfig = "${base_sbindir}/ldconfig"
FILES:ldd = "${bindir}/ldd"
FILES:libsegfault = "${base_libdir}/libSegFault*"
-FILES:libcidn = "${base_libdir}/libcidn-*.so ${base_libdir}/libcidn.so.*"
FILES:libmemusage = "${base_libdir}/libmemusage.so"
FILES:malloc-debug = "${base_libdir}/libc_malloc_debug.so.0"
FILES:libnss-db = "${base_libdir}/libnss_db.so.* ${base_libdir}/libnss_db-*.so ${localstatedir}/db/Makefile ${localstatedir}/db/makedbs.sh"
@@ -42,7 +41,7 @@ FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
FILES:${PN}-dev += "${libdir}/libpthread.a ${libdir}/libdl.a ${libdir}/libutil.a ${libdir}/libanl.a ${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
RDEPENDS:${PN}-dev = "linux-libc-headers-dev"
FILES:${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a"
-FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
+FILES:nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_system_unitdir}/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd"
FILES:${PN}-mtrace = "${bindir}/mtrace"
FILES:tzcode = "${bindir}/tzselect ${sbindir}/zic ${bindir}/zdump"
@@ -107,8 +106,8 @@ do_install() {
sed -i "s%daemon%start-stop-daemon --start --exec%g" ${D}${sysconfdir}/init.d/nscd
sed -i "s|\(enable-cache\t\+netgroup\t\+\)yes|\1no|" ${D}${sysconfdir}/nscd.conf
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/nscd/nscd.service ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/nscd/nscd.service ${D}${systemd_system_unitdir}/
# The dynamic loader will have been installed into
# ${base_libdir}. However, if that isn't going to end up being
diff --git a/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch b/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch
index 52986e61c7..d1835c7a10 100644
--- a/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch
+++ b/meta/recipes-core/glibc/ldconfig-native-2.12.1/ldconfig.patch
@@ -400,7 +400,7 @@ Index: ldconfig-native-2.12.1/ldconfig.c
return 0;
}
-+#define REPORT_BUGS_TO "mailing list : poky@yoctoproject.org"
++#define REPORT_BUGS_TO "mailing list : poky@lists.yoctoproject.org"
/* Print bug-reporting information in the help message. */
static char *
more_help (int key, const char *text, void *input)
diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 86dc691297..94cafdbbe4 100644
--- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -24,8 +24,8 @@ IMAGE_FSTYPES = "wic.vmdk wic.vhd wic.vhdx"
inherit core-image setuptools3
-SRCREV ?= "98dcd17a5c6c3c6ac3f542b47e358c714f88af6a"
-SRC_URI = "git://git.yoctoproject.org/poky \
+SRCREV ?= "156767d3ed6f044a6b2dd43fc1fea13852e761a2"
+SRC_URI = "git://git.yoctoproject.org/poky;branch=honister \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \
file://README_VirtualBox_Guest_Additions.txt \
diff --git a/meta/recipes-core/images/core-image-ptest-all.bb b/meta/recipes-core/images/core-image-ptest-all.bb
index c1d6aa28a9..1472451675 100644
--- a/meta/recipes-core/images/core-image-ptest-all.bb
+++ b/meta/recipes-core/images/core-image-ptest-all.bb
@@ -18,8 +18,8 @@ IMAGE_OVERHEAD_FACTOR = "1.0"
IMAGE_ROOTFS_EXTRA_SPACE = "1124288"
# ptests need more memory than standard to avoid the OOM killer
-# also lttng-tools needs /tmp that has at least 1G
-QB_MEM = "-m 2048"
+# also lttng-tools needs /tmp that has at least 2G
+QB_MEM = "-m 4096"
# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
PTEST_EXPECT_FAILURE = "1"
diff --git a/meta/recipes-core/libxml/libxml2_2.9.12.bb b/meta/recipes-core/libxml/libxml2_2.9.12.bb
index 3105889c16..c387587dfd 100644
--- a/meta/recipes-core/libxml/libxml2_2.9.12.bb
+++ b/meta/recipes-core/libxml/libxml2_2.9.12.bb
@@ -36,7 +36,7 @@ PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
inherit autotools pkgconfig binconfig-disabled ptest
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
RDEPENDS:${PN}-ptest += "bash make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}"
diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb
index 6e96cf6c32..fb28930656 100644
--- a/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/meta/recipes-core/meta/buildtools-tarball.bb
@@ -49,7 +49,6 @@ RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
EXCLUDE_FROM_WORLD = "1"
-inherit meta
inherit populate_sdk
inherit toolchain-scripts-base
inherit nopackages
diff --git a/meta/recipes-core/meta/meta-environment.bb b/meta/recipes-core/meta/meta-environment.bb
index 27f0103665..7118fb2aef 100644
--- a/meta/recipes-core/meta/meta-environment.bb
+++ b/meta/recipes-core/meta/meta-environment.bb
@@ -47,6 +47,11 @@ python do_generate_content() {
}
addtask generate_content before do_install after do_compile
+python () {
+ sitefiles, searched = siteinfo_get_files(d, sysrootcache=False)
+ d.appendVarFlag("do_generate_content", "file-checksums", " " + " ".join(searched))
+}
+
create_sdk_files() {
# Setup site file for external use
toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}
diff --git a/meta/recipes-core/meta/meta-ide-support.bb b/meta/recipes-core/meta/meta-ide-support.bb
index 768f6f4bb6..39317d50e0 100644
--- a/meta/recipes-core/meta/meta-ide-support.bb
+++ b/meta/recipes-core/meta/meta-ide-support.bb
@@ -6,10 +6,16 @@ DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native qemu-helper-native
PR = "r3"
RM_WORK_EXCLUDE += "${PN}"
-inherit meta toolchain-scripts nopackages
+inherit toolchain-scripts nopackages
do_populate_ide_support () {
toolchain_create_tree_env_script
}
+python () {
+ sitefiles, searched = siteinfo_get_files(d, sysrootcache=False)
+ d.setVar("CONFIG_SITE", " ".join(sitefiles))
+ d.appendVarFlag("do_populate_ide_support", "file-checksums", " " + " ".join(searched))
+}
+
addtask populate_ide_support before do_build after do_install
diff --git a/meta/recipes-core/meta/testexport-tarball.bb b/meta/recipes-core/meta/testexport-tarball.bb
index de7663b38c..7cb84a0104 100644
--- a/meta/recipes-core/meta/testexport-tarball.bb
+++ b/meta/recipes-core/meta/testexport-tarball.bb
@@ -26,7 +26,6 @@ RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
EXCLUDE_FROM_WORLD = "1"
-inherit meta
inherit populate_sdk
inherit toolchain-scripts-base
inherit nopackages
diff --git a/meta/recipes-core/meta/uninative-tarball.bb b/meta/recipes-core/meta/uninative-tarball.bb
index bbdaebad94..a21d08b591 100644
--- a/meta/recipes-core/meta/uninative-tarball.bb
+++ b/meta/recipes-core/meta/uninative-tarball.bb
@@ -36,7 +36,6 @@ RDEPENDS = "${TOOLCHAIN_HOST_TASK}"
EXCLUDE_FROM_WORLD = "1"
-inherit meta
inherit populate_sdk
inherit nopackages
diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb
index 4caf258e39..5d54bad473 100644
--- a/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/meta/recipes-core/ovmf/ovmf_git.bb
@@ -10,7 +10,10 @@ LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=06357ddc23f46577c2aeaeaf7b776
# compiling OVMF twice, so it is disabled by default. Distros
# may change that default.
PACKAGECONFIG ??= ""
+PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'tpm', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'tpm', '', d)}"
PACKAGECONFIG[secureboot] = ",,,"
+PACKAGECONFIG[tpm] = "-D TPM_ENABLE=TRUE,-D TPM_ENABLE=FALSE,,"
SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=https \
file://0001-ovmf-update-path-to-native-BaseTools.patch \
@@ -186,7 +189,7 @@ do_compile:class-target() {
bbnote "Building without Secure Boot."
rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX
- ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER}
+ ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${PACKAGECONFIG_CONFARGS}
ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.fd
ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.code.fd
ln ${build_dir}/FV/OVMF_VARS.fd ${WORKDIR}/ovmf/ovmf.vars.fd
@@ -196,7 +199,7 @@ do_compile:class-target() {
# Repeat build with the Secure Boot flags.
bbnote "Building with Secure Boot."
rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX
- ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS}
+ ${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${PACKAGECONFIG_CONFARGS} ${OVMF_SECURE_BOOT_FLAGS}
ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.secboot.fd
ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.secboot.code.fd
ln ${build_dir}/${OVMF_ARCH}/EnrollDefaultKeys.efi ${WORKDIR}/ovmf/
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 663a9cd57b..84eb46b9c2 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -36,6 +36,7 @@ SYSTEMTAP = "systemtap"
SYSTEMTAP:libc-musl = ""
SYSTEMTAP:nios2 = ""
SYSTEMTAP:riscv64 = ""
+SYSTEMTAP:riscv32 = ""
LTTNGTOOLS = "lttng-tools"
LTTNGTOOLS:arc = ""
diff --git a/meta/recipes-core/psplash/psplash_git.bb b/meta/recipes-core/psplash/psplash_git.bb
index e9789c4ce0..1be7ece79d 100644
--- a/meta/recipes-core/psplash/psplash_git.bb
+++ b/meta/recipes-core/psplash/psplash_git.bb
@@ -109,9 +109,9 @@ do_install:append() {
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/psplash-start.service ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/psplash-systemd.service ${D}/${systemd_unitdir}/system
+ install -d ${D}${systemd_system_unitdir}
+ install -m 644 ${WORKDIR}/psplash-start.service ${D}/${systemd_system_unitdir}
+ install -m 644 ${WORKDIR}/psplash-systemd.service ${D}/${systemd_system_unitdir}
fi
install -d ${D}${bindir}
diff --git a/meta/recipes-core/systemd/systemd-boot_249.3.bb b/meta/recipes-core/systemd/systemd-boot_249.4.bb
index b3d4e31e08..b3d4e31e08 100644
--- a/meta/recipes-core/systemd/systemd-boot_249.3.bb
+++ b/meta/recipes-core/systemd/systemd-boot_249.4.bb
diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb
index f7505f1eb8..55ebf99117 100644
--- a/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -38,7 +38,7 @@ pkg_postinst:${PN} () {
fi
for i in ${SYSTEMD_DISABLED_SYSV_SERVICES} ; do
- if [ -e $i -o -e $i.sh ] && ! [ -e $D${sysconfdir}/systemd/system/$i.service -o -e $D${systemd_unitdir}/system/$i.service ] ; then
+ if [ -e $i -o -e $i.sh ] && ! [ -e $D${sysconfdir}/systemd/system/$i.service -o -e $D${systemd_system_unitdir}/$i.service ] ; then
echo -n "$i: "
systemctl $OPTS mask $i.service
fi
diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb
index 61ce7939d3..53af7c616a 100644
--- a/meta/recipes-core/systemd/systemd-conf_1.0.bb
+++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
@@ -21,7 +21,7 @@ SRC_URI = "\
do_install() {
install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf
install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf
- install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf
+ install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_system_unitdir}.conf.d/00-${PN}.conf
if ${@bb.utils.contains('PACKAGECONFIG', 'dhcp-ethernet', 'true', 'false', d)}; then
install -D -m0644 ${WORKDIR}/wired.network ${D}${systemd_unitdir}/network/80-wired.network
@@ -30,7 +30,7 @@ do_install() {
# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52
do_install:append:qemuall() {
- install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf
+ install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_system_unitdir}.conf.d/01-${PN}.conf
}
PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -38,6 +38,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
FILES:${PN} = "\
${systemd_unitdir}/journald.conf.d/ \
${systemd_unitdir}/logind.conf.d/ \
- ${systemd_unitdir}/system.conf.d/ \
+ ${systemd_system_unitdir}.conf.d/ \
${systemd_unitdir}/network/ \
"
diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb
index 92d35ebcf7..7ca951cdbd 100644
--- a/meta/recipes-core/systemd/systemd-serialgetty.bb
+++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
@@ -19,11 +19,11 @@ REQUIRED_DISTRO_FEATURES = "systemd"
do_install() {
if [ ! -z "${SERIAL_CONSOLES}" ] ; then
default_baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'`
- install -d ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_system_unitdir}/
install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/
- install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_unitdir}/system/
- sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_unitdir}/system/serial-getty@.service
- sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_unitdir}/system/serial-getty@.service
+ install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/
+ sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_system_unitdir}/serial-getty@.service
+ sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_system_unitdir}/serial-getty@.service
tmp="${SERIAL_CONSOLES}"
for entry in $tmp ; do
@@ -31,14 +31,14 @@ do_install() {
ttydev=`echo $entry | sed -e 's/^[0-9]*\;//' -e 's/\;.*//'`
if [ "$baudrate" = "$default_baudrate" ] ; then
# enable the service
- ln -sf ${systemd_unitdir}/system/serial-getty@.service \
+ ln -sf ${systemd_system_unitdir}/serial-getty@.service \
${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty@$ttydev.service
else
# install custom service file for the non-default baudrate
- install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_unitdir}/system/serial-getty$baudrate@.service
- sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_unitdir}/system/serial-getty$baudrate@.service
+ install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service
+ sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service
# enable the service
- ln -sf ${systemd_unitdir}/system/serial-getty$baudrate@.service \
+ ln -sf ${systemd_system_unitdir}/serial-getty$baudrate@.service \
${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty$baudrate@$ttydev.service
fi
done
@@ -46,7 +46,7 @@ do_install() {
}
# This is a machine specific file
-FILES:${PN} = "${systemd_unitdir}/system/*.service ${sysconfdir}"
+FILES:${PN} = "${systemd_system_unitdir}/*.service ${sysconfdir}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
ALLOW_EMPTY:${PN} = "1"
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 05341724f4..bc098adcb3 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -14,7 +14,7 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "090378dcb1de5ca66900503210e85d63075fa70a"
+SRCREV = "4d8fd88b9641fce81272f60f556543f713175403"
SRCBRANCH = "v249-stable"
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \
"
diff --git a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
index 15fa0c4546..bd2312c3b3 100644
--- a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
+++ b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
@@ -1,4 +1,4 @@
-From 40acdb90031cfeb7140cee5205bce24f8c91d857 Mon Sep 17 00:00:00 2001
+From 0be164b79315998e719971db86ed79128ffb4a0b Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Mon, 25 Feb 2019 13:41:41 +0800
Subject: [PATCH] don't use glibc-specific qsort_r
diff --git a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
index d0110a2388..7b14316134 100644
--- a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
+++ b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__co