From patchwork Sun Feb 27 18:21:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Kjellerstedt X-Patchwork-Id: 4366 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4B4AC433F5 for ; Sun, 27 Feb 2022 18:21:49 +0000 (UTC) Received: from smtp1.axis.com (smtp1.axis.com [195.60.68.17]) by mx.groups.io with SMTP id smtpd.web11.11438.1645986106775965675 for ; Sun, 27 Feb 2022 10:21:49 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@axis.com header.s=axis-central1 header.b=o+Fji31y; spf=pass (domain: axis.com, ip: 195.60.68.17, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1645986107; x=1677522107; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=QNcPuLLuG8dT5qH5uXcA5qyMbL2bmn/SkoPijKhGmOA=; b=o+Fji31yauvUIcgelGDxnRMItrNlze/dF1bz69RYiHM/slwnsO19jrq0 iY8r7mduAAsHhfanxP0GzOHZX0OaLXI4Hs7ZOnDZcBi71YzT9TvFTDHmZ 9q5I6qsNnzGfeTJF828L4dunbZ/E5ofFHqoNYuvzDZQkGd6aHvQey2P+9 2EKiARfon7res5+XUedRoO2qVCncApC2tIFyyNZ5ZYt6JgmL6wRlVEv0m xuMwEDdftCOVbcnrx2erqYQ3ToAJlajZZLLVBxA8LYZZE7aOsGkT+LFr4 ih4/pGgJEhlTNS6uSnkMNH0MAm9ylRdoLbLuuj9AVuAVbl+RqSvJ0glVV g==; From: Peter Kjellerstedt To: Subject: [PATCH 1/6] default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0 Date: Sun, 27 Feb 2022 19:21:32 +0100 Message-ID: <20220227182138.5364-1-peter.kjellerstedt@axis.com> X-Mailer: git-send-email 2.21.3 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 27 Feb 2022 18:21:49 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/162440 There is no reason to set an empty default for it, while not doing it for all other potential WHITELIST_* variables. The reason it was set here is a leftover from before when it was actually set to a value. Signed-off-by: Peter Kjellerstedt --- meta/conf/distro/include/default-distrovars.inc | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc index 3bba651a77..3edba1b6d0 100644 --- a/meta/conf/distro/include/default-distrovars.inc +++ b/meta/conf/distro/include/default-distrovars.inc @@ -20,8 +20,6 @@ DISTRO_FEATURES_DEFAULT ?= "acl alsa argp bluetooth debuginfod ext2 ipv4 ipv6 la DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}" IMAGE_FEATURES ?= "" -WHITELIST_GPL-3.0 ?= "" - COMMERCIAL_AUDIO_PLUGINS ?= "" # COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad gst-plugins-ugly-mpegaudioparse" COMMERCIAL_VIDEO_PLUGINS ?= "" From patchwork Sun Feb 27 18:21:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Kjellerstedt X-Patchwork-Id: 4364 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0BDBFC433EF for ; Sun, 27 Feb 2022 18:21:48 +0000 (UTC) Received: from smtp2.axis.com (smtp2.axis.com [195.60.68.18]) by mx.groups.io with SMTP id smtpd.web08.11594.1645986106122988617 for ; Sun, 27 Feb 2022 10:21:47 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@axis.com header.s=axis-central1 header.b=j9pOyeUb; spf=pass (domain: axis.com, ip: 195.60.68.18, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1645986106; x=1677522106; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=d3cAWJ8mLvLBfSiCH8imKPzqYLTm0VGksASwkz3EueA=; b=j9pOyeUbyy6Oe9X6sE5bdcJ7YYJim26/RmXP4CKjcxY17YcNZ9Mhg1dQ c77/ztjpyEWmk+2R71zL9SgAjw+o8ilBmta0vV58UZqJt1xAcBF4d00Eh kP6YtsswlpUgVDJF8hhdMGHoqnAPX8ySCS/31qHgujEtBDsc+p9oBkqB6 RPm7V8EidJG+8SH4N60vuxjnOhJic5uhaaZX+BqWSIWqLKNzhPmLc2jjM 8qKkZE3H07DN120eC+/se8GlB9XCxvrum2RIeL26BKKHAsjuKOEWmRinS uJ0KEy9d1S5anqaADaU2Jduc0mWpm1JXias7QGZdOFpWFUrjAqu48uIhk A==; From: Peter Kjellerstedt To: Subject: [PATCH 2/6] selftest: recipetool: Correct the URI for socat Date: Sun, 27 Feb 2022 19:21:33 +0100 Message-ID: <20220227182138.5364-2-peter.kjellerstedt@axis.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20220227182138.5364-1-peter.kjellerstedt@axis.com> References: <20220227182138.5364-1-peter.kjellerstedt@axis.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 27 Feb 2022 18:21:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/162439 The URI to the socat tarball used in the recipetool.RecipetoolCreateTests.test_recipetool_create_simple test has been moved to an "Archive" directory. Signed-off-by: Peter Kjellerstedt --- meta/lib/oeqa/selftest/cases/recipetool.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index 09448bad01..a5fe4084b4 100644 --- a/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py @@ -377,7 +377,7 @@ class RecipetoolCreateTests(RecipetoolBase): temprecipe = os.path.join(self.tempdir, 'recipe') os.makedirs(temprecipe) pv = '1.7.4.1' - srcuri = 'http://www.dest-unreach.org/socat/download/socat-%s.tar.bz2' % pv + srcuri = 'http://www.dest-unreach.org/socat/download/Archive/socat-%s.tar.bz2' % pv result = runCmd('recipetool create %s -o %s' % (srcuri, temprecipe)) dirlist = os.listdir(temprecipe) if len(dirlist) > 1: From patchwork Sun Feb 27 18:21:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Kjellerstedt X-Patchwork-Id: 4365 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id EBC18C433EF for ; Sun, 27 Feb 2022 18:21:50 +0000 (UTC) Received: from smtp2.axis.com (smtp2.axis.com [195.60.68.18]) by mx.groups.io with SMTP id smtpd.web08.11594.1645986106122988617 for ; Sun, 27 Feb 2022 10:21:50 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@axis.com header.s=axis-central1 header.b=gmWNn8CQ; spf=pass (domain: axis.com, ip: 195.60.68.18, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1645986108; x=1677522108; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=Pc6sMV0RsbKzhevE7omKzSgH5ZzEaUKVYC5wnm1l/Zg=; b=gmWNn8CQ8RGssrJ/SGmyJI3bwiengPVkvpQSHtoG69I6QO1EbJ/rPzlu PwI9ibbWL2p+U7n+/OcI+qbx/WBb5Gpoj1rag3R6ktbFMytDTCIrIBNYt Y2/U4vbhTEWbt2W7hexkGMiKWVk13wRmGypa6hHaf+M/f74E8u6EANajF t5pX9hm8/XA2A/u6vvgZvONszYmzhGlrfZQn3sNTBAyGDsjMvRkQlACqw xvyNZy9w5Bg5zfDct1WlX9ycKji63UUWLJMMWPJbybMLbyUx2i1Ycp8Cp yb8BDexJDlnR8YaFOo6wwCVIPJMpMViseMcuHXJrhIX+4clMvpACwFQnb A==; From: Peter Kjellerstedt To: Subject: [PATCH 3/6] recipetool/create_buildsys_python: Add support for more known licenses Date: Sun, 27 Feb 2022 19:21:34 +0100 Message-ID: <20220227182138.5364-3-peter.kjellerstedt@axis.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20220227182138.5364-1-peter.kjellerstedt@axis.com> References: <20220227182138.5364-1-peter.kjellerstedt@axis.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 27 Feb 2022 18:21:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/162441 Add all OSI approved licenses from https://pypi.org/classifiers/. Also add support for Other/Proprietary (Proprietary) and Public Domain (PD). Signed-off-by: Peter Kjellerstedt --- .../lib/recipetool/create_buildsys_python.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/scripts/lib/recipetool/create_buildsys_python.py b/scripts/lib/recipetool/create_buildsys_python.py index 1a15011687..2a2c6ab6b6 100644 --- a/scripts/lib/recipetool/create_buildsys_python.py +++ b/scripts/lib/recipetool/create_buildsys_python.py @@ -102,10 +102,16 @@ class PythonRecipeHandler(RecipeHandler): 'License :: OSI Approved :: Artistic License': 'Artistic', 'License :: OSI Approved :: Attribution Assurance License': 'AAL', 'License :: OSI Approved :: BSD License': 'BSD-3-Clause', + 'License :: OSI Approved :: Boost Software License 1.0 (BSL-1.0)': 'BSL-1.0', + 'License :: OSI Approved :: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)': 'CECILL-2.1', + 'License :: OSI Approved :: Common Development and Distribution License 1.0 (CDDL-1.0)': 'CDDL-1.0', 'License :: OSI Approved :: Common Public License': 'CPL', + 'License :: OSI Approved :: Eclipse Public License 1.0 (EPL-1.0)': 'EPL-1.0', + 'License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)': 'EPL-2.0', 'License :: OSI Approved :: Eiffel Forum License': 'EFL', 'License :: OSI Approved :: European Union Public Licence 1.0 (EUPL 1.0)': 'EUPL-1.0', 'License :: OSI Approved :: European Union Public Licence 1.1 (EUPL 1.1)': 'EUPL-1.1', + 'License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)': 'EUPL-1.2', 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)': 'AGPL-3.0+', 'License :: OSI Approved :: GNU Affero General Public License v3': 'AGPL-3.0', 'License :: OSI Approved :: GNU Free Documentation License (FDL)': 'GFDL', @@ -119,12 +125,15 @@ class PythonRecipeHandler(RecipeHandler): 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)': 'LGPL-3.0', 'License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)': 'LGPL-3.0+', 'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)': 'LGPL', + 'License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)': 'HPND', 'License :: OSI Approved :: IBM Public License': 'IPL', 'License :: OSI Approved :: ISC License (ISCL)': 'ISC', 'License :: OSI Approved :: Intel Open Source License': 'Intel', 'License :: OSI Approved :: Jabber Open Source License': 'Jabber', 'License :: OSI Approved :: MIT License': 'MIT', + 'License :: OSI Approved :: MIT No Attribution License (MIT-0)': 'MIT-0', 'License :: OSI Approved :: MITRE Collaborative Virtual Workspace License (CVW)': 'CVWL', + 'License :: OSI Approved :: MirOS License (MirOS)': 'MirOS', 'License :: OSI Approved :: Motosoto License': 'Motosoto', 'License :: OSI Approved :: Mozilla Public License 1.0 (MPL)': 'MPL-1.0', 'License :: OSI Approved :: Mozilla Public License 1.1 (MPL 1.1)': 'MPL-1.1', @@ -132,19 +141,26 @@ class PythonRecipeHandler(RecipeHandler): 'License :: OSI Approved :: Nethack General Public License': 'NGPL', 'License :: OSI Approved :: Nokia Open Source License': 'Nokia', 'License :: OSI Approved :: Open Group Test Suite License': 'OGTSL', + 'License :: OSI Approved :: Open Software License 3.0 (OSL-3.0)': 'OSL-3.0', + 'License :: OSI Approved :: PostgreSQL License': 'PostgreSQL', 'License :: OSI Approved :: Python License (CNRI Python License)': 'CNRI-Python', 'License :: OSI Approved :: Python Software Foundation License': 'PSF', 'License :: OSI Approved :: Qt Public License (QPL)': 'QPL', 'License :: OSI Approved :: Ricoh Source Code Public License': 'RSCPL', + 'License :: OSI Approved :: SIL Open Font License 1.1 (OFL-1.1)': 'OFL-1.1', 'License :: OSI Approved :: Sleepycat License': 'Sleepycat', - 'License :: OSI Approved :: Sun Industry Standards Source License (SISSL)': '-- Sun Industry Standards Source License (SISSL)', + 'License :: OSI Approved :: Sun Industry Standards Source License (SISSL)': 'SISSL', 'License :: OSI Approved :: Sun Public License': 'SPL', + 'License :: OSI Approved :: The Unlicense (Unlicense)': 'Unlicense', + 'License :: OSI Approved :: Universal Permissive License (UPL)': 'UPL-1.0', 'License :: OSI Approved :: University of Illinois/NCSA Open Source License': 'NCSA', 'License :: OSI Approved :: Vovida Software License 1.0': 'VSL-1.0', 'License :: OSI Approved :: W3C License': 'W3C', 'License :: OSI Approved :: X.Net License': 'Xnet', 'License :: OSI Approved :: Zope Public License': 'ZPL', 'License :: OSI Approved :: zlib/libpng License': 'Zlib', + 'License :: Other/Proprietary License': 'Proprietary', + 'License :: Public Domain': 'PD', } def __init__(self): From patchwork Sun Feb 27 18:21:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Kjellerstedt X-Patchwork-Id: 4368 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4398C4332F for ; Sun, 27 Feb 2022 18:21:53 +0000 (UTC) Received: from smtp2.axis.com (smtp2.axis.com [195.60.68.18]) by mx.groups.io with SMTP id smtpd.web12.11277.1645986109595854669 for ; Sun, 27 Feb 2022 10:21:52 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@axis.com header.s=axis-central1 header.b=eOBKJdkP; spf=pass (domain: axis.com, ip: 195.60.68.18, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1645986110; x=1677522110; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=kgP3lPjKo1hYoRFg+tmvmSl3W0eyGMcxuz0b4fBbfFY=; b=eOBKJdkPFRSCZ/f2S4KTAE//wJnQFAHSRPY9HS3AXkF7zYZJxpA1AHq3 wpeSPJSjlJnwv/uufywVEoOZB+tRg6cGnGvPqBa1XvFbYepzrrFYMRX0b vO//O8VZgAuEooCSzNIYFNseiXxhtfXvsTWOXe+sKPQ8I93SeXTb+rVi1 DDrrSSiVdH3u96H8kufaUwnKpz9Ptwu8BAVR62YBYiGA3VesoKPe6bHGz FZV+UWnkMAO3by0AYCQa5Jr/gOsc4C19nlobOw7xcD6mok0LFWvKTiaLJ CTZ6voD4bky7A4sapmvPl+bRLMczApzQkH8DdKTbeCmsSuXI/gBGpBRSG A==; From: Peter Kjellerstedt To: Subject: [PATCH 4/6] recipetool: Use SPDX license identifiers Date: Sun, 27 Feb 2022 19:21:35 +0100 Message-ID: <20220227182138.5364-4-peter.kjellerstedt@axis.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20220227182138.5364-1-peter.kjellerstedt@axis.com> References: <20220227182138.5364-1-peter.kjellerstedt@axis.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 27 Feb 2022 18:21:53 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/162443 There are still a couple of cases where the license may be set as, e.g., "GPL" or "GPL-2.0" since there is not enough information to decide the actual SPDX license. It is then assumed that the developer will have to correct the information. Signed-off-by: Peter Kjellerstedt --- meta/lib/oeqa/selftest/cases/bbtests.py | 2 +- meta/lib/oeqa/selftest/cases/devtool.py | 2 +- meta/lib/oeqa/selftest/cases/recipetool.py | 8 +-- scripts/lib/recipetool/create.py | 12 ++-- .../lib/recipetool/create_buildsys_python.py | 22 +++---- scripts/lib/recipetool/licenses.csv | 66 +++++++++---------- 6 files changed, 56 insertions(+), 56 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py index 35ad9f3cd6..cfac7afcf4 100644 --- a/meta/lib/oeqa/selftest/cases/bbtests.py +++ b/meta/lib/oeqa/selftest/cases/bbtests.py @@ -224,7 +224,7 @@ INHERIT:remove = \"report-error\" self.assertLess(errorpos,continuepos, msg = "bitbake didn't pass do_fail_task. bitbake output: %s" % result.output) def test_non_gplv3(self): - self.write_config('INCOMPATIBLE_LICENSE = "GPLv3"') + self.write_config('INCOMPATIBLE_LICENSE = "GPL-3.0-or-later"') result = bitbake('selftest-ed', ignore_status=True) self.assertEqual(result.status, 0, "Bitbake failed, exit code %s, output %s" % (result.status, result.output)) lic_dir = get_bb_var('LICENSE_DIRECTORY') diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 23d55903fb..e910672c31 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -343,7 +343,7 @@ class DevtoolAddTests(DevtoolBase): self.assertIn(srcdir, result.output) self.assertIn(recipefile, result.output) checkvars = {} - checkvars['LICENSE'] = 'GPLv2' + checkvars['LICENSE'] = 'GPL-2.0-only' checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263' checkvars['S'] = '${WORKDIR}/git' checkvars['PV'] = '0.1+git${SRCPV}' diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index a5fe4084b4..ca3cf8942d 100644 --- a/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py @@ -343,7 +343,7 @@ class RecipetoolCreateTests(RecipetoolBase): result = runCmd('recipetool create -o %s %s -x %s' % (recipefile, srcuri, tempsrc)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} - checkvars['LICENSE'] = 'GPLv2' + checkvars['LICENSE'] = 'GPL-2.0' checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263' checkvars['SRC_URI'] = 'https://github.com/logrotate/logrotate/releases/download/${PV}/logrotate-${PV}.tar.xz' checkvars['SRC_URI[md5sum]'] = 'a560c57fac87c45b2fc17406cdf79288' @@ -363,7 +363,7 @@ class RecipetoolCreateTests(RecipetoolBase): result = runCmd(['recipetool', 'create', '-o', recipefile, srcuri + ";rev=9f7cf8895ae2d39c465c04cc78e918c157420269", '-x', tempsrc]) self.assertTrue(os.path.isfile(recipefile), 'recipetool did not create recipe file; output:\n%s' % result.output) checkvars = {} - checkvars['LICENSE'] = 'LGPLv2.1' + checkvars['LICENSE'] = 'LGPL-2.1' checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34' checkvars['S'] = '${WORKDIR}/git' checkvars['PV'] = '1.11+git${SRCPV}' @@ -386,7 +386,7 @@ class RecipetoolCreateTests(RecipetoolBase): self.fail('recipetool did not create recipe file; output:\n%s\ndirlist:\n%s' % (result.output, str(dirlist))) self.assertEqual(dirlist[0], 'socat_%s.bb' % pv, 'Recipe file incorrectly named') checkvars = {} - checkvars['LICENSE'] = set(['Unknown', 'GPLv2']) + checkvars['LICENSE'] = set(['Unknown', 'GPL-2.0']) checkvars['LIC_FILES_CHKSUM'] = set(['file://COPYING.OpenSSL;md5=5c9bccc77f67a8328ef4ebaf468116f4', 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263']) # We don't check DEPENDS since they are variable for this recipe depending on what's in the sysroot checkvars['S'] = None @@ -402,7 +402,7 @@ class RecipetoolCreateTests(RecipetoolBase): result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) self.assertTrue(os.path.isfile(recipefile)) checkvars = {} - checkvars['LICENSE'] = set(['LGPLv2.1', 'MPL-1.1']) + checkvars['LICENSE'] = set(['LGPL-2.1', 'MPL-1.1']) checkvars['SRC_URI'] = 'http://taglib.github.io/releases/taglib-${PV}.tar.gz' checkvars['SRC_URI[md5sum]'] = 'cee7be0ccfc892fa433d6c837df9522a' checkvars['SRC_URI[sha256sum]'] = 'b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b' diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index 4cf6a5a95c..0b5d5466ba 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -1080,7 +1080,7 @@ def crunch_license(licfile): # common licenses crunched_md5sums['89f3bf322f30a1dcfe952e09945842f0'] = 'Apache-2.0' - crunched_md5sums['13b6fe3075f8f42f2270a748965bf3a1'] = 'BSD-0-Clause' + crunched_md5sums['13b6fe3075f8f42f2270a748965bf3a1'] = '0BSD' crunched_md5sums['ba87a7d7c20719c8df4b8beed9b78c43'] = 'BSD-2-Clause' crunched_md5sums['7f8892c03b72de419c27be4ebfa253f8'] = 'BSD-3-Clause' crunched_md5sums['21128c0790b23a8a9f9e260d5f6b3619'] = 'BSL-1.0' @@ -1108,15 +1108,15 @@ def crunch_license(licfile): # https://github.com/waffle-gl/waffle/blob/master/LICENSE.txt crunched_md5sums['50fab24ce589d69af8964fdbfe414c60'] = 'BSD-2-Clause' # https://github.com/spigwitmer/fakeds1963s/blob/master/LICENSE - crunched_md5sums['88a4355858a1433fea99fae34a44da88'] = 'GPLv2' + crunched_md5sums['88a4355858a1433fea99fae34a44da88'] = 'GPL-2.0' # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt - crunched_md5sums['063b5c3ebb5f3aa4c85a2ed18a31fbe7'] = 'GPLv2' + crunched_md5sums['063b5c3ebb5f3aa4c85a2ed18a31fbe7'] = 'GPL-2.0' # https://github.com/FFmpeg/FFmpeg/blob/master/COPYING.LGPLv2.1 - crunched_md5sums['7f5202f4d44ed15dcd4915f5210417d8'] = 'LGPLv2.1' + crunched_md5sums['7f5202f4d44ed15dcd4915f5210417d8'] = 'LGPL-2.1' # unixODBC-2.3.4 COPYING - crunched_md5sums['3debde09238a8c8e1f6a847e1ec9055b'] = 'LGPLv2.1' + crunched_md5sums['3debde09238a8c8e1f6a847e1ec9055b'] = 'LGPL-2.1' # https://github.com/FFmpeg/FFmpeg/blob/master/COPYING.LGPLv3 - crunched_md5sums['f90c613c51aa35da4d79dd55fc724ceb'] = 'LGPLv3' + crunched_md5sums['f90c613c51aa35da4d79dd55fc724ceb'] = 'LGPL-3.0' # https://raw.githubusercontent.com/eclipse/mosquitto/v1.4.14/epl-v10 crunched_md5sums['efe2cb9a35826992b9df68224e3c2628'] = 'EPL-1.0' diff --git a/scripts/lib/recipetool/create_buildsys_python.py b/scripts/lib/recipetool/create_buildsys_python.py index 2a2c6ab6b6..f4f51c88b4 100644 --- a/scripts/lib/recipetool/create_buildsys_python.py +++ b/scripts/lib/recipetool/create_buildsys_python.py @@ -112,18 +112,18 @@ class PythonRecipeHandler(RecipeHandler): 'License :: OSI Approved :: European Union Public Licence 1.0 (EUPL 1.0)': 'EUPL-1.0', 'License :: OSI Approved :: European Union Public Licence 1.1 (EUPL 1.1)': 'EUPL-1.1', 'License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)': 'EUPL-1.2', - 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)': 'AGPL-3.0+', - 'License :: OSI Approved :: GNU Affero General Public License v3': 'AGPL-3.0', + 'License :: OSI Approved :: GNU Affero General Public License v3': 'AGPL-3.0-only', + 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)': 'AGPL-3.0-or-later', 'License :: OSI Approved :: GNU Free Documentation License (FDL)': 'GFDL', 'License :: OSI Approved :: GNU General Public License (GPL)': 'GPL', - 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)': 'GPL-2.0', - 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)': 'GPL-2.0+', - 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)': 'GPL-3.0', - 'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)': 'GPL-3.0+', - 'License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)': 'LGPL-2.0', - 'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)': 'LGPL-2.0+', - 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)': 'LGPL-3.0', - 'License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)': 'LGPL-3.0+', + 'License :: OSI Approved :: GNU General Public License v2 (GPLv2)': 'GPL-2.0-only', + 'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)': 'GPL-2.0-or-later', + 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)': 'GPL-3.0-only', + 'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)': 'GPL-3.0-or-later', + 'License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)': 'LGPL-2.0-only', + 'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)': 'LGPL-2.0-or-later', + 'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)': 'LGPL-3.0-only', + 'License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)': 'LGPL-3.0-or-later', 'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)': 'LGPL', 'License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)': 'HPND', 'License :: OSI Approved :: IBM Public License': 'IPL', @@ -144,7 +144,7 @@ class PythonRecipeHandler(RecipeHandler): 'License :: OSI Approved :: Open Software License 3.0 (OSL-3.0)': 'OSL-3.0', 'License :: OSI Approved :: PostgreSQL License': 'PostgreSQL', 'License :: OSI Approved :: Python License (CNRI Python License)': 'CNRI-Python', - 'License :: OSI Approved :: Python Software Foundation License': 'PSF', + 'License :: OSI Approved :: Python Software Foundation License': 'PSF-2.0', 'License :: OSI Approved :: Qt Public License (QPL)': 'QPL', 'License :: OSI Approved :: Ricoh Source Code Public License': 'RSCPL', 'License :: OSI Approved :: SIL Open Font License 1.1 (OFL-1.1)': 'OFL-1.1', diff --git a/scripts/lib/recipetool/licenses.csv b/scripts/lib/recipetool/licenses.csv index 0d3fb0607b..2a8fdfac05 100644 --- a/scripts/lib/recipetool/licenses.csv +++ b/scripts/lib/recipetool/licenses.csv @@ -1,37 +1,37 @@ -0636e73ff0215e8d672dc4c32c317bb3,GPLv2 -12f884d2ae1ff87c09e5b7ccc2c4ca7e,GPLv2 -18810669f13b87348459e611d31ab760,GPLv2 -252890d9eee26aab7b432e8b8a616475,LGPLv2 -2d5025d4aa3495befef8f17206a5b0a1,LGPLv2.1 -3214f080875748938ba060314b4f727d,LGPLv2 +0636e73ff0215e8d672dc4c32c317bb3,GPL-2.0 +12f884d2ae1ff87c09e5b7ccc2c4ca7e,GPL-2.0 +18810669f13b87348459e611d31ab760,GPL-2.0 +252890d9eee26aab7b432e8b8a616475,LGPL-2.0 +2d5025d4aa3495befef8f17206a5b0a1,LGPL-2.1 +3214f080875748938ba060314b4f727d,LGPL-2.0 385c55653886acac3821999a3ccd17b3,Artistic-1.0 | GPL-2.0 -393a5ca445f6965873eca0259a17f833,GPLv2 +393a5ca445f6965873eca0259a17f833,GPL-2.0 3b83ef96387f14655fc854ddc3c6bd57,Apache-2.0 -3bf50002aefd002f49e7bb854063f7e7,LGPLv2 -4325afd396febcb659c36b49533135d4,GPLv2 -4fbd65380cdd255951079008b364516c,LGPLv2.1 +3bf50002aefd002f49e7bb854063f7e7,LGPL-2.0 +4325afd396febcb659c36b49533135d4,GPL-2.0 +4fbd65380cdd255951079008b364516c,LGPL-2.1 54c7042be62e169199200bc6477f04d1,BSD-3-Clause -55ca817ccb7d5b5b66355690e9abc605,LGPLv2 -59530bdf33659b29e73d4adb9f9f6552,GPLv2 -5f30f0716dfdd0d91eb439ebec522ec2,LGPLv2 -6a6a8e020838b23406c81b19c1d46df6,LGPLv3 -751419260aa954499f7abaabaa882bbe,GPLv2 -7fbc338309ac38fefcd64b04bb903e34,LGPLv2.1 -8ca43cbc842c2336e835926c2166c28b,GPLv2 -94d55d512a9ba36caa9b7df079bae19f,GPLv2 -9ac2e7cff1ddaf48b6eab6028f23ef88,GPLv2 -9f604d8a4f8e74f4f5140845a21b6674,LGPLv2 -a6f89e2100d9b6cdffcea4f398e37343,LGPLv2.1 -b234ee4d69f5fce4486a80fdaf4a4263,GPLv2 -bbb461211a33b134d42ed5ee802b37ff,LGPLv2.1 +55ca817ccb7d5b5b66355690e9abc605,LGPL-2.0 +59530bdf33659b29e73d4adb9f9f6552,GPL-2.0 +5f30f0716dfdd0d91eb439ebec522ec2,LGPL-2.0 +6a6a8e020838b23406c81b19c1d46df6,LGPL-3 +751419260aa954499f7abaabaa882bbe,GPL-2.0 +7fbc338309ac38fefcd64b04bb903e34,LGPL-2.1 +8ca43cbc842c2336e835926c2166c28b,GPL-2.0 +94d55d512a9ba36caa9b7df079bae19f,GPL-2.0 +9ac2e7cff1ddaf48b6eab6028f23ef88,GPL-2.0 +9f604d8a4f8e74f4f5140845a21b6674,LGPL-2.0 +a6f89e2100d9b6cdffcea4f398e37343,LGPL-2.1 +b234ee4d69f5fce4486a80fdaf4a4263,GPL-2.0 +bbb461211a33b134d42ed5ee802b37ff,LGPL-2.1 bfe1f75d606912a4111c90743d6c7325,MPL-1.1 -c93c0550bd3173f4504b2cbd8991e50b,GPLv2 -d32239bcb673463ab874e80d47fae504,GPLv3 -d7810fab7487fb0aad327b76f1be7cd7,GPLv2 -d8045f3b8f929c1cb29a1e3fd737b499,LGPLv2.1 -db979804f025cf55aabec7129cb671ed,LGPLv2 -eb723b61539feef013de476e68b5c50a,GPLv2 -ebb5c50ab7cab4baeffba14977030c07,GPLv2 -f27defe1e96c2e1ecd4e0c9be8967949,GPLv3 -fad9b3332be894bab9bc501572864b29,LGPLv2.1 -fbc093901857fcd118f065f900982c24,LGPLv2.1 +c93c0550bd3173f4504b2cbd8991e50b,GPL-2.0 +d32239bcb673463ab874e80d47fae504,GPL-3.0 +d7810fab7487fb0aad327b76f1be7cd7,GPL-2.0 +d8045f3b8f929c1cb29a1e3fd737b499,LGPL-2.1 +db979804f025cf55aabec7129cb671ed,LGPL-2.0 +eb723b61539feef013de476e68b5c50a,GPL-2.0 +ebb5c50ab7cab4baeffba14977030c07,GPL-2.0 +f27defe1e96c2e1ecd4e0c9be8967949,GPL-3.0 +fad9b3332be894bab9bc501572864b29,LGPL-2.1 +fbc093901857fcd118f065f900982c24,LGPL-2.1 From patchwork Sun Feb 27 18:21:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Kjellerstedt X-Patchwork-Id: 14168 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org From: "Peter Kjellerstedt" Subject: [PATCH 5/6] meta, meta-selftest: Replace more non-SPDX license identifiers Date: Sun, 27 Feb 2022 19:21:36 +0100 Message-ID: <20220227182138.5364-5-peter.kjellerstedt@axis.com> In-Reply-To: <20220227182138.5364-1-peter.kjellerstedt@axis.com> References: <20220227182138.5364-1-peter.kjellerstedt@axis.com> MIME-Version: 1.0 Return-Path: pkj@axis.com List-id: To: openembedded-core@lists.openembedded.org In commit ceda3238 (meta/meta-selftest/meta-skeleton: Update LICENSE variable to use SPDX license identifiers) all LICENSE variables were updated to only use SPDX license identifiers. This does the same for comments and other variables where it is appropriate to use the official SPDX license identifiers. There are still references to, e.g., "GPLv3", but they are then typically in descriptive text where they refer to the license in a generic sense. Signed-off-by: Peter Kjellerstedt --- .../recipes-test/license/incompatible-licenses.bb | 2 +- .../recipes-test/selftest-ed/selftest-ed_0.5.bb | 2 +- meta/classes/devicetree.bbclass | 4 ++-- meta/classes/license.bbclass | 7 ++++--- meta/conf/documentation.conf | 2 +- meta/recipes-bsp/usbutils/usbutils_014.bb | 3 ++- meta/recipes-connectivity/avahi/avahi_0.8.bb | 4 ++-- meta/recipes-core/kbd/kbd_2.4.0.bb | 2 +- meta/recipes-core/readline/readline.inc | 2 +- meta/recipes-devtools/elfutils/elfutils_0.186.bb | 4 ++-- meta/recipes-devtools/gcc/gcc-runtime.inc | 2 +- .../icecc-create-env/icecc-create-env_0.1.bb | 2 +- meta/recipes-devtools/rsync/rsync_3.2.3.bb | 2 +- meta/recipes-extended/bash/bash_5.1.16.bb | 2 +- meta/recipes-extended/findutils/findutils_4.9.0.bb | 2 +- meta/recipes-extended/gawk/gawk_5.1.1.bb | 4 ++-- meta/recipes-extended/gzip/gzip.inc | 1 - meta/recipes-extended/gzip/gzip_1.11.bb | 2 ++ meta/recipes-extended/less/less_600.bb | 2 +- meta/recipes-extended/mdadm/mdadm_4.2.bb | 2 +- meta/recipes-extended/pam/libpam_1.5.2.bb | 2 +- meta/recipes-extended/xz/xz_5.2.5.bb | 9 +++++---- meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb | 14 +++++++------- meta/recipes-multimedia/alsa/alsa-utils.inc | 3 ++- meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 14 ++++++++------ meta/recipes-sato/l3afpad/l3afpad_git.bb | 4 ++-- 26 files changed, 53 insertions(+), 46 deletions(-) diff --git a/meta-selftest/recipes-test/license/incompatible-licenses.bb b/meta-selftest/recipes-test/license/incompatible-licenses.bb index ab3b58d2c9..9709892644 100644 --- a/meta-selftest/recipes-test/license/incompatible-licenses.bb +++ b/meta-selftest/recipes-test/license/incompatible-licenses.bb @@ -1,3 +1,3 @@ SUMMARY = "Recipe with multiple SPDX licenses" DESCRIPTION = "Is licensed with multiple SPDX licenses to be used for testing" -LICENSE = "GPL-2.0-only & GPL-3.0 & LGPL-3.0-only" +LICENSE = "GPL-2.0-only & GPL-3.0-only & LGPL-3.0-only" diff --git a/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb b/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb index 4a9b94eceb..c5037a4912 100644 --- a/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb +++ b/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb @@ -1,4 +1,4 @@ -SUMMARY = "Line-oriented text editor -- selftest GPLv2 version" +SUMMARY = "Line-oriented text editor -- selftest GPL-2.0-or-later version" HOMEPAGE = "http://www.gnu.org/software/ed/" SECTION = "base" LICENSE = "GPL-2.0-or-later" diff --git a/meta/classes/devicetree.bbclass b/meta/classes/devicetree.bbclass index 7f3b808572..2a62ae7bc8 100644 --- a/meta/classes/devicetree.bbclass +++ b/meta/classes/devicetree.bbclass @@ -15,8 +15,8 @@ SECTION ?= "bsp" # The default inclusion of kernel device tree includes and headers means that -# device trees built with them are at least GPLv2 (and in some cases dual -# licensed). Default to GPLv2 if the recipe does not specify a license. +# device trees built with them are at least GPL-2.0-only (and in some cases dual +# licensed). Default to GPL-2.0-only if the recipe does not specify a license. LICENSE ?= "GPL-2.0-only" LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index dec9867209..68c022248c 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -193,7 +193,7 @@ def find_license_files(d): os.path.join(srcdir, non_generic_lic), None, None)) non_generic_lics[non_generic_lic] = license_type else: - # Add explicity avoid of CLOSED license because this isn't generic + # Explicitly avoid the CLOSED license because this isn't generic if license_type != 'CLOSED': # And here is where we warn people that their licenses are lousy oe.qa.handle_error("license-exists", @@ -252,7 +252,7 @@ def return_spdx(d, license): def canonical_license(d, license): """ Return the canonical (SPDX) form of the license if available (so GPLv3 - becomes GPL-3.0) or the passed license if there is no canonical form. + becomes GPL-3.0-only) or the passed license if there is no canonical form. """ return d.getVarFlag('SPDXLICENSEMAP', license) or license @@ -287,7 +287,8 @@ def expand_wildcard_licenses(d, wildcard_licenses): for wld_lic in wildcard_licenses: spdxflags = fnmatch.filter(spdxmapkeys, wld_lic) licenses += [d.getVarFlag('SPDXLICENSEMAP', flag) for flag in spdxflags] - # Assume if we're passed "GPLv3" or "*GPLv3" it means -or-later as well + # Assume that if we are passed "GPL-3.0" or "*GPL-3.0", then it means + # "-or-later" as well. if not wld_lic.endswith(("-or-later", "-only", "*", "+")): spdxflags = fnmatch.filter(spdxmapkeys, wld_lic + "+") licenses += [d.getVarFlag('SPDXLICENSEMAP', flag) for flag in spdxflags] diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf index 1789da0bb8..feb23a666b 100644 --- a/meta/conf/documentation.conf +++ b/meta/conf/documentation.conf @@ -226,7 +226,7 @@ IMAGE_ROOTFS_EXTRA_SPACE[doc] = "Defines additional free disk space created in t IMAGE_ROOTFS_SIZE[doc] = "Defines the size in Kbytes for the generated image." IMAGE_TYPES[doc] = "Specifies the complete list of supported image types by default." INC_PR[doc] = "Helps define the recipe revision for recipes that share a common include file." -INCOMPATIBLE_LICENSE[doc] = "Specifies a space-separated list of license names (as they would appear in LICENSE) that should be excluded from the build. Wildcard is supported, such as '*GPLv3'" +INCOMPATIBLE_LICENSE[doc] = "Specifies a space-separated list of license names (as they would appear in LICENSE) that should be excluded from the build. Wildcard is supported, such as '*GPL-3.0*'" INHIBIT_DEFAULT_DEPS[doc] = "Prevents the default dependencies, namely the C compiler and standard C library (libc), from being added to DEPENDS." INHIBIT_PACKAGE_STRIP[doc] = "If set to "1", causes the build to not strip binaries in resulting packages." INHERIT[doc] = "Causes the named class to be inherited at this point during parsing. The variable is only valid in configuration files." diff --git a/meta/recipes-bsp/usbutils/usbutils_014.bb b/meta/recipes-bsp/usbutils/usbutils_014.bb index 828eb4d36f..e728f1a190 100644 --- a/meta/recipes-bsp/usbutils/usbutils_014.bb +++ b/meta/recipes-bsp/usbutils/usbutils_014.bb @@ -20,7 +20,8 @@ inherit autotools pkgconfig update-alternatives ALTERNATIVE:${PN} = "lsusb" ALTERNATIVE_PRIORITY = "100" -# The binaries are mostly GPLv2+ apart from lsusb.py which is GPLv2 or v3. +# The binaries are mostly GPL-2.0-or-later apart from lsusb.py which is +# GPL-2.0-only or GPL-3.0-only. LICENSE:${PN} = "GPL-2.0-or-later" LICENSE:${PN}-python = "GPL-2.0-only | GPL-3.0-only" diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb index 3e020e6780..9bb5e5861e 100644 --- a/meta/recipes-connectivity/avahi/avahi_0.8.bb +++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb @@ -10,8 +10,8 @@ HOMEPAGE = "http://avahi.org" BUGTRACKER = "https://github.com/lathiat/avahi/issues" SECTION = "network" -# major part is under LGPLv2.1+, but several .dtd, .xsl, initscripts and -# python scripts are under GPLv2+ +# major part is under LGPL-2.1-or-later, but several .dtd, .xsl, initscripts and +# python scripts are under GPL-2.0-or-later LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ file://avahi-common/address.h;endline=25;md5=b1d1d2cda1c07eb848ea7d6215712d9d \ diff --git a/meta/recipes-core/kbd/kbd_2.4.0.bb b/meta/recipes-core/kbd/kbd_2.4.0.bb index 5328e5ec3c..8a68d647e2 100644 --- a/meta/recipes-core/kbd/kbd_2.4.0.bb +++ b/meta/recipes-core/kbd/kbd_2.4.0.bb @@ -1,7 +1,7 @@ SUMMARY = "Keytable files and keyboard utilities" HOMEPAGE = "http://www.kbd-project.org/" DESCRIPTION = "The kbd project contains tools for managing Linux console (Linux console, virtual terminals, keyboard, etc.) – mainly, what they do is loading console fonts and keyboard maps." -# everything minus console-fonts is GPLv2+ +# everything minus console-fonts is GPL-2.0-or-later LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" diff --git a/meta/recipes-core/readline/readline.inc b/meta/recipes-core/readline/readline.inc index 24a3301285..7f2f1a092b 100644 --- a/meta/recipes-core/readline/readline.inc +++ b/meta/recipes-core/readline/readline.inc @@ -6,7 +6,7 @@ lines, and perform csh-like history expansion on previous commands." SECTION = "libs" HOMEPAGE = "https://tiswww.case.edu/php/chet/readline/rltop.html" -# GPLv2+ (< 6.0), GPLv3+ (>= 6.0) +# GPL-2.0-or-later (< 6.0), GPL-3.0-or-later (>= 6.0) LICENSE = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" diff --git a/meta/recipes-devtools/elfutils/elfutils_0.186.bb b/meta/recipes-devtools/elfutils/elfutils_0.186.bb index f2f098eccb..46ee40cce6 100644 --- a/meta/recipes-devtools/elfutils/elfutils_0.186.bb +++ b/meta/recipes-devtools/elfutils/elfutils_0.186.bb @@ -102,8 +102,8 @@ BBCLASSEXTEND = "native nativesdk" # Package utilities separately PACKAGES =+ "${PN}-binutils libelf libasm libdw libdebuginfod" -# shared libraries are licensed GPLv2 or GPLv3+, binaries GPLv3+ -# according to NEWS file: +# Shared libraries are licensed GPL-2.0-only or GPL-3.0-or-later, binaries +# GPL-3.0-or-later. According to NEWS file: # "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone # programs. There is now also a formal CONTRIBUTING document describing how to # submit patches." diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index c39a0caf8a..e9f2cf16e8 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc @@ -2,7 +2,7 @@ require gcc-configure-common.inc SUMMARY = "Runtime libraries from GCC" -# Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPLv3" +# Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPL-3.0-only" # All gcc-runtime packages are now covered by the runtime exception. LICENSE = "GPL-3.0-with-GCC-exception" diff --git a/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb b/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb index ea95588c8c..b716b0245b 100644 --- a/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb +++ b/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb @@ -2,7 +2,7 @@ SUMMARY = "icecc environment setup script" DESCRIPTION = "This is a version of the icecc-create-env script that has \ been modified in order to make it work with OE." SECTION = "base" -# source file has just a "GPL" word, but upstream is GPLv2+. +# source file has just a "GPL" word, but upstream is GPL-2.0-or-later. # most probably just GPL would be a mistake LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://icecc-create-env;beginline=2;endline=5;md5=ae1df3d6a058bfda40b66094c5f6065f" diff --git a/meta/recipes-devtools/rsync/rsync_3.2.3.bb b/meta/recipes-devtools/rsync/rsync_3.2.3.bb index b950e30b46..6168ee85fc 100644 --- a/meta/recipes-devtools/rsync/rsync_3.2.3.bb +++ b/meta/recipes-devtools/rsync/rsync_3.2.3.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://rsync.samba.org/" DESCRIPTION = "rsync is an open source utility that provides fast incremental file transfer." BUGTRACKER = "http://rsync.samba.org/bugzilla.html" SECTION = "console/network" -# GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0) +# GPL-2.0-or-later (<< 3.0.0), GPL-3.0-or-later (>= 3.0.0) # Includes opennsh and xxhash dynamic link exception LICENSE = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=9e5a4f9b3a253d51520617aa54f8eb26" diff --git a/meta/recipes-extended/bash/bash_5.1.16.bb b/meta/recipes-extended/bash/bash_5.1.16.bb index 45c7c2b09c..d046faa4e5 100644 --- a/meta/recipes-extended/bash/bash_5.1.16.bb +++ b/meta/recipes-extended/bash/bash_5.1.16.bb @@ -1,6 +1,6 @@ require bash.inc -# GPLv2+ (< 4.0), GPLv3+ (>= 4.0) +# GPL-2.0-or-later (< 4.0), GPL-3.0-or-later (>= 4.0) LICENSE = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" diff --git a/meta/recipes-extended/findutils/findutils_4.9.0.bb b/meta/recipes-extended/findutils/findutils_4.9.0.bb index 63560a4299..e4ce8ee4eb 100644 --- a/meta/recipes-extended/findutils/findutils_4.9.0.bb +++ b/meta/recipes-extended/findutils/findutils_4.9.0.bb @@ -1,6 +1,6 @@ require findutils.inc -# GPLv2+ (<< 4.2.32), GPLv3+ (>= 4.2.32) +# GPL-2.0-or-later (<< 4.2.32), GPL-3.0-or-later (>= 4.2.32) LICENSE = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" diff --git a/meta/recipes-extended/gawk/gawk_5.1.1.bb b/meta/recipes-extended/gawk/gawk_5.1.1.bb index 40f994ff94..fe339805d0 100644 --- a/meta/recipes-extended/gawk/gawk_5.1.1.bb +++ b/meta/recipes-extended/gawk/gawk_5.1.1.bb @@ -6,8 +6,8 @@ HOMEPAGE = "https://www.gnu.org/software/gawk/" BUGTRACKER = "bug-gawk@gnu.org" SECTION = "console/utils" -# gawk <= 3.1.5: GPLv2 -# gawk >= 3.1.6: GPLv3 +# gawk <= 3.1.5: GPL-2.0-only +# gawk >= 3.1.6: GPL-3.0-only LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" diff --git a/meta/recipes-extended/gzip/gzip.inc b/meta/recipes-extended/gzip/gzip.inc index 15fd665ac8..b32584033b 100644 --- a/meta/recipes-extended/gzip/gzip.inc +++ b/meta/recipes-extended/gzip/gzip.inc @@ -3,7 +3,6 @@ DESCRIPTION = "GNU Gzip is a popular data compression program originally written project. Mark Adler wrote the decompression part" HOMEPAGE = "http://www.gnu.org/software/gzip/" SECTION = "console/utils" -# change to GPLv3+ in 2007/07. Previous GPLv2 version is 1.3.12 inherit autotools texinfo export DEFS="NO_ASM" diff --git a/meta/recipes-extended/gzip/gzip_1.11.bb b/meta/recipes-extended/gzip/gzip_1.11.bb index cff4ed1717..321c9c31a4 100644 --- a/meta/recipes-extended/gzip/gzip_1.11.bb +++ b/meta/recipes-extended/gzip/gzip_1.11.bb @@ -1,5 +1,7 @@ require gzip.inc +# change to GPL-3.0-or-later in 2007/07. Previous GPL-2.0-or-later version is +# 1.3.12 LICENSE = "GPL-3.0-or-later" SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \ diff --git a/meta/recipes-extended/less/less_600.bb b/meta/recipes-extended/less/less_600.bb index 8b715fac6b..9ebe39daab 100644 --- a/meta/recipes-extended/less/less_600.bb +++ b/meta/recipes-extended/less/less_600.bb @@ -5,7 +5,7 @@ programs. Less offers many features beyond those that more does." HOMEPAGE = "http://www.greenwoodsoftware.com/" SECTION = "console/utils" -# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less +# (GPL-2.0-or-later (<< 418), GPL-3.0-or-later (>= 418)) | less # Including email author giving permissing to use BSD # # From: Mark Nudelman diff --git a/meta/recipes-extended/mdadm/mdadm_4.2.bb b/meta/recipes-extended/mdadm/mdadm_4.2.bb index 6f6e0c98ad..1c2fc8c37a 100644 --- a/meta/recipes-extended/mdadm/mdadm_4.2.bb +++ b/meta/recipes-extended/mdadm/mdadm_4.2.bb @@ -2,7 +2,7 @@ SUMMARY = "Tool for managing software RAID under Linux" HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/" DESCRIPTION = "mdadm is a Linux utility used to manage and monitor software RAID devices." -# Some files are GPLv2+ while others are GPLv2. +# Some files are GPL-2.0-only while others are GPL-2.0-or-later. LICENSE = "GPL-2.0-only & GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \ diff --git a/meta/recipes-extended/pam/libpam_1.5.2.bb b/meta/recipes-extended/pam/libpam_1.5.2.bb index 7277727745..081986ef43 100644 --- a/meta/recipes-extended/pam/libpam_1.5.2.bb +++ b/meta/recipes-extended/pam/libpam_1.5.2.bb @@ -6,7 +6,7 @@ BUGTRACKER = "https://fedorahosted.org/linux-pam/newticket" SECTION = "base" # PAM is dual licensed under GPL and BSD. # /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time -# libpam-runtime-1.0.1 is GPLv2+), by openembedded +# libpam-runtime-1.0.1 is GPL-2.0-or-later), by openembedded LICENSE = "GPL-2.0-or-later | BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \ file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \ diff --git a/meta/recipes-extended/xz/xz_5.2.5.bb b/meta/recipes-extended/xz/xz_5.2.5.bb index c41987d87c..78aa6b20ca 100644 --- a/meta/recipes-extended/xz/xz_5.2.5.bb +++ b/meta/recipes-extended/xz/xz_5.2.5.bb @@ -3,10 +3,11 @@ HOMEPAGE = "https://tukaani.org/xz/" DESCRIPTION = "XZ Utils is free general-purpose data compression software with a high compression ratio. XZ Utils were written for POSIX-like systems, but also work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils." SECTION = "base" -# The source includes bits of PD, GPLv2, GPLv3, LGPLv2.1+, but the only file -# which is GPLv3 is an m4 macro which isn't shipped in any of our packages, -# and the LGPL bits are under lib/, which appears to be used for libgnu, which -# appears to be used for DOS builds. So we're left with GPLv2+ and PD. +# The source includes bits of PD, GPL-2.0, GPL-3.0, LGPL-2.1-or-later, but the +# only file which is GPL-3.0 is an m4 macro which isn't shipped in any of our +# packages, and the LGPL bits are under lib/, which appears to be used for +# libgnu, which appears to be used for DOS builds. So we're left with +# GPL-2.0-or-later and PD. LICENSE = "GPL-2.0-or-later & GPL-3.0-with-autoconf-exception & LGPL-2.1-or-later & PD" LICENSE:${PN} = "GPL-2.0-or-later" LICENSE:${PN}-dev = "GPL-2.0-or-later" diff --git a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb index 76f37bfd59..c435f61d4c 100644 --- a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb +++ b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb @@ -6,15 +6,15 @@ HOMEPAGE = "http://alsa-project.org" BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" SECTION = "multimedia" -# The primary license of alsa-plugins is LGPLv2.1. +# The primary license of alsa-plugins is LGPL-2.1-only. # -# m4/attributes.m4 is licensed under GPLv2+. m4/attributes.m4 is part of the -# build system, and doesn't affect the licensing of the build result. +# m4/attributes.m4 is licensed under GPL-2.0-or-later. m4/attributes.m4 is part +# of the build system, and doesn't affect the licensing of the build result. # -# The samplerate plugin source code is licensed under GPLv2+ to be consistent -# with the libsamplerate license. However, if the licensee has a commercial -# license for libsamplerate, the samplerate plugin may be used under the terms -# of LGPLv2.1 like the rest of the plugins. +# The samplerate plugin source code is licensed under GPL-2.0-or-later to be +# consistent with the libsamplerate license. However, if the licensee has a +# commercial license for libsamplerate, the samplerate plugin may be used under +# the terms of LGPL-2.1-only like the rest of the plugins. LICENSE = "LGPL-2.1-only & GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \ diff --git a/meta/recipes-multimedia/alsa/alsa-utils.inc b/meta/recipes-multimedia/alsa/alsa-utils.inc index b627ced1aa..bca7cdd3bd 100644 --- a/meta/recipes-multimedia/alsa/alsa-utils.inc +++ b/meta/recipes-multimedia/alsa/alsa-utils.inc @@ -4,7 +4,8 @@ designed to allow users to control the various parts of the ALSA system." HOMEPAGE = "http://www.alsa-project.org" BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" SECTION = "console/utils" -# Some parts are GPLv2+, some are only GPLv2 (e.g. axfer, alsactl) so result is GPLv2 +# Some parts are GPL-2.0-or-later, some are GPL-2.0-only (e.g. axfer, alsactl) +# so result is GPL-2.0-only LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642" diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index bbab3ae038..a69dd32bd7 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc @@ -5,7 +5,8 @@ HOMEPAGE = "http://www.pulseaudio.org" AUTHOR = "Lennart Poettering" SECTION = "libs/multimedia" -# Most of PulseAudio code is under LGPLv2.1+. There are a few exceptions: +# Most of PulseAudio code is under LGPL-2.1-or-later. There are a few +# exceptions: # # The "adrian" echo canceller variant has code under a non-standard permissive # license. See src/modules/echo-cancel/adrian-license.txt for details. This @@ -39,11 +40,12 @@ SECTION = "libs/multimedia" # The dependency with the most complicated licensing considerations is libdbus. # When PACKAGECONFIG[dbus] is enabled (like it is by default), libdbus will be # used by both the server and the client library (libpulse). Does this affect -# applications that use libpulse? It should be also noted that libdbus is -# dual-licensed: either GPLv2+ or AFL-2 terms apply. Whose decision is it which -# of the licenses apply? What a mess. Some people hold the view that libdbus is -# a system library that is covered by the "special exception" in GPLv2's -# section 3, and therefore libdbus's GPL license doesn't affect PulseAudio. +# applications that use libpulse? It should also be noted that libdbus is +# dual-licensed: either GPL-2.0-or-later or AFL-2.0 terms apply. Whose decision +# is it which of the licenses apply? What a mess. Some people hold the view that +# libdbus is a system library that is covered by the "special exception" in +# GPLv2's section 3, and therefore libdbus's GPL license doesn't affect +# PulseAudio. LICENSE = "LGPL-2.1-or-later & MIT & BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \ diff --git a/meta/recipes-sato/l3afpad/l3afpad_git.bb b/meta/recipes-sato/l3afpad/l3afpad_git.bb index b06b0958a0..56cbe6bc8d 100644 --- a/meta/recipes-sato/l3afpad/l3afpad_git.bb +++ b/meta/recipes-sato/l3afpad/l3afpad_git.bb @@ -5,8 +5,8 @@ are implemented in the editor. L3afpad is simple to use, is easily compiled, \ requires few libraries, and starts up quickly." HOMEPAGE = "https://github.com/stevenhoneyman/l3afpad" -# Note that COPYING seems to mistakenly contain LGPLv2.1. -# The source code is marked GPLv2+ and COPYING used to contain +# Note that COPYING seems to mistakenly contain LGPL-2.1. +# The source code is marked GPL-2.0-or-later and COPYING used to contain # that as well. LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ From patchwork Sun Feb 27 18:21:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Kjellerstedt X-Patchwork-Id: 4367 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E348CC433FE for ; Sun, 27 Feb 2022 18:21:53 +0000 (UTC) Received: from smtp1.axis.com (smtp1.axis.com [195.60.68.17]) by mx.groups.io with SMTP id smtpd.web11.11438.1645986106775965675 for ; Sun, 27 Feb 2022 10:21:52 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@axis.com header.s=axis-central1 header.b=Ih8pkPgz; spf=pass (domain: axis.com, ip: 195.60.68.17, mailfrom: peter.kjellerstedt@axis.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axis.com; q=dns/txt; s=axis-central1; t=1645986110; x=1677522110; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=2a+wvYGa/9o8dybXm8QMT0LUfx29RpBFBXqdv4P5gqY=; b=Ih8pkPgzPmdxYIXctosdX/uid1pelem5LlpgoIzbpmRUmUKv/9MKs81S waTB91/MPj53g0K3RCO1aA6gx0G8CGSdZ8GKpZlDxsMRT57+pRtZHNsL6 47FpqxmtlICGZPQJ8iBbavI7/9qzWmrcE+JOrM6urtfY5kaaUfvaEgQCZ hbxy8v89R15nlG70jRbGw8ZLu5oGdFO2K/kDP8yA6nAigMIMfQm0fFhyY xqGRSqO2ROoLFiSUALjV+TyF6luiCHAYJntZ3TQRRrTgkCCxKSKw15/3O C/IgtEbJ1dHCUq6j+T+Thxl7feO7dRbBhfVK8GbFKQ5GCF/7ZKVh8Ml9S g==; From: Peter Kjellerstedt To: Subject: [PATCH 6/6] base.bbclass: Clean up code to determine if licenses need checking Date: Sun, 27 Feb 2022 19:21:37 +0100 Message-ID: <20220227182138.5364-6-peter.kjellerstedt@axis.com> X-Mailer: git-send-email 2.21.3 In-Reply-To: <20220227182138.5364-1-peter.kjellerstedt@axis.com> References: <20220227182138.5364-1-peter.kjellerstedt@axis.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 27 Feb 2022 18:21:53 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/162444 Signed-off-by: Peter Kjellerstedt --- meta/classes/base.bbclass | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 55f654d37d..b5f2aa3da8 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -583,14 +583,12 @@ python () { bad_licenses = (d.getVar('INCOMPATIBLE_LICENSE') or "").split() - check_license = False if pn.startswith("nativesdk-") else True + check_license = not pn.startswith("nativesdk-") and not pn.startswith("gcc-source-") for t in ["-native", "-cross-${TARGET_ARCH}", "-cross-initial-${TARGET_ARCH}", "-crosssdk-${SDK_SYS}", "-crosssdk-initial-${SDK_SYS}", "-cross-canadian-${TRANSLATED_TARGET_ARCH}"]: if pn.endswith(d.expand(t)): check_license = False - if pn.startswith("gcc-source-"): - check_license = False if check_license and bad_licenses: bad_licenses = expand_wildcard_licenses(d, bad_licenses)