diff options
| author | Ross Burton <ross.burton@arm.com> | 2025-06-27 14:48:46 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-07-01 08:49:37 +0100 |
| commit | 72486700fb17153bb777a1fdf4abeb6d249a2657 (patch) | |
| tree | 133321c208f4211ead19d6ac34e804bb8fad4a9a /meta | |
| parent | 90cc27f8ce15f2b51de95aa3b6628516030349ee (diff) | |
| download | poky-72486700fb17153bb777a1fdf4abeb6d249a2657.tar.gz | |
oe/licenses: move tidy_licenses from recipetool
This function, to tidy a license string, is useful outside of recipetool
so move it to oe.license.
(From OE-Core rev: 9d57b53169bc60b281510c49e54123941a17a8f5)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/lib/oe/license.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py index 6f882c3812..6e55fa1e7f 100644 --- a/meta/lib/oe/license.py +++ b/meta/lib/oe/license.py | |||
| @@ -462,3 +462,18 @@ def skip_incompatible_package_licenses(d, pkgs): | |||
| 462 | skipped_pkgs[pkg] = incompatible_lic | 462 | skipped_pkgs[pkg] = incompatible_lic |
| 463 | 463 | ||
| 464 | return skipped_pkgs | 464 | return skipped_pkgs |
| 465 | |||
| 466 | def tidy_licenses(value): | ||
| 467 | """ | ||
| 468 | Flat, split and sort licenses. | ||
| 469 | """ | ||
| 470 | from oe.license import flattened_licenses | ||
| 471 | |||
| 472 | def _choose(a, b): | ||
| 473 | str_a, str_b = sorted((" & ".join(a), " & ".join(b)), key=str.casefold) | ||
| 474 | return ["(%s | %s)" % (str_a, str_b)] | ||
| 475 | |||
| 476 | if not isinstance(value, str): | ||
| 477 | value = " & ".join(value) | ||
| 478 | |||
| 479 | return sorted(list(set(flattened_licenses(value, _choose))), key=str.casefold) | ||
