"referenceType": "cpe23Type"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "expat",
"originator": "Organization: Expat development team",
"primaryPackagePurpose": "SOURCE",
"referenceType": "cpe23Type"
}
],
- "licenseConcluded": "Apache-2.0",
+ "licenseConcluded": "NOASSERTION",
"name": "hacl-star",
"originator": "Organization: HACL* Developers",
"primaryPackagePurpose": "SOURCE",
"referenceType": "cpe23Type"
}
],
- "licenseConcluded": "CC0-1.0",
+ "licenseConcluded": "NOASSERTION",
"name": "libb2",
"originator": "Organization: BLAKE2 - fast secure hashing",
"primaryPackagePurpose": "SOURCE",
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "macholib",
"originator": "Person: Ronald Oussoren (ronaldoussoren@mac.com)",
"primaryPackagePurpose": "SOURCE",
"referenceType": "cpe23Type"
}
],
- "licenseConcluded": "BSD-2-Clause",
+ "licenseConcluded": "NOASSERTION",
"name": "mpdecimal",
"originator": "Organization: bytereef.org",
"primaryPackagePurpose": "SOURCE",
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "cachecontrol",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "0.13.1"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "colorama",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "0.4.6"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "distlib",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "0.3.8"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "distro",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "1.8.0"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "msgpack",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "1.0.5"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "packaging",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "21.3"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "platformdirs",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "3.8.1"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "pyparsing",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "3.1.0"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "pyproject-hooks",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "1.0.0"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "requests",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "2.31.0"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "certifi",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "2023.7.22"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "chardet",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "5.1.0"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "idna",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "3.4"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "rich",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "13.4.2"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "pygments",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "2.15.1"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "typing_extensions",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "4.7.1"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "resolvelib",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "1.0.1"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "setuptools",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "68.0.0"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "six",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "1.16.0"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "tenacity",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "8.2.2"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "tomli",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "2.0.1"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "truststore",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "0.8.0"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "webencodings",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "0.5.1"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "urllib3",
"primaryPackagePurpose": "SOURCE",
"versionInfo": "1.26.17"
"referenceType": "purl"
}
],
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"name": "pip",
"originator": "Organization: Python Packaging Authority",
"primaryPackagePurpose": "SOURCE",
"name": "pip",
"versionInfo": pip_version,
"originator": "Organization: Python Packaging Authority",
- "licenseConcluded": "MIT",
+ "licenseConcluded": "NOASSERTION",
"downloadLocation": pip_download_url,
"checksums": [
{"algorithm": "SHA256", "checksumValue": pip_checksum_sha256}
discover_pip_sbom_package(sbom_data)
# Ensure all packages in this tool are represented also in the SBOM file.
+ actual_names = {package["name"] for package in sbom_data["packages"]}
+ expected_names = set(PACKAGE_TO_FILES)
error_if(
- {package["name"] for package in sbom_data["packages"]} != set(PACKAGE_TO_FILES),
- "Packages defined in SBOM tool don't match those defined in SBOM file.",
+ actual_names != expected_names,
+ f"Packages defined in SBOM tool don't match those defined in SBOM file: {actual_names}, {expected_names}",
)
# Make a bunch of assertions about the SBOM data to ensure it's consistent.
# License must be on the approved list for SPDX.
license_concluded = package["licenseConcluded"]
error_if(
- license_concluded not in ALLOWED_LICENSE_EXPRESSIONS,
- f"License identifier '{license_concluded}' not in SBOM tool allowlist"
+ license_concluded != "NOASSERTION",
+ f"License identifier must be 'NOASSERTION'"
)
# We call 'sorted()' here a lot to avoid filesystem scan order issues.