@@ -462,3 +462,18 @@ def skip_incompatible_package_licenses(d, pkgs):
skipped_pkgs[pkg] = incompatible_lic
return skipped_pkgs
+
+def tidy_licenses(value):
+ """
+ Flat, split and sort licenses.
+ """
+ from oe.license import flattened_licenses
+
+ def _choose(a, b):
+ str_a, str_b = sorted((" & ".join(a), " & ".join(b)), key=str.casefold)
+ return ["(%s | %s)" % (str_a, str_b)]
+
+ if not isinstance(value, str):
+ value = " & ".join(value)
+
+ return sorted(list(set(flattened_licenses(value, _choose))), key=str.casefold)
@@ -18,6 +18,7 @@ from urllib.parse import urlparse, urldefrag, urlsplit
import hashlib
import bb.fetch2
logger = logging.getLogger('recipetool')
+from oe.license import tidy_licenses
from oe.license_finder import find_licenses
tinfoil = None
@@ -951,16 +952,6 @@ def fixup_license(value):
return '(' + value + ')'
return value
-def tidy_licenses(value):
- """Flat, split and sort licenses"""
- from oe.license import flattened_licenses
- def _choose(a, b):
- str_a, str_b = sorted((" & ".join(a), " & ".join(b)), key=str.casefold)
- return ["(%s | %s)" % (str_a, str_b)]
- if not isinstance(value, str):
- value = " & ".join(value)
- return sorted(list(set(flattened_licenses(value, _choose))), key=str.casefold)
-
def handle_license_vars(srctree, lines_before, handled, extravalues, d):
lichandled = [x for x in handled if x[0] == 'license']
if lichandled:
This function, to tidy a license string, is useful outside of recipetool so move it to oe.license. Signed-off-by: Ross Burton <ross.burton@arm.com> --- meta/lib/oe/license.py | 15 +++++++++++++++ scripts/lib/recipetool/create.py | 11 +---------- 2 files changed, 16 insertions(+), 10 deletions(-)