All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0
@ 2022-02-27 18:21 Peter Kjellerstedt
  2022-02-27 18:21 ` [PATCH 2/6] selftest: recipetool: Correct the URI for socat Peter Kjellerstedt
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Peter Kjellerstedt @ 2022-02-27 18:21 UTC (permalink / raw)
  To: openembedded-core

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 <peter.kjellerstedt@axis.com>
---
 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 ?= ""


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/6] selftest: recipetool: Correct the URI for socat
  2022-02-27 18:21 [PATCH 1/6] default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0 Peter Kjellerstedt
@ 2022-02-27 18:21 ` Peter Kjellerstedt
  2022-02-27 18:21 ` [PATCH 3/6] recipetool/create_buildsys_python: Add support for more known licenses Peter Kjellerstedt
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Kjellerstedt @ 2022-02-27 18:21 UTC (permalink / raw)
  To: openembedded-core

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 <peter.kjellerstedt@axis.com>
---
 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:


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/6] recipetool/create_buildsys_python: Add support for more known licenses
  2022-02-27 18:21 [PATCH 1/6] default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0 Peter Kjellerstedt
  2022-02-27 18:21 ` [PATCH 2/6] selftest: recipetool: Correct the URI for socat Peter Kjellerstedt
@ 2022-02-27 18:21 ` Peter Kjellerstedt
  2022-02-27 18:21 ` [PATCH 4/6] recipetool: Use SPDX license identifiers Peter Kjellerstedt
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Kjellerstedt @ 2022-02-27 18:21 UTC (permalink / raw)
  To: openembedded-core

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 <peter.kjellerstedt@axis.com>
---
 .../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):


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4/6] recipetool: Use SPDX license identifiers
  2022-02-27 18:21 [PATCH 1/6] default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0 Peter Kjellerstedt
  2022-02-27 18:21 ` [PATCH 2/6] selftest: recipetool: Correct the URI for socat Peter Kjellerstedt
  2022-02-27 18:21 ` [PATCH 3/6] recipetool/create_buildsys_python: Add support for more known licenses Peter Kjellerstedt
@ 2022-02-27 18:21 ` Peter Kjellerstedt
  2022-02-27 18:21 ` [PATCH 5/6] meta, meta-selftest: Replace more non-SPDX " Peter Kjellerstedt
  2022-02-27 18:21 ` [PATCH 6/6] base.bbclass: Clean up code to determine if licenses need checking Peter Kjellerstedt
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Kjellerstedt @ 2022-02-27 18:21 UTC (permalink / raw)
  To: openembedded-core

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 <peter.kjellerstedt@axis.com>
---
 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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 5/6] meta, meta-selftest: Replace more non-SPDX license identifiers
  2022-02-27 18:21 [PATCH 1/6] default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0 Peter Kjellerstedt
                   ` (2 preceding siblings ...)
  2022-02-27 18:21 ` [PATCH 4/6] recipetool: Use SPDX license identifiers Peter Kjellerstedt
@ 2022-02-27 18:21 ` Peter Kjellerstedt
  2022-02-27 18:21 ` [PATCH 6/6] base.bbclass: Clean up code to determine if licenses need checking Peter Kjellerstedt
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Kjellerstedt @ 2022-02-27 18:21 UTC (permalink / raw)
  To: openembedded-core

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 <peter.kjellerstedt@axis.com>
---
 .../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 <markn@greenwoodsoftware.com>
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 \

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 6/6] base.bbclass: Clean up code to determine if licenses need checking
  2022-02-27 18:21 [PATCH 1/6] default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0 Peter Kjellerstedt
                   ` (3 preceding siblings ...)
  2022-02-27 18:21 ` [PATCH 5/6] meta, meta-selftest: Replace more non-SPDX " Peter Kjellerstedt
@ 2022-02-27 18:21 ` Peter Kjellerstedt
  4 siblings, 0 replies; 6+ messages in thread
From: Peter Kjellerstedt @ 2022-02-27 18:21 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
 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)


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-02-27 18:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-27 18:21 [PATCH 1/6] default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0 Peter Kjellerstedt
2022-02-27 18:21 ` [PATCH 2/6] selftest: recipetool: Correct the URI for socat Peter Kjellerstedt
2022-02-27 18:21 ` [PATCH 3/6] recipetool/create_buildsys_python: Add support for more known licenses Peter Kjellerstedt
2022-02-27 18:21 ` [PATCH 4/6] recipetool: Use SPDX license identifiers Peter Kjellerstedt
2022-02-27 18:21 ` [PATCH 5/6] meta, meta-selftest: Replace more non-SPDX " Peter Kjellerstedt
2022-02-27 18:21 ` [PATCH 6/6] base.bbclass: Clean up code to determine if licenses need checking Peter Kjellerstedt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.