From: Saul Wold <saul.w...@windriver.com> (From meta-yocto rev: e937a42996c046baca7ce502c6ce0ee3c7ed38e3)
Signed-off-by: Saul Wold <saul.w...@windriver.com> --- v2: rename internal variables and fix comments and messages meta-poky/conf/local.conf.sample.extended | 2 +- meta/classes/base.bbclass | 4 +-- meta/classes/license.bbclass | 35 ++++++++++++----------- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/meta-poky/conf/local.conf.sample.extended b/meta-poky/conf/local.conf.sample.extended index 1e3699ef8e6..bc2dec9f528 100644 --- a/meta-poky/conf/local.conf.sample.extended +++ b/meta-poky/conf/local.conf.sample.extended @@ -177,7 +177,7 @@ DISTRO_FEATURES:remove = "x11" # product. If shipped as part of an image these packages may have # implications so they are disabled by default. To enable them, # un-comment the below as appropriate. -#LICENSE_FLAGS_WHITELIST = "commercial_gst-fluendo-mp3 \ +#LICENSE_FLAGS_ACCEPTED = "commercial_gst-fluendo-mp3 \ # commercial_gst-openmax \ # commercial_gst-plugins-ugly \ # commercial_lame \ diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index be820ddb2c2..227f1f5a756 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -542,9 +542,9 @@ python () { unmatched_license_flags = check_license_flags(d) if unmatched_license_flags: if len(unmatched_license_flags) == 1: - message = "because it has a restricted license '{0}'. Which is not whitelisted in LICENSE_FLAGS_ACCEPTED".format(unmatched_license_flags[0]) + message = "because it has a restricted license '{0}'. Which is not listed in LICENSE_FLAGS_ACCEPTED".format(unmatched_license_flags[0]) else: - message = "because it has restricted licenses {0}. Which are not whitelisted in LICENSE_FLAGS_ACCEPTED".format( + message = "because it has restricted licenses {0}. Which are not listed in LICENSE_FLAGS_ACCEPTED".format( ", ".join("'{0}'".format(f) for f in unmatched_license_flags)) bb.debug(1, "Skipping %s %s" % (pn, message)) raise bb.parse.SkipRecipe(message) diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index dd1e07ee377..dec98672096 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -341,30 +341,31 @@ def incompatible_license(d, dont_want_licenses, package=None): def check_license_flags(d): """ This function checks if a recipe has any LICENSE_FLAGS that - aren't whitelisted. + aren't acceptable. - If it does, it returns the all LICENSE_FLAGS missing from the whitelist, or - all of the LICENSE_FLAGS if there is no whitelist. + If it does, it returns the all LICENSE_FLAGS missing from the list + of acceptable license flags, or all of the LICENSE_FLAGS if there + is no list of acceptable flags. - If everything is is properly whitelisted, it returns None. + If everything is is acceptable, it returns None. """ - def license_flag_matches(flag, whitelist, pn): + def license_flag_matches(flag, acceptlist, pn): """ - Return True if flag matches something in whitelist, None if not. + Return True if flag matches something in acceptlist, None if not. - Before we test a flag against the whitelist, we append _${PN} + Before we test a flag against the acceptlist, we append _${PN} to it. We then try to match that string against the - whitelist. This covers the normal case, where we expect + acceptlist. This covers the normal case, where we expect LICENSE_FLAGS to be a simple string like 'commercial', which - the user typically matches exactly in the whitelist by + the user typically matches exactly in the acceptlist by explicitly appending the package name e.g 'commercial_foo'. If we fail the match however, we then split the flag across '_' and append each fragment and test until we either match or run out of fragments. """ flag_pn = ("%s_%s" % (flag, pn)) - for candidate in whitelist: + for candidate in acceptlist: if flag_pn == candidate: return True @@ -375,27 +376,27 @@ def check_license_flags(d): if flag_cur: flag_cur += "_" flag_cur += flagment - for candidate in whitelist: + for candidate in acceptlist: if flag_cur == candidate: return True return False - def all_license_flags_match(license_flags, whitelist): + def all_license_flags_match(license_flags, acceptlist): """ Return all unmatched flags, None if all flags match """ pn = d.getVar('PN') - split_whitelist = whitelist.split() + split_acceptlist = acceptlist.split() flags = [] for flag in license_flags.split(): - if not license_flag_matches(flag, split_whitelist, pn): + if not license_flag_matches(flag, split_acceptlist, pn): flags.append(flag) return flags if flags else None license_flags = d.getVar('LICENSE_FLAGS') if license_flags: - whitelist = d.getVar('LICENSE_FLAGS_ACCEPTED') - if not whitelist: + acceptlist = d.getVar('LICENSE_FLAGS_ACCEPTED') + if not acceptlist: return license_flags.split() - unmatched_flags = all_license_flags_match(license_flags, whitelist) + unmatched_flags = all_license_flags_match(license_flags, acceptlist) if unmatched_flags: return unmatched_flags return None -- 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#162111): https://lists.openembedded.org/g/openembedded-core/message/162111 Mute This Topic: https://lists.openembedded.org/mt/89306440/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-