diff --git a/requirements.txt b/requirements.txt index 25c81da2..75b731b9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,4 +18,5 @@ GitPython~=3.1 prettytable~=3.8 packageurl-python>=0.11.1 license-expression>=30.1 +cyclonedx-python-lib>=5.1.1 diff --git a/tern/formats/cyclonedx/cyclonedx_common.py b/tern/formats/cyclonedx/cyclonedx_common.py index 1e434222..a598404c 100644 --- a/tern/formats/cyclonedx/cyclonedx_common.py +++ b/tern/formats/cyclonedx/cyclonedx_common.py @@ -10,8 +10,7 @@ import datetime import uuid from tern.utils import general - - +from cyclonedx.spdx import fixup_id as spdx_id_validate ################### # General Helpers # ################### @@ -91,4 +90,9 @@ def get_os_guess(image_obj): def get_license_from_name(name): - return {'license': {'id': name}} + spdx_id = spdx_id_validate(name) + if spdx_id: + return {'license': {'id': spdx_id}} + else: + return {'license': {'name': name}} +