Please consider this as an example. It does generate the extra license file. But I could not verify anything else. see: https://bugzilla.yoctoproject.org/show_bug.cgi?id=16294
On Sat, Jun 27, 2026 at 5:49 PM Jan Vermaete via lists.openembedded.org <[email protected]> wrote: > > Fetch and extract the SPDX exception licenses as the normal licenses are > handled. > > [YOCTO #16294] > > Signed-off-by: Jan Vermaete <[email protected]> > --- > scripts/pull-spdx-licenses.py | 22 ++++++++++++---------- > 1 file changed, 12 insertions(+), 10 deletions(-) > > diff --git a/scripts/pull-spdx-licenses.py b/scripts/pull-spdx-licenses.py > index 597a62133f..de1f5b7bad 100755 > --- a/scripts/pull-spdx-licenses.py > +++ b/scripts/pull-spdx-licenses.py > @@ -55,20 +55,22 @@ def main(): > data = json.load(response) > version = data["tag_name"] > > - print(f"Pulling SPDX license list version {version}") > - req = urllib.request.Request( > - > f"https://raw.githubusercontent.com/spdx/license-list-data/{version}/json/licenses.json" > - ) > - with urllib.request.urlopen(req) as response: > - spdx_licenses = json.load(response) > + spdx_licenses = {} > + for jsonfile in ["licenses.json", "exceptions.json"]: > + req = urllib.request.Request( > + > f"https://raw.githubusercontent.com/spdx/license-list-data/{version}/json/{jsonfile}" > + ) > + with urllib.request.urlopen(req) as response: > + spdx_licenses.update(json.load(response)) > + print(len(spdx_licenses)) > > with (TOP_DIR / "meta" / "files" / "spdx-licenses.json").open("w") as f: > json.dump(spdx_licenses, f, sort_keys=True, indent=2) > > - total_count = len(spdx_licenses["licenses"]) > + total_count = len(spdx_licenses["licenses"] + > spdx_licenses["exceptions"]) > updated = 0 > - for idx, lic in enumerate(spdx_licenses["licenses"]): > - lic_id = lic["licenseId"] > + for idx, lic in enumerate(spdx_licenses["licenses"] + > spdx_licenses["exceptions"]): > + lic_id = lic.get("licenseId") or lic.get("licenseExceptionId") > > print(f"[{idx + 1} of {total_count}] ", end="") > > @@ -88,7 +90,7 @@ def main(): > continue > > with dest_license_file.open("w") as f: > - f.write(lic_data["licenseText"]) > + f.write(lic_data.get("licenseText") or > lic_data.get("licenseExceptionText")) > updated += 1 > print("done") > > -- > 2.47.3 > > > > -- Jan Vermaete “Success is a self-correcting phenomenom.” -- Gary Hamel
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#239698): https://lists.openembedded.org/g/openembedded-core/message/239698 Mute This Topic: https://lists.openembedded.org/mt/120005594/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
