Skip to content

Commit a2a6acd

Browse files
authored
Merge pull request #1508 from simonbaird/fix-sbom-match
Fix sbom purl matching for rpms (again)
2 parents 1e3246a + 6920c57 commit a2a6acd

File tree

4 files changed

+9
-7
lines changed

4 files changed

+9
-7
lines changed

policy/lib/sbom/rpm.rego

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ rpms_from_sbom(s) := entities if {
2525
some pkg in s.packages
2626
some ref in pkg.externalRefs
2727
ref.referenceType == "purl"
28-
ref.referenceCategory == "PACKAGE-MANAGER"
28+
ref.referenceCategory in {"PACKAGE_MANAGER", "PACKAGE-MANAGER"}
2929
purl := ref.referenceLocator
3030
_is_rpmish(purl)
3131
entity := {

policy/lib/sbom/rpm_test.rego

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ _spdx_package(purl, annotations) := {
103103
"annotations": annotations,
104104
"externalRefs": [{
105105
"referenceType": "purl",
106-
"referenceCategory": "PACKAGE-MANAGER",
106+
"referenceCategory": "PACKAGE_MANAGER",
107107
"referenceLocator": purl,
108108
}],
109109
}

policy/release/pre_build_script_task/pre_build_script_task.rego

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ _purls_from_sbom(s) := purls if {
152152
some pkg in s.packages
153153
some ref in pkg.externalRefs
154154
ref.referenceType == "purl"
155-
ref.referenceCategory in {"PACKAGE-MANAGER", "PACKAGE_MANAGER"}
155+
ref.referenceCategory in {"PACKAGE_MANAGER", "PACKAGE-MANAGER"}
156156
}
157157
count(purls) > 0
158158
}

policy/release/rpm_packages/rpm_packages_test.rego

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,16 +120,17 @@ _mock_blob(`"registry.local/cyclonedx-2@sha256:cyclonedx-2-digest"`) := json.mar
120120
_mock_blob(`"registry.local/spdx-1@sha256:spdx-1-digest"`) := json.marshal({"packages": [
121121
{"externalRefs": [{
122122
"referenceType": "purl",
123-
"referenceCategory": "PACKAGE-MANAGER",
123+
"referenceCategory": "PACKAGE_MANAGER",
124124
"referenceLocator": "pkg:rpm/redhat/spam@1.0.0-1",
125125
}]},
126126
{"externalRefs": [{
127127
"referenceType": "purl",
128-
"referenceCategory": "PACKAGE-MANAGER",
128+
"referenceCategory": "PACKAGE_MANAGER",
129129
"referenceLocator": "pkg:rpm/redhat/bacon@1.0.0-2",
130130
}]},
131131
{"externalRefs": [{
132132
"referenceType": "purl",
133+
# Intentionally different since we match both PACKAGE_MANAGER and PACKAGE-MANAGER
133134
"referenceCategory": "PACKAGE-MANAGER",
134135
"referenceLocator": "pkg:rpm/redhat/ham@4.2.0-0",
135136
}]},
@@ -138,16 +139,17 @@ _mock_blob(`"registry.local/spdx-1@sha256:spdx-1-digest"`) := json.marshal({"pac
138139
_mock_blob(`"registry.local/spdx-2@sha256:spdx-2-digest"`) := json.marshal({"packages": [
139140
{"externalRefs": [{
140141
"referenceType": "purl",
141-
"referenceCategory": "PACKAGE-MANAGER",
142+
"referenceCategory": "PACKAGE_MANAGER",
142143
"referenceLocator": "pkg:rpm/redhat/spam@1.0.0-2",
143144
}]},
144145
{"externalRefs": [{
145146
"referenceType": "purl",
146-
"referenceCategory": "PACKAGE-MANAGER",
147+
"referenceCategory": "PACKAGE_MANAGER",
147148
"referenceLocator": "pkg:rpm/redhat/bacon@1.0.0-2",
148149
}]},
149150
{"externalRefs": [{
150151
"referenceType": "purl",
152+
# Intentionally different since we match both PACKAGE_MANAGER and PACKAGE-MANAGER
151153
"referenceCategory": "PACKAGE-MANAGER",
152154
"referenceLocator": "pkg:rpm/redhat/eggs@4.2.0-0",
153155
}]},

0 commit comments

Comments
 (0)