The recipe LICENSE strings are split into their individual license and the
canonicalised to easy enable matching with licenses of sources.
License strings with "or-later" are replaced with "+" before comparism.
The warnings showup if and only if licenses in the sources don't match LICENSE
value of the recipe.
Signed-off-by: Ida Delphine <[email protected]>
---
meta/classes/package.bbclass | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index ab96f141ae..c3259146b6 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1545,6 +1545,7 @@ PKGDESTWORK = "${WORKDIR}/pkgdata"
PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY
RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS SECTION PKG
ALLOW_EMPTY FILES CONFFILES FILES_INFO PACKAGE_ADD_METADATA pkg_postinst
pkg_postrm pkg_preinst pkg_prerm"
python emit_pkgdata() {
+ import oe.license
from glob import glob
import json
import subprocess
@@ -1762,7 +1763,21 @@ fi
lic = d.getVar('LICENSE_%s' % (pkg))
if not lic:
lic = d.getVar('LICENSE')
- bb.warn("License for package %s is %s vs %s" % (pkg,
computedpkglics[pkg], lic))
+
+ # Splits the LICENSE values and canonicalise each license
+ # in the set of split license(s)
+ split_lic = oe.license.list_licenses(lic)
+ spdx_lic = set([canonical_license(d, l) for l in split_lic])
+ if computedpkglics[pkg]:
+ computedpkglicsperpkg = set([])
+ for l in computedpkglics[pkg]:
+ if l.endswith('-or-later'):
+ lic_ = l.replace('-or-later', '+')
+ computedpkglicsperpkg.add(lic_)
+ else:
+ computedpkglicsperpkg.add(l)
+ if spdx_lic - computedpkglicsperpkg:
+ bb.warn("License for package %s is %s vs %s" % (pkg,
computedpkglicsperpkg, spdx_lic))
}
emit_pkgdata[dirs] = "${PKGDESTWORK}/runtime ${PKGDESTWORK}/runtime-reverse
${PKGDESTWORK}/runtime-rprovides"
--
2.25.1
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#147621):
https://lists.openembedded.org/g/openembedded-core/message/147621
Mute This Topic: https://lists.openembedded.org/mt/80353547/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-