On Wed, 2021-02-17 at 05:00 +0100, Meh Mbeh Ida Delphine wrote:
> These functions that will later be used in package.bbclass simply make the 
> source and recipe licenses in the same format so that they can easily be 
> compared and the ouput warnings filtered accordingly.
> split_spdx_lic() splits the license strings and returns a set of the 
> canonicalised licenses.
> rem_false_lics() does two things:
> - Converts '-or-later' licenses to their canonicalised form
> - Gets rid of "WITH Linux-syscall-note" from license string if specified in 
> local.conf
> 
> Signed-off-by: Ida Delphine <[email protected]>
> ---
>  meta/classes/license.bbclass | 27 +++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
> 
> diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
> index dc91118340..576464cb26 100644
> --- a/meta/classes/license.bbclass
> +++ b/meta/classes/license.bbclass
> @@ -435,3 +435,30 @@ python do_populate_lic_setscene () {
>      sstate_setscene(d)
>  }
>  addtask do_populate_lic_setscene
> +
> +
> +def split_spdx_lic(d, licensestr):
> +    """
> +    Split the license strings and returns a set of the
> +    canonicalised licenses.
> +    """
> +    import oe.license
> +    split_lic = oe.license.list_licenses(licensestr)
> +    spdx_lic = set([canonical_license(d, l) for l in split_lic])
> +    return spdx_lic
> +
> +def rem_false_lics(d, pkglic):
> +    pkglicsperpkg = set([])
> +    for l in pkglic:
> +        if l.endswith('-or-later'):
> +            # Converts '-or-later' licenses to their canonicalised form
> +            lic_ = l.replace('-or-later', '+')
> +            pkglicsperpkg.add(lic_)
> +        elif l.endswith(' WITH Linux-syscall-note'):
> +        # Gets rid of "WITH Linux-syscall-note from license sring"
> +            if d.getVar("LICENSE_WITH_LINUX_SYS") == "1":
> +                lic_ = l.replace(' WITH Linux-syscall-note', '')
> +                pkglicsperpkg.add(lic_)
> +        else:
> +            pkglicsperpkg.add(l)
> +    return pkglicsperpkg


Creating these functions is good. We should put them into the function
library in meta/lib/oe/license.py. I already commented about a couple
of elements of this second function.

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#148233): 
https://lists.openembedded.org/g/openembedded-core/message/148233
Mute This Topic: https://lists.openembedded.org/mt/80697040/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to