Skip to content

Commit a585e95

Browse files
authored
fix(redhat): include arch in PURL qualifiers (#7654)
Signed-off-by: knqyf263 <[email protected]>
1 parent 015bb88 commit a585e95

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

pkg/fanal/analyzer/pkg/rpm/archive.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,14 @@ func (a *rpmArchiveAnalyzer) generatePURL(pkg *types.Package) *packageurl.Packag
136136
case strings.Contains(vendor, "suse"):
137137
ns = "suse"
138138
}
139-
return packageurl.NewPackageURL(packageurl.TypeRPM, ns, pkg.Name, utils.FormatVersion(*pkg), nil, "")
139+
var qualifiers packageurl.Qualifiers
140+
if pkg.Arch != "" {
141+
qualifiers = append(qualifiers, packageurl.Qualifier{
142+
Key: "arch",
143+
Value: pkg.Arch,
144+
})
145+
}
146+
return packageurl.NewPackageURL(packageurl.TypeRPM, ns, pkg.Name, utils.FormatVersion(*pkg), qualifiers, "")
140147
}
141148

142149
func (a *rpmArchiveAnalyzer) unexpectedError(err error) error {

pkg/fanal/analyzer/pkg/rpm/archive_test.go

+6
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ func Test_rpmArchiveAnalyzer_Analyze(t *testing.T) {
5252
Namespace: "redhat",
5353
Name: "socat",
5454
Version: "1.7.3.2-2.el7",
55+
Qualifiers: packageurl.Qualifiers{
56+
{
57+
Key: "arch",
58+
Value: "x86_64",
59+
},
60+
},
5561
},
5662
},
5763
},

0 commit comments

Comments
 (0)