From 93c203f3a38be7db9cd7bb6b4954f3eb655acc8e Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Wed, 6 Oct 2021 16:15:23 -0500 Subject: subtree updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit meta-security: de6712a806..a85fbe980e: Anton Antonov (1): Upgrade parsec-service 0.8.1 and parsec-tool 0.4.0 Armin Kuster (1): chkrootkit: update to 0.55 Bhupesh Sharma (1): recipes-security/fscrypt: Add fscrypt .bb file Christer Fletcher (1): dmverity: Make use of DATA_BLOCK_SIZE variable in initrdscript. Kristian Klausen (1): libtpm: update to 0.8.7 Zoltán Böszörményi (1): clamav: Set clamav:clamav ownership on /var/lib/clamav in do_install poky: 06dcace68b..80f2b56ad8: Anibal Limon (1): recipes-support/ptest-runner: Bump to v2.4.2 Bruce Ashfield (5): linux-yocto-dev: update to v5.15-rcX lttng-modules/dev-upstream: update to 2.13-latest lttng-modules: fix build against 5.15+ linux-yocto/5.13: drop recipes yocto-bsp/5.13: drop recipes Chandana kalluri (1): scriptutils.py: Add check before deleting path Daniel Wagenknecht (2): common-tasks: add note about license implications of bundled initramfs ref-manual: add note about license implications of bundled initramfs Joshua Watt (2): lib/oe/spdx.py: Add comments python3: Fix sysroot reproducibility Kenfe-Mickael Laventure (1): package_ipk: Use localdata store when signing packages Kiran Surendran (1): ffmpeg: fix CVE-2021-38171 Kristian Klausen (2): ovmf: add TPM PACKAGECONFIG and enable if tpm is in MACHINE_FEATURES wic/bootimg-efi: Add Unified Kernel Image option Markus Volk (1): wic:direct.py: ignore invalid mountpoints during fstab update Matt Madison (1): autotools.bbclass: use ordinary append for file-checksums update Michael Halstead (1): releases: update to include 3.1.11 Minjae Kim (1): vim: fix CVE-2021-3778 Quentin Schulz (1): ref-manual: fix missed override syntax change Rasmus Villemoes (1): kernel.bbclass: remove unnecessary dead code Richard Purdie (29): oeqa/qemurunner: Use oe._exit(), not sys.exit() pseudo: Add in ability to flush database with shutdown request packagegroup-core-tools-profile: Exclude systemtap from riscv32 as well bitbake: bitbake-worker: Allow shutdown/database flush of pseudo server at task exit bitbake: siggen: Fix sorting in diff output bitbake: cooker/command: Add a dummy event for tinfoil testing oeqa/selftest/gotoolchain: Fix temp file cleanup oeqa/buildproject: Ensure temp directories are cleaned up libc_package/buildstats: Fix python regex quoting warnings oeqa/selftest/tinfoil: Update to use test command glew: Stop polluting /tmp during builds rpm: Ensure compression parallelism isn't coded into rpms package: Ensure pclist files are deterministic and don't use full paths gnupg: Be deterministic about sendmail mesa: Ensure megadrivers runtime mappings are deterministic util-linux: Fix reproducibility libtool: Allow libtool-cross to reproduce gobject-introspection: Don't write $HOME into scripts oeqa/selftest/bbtests: Add uuid to force build test image: Exclude IMAGE_VERSION_SUFFIX from expansion in image tasks sstatesig: Revert "Test cross/native hashserv method extension" bitbake: data: Ensure functions are defined in a deterministic order bitbake.conf: Set vardepvalue for PARALLEL_MAKEINST externalsrc: Fix a source date epoch race in reproducible builds sstatesig: Add processing for full build paths in sysroot files python3: Drop broken pyc files image-artifact-names: Use SOURCE_DATE_EPOCH when making reproducible builds for deploy abi_version/sstate: Bump HASH_VERSION and SSTATE_VERSION reproducible_build: Work around caching issues Robert P. J. Day (3): ref-manual: extend explanation of PACKAGE_DEBUG_SPLIT_STYLE ref-manual: mention INHIBIT_PACKAGE_DEBUG_SPLIT variable overview-manual: delete bad backslashes in SSTATE_MIRRORS example Saul Wold (3): spdx-licenses.json: Use 3.14 tagged version spdx.py: Add SPDXAnnotation Object create-spdx: Use SPDXAnnotation to track native recipes Thomas Perrot (2): libevent: mark util/monotonic_prc_fallback as retriable ruby: fix the reproducibility issue Tom Pollard (2): bzip2: Update soname for libbz2 1.0.8 libsamplerate0: Set correct soname for 0.1.9 Trevor Woerner (1): hello-mod/hello.c: convert printk to pr_xxx William A. Kennington III (1): rm_work.bbclass: Fix for files starting with - Yi Zhao (1): inetutils: fix CVE-2021-40491 wangmy (1): strace: upgrade 5.13 -> 5.14 meta-openembedded: cff8331f96..23dc4f060f: Armin Kuster (1): README: update to main repo Chandana kalluri (1): python3-humanfriendly: Add nativesdk to BBCLASSEXTEND Changqing Li (1): layer.conf: add openembedded-layer as LAYERDEPENDS Khem Raj (3): smcroute: Add missing pkgconfig inherit packagegroup-meta-oe: Add new packages smarty and libjs-jquery-icheck gattlib: Upgrade to latest LiweiSong (1): chipsec: platform security assessment framework Martin Jansa (5): opencv: fix build with protobuf-3.18 when dnn PACKAGECONFIG is enabled libeigen: backport fix for -Werror=class-memaccess issues when NEON is enabled README: mention linux-libc-dev:i386 for luajit on ubuntu-21.10 gpsd: inherit pkgconfig pahole: use MACHINE_ARCH Matteo Croce (1): pahole: don't download vendored libbpf Mingli Yu (1): libqb: Upgrade to 2.0.3 Nandor Han (1): libiio: depend on avahi only when network backed is used Peter Kjellerstedt (1): netdata: Move the version to the file name and correct the SRC_URI Richard Purdie (1): gattlib: Place pkgconfig file in correct package Yi Zhao (1): phpmyadmin: upgrade 5.1.0 -> 5.1.1 wangmy (7): unionfs-fuse: upgrade 2.1 -> 2.2 smcroute: upgrade 2.4.4 -> 2.5.3 snort: upgrade 2.9.18 -> 2.9.18.1 libsass: upgrade 3.6.4 -> 3.6.5 sanlock: upgrade 3.8.3 -> 3.8.4 sassc: upgrade 3.6.1 -> 3.6.2 valijson: upgrade 0.5 -> 0.6 zangrc (8): python3-pychromecast: upgrade 9.2.0 -> 9.2.1 python3-pyro4: upgrade 4.80 -> 4.81 python3-pyzmq: upgrade 22.2.1 -> 22.3.0 python3-robotframework: upgrade 4.1 -> 4.1.1 python3-sqlparse: upgrade 0.4.1 -> 0.4.2 python3-tqdm: upgrade 4.62.2 -> 4.62.3 libjs-jquery-icheck: Add recipe smarty: Add recipe zhengruoqin (6): python3-cmd2: upgrade 2.1.2 -> 2.2.0 python3-huey: upgrade 2.4.0 -> 2.4.1 python3-humanfriendly: upgrade 9.2 -> 10.0 cifs-utils: upgrade 6.13 -> 6.14 cmark: upgrade 0.30.1 -> 0.30.2 gpsd: upgrade 3.23 -> 3.23.1 Signed-off-by: Patrick Williams Change-Id: Ie782ff5d7f3004fb1f1ac9a4c8644a178bae46ad --- poky/meta/classes/autotools.bbclass | 5 +- poky/meta/classes/create-spdx.bbclass | 21 +- poky/meta/classes/externalsrc.bbclass | 19 +- poky/meta/classes/image-artifact-names.bbclass | 9 +- poky/meta/classes/image.bbclass | 1 + poky/meta/classes/image_types_wic.bbclass | 5 +- poky/meta/classes/kernel.bbclass | 15 +- poky/meta/classes/libc-package.bbclass | 2 +- poky/meta/classes/package.bbclass | 6 +- poky/meta/classes/package_ipk.bbclass | 4 +- poky/meta/classes/reproducible_build.bbclass | 11 +- poky/meta/classes/rm_work.bbclass | 8 +- poky/meta/classes/sstate.bbclass | 9 +- poky/meta/conf/abi_version.conf | 2 +- poky/meta/conf/bitbake.conf | 1 + poky/meta/files/spdx-licenses.json | 2579 ++++++++++---------- poky/meta/lib/buildstats.py | 4 +- poky/meta/lib/oe/spdx.py | 64 + poky/meta/lib/oe/sstatesig.py | 47 +- poky/meta/lib/oeqa/selftest/cases/bbtests.py | 4 +- poky/meta/lib/oeqa/selftest/cases/gotoolchain.py | 6 + poky/meta/lib/oeqa/selftest/cases/tinfoil.py | 6 +- poky/meta/lib/oeqa/selftest/cases/wic.py | 29 + poky/meta/lib/oeqa/utils/buildproject.py | 3 + poky/meta/lib/oeqa/utils/qemurunner.py | 2 +- poky/meta/lib/oeqa/utils/targetbuild.py | 4 +- .../inetutils/inetutils/CVE-2021-40491.patch | 88 + .../inetutils/inetutils_2.1.bb | 1 + poky/meta/recipes-core/ovmf/ovmf_git.bb | 7 +- .../packagegroup-core-tools-profile.bb | 1 + .../recipes-core/util-linux/util-linux_2.37.2.bb | 5 +- .../recipes-devtools/elfutils/elfutils_0.185.bb | 1 - .../recipes-devtools/libtool/libtool-2.4.6.inc | 1 + .../meta/recipes-devtools/libtool/libtool_2.4.6.bb | 2 +- poky/meta/recipes-devtools/perl/perl_5.34.0.bb | 7 + poky/meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +- .../python/python3/reformat_sysconfig.py | 2 +- poky/meta/recipes-devtools/python/python3_3.9.6.bb | 13 + .../recipes-devtools/qemu/qemuwrapper-cross_1.0.bb | 1 + ...c-do-not-insert-payloadflags-into-.rpm-me.patch | 28 + poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb | 6 + ...003-rdoc-build-reproducible-documentation.patch | 35 + ...-sort-list-of-object-files-in-generated-M.patch | 28 + ...pec-reproducible-change-fixing-784225-too.patch | 28 + .../ruby/0006-Make-gemspecs-reproducible.patch | 67 + poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb | 4 + poky/meta/recipes-devtools/strace/strace_5.13.bb | 56 - poky/meta/recipes-devtools/strace/strace_5.14.bb | 56 + .../syslinux/syslinux_6.04-pre2.bb | 1 - poky/meta/recipes-extended/bzip2/bzip2/Makefile.am | 2 +- .../gobject-introspection_1.68.0.bb | 2 +- .../recipes-graphics/glew/glew/notempdir.patch | 19 + poky/meta/recipes-graphics/glew/glew_2.2.0.bb | 1 + poky/meta/recipes-graphics/mesa/mesa.inc | 2 +- poky/meta/recipes-kernel/linux/linux-yocto-dev.bb | 2 +- .../recipes-kernel/linux/linux-yocto-rt_5.13.bb | 45 - .../recipes-kernel/linux/linux-yocto-tiny_5.13.bb | 32 - poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb | 68 - ...plug-Remove-deprecated-CPU-hotplug-functi.patch | 394 +++ ...Makefile-Enable-Wimplicit-fallthrough-for.patch | 829 +++++++ .../recipes-kernel/lttng/lttng-modules_2.13.0.bb | 9 +- .../ffmpeg/ffmpeg/fix-CVE-2021-38171.patch | 42 + poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb | 3 +- .../libsamplerate0/shared_version_info.patch | 13 + .../libsamplerate/libsamplerate0_0.1.9.bb | 1 + poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb | 1 + ...-util-monotonic_prc_fallback-as-retriable.patch | 28 + ...e-tests-are-marked-failed-only-when-all-a.patch | 81 + .../recipes-support/libevent/libevent/run-ptest | 10 +- .../recipes-support/libevent/libevent_2.1.12.bb | 4 +- .../ptest-runner/ptest-runner_2.4.1.bb | 30 - .../ptest-runner/ptest-runner_2.4.2.bb | 30 + .../recipes-support/vim/files/CVE-2021-3778.patch | 46 + poky/meta/recipes-support/vim/vim.inc | 1 + 74 files changed, 3390 insertions(+), 1611 deletions(-) create mode 100644 poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2021-40491.patch create mode 100644 poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch create mode 100644 poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch create mode 100644 poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch create mode 100644 poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch create mode 100644 poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch delete mode 100644 poky/meta/recipes-devtools/strace/strace_5.13.bb create mode 100644 poky/meta/recipes-devtools/strace/strace_5.14.bb create mode 100644 poky/meta/recipes-graphics/glew/glew/notempdir.patch delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb delete mode 100644 poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch create mode 100644 poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch create mode 100644 poky/meta/recipes-multimedia/ffmpeg/ffmpeg/fix-CVE-2021-38171.patch create mode 100644 poky/meta/recipes-multimedia/libsamplerate/libsamplerate0/shared_version_info.patch create mode 100644 poky/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch create mode 100644 poky/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch delete mode 100644 poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb create mode 100644 poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb create mode 100644 poky/meta/recipes-support/vim/files/CVE-2021-3778.patch (limited to 'poky/meta') diff --git a/poky/meta/classes/autotools.bbclass b/poky/meta/classes/autotools.bbclass index bc0c2ea83e..4ab2460990 100644 --- a/poky/meta/classes/autotools.bbclass +++ b/poky/meta/classes/autotools.bbclass @@ -149,10 +149,7 @@ python autotools_aclocals () { d.setVar("CONFIG_SITE", " ".join(sitefiles)) } -python () { - sitefiles, searched = siteinfo_get_files(d, sysrootcache=False) - d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(searched)) -} +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" diff --git a/poky/meta/classes/create-spdx.bbclass b/poky/meta/classes/create-spdx.bbclass index 3c73c21c04..739b46e9b3 100644 --- a/poky/meta/classes/create-spdx.bbclass +++ b/poky/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') @@ -336,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: @@ -382,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") @@ -401,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://"): @@ -480,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/poky/meta/classes/externalsrc.bbclass b/poky/meta/classes/externalsrc.bbclass index 7f1a760eec..ad93b2d2ab 100644 --- a/poky/meta/classes/externalsrc.bbclass +++ b/poky/meta/classes/externalsrc.bbclass @@ -109,16 +109,15 @@ python () { if local_srcuri and task in fetch_tasks: continue bb.build.deltask(task, d) - - if bb.data.inherits_class('reproducible_build', d) and 'do_unpack' in d.getVar("SRCTREECOVEREDTASKS").split(): - # The reproducible_build's 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 ') + if bb.data.inherits_class('reproducible_build', d) and task == 'do_unpack': + # The reproducible_build's 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/poky/meta/classes/image-artifact-names.bbclass b/poky/meta/classes/image-artifact-names.bbclass index 3ac8dd731a..67f04e8165 100644 --- a/poky/meta/classes/image-artifact-names.bbclass +++ b/poky/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('reproducible_build', d) and 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/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass index 1d88ccd819..c2f3232027 100644 --- a/poky/meta/classes/image.bbclass +++ b/poky/meta/classes/image.bbclass @@ -434,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) diff --git a/poky/meta/classes/image_types_wic.bbclass b/poky/meta/classes/image_types_wic.bbclass index d561fb2636..e3863c88a9 100644 --- a/poky/meta/classes/image_types_wic.bbclass +++ b/poky/meta/classes/image_types_wic.bbclass @@ -27,6 +27,7 @@ WICVARS ?= "\ ROOTFS_SIZE \ STAGING_DATADIR \ STAGING_DIR \ + STAGING_DIR_HOST \ STAGING_LIBDIR \ TARGET_SYS \ " @@ -84,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/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass index d13c38fb02..4acec1877e 100644 --- a/poky/meta/classes/kernel.bbclass +++ b/poky/meta/classes/kernel.bbclass @@ -322,15 +322,6 @@ python do_devshell:prepend () { 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="; then - echo "-ffile-prefix-map=${S}=/kernel-source/" - fi -} - kernel_do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ]; then @@ -361,9 +352,8 @@ 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 # vmlinux.gz is not built by kernel if (echo "${KERNEL_IMAGETYPES}" | grep -wq "vmlinux\.gz"); then @@ -390,8 +380,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 diff --git a/poky/meta/classes/libc-package.bbclass b/poky/meta/classes/libc-package.bbclass index 7a661d44bd..13ef8cdc0d 100644 --- a/poky/meta/classes/libc-package.bbclass +++ b/poky/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/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index 460997ad54..985dfacd09 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -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/poky/meta/classes/package_ipk.bbclass b/poky/meta/classes/package_ipk.bbclass index 4fcb25ca70..776fe8ed23 100644 --- a/poky/meta/classes/package_ipk.bbclass +++ b/poky/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: diff --git a/poky/meta/classes/reproducible_build.bbclass b/poky/meta/classes/reproducible_build.bbclass index 89f645b858..7571c116c8 100644 --- a/poky/meta/classes/reproducible_build.bbclass +++ b/poky/meta/classes/reproducible_build.bbclass @@ -115,11 +115,14 @@ EPOCHTASK = "do_deploy_source_date_epoch" do_unpack[postfuncs] += "create_source_date_epoch_stamp" def get_source_date_epoch_value(d): - cached = d.getVar('__CACHED_SOURCE_DATE_EPOCH') - if cached: + epochfile = d.getVar('SDE_FILE') + cached, efile = d.getVar('__CACHED_SOURCE_DATE_EPOCH') or (None, None) + if cached and efile == epochfile: return cached - epochfile = d.getVar('SDE_FILE') + 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: @@ -137,7 +140,7 @@ def get_source_date_epoch_value(d): 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)) + d.setVar('__CACHED_SOURCE_DATE_EPOCH', (str(source_date_epoch), epochfile)) return str(source_date_epoch) export SOURCE_DATE_EPOCH ?= "${@get_source_date_epoch_value(d)}" diff --git a/poky/meta/classes/rm_work.bbclass b/poky/meta/classes/rm_work.bbclass index 07901d7597..5f12d5aaeb 100644 --- a/poky/meta/classes/rm_work.bbclass +++ b/poky/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/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass index 92a73114bb..7f4b1f6804 100644 --- a/poky/meta/classes/sstate.bbclass +++ b/poky/meta/classes/sstate.bbclass @@ -1,4 +1,4 @@ -SSTATE_VERSION = "3" +SSTATE_VERSION = "5" SSTATE_MANIFESTS ?= "${TMPDIR}/sstate-control" SSTATE_MANFILEPREFIX = "${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}-${PN}" @@ -67,6 +67,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}" diff --git a/poky/meta/conf/abi_version.conf b/poky/meta/conf/abi_version.conf index 35faef9a36..e84cad1019 100644 --- a/poky/meta/conf/abi_version.conf +++ b/poky/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 = "8" diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf index e25d632dc1..f3ff5b776b 100644 --- a/poky/meta/conf/bitbake.conf +++ b/poky/meta/conf/bitbake.conf @@ -604,6 +604,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} " diff --git a/poky/meta/files/spdx-licenses.json b/poky/meta/files/spdx-licenses.json index 582c73ca64..ef926164ec 100644 --- a/poky/meta/files/spdx-licenses.json +++ b/poky/meta/files/spdx-licenses.json @@ -1,5 +1,5 @@ { - "licenseListVersion": "7bcf79d", + "licenseListVersion": "3.14", "licenses": [ { "reference": "https://spdx.org/licenses/GPL-1.0.html", @@ -13,11 +13,24 @@ ], "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": [ @@ -74,18 +86,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, @@ -184,25 +184,11 @@ ], "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": [ @@ -234,6 +220,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, @@ -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 }, @@ -284,23 +282,11 @@ "isOsiApproved": true, "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": [ @@ -347,6 +334,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, @@ -359,23 +359,11 @@ ], "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": [ @@ -395,6 +383,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, @@ -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", + "name": "Norwegian Licence for Open Government Data (NLOD) 2.0", + "licenseId": "NLOD-2.0", "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", - "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": [ @@ -592,6 +580,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, @@ -604,23 +604,11 @@ ], "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": [ @@ -641,6 +629,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, @@ -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 }, @@ -703,23 +702,11 @@ "isOsiApproved": false, "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": [ @@ -739,6 +726,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, @@ -801,23 +801,11 @@ ], "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": [ @@ -838,23 +826,11 @@ ], "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": [ @@ -863,11 +839,23 @@ "isOsiApproved": false, "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": [ @@ -940,6 +928,18 @@ "isOsiApproved": true, "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, @@ -964,23 +964,11 @@ ], "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,29 +1018,27 @@ "isFsfLibre": true }, { - "reference": "https://spdx.org/licenses/Apache-2.0.html", + "reference": "https://spdx.org/licenses/Hippocratic-2.1.html", "isDeprecatedLicenseId": false, - "detailsUrl": "https://spdx.org/licenses/Apache-2.0.json", - "referenceNumber": 83, - "name": "Apache License 2.0", - "licenseId": "Apache-2.0", + "detailsUrl": "https://spdx.org/licenses/Hippocratic-2.1.json", + "referenceNumber": 82, + "name": "Hippocratic License 2.1", + "licenseId": "Hippocratic-2.1", "seeAlso": [ - "https://www.apache.org/licenses/LICENSE-2.0", - "https://opensource.org/licenses/Apache-2.0" + "https://firstdonoharm.dev/version/2/1/license.html", + "https://github.com/EthicalSource/hippocratic-license/blob/58c0e646d64ff6fbee275bfe2b9492f914e3ab2a/LICENSE.txt" ], - "isOsiApproved": true, - "isFsfLibre": true + "isOsiApproved": false }, { - "reference": "https://spdx.org/licenses/Hippocratic-2.1.html", + "reference": "https://spdx.org/licenses/CC-BY-SA-3.0-DE.html", "isDeprecatedLicenseId": false, - "detailsUrl": "https://spdx.org/licenses/Hippocratic-2.1.json", - "referenceNumber": 84, - "name": "Hippocratic License 2.1", - "licenseId": "Hippocratic-2.1", + "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://firstdonoharm.dev/version/2/1/license.html", - "https://github.com/EthicalSource/hippocratic-license/blob/58c0e646d64ff6fbee275bfe2b9492f914e3ab2a/LICENSE.txt" + "https://creativecommons.org/licenses/by-sa/3.0/de/legalcode" ], "isOsiApproved": false }, @@ -1058,7 +1046,7 @@ "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": [ @@ -1066,6 +1054,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, @@ -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": [ @@ -1317,6 +1305,18 @@ "isOsiApproved": true, "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, @@ -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", @@ -2207,23 +2204,11 @@ ], "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": [ @@ -2233,6 +2218,18 @@ "isOsiApproved": true, "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, @@ -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 }, @@ -2525,11 +2523,23 @@ ], "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": [ @@ -2574,18 +2584,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, @@ -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", @@ -2624,11 +2621,24 @@ "isOsiApproved": false, "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", @@ -2710,23 +2709,11 @@ ], "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": [ @@ -2735,6 +2722,18 @@ "isOsiApproved": false, "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, @@ -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 @@ -2810,25 +2809,11 @@ ], "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": [ @@ -2862,6 +2847,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, @@ -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", - "seeAlso": [ - "https://www.gnu.org/licenses/fdl-1.3.txt" - ], - "isOsiApproved": false - }, - { - "reference": "https://spdx.org/licenses/LPPL-1.1.html", - "isDeprecatedLicenseId": false, - "detailsUrl": "https://spdx.org/licenses/LPPL-1.1.json", - "referenceNumber": 256, - "name": "LaTeX Project Public License v1.1", - "licenseId": "LPPL-1.1", + "name": "Technische Universitaet Berlin License 2.0", + "licenseId": "TU-Berlin-2.0", "seeAlso": [ - "http://www.latex-project.org/lppl/lppl-1-1.txt" + "https://github.com/CorsixTH/deps/blob/fd339a9f526d1d9c9f01ccf39e438a015da50035/licences/libgsm.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", + "reference": "https://spdx.org/licenses/GFDL-1.3.html", + "isDeprecatedLicenseId": true, + "detailsUrl": "https://spdx.org/licenses/GFDL-1.3.json", + "referenceNumber": 256, + "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": [ @@ -3245,6 +3230,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, @@ -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 }, @@ -3415,11 +3416,23 @@ ], "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": [ @@ -3439,18 +3452,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, @@ -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": [ @@ -3512,6 +3501,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, @@ -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 @@ -3640,24 +3641,11 @@ ], "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": [ @@ -3694,13 +3682,25 @@ { "reference": "https://spdx.org/licenses/C-UDA-1.0.html", "isDeprecatedLicenseId": false, - "detailsUrl": "https://spdx.org/licenses/C-UDA-1.0.json", + "detailsUrl": "https://spdx.org/licenses/C-UDA-1.0.json", + "referenceNumber": 296, + "name": "Computational Use of Data Agreement v1.0", + "licenseId": "C-UDA-1.0", + "seeAlso": [ + "https://github.com/microsoft/Computational-Use-of-Data-Agreement/blob/master/C-UDA-1.0.md", + "https://cdla.dev/computational-use-of-data-agreement-v1-0/" + ], + "isOsiApproved": false + }, + { + "reference": "https://spdx.org/licenses/Barr.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "https://spdx.org/licenses/Barr.json", "referenceNumber": 297, - "name": "Computational Use of Data Agreement v1.0", - "licenseId": "C-UDA-1.0", + "name": "Barr License", + "licenseId": "Barr", "seeAlso": [ - "https://github.com/microsoft/Computational-Use-of-Data-Agreement/blob/master/C-UDA-1.0.md", - "https://cdla.dev/computational-use-of-data-agreement-v1-0/" + "https://fedoraproject.org/wiki/Licensing/Barr" ], "isOsiApproved": false }, @@ -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": [ @@ -3779,11 +3768,36 @@ ], "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": [ @@ -3793,18 +3807,6 @@ "isOsiApproved": true, "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, @@ -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", @@ -3992,37 +3993,11 @@ ], "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": [ @@ -4031,11 +4006,23 @@ "isOsiApproved": false, "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": [ @@ -4044,6 +4031,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, @@ -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 }, @@ -5000,50 +5000,25 @@ ], "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", - "isDeprecatedLicenseId": false, - "detailsUrl": "https://spdx.org/licenses/Beerware.json", - "referenceNumber": 405, - "name": "Beerware License", - "licenseId": "Beerware", + "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://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": [ @@ -5144,11 +5118,23 @@ "isOsiApproved": false, "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": [ @@ -5182,6 +5168,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, @@ -5195,23 +5193,11 @@ "isOsiApproved": true, "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": [ @@ -5220,6 +5206,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, @@ -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 @@ -5334,24 +5333,11 @@ ], "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": [ @@ -5359,6 +5345,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, @@ -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/poky/meta/lib/buildstats.py b/poky/meta/lib/buildstats.py index 8627ed3c31..c52b6c3b72 100644 --- a/poky/meta/lib/buildstats.py +++ b/poky/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/poky/meta/lib/oe/spdx.py b/poky/meta/lib/oe/spdx.py index 9814fbfd66..4416194e06 100644 --- a/poky/meta/lib/oe/spdx.py +++ b/poky/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/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py index dd6b9de7bb..0c3b4589c5 100644 --- a/poky/meta/lib/oe/sstatesig.py +++ b/poky/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,6 +481,8 @@ 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 @@ -497,8 +493,17 @@ def OEOuthashBasic(path, sigfile, task, d): 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: @@ -580,8 +585,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) @@ -590,9 +600,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())) diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py index 8831de6065..6562364074 100644 --- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/poky/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'] diff --git a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py index 4fc3605f42..c809d7c9b1 100644 --- a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py +++ b/poky/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/poky/meta/lib/oeqa/selftest/cases/tinfoil.py b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py index 51092805d8..8fd48bb054 100644 --- a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py +++ b/poky/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/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py index dc7b9e637e..5fc8e65142 100644 --- a/poky/meta/lib/oeqa/selftest/cases/wic.py +++ b/poky/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/poky/meta/lib/oeqa/utils/buildproject.py b/poky/meta/lib/oeqa/utils/buildproject.py index e6d80cc8dc..dfb9661868 100644 --- a/poky/meta/lib/oeqa/utils/buildproject.py +++ b/poky/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/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py index d55248c497..d961a9a218 100644 --- a/poky/meta/lib/oeqa/utils/qemurunner.py +++ b/poky/meta/lib/oeqa/utils/qemurunner.py @@ -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/poky/meta/lib/oeqa/utils/targetbuild.py b/poky/meta/lib/oeqa/utils/targetbuild.py index 1055810ca3..09738add1d 100644 --- a/poky/meta/lib/oeqa/utils/targetbuild.py +++ b/poky/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/poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2021-40491.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2021-40491.patch new file mode 100644 index 0000000000..202488f75c --- /dev/null +++ b/poky/meta/recipes-connectivity/inetutils/inetutils/CVE-2021-40491.patch @@ -0,0 +1,88 @@ +From 98ccabf68e5b3f0a177bd1925581753d10041448 Mon Sep 17 00:00:00 2001 +From: Simon Josefsson +Date: Wed, 1 Sep 2021 09:09:50 +0200 +Subject: [PATCH] ftp: check that PASV/LSPV addresses match. + +* NEWS: Mention change. +* ftp/ftp.c (initconn): Validate returned addresses. + +CVE: CVE-2021-40491 + +Upstream-Status: Backport +[https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=58cb043b190fd04effdaea7c9403416b436e50dd] + +Signed-off-by: Yi Zhao +--- + NEWS | 9 +++++++++ + ftp/ftp.c | 21 +++++++++++++++++++++ + 2 files changed, 30 insertions(+) + +diff --git a/NEWS b/NEWS +index 7c5e62c..bd9a4da 100644 +--- a/NEWS ++++ b/NEWS +@@ -4,6 +4,15 @@ GNU inetutils NEWS -- history of user-visible changes. + + ** ftp + ++The ftp client now validate addresses returned by PASV/LSPV responses, ++to make sure they match the server address. Reported by ZeddYu Lu in ++. ++ ++Thanks to Luke Mewburn for discussion and fix to ++NetBSD code, we used a similar solution. ++ ++** ftp ++ + Disable use of readline when environment variable TERM is unset or set + to "dumb" (caused problems with Emacs AngeFTP on MacOS). Thanks to + Alex Bochannek for report, debugging and patch. +diff --git a/ftp/ftp.c b/ftp/ftp.c +index d21dbdd..7513539 100644 +--- a/ftp/ftp.c ++++ b/ftp/ftp.c +@@ -1365,6 +1365,13 @@ initconn (void) + uint32_t *pu32 = (uint32_t *) &data_addr_sa4->sin_addr.s_addr; + pu32[0] = htonl ( (h[0] << 24) | (h[1] << 16) | (h[2] << 8) | h[3]); + } ++ if (data_addr_sa4->sin_addr.s_addr ++ != ((struct sockaddr_in *) &hisctladdr)->sin_addr.s_addr) ++ { ++ printf ("Passive mode address mismatch.\n"); ++ (void) command ("ABOR"); /* Cancel any open connection. */ ++ goto bad; ++ } + } /* LPSV IPv4 */ + else /* IPv6 */ + { +@@ -1395,6 +1402,13 @@ initconn (void) + pu32[2] = htonl ( (h[8] << 24) | (h[9] << 16) | (h[10] << 8) | h[11]); + pu32[3] = htonl ( (h[12] << 24) | (h[13] << 16) | (h[14] << 8) | h[15]); + } ++ if (data_addr_sa6->sin6_addr.s6_addr ++ != ((struct sockaddr_in6 *) &hisctladdr)->sin6_addr.s6_addr) ++ { ++ printf ("Passive mode address mismatch.\n"); ++ (void) command ("ABOR"); /* Cancel any open connection. */ ++ goto bad; ++ } + } /* LPSV IPv6 */ + } + else /* !EPSV && !LPSV */ +@@ -1415,6 +1429,13 @@ initconn (void) + | ((a2 & 0xff) << 8) | (a3 & 0xff) ); + data_addr_sa4->sin_port = + htons (((p0 & 0xff) << 8) | (p1 & 0xff)); ++ if (data_addr_sa4->sin_addr.s_addr ++ != ((struct sockaddr_in *) &hisctladdr)->sin_addr.s_addr) ++ { ++ printf ("Passive mode address mismatch.\n"); ++ (void) command ("ABOR"); /* Cancel any open connection. */ ++ goto bad; ++ } + } /* PASV */ + else + { +-- +2.17.1 + diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb index 0cf73cdb24..45b88b1d7f 100644 --- a/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb +++ b/poky/meta/recipes-connectivity/inetutils/inetutils_2.1.bb @@ -21,6 +21,7 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \ file://tftpd.xinetd.inetutils \ file://inetutils-1.9-PATH_PROCNET_DEV.patch \ file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \ + file://CVE-2021-40491.patch \ " inherit autotools gettext update-alternatives texinfo diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb index 4caf258e39..5d54bad473 100644 --- a/poky/meta/recipes-core/ovmf/ovmf_git.bb +++ b/poky/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/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb index 663a9cd57b..84eb46b9c2 100644 --- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb +++ b/poky/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/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb b/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb index 6f2808cc44..d609c30067 100644 --- a/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb +++ b/poky/meta/recipes-core/util-linux/util-linux_2.37.2.bb @@ -37,12 +37,13 @@ python util_linux_binpackages () { continue pkg = os.path.basename(os.readlink(file)) - extras[pkg] = extras.get(pkg, '') + ' ' + file.replace(dvar, '', 1) + extras.setdefault(pkg, []) + extras[pkg].append(file.replace(dvar, '', 1)) pn = d.getVar('PN') for pkg, links in extras.items(): of = d.getVar('FILES:' + pn + '-' + pkg) - links = of + links + links = of + " " + " ".join(sorted(links)) d.setVar('FILES:' + pn + '-' + pkg, links) } diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb index 9ea4de8e40..f4769e3632 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.185.bb @@ -34,7 +34,6 @@ SRC_URI[sha256sum] = "dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2a # remove at next version upgrade or when output changes PR = "r1" -HASHEQUIV_HASH_VERSION .= ".2" inherit autotools gettext ptest pkgconfig diff --git a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc index 6748d7468e..7104c98c20 100644 --- a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc +++ b/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc @@ -24,6 +24,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ file://0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \ file://0001-Makefile.am-make-sure-autoheader-run-before-automake.patch \ file://lto-prefix.patch \ + file://debian-no_hostname.patch \ " SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e" diff --git a/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb b/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb index 95bbc875f0..fb40ce7317 100644 --- a/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb +++ b/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb @@ -1,6 +1,6 @@ require libtool-${PV}.inc -SRC_URI += "file://multilib.patch file://debian-no_hostname.patch" +SRC_URI += "file://multilib.patch" RDEPENDS:${PN} += "bash" diff --git a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb index 0e0fe7f985..175db4ee31 100644 --- a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb +++ b/poky/meta/recipes-devtools/perl/perl_5.34.0.bb @@ -385,3 +385,10 @@ EOF chmod 0755 ${SYSROOT_DESTDIR}${bindir}/nativeperl cat ${SYSROOT_DESTDIR}${bindir}/nativeperl } + +SSTATE_HASHEQUIV_FILEMAP = " \ + populate_sysroot:*/lib*/perl5/*/*/Config_heavy.pl:${TMPDIR} \ + populate_sysroot:*/lib*/perl5/*/*/Config_heavy.pl:${COREBASE} \ + populate_sysroot:*/lib*/perl5/config.sh:${TMPDIR} \ + populate_sysroot:*/lib*/perl5/config.sh:${COREBASE} \ + " diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb index a9ea8b4ef6..7acb1d64d5 100644 --- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb +++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb @@ -13,7 +13,7 @@ SRC_URI:append:class-nativesdk = " \ file://older-glibc-symbols.patch" SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa" -SRCREV = "21ff2fb690efbe57e7dd867c39aff36ab72a6ac5" +SRCREV = "0cda3ba5f94aed8d50652a99ee9c502975aa2926" S = "${WORKDIR}/git" PV = "1.9.0+git${SRCPV}" diff --git a/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py b/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py index c4164313e8..5e2b12879d 100644 --- a/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py +++ b/poky/meta/recipes-devtools/python/python3/reformat_sysconfig.py @@ -16,6 +16,6 @@ with open(sys.argv[1], 'r') as f: with open(sys.argv[1], 'w') as f: for k in sorted(l.keys()): f.write('%s = ' % k) - pprint.pprint(l[k], stream=f, width=sys.maxsize) + pprint.pprint(l[k], stream=f, width=1) f.write('\n') diff --git a/poky/meta/recipes-devtools/python/python3_3.9.6.bb b/poky/meta/recipes-devtools/python/python3_3.9.6.bb index f04bfc3053..8a638b142b 100644 --- a/poky/meta/recipes-devtools/python/python3_3.9.6.bb +++ b/poky/meta/recipes-devtools/python/python3_3.9.6.bb @@ -161,6 +161,11 @@ do_install:append:class-native() { } do_install:append() { + for c in ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do + python3 ${WORKDIR}/reformat_sysconfig.py $c + done + rm ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython* + mkdir -p ${D}${libdir}/python-sysconfigdata sysconfigfile=`find ${D} -name _sysconfig*.py` cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py @@ -191,6 +196,14 @@ do_install:append:class-nativesdk () { } SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py" +SSTATE_HASHEQUIV_FILEMAP = " \ + populate_sysroot:*/lib*/python3*/_sysconfigdata*.py:${TMPDIR} \ + populate_sysroot:*/lib*/python3*/_sysconfigdata*.py:${COREBASE} \ + populate_sysroot:*/lib*/python3*/config-*/Makefile:${TMPDIR} \ + populate_sysroot:*/lib*/python3*/config-*/Makefile:${COREBASE} \ + populate_sysroot:*/lib*/python-sysconfigdata/_sysconfigdata.py:${TMPDIR} \ + populate_sysroot:*/lib*/python-sysconfigdata/_sysconfigdata.py:${COREBASE} \ + " PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess" py_package_preprocess () { diff --git a/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb b/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb index a0448a1803..97b44ad2e5 100644 --- a/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb @@ -18,6 +18,7 @@ do_install () { cat >> ${D}${bindir_crossscripts}/${MLPREFIX}qemuwrapper << EOF #!/bin/sh +# Wrapper script to run binaries under qemu user-mode emulation set -x if [ ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d)} = False -a "${PN}" != "nativesdk-qemuwrapper-cross" ]; then diff --git a/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch b/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch new file mode 100644 index 0000000000..79b168257e --- /dev/null +++ b/poky/meta/recipes-devtools/rpm/files/0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch @@ -0,0 +1,28 @@ +From 2d351c666f09cc1b9e368422653fb42ac8b86249 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Tue, 31 Aug 2021 10:37:05 +0200 +Subject: [PATCH] build/pack.c: do not insert payloadflags into .rpm metadata + +The flags look like '19T56' where 19 is the compression level +(deterministic), and 56 is the amount of threads (varies from one +host to the next and breaks reproducibility for .rpm). + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin +--- + build/pack.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/pack.c b/build/pack.c +index 932cb213e..b45d0726f 100644 +--- a/build/pack.c ++++ b/build/pack.c +@@ -328,7 +328,7 @@ static char *getIOFlags(Package pkg) + headerPutString(pkg->header, RPMTAG_PAYLOADCOMPRESSOR, compr); + buf = xstrdup(rpmio_flags); + buf[s - rpmio_flags] = '\0'; +- headerPutString(pkg->header, RPMTAG_PAYLOADFLAGS, buf+1); ++ headerPutString(pkg->header, RPMTAG_PAYLOADFLAGS, ""); + free(buf); + } + exit: diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb index 189da92436..2ff9c2b112 100644 --- a/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb +++ b/poky/meta/recipes-devtools/rpm/rpm_4.16.1.3.bb @@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.16.x \ file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \ file://0001-lib-transaction.c-fix-file-conflicts-for-MIPS64-N32.patch \ file://0001-tools-Add-error.h-for-non-glibc-case.patch \ + file://0001-build-pack.c-do-not-insert-payloadflags-into-.rpm-me.patch \ " PE = "1" @@ -194,3 +195,8 @@ rpm_package_preprocess () { sed -i -e 's:--sysroot[^ ]*::g' \ ${PKGD}/${libdir}/rpm/macros } + +SSTATE_HASHEQUIV_FILEMAP = " \ + populate_sysroot:*/rpm/macros:${TMPDIR} \ + populate_sysroot:*/rpm/macros:${COREBASE} \ + " diff --git a/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch b/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch new file mode 100644 index 0000000000..f92f0e1ba6 --- /dev/null +++ b/poky/meta/recipes-devtools/ruby/ruby/0003-rdoc-build-reproducible-documentation.patch @@ -0,0 +1,35 @@ +From: Christian Hofstaedtler +Date: Tue, 10 Oct 2017 15:04:34 -0300 +Subject: rdoc: build reproducible documentation + +- provide a fixed timestamp to the gzip compression + +Upstream-Status: Backport [debian] + +Signed-off-by: Antonio Terceiro +Signed-off-by: Christian Hofstaedtler +--- + lib/rdoc/generator/json_index.rb | 4 ++-- + lib/rdoc/rdoc.rb | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +--- a/lib/rdoc/generator/json_index.rb ++++ b/lib/rdoc/generator/json_index.rb +@@ -178,7 +178,7 @@ + debug_msg "Writing gzipped search index to %s" % outfile + + Zlib::GzipWriter.open(outfile) do |gz| +- gz.mtime = File.mtime(search_index_file) ++ gz.mtime = -1 + gz.orig_name = search_index_file.basename.to_s + gz.write search_index + gz.close +@@ -196,7 +196,7 @@ + debug_msg "Writing gzipped file to %s" % outfile + + Zlib::GzipWriter.open(outfile) do |gz| +- gz.mtime = File.mtime(dest) ++ gz.mtime = -1 + gz.orig_name = dest.basename.to_s + gz.write data + gz.close diff --git a/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch b/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch new file mode 100644 index 0000000000..e0aca0dcfc --- /dev/null +++ b/poky/meta/recipes-devtools/ruby/ruby/0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch @@ -0,0 +1,28 @@ +From: Reiner Herrmann +Date: Tue, 10 Oct 2017 15:06:13 -0300 +Subject: lib/mkmf.rb: sort list of object files in generated Makefile + +Without sorting the list explicitly, its order is indeterministic, +because readdir() is also not deterministic. +When the list of object files varies between builds, they are linked +in a different order, which results in an unreproducible build. + +Upstream-Status: Backport [debian] + +Signed-off-by: Antonio Terceiro +Signed-off-by: Reiner Herrmann +--- + lib/mkmf.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/lib/mkmf.rb ++++ b/lib/mkmf.rb +@@ -2315,7 +2315,7 @@ + LIBS = #{$LIBRUBYARG} #{$libs} #{$LIBS} + ORIG_SRCS = #{orig_srcs.collect(&File.method(:basename)).join(' ')} + SRCS = $(ORIG_SRCS) #{(srcs - orig_srcs).collect(&File.method(:basename)).join(' ')} +-OBJS = #{$objs.join(" ")} ++OBJS = #{$objs.sort.join(" ")} + HDRS = #{hdrs.map{|h| '$(srcdir)/' + File.basename(h)}.join(' ')} + LOCAL_HDRS = #{$headers.join(' ')} + TARGET = #{target} diff --git a/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch b/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch new file mode 100644 index 0000000000..b7faa58655 --- /dev/null +++ b/poky/meta/recipes-devtools/ruby/ruby/0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch @@ -0,0 +1,28 @@ +From: Christian Hofstaedtler +Date: Tue, 10 Oct 2017 15:07:11 -0300 +Subject: Mark Gemspec-reproducible change fixing #784225, too + +I think the UTC date change will fix the Multi-Arch not-same file issue, +too. + +Upstream-Status: Backport [debian] + +Signed-off-by: Antonio Terceiro +Signed-off-by: Christian Hofstaedtler +--- + lib/rubygems/specification.rb | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/lib/rubygems/specification.rb ++++ b/lib/rubygems/specification.rb +@@ -1695,7 +1695,9 @@ + raise(Gem::InvalidSpecificationException, + "invalid date format in specification: #{date.inspect}") + end +- when Time, DateLike then ++ when Time then ++ Time.utc(date.utc.year, date.utc.month, date.utc.day) ++ when DateLike then + Time.utc(date.year, date.month, date.day) + else + TODAY diff --git a/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch b/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch new file mode 100644 index 0000000000..504893b4b4 --- /dev/null +++ b/poky/meta/recipes-devtools/ruby/ruby/0006-Make-gemspecs-reproducible.patch @@ -0,0 +1,67 @@ +From: Lucas Kanashiro +Date: Fri, 1 Nov 2019 15:25:17 -0300 +Subject: Make gemspecs reproducible + +Without an explicit date, they will get the current date and make the +build unreproducible + +Upstream-Status: Backport [debian] + +--- + ext/bigdecimal/bigdecimal.gemspec | 1 + + ext/fiddle/fiddle.gemspec | 1 + + ext/io/console/io-console.gemspec | 2 +- + lib/ipaddr.gemspec | 1 + + lib/rdoc/rdoc.gemspec | 1 + + 5 files changed, 5 insertions(+), 1 deletion(-) + +--- a/ext/bigdecimal/bigdecimal.gemspec ++++ b/ext/bigdecimal/bigdecimal.gemspec +@@ -6,6 +6,7 @@ + s.name = "bigdecimal" + s.version = bigdecimal_version + s.authors = ["Kenta Murata", "Zachary Scott", "Shigeo Kobayashi"] ++ s.date = RUBY_RELEASE_DATE + s.email = ["mrkn@mrkn.jp"] + + s.summary = "Arbitrary-precision decimal floating-point number library." +--- a/ext/fiddle/fiddle.gemspec ++++ b/ext/fiddle/fiddle.gemspec +@@ -8,6 +8,7 @@ + Gem::Specification.new do |spec| + spec.name = "fiddle" + spec.version = version_module::Fiddle::VERSION ++ spec.date = RUBY_RELEASE_DATE + spec.authors = ["Aaron Patterson", "SHIBATA Hiroshi"] + spec.email = ["aaron@tenderlovemaking.com", "hsbt@ruby-lang.org"] + +--- a/ext/io/console/io-console.gemspec ++++ b/ext/io/console/io-console.gemspec +@@ -4,6 +4,7 @@ + Gem::Specification.new do |s| + s.name = "io-console" + s.version = _VERSION ++ s.date = RUBY_RELEASE_DATE + s.summary = "Console interface" + s.email = "nobu@ruby-lang.org" + s.description = "add console capabilities to IO instances." +--- a/lib/ipaddr.gemspec ++++ b/lib/ipaddr.gemspec +@@ -6,6 +6,7 @@ + Gem::Specification.new do |spec| + spec.name = "ipaddr" + spec.version = "1.2.2" ++ spec.date = RUBY_RELEASE_DATE + spec.authors = ["Akinori MUSHA", "Hajimu UMEMOTO"] + spec.email = ["knu@idaemons.org", "ume@mahoroba.org"] + +--- a/lib/rdoc/rdoc.gemspec ++++ b/lib/rdoc/rdoc.gemspec +@@ -7,6 +7,7 @@ + + Gem::Specification.new do |s| + s.name = "rdoc" ++ s.date = RUBY_RELEASE_DATE + s.version = RDoc::VERSION + + s.authors = [ diff --git a/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb b/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb index 38e594a59e..2abf504d91 100644 --- a/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb +++ b/poky/meta/recipes-devtools/ruby/ruby_3.0.2.bb @@ -7,6 +7,10 @@ SRC_URI += " \ file://run-ptest \ file://0001-template-Makefile.in-do-not-write-host-cross-cc-item.patch \ file://0002-template-Makefile.in-filter-out-f-prefix-map.patch \ + file://0003-rdoc-build-reproducible-documentation.patch \ + file://0004-lib-mkmf.rb-sort-list-of-object-files-in-generated-M.patch \ + file://0005-Mark-Gemspec-reproducible-change-fixing-784225-too.patch \ + file://0006-Make-gemspecs-reproducible.patch \ " SRC_URI[sha256sum] = "5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1" diff --git a/poky/meta/recipes-devtools/strace/strace_5.13.bb b/poky/meta/recipes-devtools/strace/strace_5.13.bb deleted file mode 100644 index 7d93f2da98..0000000000 --- a/poky/meta/recipes-devtools/strace/strace_5.13.bb +++ /dev/null @@ -1,56 +0,0 @@ -SUMMARY = "System call tracing tool" -HOMEPAGE = "http://strace.io" -DESCRIPTION = "strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state." -SECTION = "console/utils" -LICENSE = "LGPL-2.1+ & GPL-2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=318cfc887fc8723f4e9d4709b55e065b" - -SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ - file://update-gawk-paths.patch \ - file://Makefile-ptest.patch \ - file://run-ptest \ - file://mips-SIGEMT.patch \ - file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ - file://ptest-spacesave.patch \ - file://uintptr_t.patch \ - file://0001-strace-fix-reproducibilty-issues.patch \ - " -SRC_URI[sha256sum] = "5acc34888b9d510ad6ac915d4a8df08f51cf1ae920ea24649f6a4bb984d0b656" - -inherit autotools ptest - -PACKAGECONFIG:class-target ??= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ -" - -PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5" -PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" - -EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror" - -CFLAGS:append:libc-musl = " -Dsigcontext_struct=sigcontext" - -TESTDIR = "tests" -PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)" - -do_compile_ptest() { - oe_runmake ${PARALLEL_MAKE} -C ${TESTDIR} buildtest-TESTS -} - -do_install_ptest() { - oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} - mkdir -p ${D}${PTEST_PATH}/build-aux - mkdir -p ${D}${PTEST_PATH}/src - install -m 755 ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ - install -m 644 ${B}/src/config.h ${D}${PTEST_PATH}/src/ - sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile -} - -RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed" - -RDEPENDS:${PN}-ptest:append:libc-glibc = "\ - locale-base-en-us.iso-8859-1 \ -" - -BBCLASSEXTEND = "native" -TOOLCHAIN = "gcc" diff --git a/poky/meta/recipes-devtools/strace/strace_5.14.bb b/poky/meta/recipes-devtools/strace/strace_5.14.bb new file mode 100644 index 0000000000..02a4843edf --- /dev/null +++ b/poky/meta/recipes-devtools/strace/strace_5.14.bb @@ -0,0 +1,56 @@ +SUMMARY = "System call tracing tool" +HOMEPAGE = "http://strace.io" +DESCRIPTION = "strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state." +SECTION = "console/utils" +LICENSE = "LGPL-2.1+ & GPL-2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=318cfc887fc8723f4e9d4709b55e065b" + +SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ + file://update-gawk-paths.patch \ + file://Makefile-ptest.patch \ + file://run-ptest \ + file://mips-SIGEMT.patch \ + file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ + file://ptest-spacesave.patch \ + file://uintptr_t.patch \ + file://0001-strace-fix-reproducibilty-issues.patch \ + " +SRC_URI[sha256sum] = "901bee6db5e17debad4530dd9ffb4dc9a96c4a656edbe1c3141b7cb307b11e73" + +inherit autotools ptest + +PACKAGECONFIG:class-target ??= "\ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ +" + +PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5" +PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" + +EXTRA_OECONF += "--enable-mpers=no --disable-gcc-Werror" + +CFLAGS:append:libc-musl = " -Dsigcontext_struct=sigcontext" + +TESTDIR = "tests" +PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)" + +do_compile_ptest() { + oe_runmake ${PARALLEL_MAKE} -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} + mkdir -p ${D}${PTEST_PATH}/build-aux + mkdir -p ${D}${PTEST_PATH}/src + install -m 755 ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ + install -m 644 ${B}/src/config.h ${D}${PTEST_PATH}/src/ + sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile +} + +RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed" + +RDEPENDS:${PN}-ptest:append:libc-glibc = "\ + locale-base-en-us.iso-8859-1 \ +" + +BBCLASSEXTEND = "native" +TOOLCHAIN = "gcc" diff --git a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb index 0dd18d7a06..62aa1b0e87 100644 --- a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb +++ b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb @@ -28,7 +28,6 @@ SRC_URI[sha256sum] = "4441a5d593f85bb6e8d578cf6653fb4ec30f9e8f4a2315a3d8f2d0a8b3 # remove at next version upgrade or when output changes PR = "r1" -HASHEQUIV_HASH_VERSION .= ".1" RECIPE_NO_UPDATE_REASON = "6.04-pre3 is broken" UPSTREAM_CHECK_URI = "https://www.zytor.com/pub/syslinux/" diff --git a/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am b/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am index 7338df03eb..d12d3a45e4 100644 --- a/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am +++ b/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am @@ -1,6 +1,6 @@ lib_LTLIBRARIES = libbz2.la -libbz2_la_LDFLAGS = -version-info 1:6:0 +libbz2_la_LDFLAGS = -version-info 1:8:0 libbz2_la_SOURCES = blocksort.c \ huffman.c \ diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb index cf1349f830..b1d3d8abdc 100644 --- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb +++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.68.0.bb @@ -93,7 +93,7 @@ EOF # from the target sysroot. cat > ${B}/g-ir-scanner-wrapper << EOF #!/bin/sh -# This prevents g-ir-scanner from writing cache data to $HOME +# This prevents g-ir-scanner from writing cache data to user's HOME dir export GI_SCANNER_DISABLE_CACHE=1 g-ir-scanner --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH --use-binary-wrapper=${STAGING_BINDIR}/g-ir-scanner-qemuwrapper --use-ldd-wrapper=${STAGING_BINDIR}/g-ir-scanner-lddwrapper --add-include-path=${STAGING_DATADIR}/gir-1.0 --add-include-path=${STAGING_LIBDIR}/gir-1.0 "\$@" diff --git a/poky/meta/recipes-graphics/glew/glew/notempdir.patch b/poky/meta/recipes-graphics/glew/glew/notempdir.patch new file mode 100644 index 0000000000..8d79ce0cdf --- /dev/null +++ b/poky/meta/recipes-graphics/glew/glew/notempdir.patch @@ -0,0 +1,19 @@ +We don't use the dist-* targets and hence DIST_DIR isn't used. The current code +creates a new temp directory in /tmp/ for every invocation of make. Lets +not do that. + +Upstream-Status: Pending [a revised version would be needed for upstream] +Signed-off-by: Richard Purdie + +Index: glew-2.2.0/Makefile +=================================================================== +--- glew-2.2.0.orig/Makefile ++++ glew-2.2.0/Makefile +@@ -56,7 +56,6 @@ DIST_SRC_ZIP ?= $(shell pwd)/$(DIST_NAME + DIST_SRC_TGZ ?= $(shell pwd)/$(DIST_NAME).tgz + DIST_WIN32 ?= $(shell pwd)/$(DIST_NAME)-win32.zip + +-DIST_DIR := $(shell mktemp -d /tmp/glew.XXXXXX)/$(DIST_NAME) + + # To disable stripping of linked binaries either: + # - use STRIP= on gmake command-line diff --git a/poky/meta/recipes-graphics/glew/glew_2.2.0.bb b/poky/meta/recipes-graphics/glew/glew_2.2.0.bb index 92b6083648..d7a26a3438 100644 --- a/poky/meta/recipes-graphics/glew/glew_2.2.0.bb +++ b/poky/meta/recipes-graphics/glew/glew_2.2.0.bb @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2" SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \ file://0001-Fix-build-race-in-Makefile.patch \ + file://notempdir.patch \ file://no-strip.patch" SRC_URI[md5sum] = "3579164bccaef09e36c0af7f4fd5c7c7" diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index 0a7a3ca7bc..282671d30f 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -257,7 +257,7 @@ python mesa_populate_packages() { import re dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri") if os.path.isdir(dri_drivers_root): - dri_pkgs = os.listdir(dri_drivers_root) + dri_pkgs = sorted(os.listdir(dri_drivers_root)) lib_name = d.expand("${MLPREFIX}mesa-megadriver") for p in dri_pkgs: m = re.match(r'^(.*)_dri\.so$', p) diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index 0911787009..f58b5ab0b8 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' -LINUX_VERSION ?= "5.14+" +LINUX_VERSION ?= "5.15+" LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb deleted file mode 100644 index 0b534c3fbc..0000000000 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb +++ /dev/null @@ -1,45 +0,0 @@ -KBRANCH ?= "v5.13/standard/preempt-rt/base" - -require recipes-kernel/linux/linux-yocto.inc - -# Skip processing of this recipe if it is not explicitly specified as the -# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying -# to build multiple virtual/kernel providers, e.g. as dependency of -# core-image-rt-sdk, core-image-rt. -python () { - if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt": - raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") -} - -SRCREV_machine ?= "eaf308f87d26c526da01d90bfb3581e2f40e32e7" -SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3" - -SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}" - -LINUX_VERSION ?= "5.13.15" - -LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" - -DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" -DEPENDS += "openssl-native util-linux-native" - -PV = "${LINUX_VERSION}+git${SRCPV}" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "1" - -LINUX_KERNEL_TYPE = "preempt-rt" - -COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)" - -KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" -KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" -KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" -KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb deleted file mode 100644 index 5b71d75aef..0000000000 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb +++ /dev/null @@ -1,32 +0,0 @@ -KBRANCH ?= "v5.13/standard/tiny/base" -KBRANCH:qemuarm ?= "v5.13/standard/tiny/arm-versatile-926ejs" - -LINUX_KERNEL_TYPE = "tiny" -KCONFIG_MODE = "--allnoconfig" - -require recipes-kernel/linux/linux-yocto.inc - -LINUX_VERSION ?= "5.13.15" -LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" - -DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" -DEPENDS += "openssl-native util-linux-native" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "2" - -SRCREV_machine:qemuarm ?= "94f45ad50950df80adbf1a8e1bbc110abff5bbc4" -SRCREV_machine ?= "3bd6397a9acc2cd13228c09097d61c8d1aa3bbdf" -SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3" - -PV = "${LINUX_VERSION}+git${SRCPV}" - -SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}" - -COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5" - -# Functionality flags -KERNEL_FEATURES = "" - -KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb deleted file mode 100644 index a17bddf0f4..0000000000 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb +++ /dev/null @@ -1,68 +0,0 @@ -KBRANCH ?= "v5.13/standard/base" - -require recipes-kernel/linux/linux-yocto.inc - -# board specific branches -KBRANCH:qemuarm ?= "v5.13/standard/arm-versatile-926ejs" -KBRANCH:qemuarm64 ?= "v5.13/standard/qemuarm64" -KBRANCH:qemumips ?= "v5.13/standard/mti-malta32" -KBRANCH:qemuppc ?= "v5.13/standard/qemuppc" -KBRANCH:qemuriscv64 ?= "v5.13/standard/base" -KBRANCH:qemuriscv32 ?= "v5.13/standard/base" -KBRANCH:qemux86 ?= "v5.13/standard/base" -KBRANCH:qemux86-64 ?= "v5.13/standard/base" -KBRANCH:qemumips64 ?= "v5.13/standard/mti-malta64" - -SRCREV_machine:qemuarm ?= "482fd531f2e6ce11c2f2815b90e91452009f18ee" -SRCREV_machine:qemuarm64 ?= "c75650fdc9635f92e0b04c0da0336141f1f8fa54" -SRCREV_machine:qemumips ?= "f8be183487cb429e66e49a2cfd989847c9298a3e" -SRCREV_machine:qemuppc ?= "e55911fc5834f4d5aa527f885cab0ab2a0dbb4b9" -SRCREV_machine:qemuriscv64 ?= "7280c93f5599946db3add473eeb05b34c364938d" -SRCREV_machine:qemuriscv32 ?= "7280c93f5599946db3add473eeb05b34c364938d" -SRCREV_machine:qemux86 ?= "7280c93f5599946db3add473eeb05b34c364938d" -SRCREV_machine:qemux86-64 ?= "7280c93f5599946db3add473eeb05b34c364938d" -SRCREV_machine:qemumips64 ?= "07540093c1a8f876fc6f9410aecc3d7d417780ed" -SRCREV_machine ?= "7280c93f5599946db3add473eeb05b34c364938d" -SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3" - -# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll -# get the /base branch, which is pure upstream -stable, and the same -# meta SRCREV as the linux-yocto-standard builds. Select your version using the -# normal PREFERRED_VERSION settings. -BBCLASSEXTEND = "devupstream:target" -DEFAULT_PREFERENCE:class-devupstream = "-1" -SRCREV_machine:class-devupstream ?= "b8c3cc76091b35ad6a3d31cfe152870a6467611f" -PN:class-devupstream = "linux-yocto-upstream" -KBRANCH:class-devupstream = "v5.13/base" - -# remap qemuarm to qemuarma15 for the 5.8 kernel -# KMACHINE:qemuarm ?= "qemuarma15" - -SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}" - -LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.13.15" - -DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" -DEPENDS += "openssl-native util-linux-native" -DEPENDS += "gmp-native" - -PV = "${LINUX_VERSION}+git${SRCPV}" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "1" - -KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" - -COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32" - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" -KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" -KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" -KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" -KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" -KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch new file mode 100644 index 0000000000..4e52e5f122 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch @@ -0,0 +1,394 @@ +From 8be4c8a38ee1e297578e094a6e4c143ec5259aba Mon Sep 17 00:00:00 2001 +From: Michael Jeanson +Date: Mon, 13 Sep 2021 12:00:38 -0400 +Subject: [PATCH 1/2] fix: cpu/hotplug: Remove deprecated CPU-hotplug + functions. (v5.15) + +The CPU-hotplug functions get|put_online_cpus() were deprecated in v4.13 +and removed in v5.15. + +See upstream commits : + +commit 8c854303ce0e38e5bbedd725ff39da7e235865d8 +Author: Sebastian Andrzej Siewior +Date: Tue Aug 3 16:16:21 2021 +0200 + + cpu/hotplug: Remove deprecated CPU-hotplug functions. + + No users in tree use the deprecated CPU-hotplug functions anymore. + + Remove them. + +Introduced in v4.13 : + + commit 8f553c498e1772cccb39a114da4a498d22992758 + Author: Thomas Gleixner + Date: Wed May 24 10:15:12 2017 +0200 + + cpu/hotplug: Provide cpus_read|write_[un]lock() + + The counting 'rwsem' hackery of get|put_online_cpus() is going to be + replaced by percpu rwsem. + + Rename the functions to make it clear that it's locking and not some + refcount style interface. These new functions will be used for the + preparatory patches which make the code ready for the percpu rwsem + conversion. + + Rename all instances in the cpu hotplug code while at it. + +Upstream-Status: backport [https://git.lttng.org/?p=lttng-modules.git;a=commit;h=ffcc873470121ef1ebb110df3d9038a38d9cb7cb] + +Change-Id: I5a37cf5afc075a402b7347989fac637dfa60a1ed +Signed-off-by: Michael Jeanson +Signed-off-by: Mathieu Desnoyers +--- + include/wrapper/cpu.h | 44 +++++++++++++++++++++++ + src/lib/ringbuffer/ring_buffer_backend.c | 8 ++--- + src/lib/ringbuffer/ring_buffer_frontend.c | 17 ++++----- + src/lib/ringbuffer/ring_buffer_iterator.c | 15 ++++---- + src/lttng-context-perf-counters.c | 11 +++--- + src/lttng-statedump-impl.c | 6 ++-- + 6 files changed, 74 insertions(+), 27 deletions(-) + create mode 100644 include/wrapper/cpu.h + +diff --git a/include/wrapper/cpu.h b/include/wrapper/cpu.h +new file mode 100644 +index 00000000..cbee1962 +--- /dev/null ++++ b/include/wrapper/cpu.h +@@ -0,0 +1,44 @@ ++/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) ++ * ++ * wrapper/cpu.h ++ * ++ * Copyright (C) 2021 Michael Jeanson ++ */ ++ ++#ifndef _LTTNG_WRAPPER_CPU_H ++#define _LTTNG_WRAPPER_CPU_H ++ ++#include ++#include ++ ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0)) ++ ++static inline ++void lttng_cpus_read_lock(void) ++{ ++ cpus_read_lock(); ++} ++ ++static inline ++void lttng_cpus_read_unlock(void) ++{ ++ cpus_read_unlock(); ++} ++ ++#else /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0) */ ++ ++static inline ++void lttng_cpus_read_lock(void) ++{ ++ get_online_cpus(); ++} ++ ++static inline ++void lttng_cpus_read_unlock(void) ++{ ++ put_online_cpus(); ++} ++ ++#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0) */ ++ ++#endif /* _LTTNG_WRAPPER_CPU_H */ +diff --git a/src/lib/ringbuffer/ring_buffer_backend.c b/src/lib/ringbuffer/ring_buffer_backend.c +index 26efb2bc..9a339be0 100644 +--- a/src/lib/ringbuffer/ring_buffer_backend.c ++++ b/src/lib/ringbuffer/ring_buffer_backend.c +@@ -12,10 +12,10 @@ + #include + #include + #include +-#include + #include + #include + ++#include + #include + #include /* for wrapper_vmalloc_sync_mappings() */ + #include +@@ -445,14 +445,14 @@ int channel_backend_init(struct channel_backend *chanb, + chanb->cpu_hp_notifier.priority = 5; + register_hotcpu_notifier(&chanb->cpu_hp_notifier); + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(i) { + ret = lib_ring_buffer_create(per_cpu_ptr(chanb->buf, i), + chanb, i); + if (ret) + goto free_bufs; /* cpu hotplug locked */ + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #else + for_each_possible_cpu(i) { + ret = lib_ring_buffer_create(per_cpu_ptr(chanb->buf, i), +@@ -485,7 +485,7 @@ free_bufs: + */ + #else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ + #ifdef CONFIG_HOTPLUG_CPU +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + unregister_hotcpu_notifier(&chanb->cpu_hp_notifier); + #endif + #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ +diff --git a/src/lib/ringbuffer/ring_buffer_frontend.c b/src/lib/ringbuffer/ring_buffer_frontend.c +index e9056118..87a575d0 100644 +--- a/src/lib/ringbuffer/ring_buffer_frontend.c ++++ b/src/lib/ringbuffer/ring_buffer_frontend.c +@@ -48,6 +48,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -724,7 +725,7 @@ static void channel_unregister_notifiers(struct lttng_kernel_ring_buffer_channel + int cpu; + + #ifdef CONFIG_HOTPLUG_CPU +- get_online_cpus(); ++ lttng_cpus_read_lock(); + chan->cpu_hp_enable = 0; + for_each_online_cpu(cpu) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, +@@ -732,7 +733,7 @@ static void channel_unregister_notifiers(struct lttng_kernel_ring_buffer_channel + lib_ring_buffer_stop_switch_timer(buf); + lib_ring_buffer_stop_read_timer(buf); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + unregister_cpu_notifier(&chan->cpu_hp_notifier); + #else + for_each_possible_cpu(cpu) { +@@ -772,14 +773,14 @@ void lib_ring_buffer_set_quiescent_channel(struct lttng_kernel_ring_buffer_chann + const struct lttng_kernel_ring_buffer_config *config = &chan->backend.config; + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_channel_cpu(cpu, chan) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, + cpu); + + lib_ring_buffer_set_quiescent(buf); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + struct lttng_kernel_ring_buffer *buf = chan->backend.buf; + +@@ -794,14 +795,14 @@ void lib_ring_buffer_clear_quiescent_channel(struct lttng_kernel_ring_buffer_cha + const struct lttng_kernel_ring_buffer_config *config = &chan->backend.config; + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_channel_cpu(cpu, chan) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, + cpu); + + lib_ring_buffer_clear_quiescent(buf); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + struct lttng_kernel_ring_buffer *buf = chan->backend.buf; + +@@ -899,7 +900,7 @@ struct lttng_kernel_ring_buffer_channel *channel_create(const struct lttng_kerne + chan->cpu_hp_notifier.priority = 6; + register_cpu_notifier(&chan->cpu_hp_notifier); + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, + cpu); +@@ -909,7 +910,7 @@ struct lttng_kernel_ring_buffer_channel *channel_create(const struct lttng_kerne + spin_unlock(&per_cpu(ring_buffer_nohz_lock, cpu)); + } + chan->cpu_hp_enable = 1; +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #else + for_each_possible_cpu(cpu) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, +diff --git a/src/lib/ringbuffer/ring_buffer_iterator.c b/src/lib/ringbuffer/ring_buffer_iterator.c +index 25839af6..60c95ca6 100644 +--- a/src/lib/ringbuffer/ring_buffer_iterator.c ++++ b/src/lib/ringbuffer/ring_buffer_iterator.c +@@ -10,6 +10,7 @@ + */ + + #include ++#include + #include + #include + #include +@@ -440,13 +441,13 @@ int channel_iterator_init(struct lttng_kernel_ring_buffer_channel *chan) + chan->hp_iter_notifier.priority = 10; + register_cpu_notifier(&chan->hp_iter_notifier); + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) { + buf = per_cpu_ptr(chan->backend.buf, cpu); + lib_ring_buffer_iterator_init(chan, buf); + } + chan->hp_iter_enable = 1; +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #else + for_each_possible_cpu(cpu) { + buf = per_cpu_ptr(chan->backend.buf, cpu); +@@ -519,7 +520,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan) + CHAN_WARN_ON(chan, config->output != RING_BUFFER_ITERATOR); + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + /* Allow CPU hotplug to keep track of opened reader */ + chan->iter.read_open = 1; + for_each_channel_cpu(cpu, chan) { +@@ -529,7 +530,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan) + goto error; + buf->iter.read_open = 1; + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + buf = channel_get_ring_buffer(config, chan, 0); + ret = lib_ring_buffer_iterator_open(buf); +@@ -538,7 +539,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan) + error: + /* Error should always happen on CPU 0, hence no close is required. */ + CHAN_WARN_ON(chan, cpu != 0); +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + return ret; + } + EXPORT_SYMBOL_GPL(channel_iterator_open); +@@ -550,7 +551,7 @@ void channel_iterator_release(struct lttng_kernel_ring_buffer_channel *chan) + int cpu; + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_channel_cpu(cpu, chan) { + buf = channel_get_ring_buffer(config, chan, cpu); + if (buf->iter.read_open) { +@@ -559,7 +560,7 @@ void channel_iterator_release(struct lttng_kernel_ring_buffer_channel *chan) + } + } + chan->iter.read_open = 0; +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + buf = channel_get_ring_buffer(config, chan, 0); + lib_ring_buffer_iterator_release(buf); +diff --git a/src/lttng-context-perf-counters.c b/src/lttng-context-perf-counters.c +index b0227d47..372f05e0 100644 +--- a/src/lttng-context-perf-counters.c ++++ b/src/lttng-context-perf-counters.c +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -97,10 +98,10 @@ void lttng_destroy_perf_counter_ctx_field(void *priv) + { + int cpu; + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) + perf_event_release_kernel(events[cpu]); +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #ifdef CONFIG_HOTPLUG_CPU + unregister_cpu_notifier(&perf_field->nb); + #endif +@@ -304,7 +305,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type, + perf_field->nb.priority = 0; + register_cpu_notifier(&perf_field->nb); + #endif +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) { + events[cpu] = wrapper_perf_event_create_kernel_counter(attr, + cpu, NULL, overflow_callback); +@@ -317,7 +318,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type, + goto counter_busy; + } + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + perf_field->hp_enable = 1; + } + #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ +@@ -351,7 +352,7 @@ counter_error: + if (events[cpu] && !IS_ERR(events[cpu])) + perf_event_release_kernel(events[cpu]); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #ifdef CONFIG_HOTPLUG_CPU + unregister_cpu_notifier(&perf_field->nb); + #endif +diff --git a/src/lttng-statedump-impl.c b/src/lttng-statedump-impl.c +index 4dfbca0b..2b42783a 100644 +--- a/src/lttng-statedump-impl.c ++++ b/src/lttng-statedump-impl.c +@@ -23,7 +23,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -34,6 +33,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -770,7 +770,7 @@ int do_lttng_statedump(struct lttng_kernel_session *session) + * is to guarantee that each CPU has been in a state where is was in + * syscall mode (i.e. not in a trap, an IRQ or a soft IRQ). + */ +- get_online_cpus(); ++ lttng_cpus_read_lock(); + atomic_set(&kernel_threads_to_run, num_online_cpus()); + for_each_online_cpu(cpu) { + INIT_DELAYED_WORK(&cpu_work[cpu], lttng_statedump_work_func); +@@ -778,7 +778,7 @@ int do_lttng_statedump(struct lttng_kernel_session *session) + } + /* Wait for all threads to run */ + __wait_event(statedump_wq, (atomic_read(&kernel_threads_to_run) == 0)); +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + /* Our work is done */ + trace_lttng_statedump_end(session); + return 0; +-- +2.19.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch new file mode 100644 index 0000000000..5b5edc5319 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch @@ -0,0 +1,829 @@ +From c570be0da77e963d77bac099d468bc0cd5f1bd63 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson +Date: Mon, 13 Sep 2021 14:16:22 -0400 +Subject: [PATCH 2/2] fix: Revert "Makefile: Enable -Wimplicit-fallthrough for + Clang" (v5.15) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Starting with v5.15, "-Wimplicit-fallthrough=5" was added to the build +flags which requires the use of "__attribute__((__fallthrough__))" to +annotate fallthrough case statements. + +See upstream commit by the man himself: + + commit d936eb23874433caa3e3d841cfa16f5434b85dcf + Author: Linus Torvalds + Date: Thu Jul 15 18:05:31 2021 -0700 + + Revert "Makefile: Enable -Wimplicit-fallthrough for Clang" + + This reverts commit b7eb335e26a9c7f258c96b3962c283c379d3ede0. + + It turns out that the problem with the clang -Wimplicit-fallthrough + warning is not about the kernel source code, but about clang itself, and + that the warning is unusable until clang fixes its broken ways. + + In particular, when you enable this warning for clang, you not only get + warnings about implicit fallthroughs. You also get this: + + warning: fallthrough annotation in unreachable code [-Wimplicit-fallthrough] + + which is completely broken becasue it + + (a) doesn't even tell you where the problem is (seriously: no line + numbers, no filename, no nothing). + + (b) is fundamentally broken anyway, because there are perfectly valid + reasons to have a fallthrough statement even if it turns out that + it can perhaps not be reached. + + In the kernel, an example of that second case is code in the scheduler: + + switch (state) { + case cpuset: + if (IS_ENABLED(CONFIG_CPUSETS)) { + cpuset_cpus_allowed_fallback(p); + state = possible; + break; + } + fallthrough; + case possible: + + where if CONFIG_CPUSETS is enabled you actually never hit the + fallthrough case at all. But that in no way makes the fallthrough + wrong. + + So the warning is completely broken, and enabling it for clang is a very + bad idea. + + In the meantime, we can keep the gcc option enabled, and make the gcc + build use + + -Wimplicit-fallthrough=5 + + which means that we will at least continue to require a proper + fallthrough statement, and that gcc won't silently accept the magic + comment versions. Because gcc does this all correctly, and while the odd + "=5" part is kind of obscure, it's documented in [1]: + + "-Wimplicit-fallthrough=5 doesn’t recognize any comments as + fallthrough comments, only attributes disable the warning" + + so if clang ever fixes its bad behavior we can try enabling it there again. + +Upstream-Status: backport [https://git.lttng.org/?p=lttng-modules.git;a=commit;h=c190d76e8c7b44d62b3651ab845b765c1b1f8104] + +Change-Id: Iea69849592fb69ac04fb9bb28efcd6b8dce8ba88 +Signed-off-by: Michael Jeanson +Signed-off-by: Mathieu Desnoyers +--- + include/counter/counter-api.h | 4 +- + include/lttng/events-internal.h | 11 ++- + include/wrapper/compiler_attributes.h | 34 +++++++ + src/lib/counter/counter.c | 13 ++- + src/lttng-abi.c | 91 ++++++++++++------ + src/lttng-bytecode-interpreter.c | 4 +- + src/lttng-bytecode-specialize.c | 5 +- + src/lttng-events.c | 129 +++++++++++++++++--------- + src/lttng-string-utils.c | 3 +- + src/probes/lttng-kretprobes.c | 7 +- + 10 files changed, 215 insertions(+), 86 deletions(-) + create mode 100644 include/wrapper/compiler_attributes.h + +diff --git a/include/counter/counter-api.h b/include/counter/counter-api.h +index fbc65818..c9f2b141 100644 +--- a/include/counter/counter-api.h ++++ b/include/counter/counter-api.h +@@ -15,6 +15,7 @@ + #include + #include + #include ++#include + #include + + /* +@@ -256,7 +257,8 @@ static __always_inline int lttng_counter_add(const struct lib_counter_config *co + const size_t *dimension_indexes, int64_t v) + { + switch (config->alloc) { +- case COUNTER_ALLOC_PER_CPU: /* Fallthrough */ ++ case COUNTER_ALLOC_PER_CPU: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: + return __lttng_counter_add_percpu(config, counter, dimension_indexes, v); + case COUNTER_ALLOC_GLOBAL: +diff --git a/include/lttng/events-internal.h b/include/lttng/events-internal.h +index cd560de8..ca2190c4 100644 +--- a/include/lttng/events-internal.h ++++ b/include/lttng/events-internal.h +@@ -8,6 +8,8 @@ + #ifndef _LTTNG_EVENTS_INTERNAL_H + #define _LTTNG_EVENTS_INTERNAL_H + ++#include ++ + #include + + struct lttng_syscall_filter; +@@ -561,9 +563,12 @@ static inline bool lttng_kernel_type_is_bytewise_integer(const struct lttng_kern + if (!type_integer) + return false; + switch (type_integer->size) { +- case 8: /* Fall-through. */ +- case 16: /* Fall-through. */ +- case 32: /* Fall-through. */ ++ case 8: ++ lttng_fallthrough; ++ case 16: ++ lttng_fallthrough; ++ case 32: ++ lttng_fallthrough; + case 64: + break; + default: +diff --git a/include/wrapper/compiler_attributes.h b/include/wrapper/compiler_attributes.h +new file mode 100644 +index 00000000..c2c96e76 +--- /dev/null ++++ b/include/wrapper/compiler_attributes.h +@@ -0,0 +1,34 @@ ++/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) ++ * ++ * wrapper/compiler_attributes.h ++ * ++ * Copyright (C) 2021 Michael Jeanson ++ */ ++ ++#ifndef _LTTNG_WRAPPER_COMPILER_ATTRIBUTES_H ++#define _LTTNG_WRAPPER_COMPILER_ATTRIBUTES_H ++ ++#include ++ ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0)) ++#include ++#endif ++ ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,4,0)) ++ ++/* ++ * Use the kernel provided fallthrough attribute macro. ++ */ ++#define lttng_fallthrough fallthrough ++ ++#else /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,4,0) */ ++ ++/* ++ * Fallback to the comment for kernels pre 5.15 that don't build with ++ * '-Wimplicit-fallthrough=5'. ++ */ ++#define lttng_fallthrough do {} while (0) /* fallthrough */ ++ ++#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,4,0) */ ++ ++#endif /* _LTTNG_WRAPPER_COMPILER_ATTRIBUTES_H */ +diff --git a/src/lib/counter/counter.c b/src/lib/counter/counter.c +index a4500a0e..bf038aac 100644 +--- a/src/lib/counter/counter.c ++++ b/src/lib/counter/counter.c +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + #include + #include + +@@ -324,7 +325,8 @@ int lttng_counter_aggregate(const struct lib_counter_config *config, + *underflow = false; + + switch (config->alloc) { +- case COUNTER_ALLOC_GLOBAL: /* Fallthrough */ ++ case COUNTER_ALLOC_GLOBAL: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: + /* Read global counter. */ + ret = lttng_counter_read(config, counter, dimension_indexes, +@@ -342,7 +344,8 @@ int lttng_counter_aggregate(const struct lib_counter_config *config, + switch (config->alloc) { + case COUNTER_ALLOC_GLOBAL: + break; +- case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: /* Fallthrough */ ++ case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU: + //TODO: integrate with CPU hotplug and online cpus + for (cpu = 0; cpu < num_possible_cpus(); cpu++) { +@@ -448,7 +451,8 @@ int lttng_counter_clear(const struct lib_counter_config *config, + int cpu, ret; + + switch (config->alloc) { +- case COUNTER_ALLOC_GLOBAL: /* Fallthrough */ ++ case COUNTER_ALLOC_GLOBAL: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: + /* Clear global counter. */ + ret = lttng_counter_clear_cpu(config, counter, dimension_indexes, -1); +@@ -462,7 +466,8 @@ int lttng_counter_clear(const struct lib_counter_config *config, + switch (config->alloc) { + case COUNTER_ALLOC_GLOBAL: + break; +- case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: /* Fallthrough */ ++ case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU: + //TODO: integrate with CPU hotplug and online cpus + for (cpu = 0; cpu < num_possible_cpus(); cpu++) { +diff --git a/src/lttng-abi.c b/src/lttng-abi.c +index cc453894..eac1afd1 100644 +--- a/src/lttng-abi.c ++++ b/src/lttng-abi.c +@@ -34,6 +34,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -1332,7 +1333,8 @@ long lttng_metadata_ring_buffer_ioctl(struct file *filp, + */ + return -ENOSYS; + } +- case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: /* Fall-through. */ ++ case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH: + { + struct lttng_metadata_stream *stream = filp->private_data; +@@ -1441,7 +1443,8 @@ long lttng_metadata_ring_buffer_compat_ioctl(struct file *filp, + */ + return -ENOSYS; + } +- case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: /* Fall-through. */ ++ case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH: + { + struct lttng_metadata_stream *stream = filp->private_data; +@@ -1758,8 +1761,10 @@ int lttng_abi_validate_event_param(struct lttng_kernel_abi_event *event_param) + switch (event_param->instrumentation) { + case LTTNG_KERNEL_ABI_SYSCALL: + switch (event_param->u.syscall.entryexit) { +- case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: /* Fall-through */ +- case LTTNG_KERNEL_ABI_SYSCALL_EXIT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_SYSCALL_EXIT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL_ENTRYEXIT: + break; + default: +@@ -1783,20 +1788,26 @@ int lttng_abi_validate_event_param(struct lttng_kernel_abi_event *event_param) + switch (event_param->u.kretprobe.entryexit) { + case LTTNG_KERNEL_ABI_SYSCALL_ENTRYEXIT: + break; +- case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: /* Fall-through */ +- case LTTNG_KERNEL_ABI_SYSCALL_EXIT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_SYSCALL_EXIT: ++ lttng_fallthrough; + default: + return -EINVAL; + } + break; + +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + return -EINVAL; + } +@@ -1830,18 +1841,23 @@ int lttng_abi_create_event(struct file *channel_file, + } + + switch (event_param->instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + fops = <tng_event_recorder_enabler_fops; + break; +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + fops = <tng_event_recorder_event_fops; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + return -EINVAL; + } +@@ -1867,7 +1883,8 @@ int lttng_abi_create_event(struct file *channel_file, + goto event_error; + + switch (event_param->instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + { + struct lttng_event_enabler *event_enabler; +@@ -1887,8 +1904,10 @@ int lttng_abi_create_event(struct file *channel_file, + break; + } + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + { + struct lttng_kernel_event_recorder *event; +@@ -1908,8 +1927,10 @@ int lttng_abi_create_event(struct file *channel_file, + break; + } + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + ret = -EINVAL; + goto event_error; +@@ -2043,18 +2064,23 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file, + } + + switch (event_notifier_param->event.instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + fops = <tng_event_notifier_enabler_fops; + break; +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + fops = <tng_event_notifier_event_fops; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + ret = -EINVAL; + goto inval_instr; +@@ -2086,7 +2112,8 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file, + goto event_notifier_error; + + switch (event_notifier_param->event.instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + { + struct lttng_event_notifier_enabler *enabler; +@@ -2110,8 +2137,10 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file, + break; + } + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + { + struct lttng_kernel_event_notifier *event_notifier; +@@ -2135,8 +2164,10 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file, + break; + } + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + ret = -EINVAL; + goto event_notifier_error; +diff --git a/src/lttng-bytecode-interpreter.c b/src/lttng-bytecode-interpreter.c +index b46a23b7..a2a932c6 100644 +--- a/src/lttng-bytecode-interpreter.c ++++ b/src/lttng-bytecode-interpreter.c +@@ -7,6 +7,7 @@ + * Copyright (C) 2010-2016 Mathieu Desnoyers + */ + ++#include + #include + #include + #include +@@ -421,7 +422,8 @@ static int dynamic_get_index(struct lttng_kernel_probe_ctx *lttng_probe_ctx, + } + break; + case LOAD_ROOT_CONTEXT: +- case LOAD_ROOT_APP_CONTEXT: /* Fall-through */ ++ lttng_fallthrough; ++ case LOAD_ROOT_APP_CONTEXT: + { + ret = context_get_index(lttng_probe_ctx, + &stack_top->u.ptr, +diff --git a/src/lttng-bytecode-specialize.c b/src/lttng-bytecode-specialize.c +index c4b9d04b..f8b5f19d 100644 +--- a/src/lttng-bytecode-specialize.c ++++ b/src/lttng-bytecode-specialize.c +@@ -8,6 +8,8 @@ + */ + + #include ++#include ++ + #include + #include + #include +@@ -271,7 +273,8 @@ static int specialize_get_index(struct bytecode_runtime *runtime, + } + case OBJECT_TYPE_STRUCT: + /* Only generated by the specialize phase. */ +- case OBJECT_TYPE_VARIANT: /* Fall-through */ ++ case OBJECT_TYPE_VARIANT: ++ lttng_fallthrough; + default: + printk(KERN_WARNING "LTTng: bytecode: Unexpected get index type %d", + (int) stack_top->load.object_type); +diff --git a/src/lttng-events.c b/src/lttng-events.c +index e785fe4d..230e3934 100644 +--- a/src/lttng-events.c ++++ b/src/lttng-events.c +@@ -28,6 +28,7 @@ + #include + #include + ++#include + #include + #include /* for wrapper_vmalloc_sync_mappings() */ + #include +@@ -659,12 +660,14 @@ int lttng_event_enable(struct lttng_kernel_event_common *event) + goto end; + } + switch (event->priv->instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + ret = -EINVAL; + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + WRITE_ONCE(event->enabled, 1); + break; +@@ -673,8 +676,10 @@ int lttng_event_enable(struct lttng_kernel_event_common *event) + ret = lttng_kretprobes_event_enable_state(event, 1); + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -719,12 +724,14 @@ int lttng_event_disable(struct lttng_kernel_event_common *event) + goto end; + } + switch (event->priv->instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + ret = -EINVAL; + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + WRITE_ONCE(event->enabled, 0); + break; +@@ -733,8 +740,10 @@ int lttng_event_disable(struct lttng_kernel_event_common *event) + ret = lttng_kretprobes_event_enable_state(event, 0); + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -873,15 +882,20 @@ struct lttng_kernel_event_recorder *_lttng_kernel_event_recorder_create(struct l + event_name = event_desc->event_name; + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_UPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_UPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + event_name = event_param->name; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -1093,8 +1107,10 @@ struct lttng_kernel_event_recorder *_lttng_kernel_event_recorder_create(struct l + WARN_ON_ONCE(!ret); + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -1141,15 +1157,20 @@ struct lttng_kernel_event_notifier *_lttng_event_notifier_create( + event_name = event_desc->event_name; + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_UPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_UPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + event_name = event_notifier_param->event.name; + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -1296,9 +1317,12 @@ struct lttng_kernel_event_notifier *_lttng_event_notifier_create( + WARN_ON_ONCE(!ret); + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -1423,14 +1447,18 @@ void register_event(struct lttng_kernel_event_recorder *event_recorder) + ret = lttng_syscall_filter_enable_event(event_recorder->chan, event_recorder); + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_UPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_UPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_KRETPROBE: + ret = 0; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1481,7 +1509,8 @@ int _lttng_event_unregister(struct lttng_kernel_event_recorder *event_recorder) + ret = 0; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1512,14 +1541,18 @@ void register_event_notifier(struct lttng_kernel_event_notifier *event_notifier) + ret = lttng_syscall_filter_enable_event_notifier(event_notifier); + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + ret = 0; + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1559,9 +1592,12 @@ int _lttng_event_notifier_unregister( + ret = lttng_syscall_filter_disable_event_notifier(event_notifier); + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1614,8 +1650,10 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event) + lttng_uprobes_destroy_event_private(event_recorder); + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1647,9 +1685,12 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event) + lttng_uprobes_destroy_event_notifier_private(event_notifier); + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -2713,7 +2754,8 @@ void lttng_session_sync_event_enablers(struct lttng_kernel_session *session) + int nr_filters = 0; + + switch (event_recorder_priv->parent.instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + /* Enable events */ + list_for_each_entry(enabler_ref, +@@ -2807,7 +2849,8 @@ void lttng_event_notifier_group_sync_enablers(struct lttng_event_notifier_group + int nr_filters = 0, nr_captures = 0; + + switch (event_notifier_priv->parent.instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + /* Enable event_notifiers */ + list_for_each_entry(enabler_ref, +@@ -3877,7 +3920,7 @@ int print_escaped_ctf_string(struct lttng_kernel_session *session, const char *s + if (ret) + goto error; + /* We still print the current char */ +- /* Fallthrough */ ++ lttng_fallthrough; + default: + ret = lttng_metadata_printf(session, "%c", cur); + break; +diff --git a/src/lttng-string-utils.c b/src/lttng-string-utils.c +index d9447903..65946193 100644 +--- a/src/lttng-string-utils.c ++++ b/src/lttng-string-utils.c +@@ -4,6 +4,7 @@ + */ + + #include ++#include + + #include + +@@ -302,7 +303,7 @@ retry: + p = pattern_get_char_at_cb(p_at, + pattern_get_char_at_cb_data); + +- /* Fall-through. */ ++ lttng_fallthrough; + default: + /* + * Default case which will compare the escaped +diff --git a/src/probes/lttng-kretprobes.c b/src/probes/lttng-kretprobes.c +index 0fa6a1bf..1d0a5ecb 100644 +--- a/src/probes/lttng-kretprobes.c ++++ b/src/probes/lttng-kretprobes.c +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -61,7 +62,8 @@ int _lttng_kretprobes_handler(struct kretprobe_instance *krpi, + return 0; + break; + } +- case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: /* Fall-through. */ ++ case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -90,7 +92,8 @@ int _lttng_kretprobes_handler(struct kretprobe_instance *krpi, + chan->ops->event_commit(&ctx); + break; + } +- case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: /* Fall-through. */ ++ case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +-- +2.19.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb index 72d912eaf6..6dfde8dcad 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb @@ -9,7 +9,10 @@ inherit module include lttng-platforms.inc -SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2" +SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch \ + file://0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch \ + " # Use :append here so that the patch is applied also when using devupstream SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch" @@ -38,7 +41,7 @@ LIC_FILES_CHKSUM:class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed DEFAULT_PREFERENCE:class-devupstream = "-1" SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13" -SRCREV:class-devupstream = "f982b51a98a29cb4aaf607cb9bbf2b509d8e6933" -PV:class-devupstream = "2.13.0-rc2+git${SRCPV}" +SRCREV:class-devupstream = "c570be0da77e963d77bac099d468bc0cd5f1bd63" +PV:class-devupstream = "2.13.0+git${SRCPV}" S:class-devupstream = "${WORKDIR}/git" SRCREV_FORMAT ?= "lttng_git" diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/fix-CVE-2021-38171.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/fix-CVE-2021-38171.patch new file mode 100644 index 0000000000..d82f3a4b63 --- /dev/null +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/fix-CVE-2021-38171.patch @@ -0,0 +1,42 @@ +CVE: CVE-2021-38171 +Upstream-Status: Backport +Signed-off-by: Kiran Surendran + +From fb993619d1035fa9646506925ea70fb122038999 Mon Sep 17 00:00:00 2001 +From: maryam ebrahimzadeh +Date: Wed, 4 Aug 2021 16:15:18 -0400 +Subject: [PATCH] avformat/adtsenc: return value check for init_get_bits in + adts_decode_extradata + +As the second argument for init_get_bits (buf) can be crafted, a return value check for this function call is necessary. +'buf' is part of 'AVPacket pkt'. +replace init_get_bits with init_get_bits8. + +Signed-off-by: Michael Niedermayer +(cherry picked from commit 9ffa49496d1aae4cbbb387aac28a9e061a6ab0a6) +Signed-off-by: Michael Niedermayer +--- + libavformat/adtsenc.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/libavformat/adtsenc.c b/libavformat/adtsenc.c +index 3595cb3bb2..c35a12a628 100644 +--- a/libavformat/adtsenc.c ++++ b/libavformat/adtsenc.c +@@ -51,9 +51,11 @@ static int adts_decode_extradata(AVFormatContext *s, ADTSContext *adts, const ui + GetBitContext gb; + PutBitContext pb; + MPEG4AudioConfig m4ac; +- int off; ++ int off, ret; + +- init_get_bits(&gb, buf, size * 8); ++ ret = init_get_bits8(&gb, buf, size); ++ if (ret < 0) ++ return ret; + off = avpriv_mpeg4audio_get_config2(&m4ac, buf, size, 1, s); + if (off < 0) + return off; +-- +2.31.1 + diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb index fc1834c00b..0c6af6549d 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.bb @@ -31,7 +31,8 @@ SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \ file://fix-CVE-2020-22021.patch \ file://fix-CVE-2020-22033-CVE-2020-22019.patch \ file://fix-CVE-2021-33815.patch \ - " + file://fix-CVE-2021-38171.patch \ + " SRC_URI[sha256sum] = "06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909" # Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717 diff --git a/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0/shared_version_info.patch b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0/shared_version_info.patch new file mode 100644 index 0000000000..b42d564b4b --- /dev/null +++ b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0/shared_version_info.patch @@ -0,0 +1,13 @@ +Index: libsamplerate-0.1.8/configure.ac +=================================================================== +--- libsamplerate-0.1.8.orig/configure.ac ++++ libsamplerate-0.1.8/configure.ac +@@ -53,7 +53,7 @@ AC_PROG_LN_S + # 6. If any interfaces have been removed since the last public release, then set age + # to 0. + +-SHARED_VERSION_INFO="1:8:1" ++SHARED_VERSION_INFO="1:9:1" + + + diff --git a/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb index 6dfc42b436..8345d6880f 100644 --- a/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb +++ b/poky/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb @@ -10,6 +10,7 @@ PR = "r1" SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz \ file://0001-configure.ac-improve-alsa-handling.patch \ + file://shared_version_info.patch \ " SRC_URI[md5sum] = "2b78ae9fe63b36b9fbb6267fad93f259" diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb b/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb index b8b0314d2f..411ea9579d 100644 --- a/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb +++ b/poky/meta/recipes-support/gnupg/gnupg_2.3.1.bb @@ -31,6 +31,7 @@ EXTRA_OECONF = "--disable-ldap \ --with-zlib=${STAGING_LIBDIR}/.. \ --with-bzip2=${STAGING_LIBDIR}/.. \ --with-readline=${STAGING_LIBDIR}/.. \ + --with-mailprog=${sbindir}/sendmail \ --enable-gpg-is-gpg2 \ " diff --git a/poky/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch b/poky/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch new file mode 100644 index 0000000000..8a2c78983e --- /dev/null +++ b/poky/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch @@ -0,0 +1,28 @@ +From d01a57a998798da977c470f3b8d6a457c1adb144 Mon Sep 17 00:00:00 2001 +From: Azat Khuzhin +Date: Sun, 19 Sep 2021 00:57:31 +0300 +Subject: [PATCH] test: mark util/monotonic_prc_fallback as retriable + +Refs: #1193 + +Upstream-status: Backported +--- + test/regress_util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/regress_util.c b/test/regress_util.c +index 45caa2700a40..a9e80db20149 100644 +--- a/test/regress_util.c ++++ b/test/regress_util.c +@@ -1672,7 +1672,7 @@ struct testcase_t util_testcases[] = { + { "monotonic_res_fallback", test_evutil_monotonic_res, TT_OFF_BY_DEFAULT, &basic_setup, (void*)"fallback" }, + { "monotonic_prc", test_evutil_monotonic_prc, 0, &basic_setup, (void*)"" }, + { "monotonic_prc_precise", test_evutil_monotonic_prc, TT_RETRIABLE, &basic_setup, (void*)"precise" }, +- { "monotonic_prc_fallback", test_evutil_monotonic_prc, 0, &basic_setup, (void*)"fallback" }, ++ { "monotonic_prc_fallback", test_evutil_monotonic_prc, TT_RETRIABLE, &basic_setup, (void*)"fallback" }, + { "date_rfc1123", test_evutil_date_rfc1123, 0, NULL, NULL }, + { "evutil_v4addr_is_local", test_evutil_v4addr_is_local, 0, NULL, NULL }, + { "evutil_v6addr_is_local", test_evutil_v6addr_is_local, 0, NULL, NULL }, +-- +2.31.1 + diff --git a/poky/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch b/poky/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch new file mode 100644 index 0000000000..ae7db0b7aa --- /dev/null +++ b/poky/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch @@ -0,0 +1,81 @@ +From 36ebd92fa53c0097f1e2f9ec5aa5b5c6ec1b411d Mon Sep 17 00:00:00 2001 +From: Thomas Perrot +Date: Wed, 29 Sep 2021 13:50:35 +0200 +Subject: [PATCH] test: retriable tests are marked failed only when all + attempts have failed + +Fixes: #1193 + +Upstream-status: Pending + +Signed-off-by: Thomas Perrot +--- + test/tinytest.c | 13 ++++++------- + test/tinytest.h | 2 +- + 2 files changed, 7 insertions(+), 8 deletions(-) + +diff --git a/test/tinytest.c b/test/tinytest.c +index 85dfe74a720e..bf2882418eb6 100644 +--- a/test/tinytest.c ++++ b/test/tinytest.c +@@ -310,7 +310,8 @@ testcase_run_forked_(const struct testgroup_t *group, + + int + testcase_run_one(const struct testgroup_t *group, +- const struct testcase_t *testcase) ++ const struct testcase_t *testcase, ++ const int test_attempts) + { + enum outcome outcome; + +@@ -348,7 +349,7 @@ testcase_run_one(const struct testgroup_t *group, + if (opt_verbosity>0 && !opt_forked) + puts("SKIPPED"); + } else { +- if (!opt_forked) ++ if (!opt_forked && (testcase->flags & TT_RETRIABLE) && !test_attempts) + printf("\n [%s FAILED]\n", testcase->name); + } + +@@ -525,22 +526,20 @@ tinytest_main(int c, const char **v, struct testgroup_t *groups) + struct testgroup_t *group = &groups[i]; + for (j = 0; group->cases[j].name; ++j) { + struct testcase_t *testcase = &group->cases[j]; +- int test_attempts = 3; ++ int test_attempts = (testcase->flags & TT_RETRIABLE) ? 3: 1; + int test_ret_err; + + if (!(testcase->flags & TT_ENABLED_)) + continue; + + for (;;) { +- test_ret_err = testcase_run_one(group, testcase); ++ test_ret_err = testcase_run_one(group, testcase, test_attempts); + + if (test_ret_err == OK) + break; +- if (!(testcase->flags & TT_RETRIABLE)) ++ if (!--test_attempts) + break; + printf("\n [RETRYING %s (%i)]\n", testcase->name, test_attempts); +- if (!test_attempts--) +- break; + } + + switch (test_ret_err) { +diff --git a/test/tinytest.h b/test/tinytest.h +index d321dd467542..c276b5339331 100644 +--- a/test/tinytest.h ++++ b/test/tinytest.h +@@ -92,7 +92,7 @@ char *tinytest_format_hex_(const void *, unsigned long); + tinytest_set_flag_(groups, named, 1, TT_SKIP) + + /** Run a single testcase in a single group. */ +-int testcase_run_one(const struct testgroup_t *,const struct testcase_t *); ++int testcase_run_one(const struct testgroup_t *,const struct testcase_t *, const int test_attempts); + + void tinytest_set_aliases(const struct testlist_alias_t *aliases); + +-- +2.31.1 + diff --git a/poky/meta/recipes-support/libevent/libevent/run-ptest b/poky/meta/recipes-support/libevent/libevent/run-ptest index d3b5e793c3..ef4260d1c4 100644 --- a/poky/meta/recipes-support/libevent/libevent/run-ptest +++ b/poky/meta/recipes-support/libevent/libevent/run-ptest @@ -1,14 +1,14 @@ #!/bin/sh # run-ptest - 'ptest' test infrastructure shell script that -# wraps the libevent test scripts +# wraps the libevent test scripts # # Trevor Gamblin ############################################################### LIBEVENTLIB=@libdir@/libevent LOG="${LIBEVENTLIB}/ptest/libevent_ptest_$(date +%Y%m%d-%H%M%S).log" -cd ${LIBEVENTLIB}/ptest +cd ${LIBEVENTLIB}/ptest # Run only the libevent "regress" test. All other test scripts in the # libevent "test" folder are related to performance, e.g. read/write @@ -16,9 +16,9 @@ cd ${LIBEVENTLIB}/ptest # in the ptest log. ./test/regress 2>&1| sed -e '/TESTS/d' -e '/tests/d' -e '/OK/ s/^/PASS: / ; /FAILED/ s/^/FAIL: / ; /SKIPPED/ s/^/SKIP: / ; /DISABLED/ s/^/SKIP: /' | cut -f1,2 -d ':' | tee -a ${LOG} -passed=`grep PASS ${LOG}|wc -l` -failed=`grep FAIL ${LOG}|wc -l` -skipped=`grep -E SKIP ${LOG}|wc -l` +passed=`grep PASS: ${LOG}|wc -l` +failed=`grep FAIL: ${LOG}|wc -l` +skipped=`grep -E SKIP: ${LOG}|wc -l` all=$((passed + failed + skipped)) ( echo "=== Test Summary ===" diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.12.bb b/poky/meta/recipes-support/libevent/libevent_2.1.12.bb index 4b419eab22..e26e8a9b57 100644 --- a/poky/meta/recipes-support/libevent/libevent_2.1.12.bb +++ b/poky/meta/recipes-support/libevent/libevent_2.1.12.bb @@ -16,6 +16,8 @@ SRC_URI = "https://github.com/libevent/libevent/releases/download/release-${PV}- file://run-ptest \ file://0001-test-regress_dns.c-patch-out-tests-that-require-a-wo.patch \ file://0002-test-regress.h-Increase-default-timeval-tolerance-50.patch \ + file://0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch \ + file://0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch \ " SRC_URI[sha256sum] = "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb" @@ -56,7 +58,7 @@ do_install_ptest() { do install -m 0755 $file ${D}${PTEST_PATH}/test done - + # handle multilib sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest } diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb deleted file mode 100644 index c6a1ab1781..0000000000 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.1.bb +++ /dev/null @@ -1,30 +0,0 @@ -SUMMARY = "A C program to run all installed ptests" -DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \ -program which loops through all installed ptest test suites and \ -runs them in sequence." -HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" - -SRCREV = "cce0edb4282ee081d043030bfdf29f3e4052f86c" -PV .= "+git${SRCPV}" - -SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \ -" - -S = "${WORKDIR}/git" - -FILES:${PN} = "${bindir}/ptest-runner" - -EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\""" - -do_compile () { - oe_runmake -} - -do_install () { - install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner -} - -RDEPENDS:${PN}:append:libc-glibc = " libgcc" diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb new file mode 100644 index 0000000000..1d3c24a177 --- /dev/null +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb @@ -0,0 +1,30 @@ +SUMMARY = "A C program to run all installed ptests" +DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \ +program which loops through all installed ptest test suites and \ +runs them in sequence." +HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" + +SRCREV = "bcb82804daa8f725b6add259dcef2067e61a75aa" +PV .= "+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \ +" + +S = "${WORKDIR}/git" + +FILES:${PN} = "${bindir}/ptest-runner" + +EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\""" + +do_compile () { + oe_runmake +} + +do_install () { + install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner +} + +RDEPENDS:${PN}:append:libc-glibc = " libgcc" diff --git a/poky/meta/recipes-support/vim/files/CVE-2021-3778.patch b/poky/meta/recipes-support/vim/files/CVE-2021-3778.patch new file mode 100644 index 0000000000..769a7a07ac --- /dev/null +++ b/poky/meta/recipes-support/vim/files/CVE-2021-3778.patch @@ -0,0 +1,46 @@ +From eb41373c8c88b0789e5cf04669d6116f9a199264 Mon Sep 17 00:00:00 2001 +From: Minjae Kim +Date: Sun, 26 Sep 2021 23:48:00 +0000 +Subject: [PATCH] patch 8.2.3409: reading beyond end of line with invalid utf-8 + character + +Problem: Reading beyond end of line with invalid utf-8 character. +Solution: Check for NUL when advancing. + +Upstream-Status: Accepted [https://github.com/vim/vim/commit/65b605665997fad54ef39a93199e305af2fe4d7f] +CVE: CVE-2021-3778 +Signed-off-by: Minjae Kim +--- + src/regexp_nfa.c | 3 ++- + src/testdir/test_regexp_utf8.vim | 7 +++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +Index: git/src/regexp_nfa.c +=================================================================== +--- git.orig/src/regexp_nfa.c ++++ git/src/regexp_nfa.c +@@ -5455,7 +5455,8 @@ find_match_text(colnr_T startcol, int re + match = FALSE; + break; + } +- len2 += MB_CHAR2LEN(c2); ++ len2 += enc_utf8 ? utf_ptr2len(rex.line + col + len2) ++ : MB_CHAR2LEN(c2); + } + if (match + // check that no composing char follows +Index: git/src/testdir/test_regexp_utf8.vim +=================================================================== +--- git.orig/src/testdir/test_regexp_utf8.vim ++++ git/src/testdir/test_regexp_utf8.vim +@@ -215,3 +215,10 @@ func Test_optmatch_toolong() + set re=0 + endfunc + ++func Test_match_invalid_byte() ++ call writefile(0z630a.765d30aa0a.2e0a.790a.4030, 'Xinvalid') ++ new ++ source Xinvalid ++ bwipe! ++ call delete('Xinvalid') ++endfunc diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc index 7e9225fbcb..db1e9caf4d 100644 --- a/poky/meta/recipes-support/vim/vim.inc +++ b/poky/meta/recipes-support/vim/vim.inc @@ -18,6 +18,7 @@ SRC_URI = "git://github.com/vim/vim.git \ file://no-path-adjust.patch \ file://racefix.patch \ file://b7081e135a16091c93f6f5f7525a5c58fb7ca9f9.patch \ + file://CVE-2021-3778.patch \ " SRCREV = "98056533b96b6b5d8849641de93185dd7bcadc44" -- cgit v1.2.3