diff --git a/msys2_devtools/sbom.py b/msys2_devtools/sbom.py index f02df72..241557b 100644 --- a/msys2_devtools/sbom.py +++ b/msys2_devtools/sbom.py @@ -62,14 +62,12 @@ def generate_components(value) -> list[Component]: purl = PackageURL(**{**purl.to_dict(), "version": pkgver}) purls.append(purl) - # https://github.com/anchore/grype/issues/2618 - grype_stop_matching_by_name = Property(name="syft:package:type", value="binary") - for cpe in cpes: name, version = parse_cpe(cpe)[2:4] assert isinstance(version, str) and isinstance(name, str) - component = Component( - name=name, version=version, cpe=cpe, properties=properties + [grype_stop_matching_by_name]) + # https://github.com/anchore/grype/issues/2618 + cpe_properties = properties + [Property(name="syft:package:type", value="binary")] + component = Component(name=name, version=version, cpe=cpe, properties=cpe_properties) components.append(component) for purl in purls: @@ -81,8 +79,7 @@ def generate_components(value) -> list[Component]: name = pkgbase.split("-", 2)[-1] else: name = pkgbase - component = Component( - name=name, version=pkgver, properties=properties + [grype_stop_matching_by_name]) + component = Component(name=name, version=pkgver, properties=properties) components.append(component) return components diff --git a/tests/test_sbom.py b/tests/test_sbom.py index da65f77..0701984 100644 --- a/tests/test_sbom.py +++ b/tests/test_sbom.py @@ -73,14 +73,6 @@ def test_grype_workaround(): else: assert False, "syft:package:type property not found" - components = generate_components({"srcinfo": srcinfo, "extra": {"references": []}}) - for property in components[0].properties: - if property.name == "syft:package:type": - assert property.value == "binary" - break - else: - assert False, "syft:package:type property not found" - components = generate_components({"srcinfo": srcinfo, "extra": {"references": [ "purl: pkg:pypi/django" ]}})