Skip to content

Commit 1af625e

Browse files
committed
handle for versionprefix and custom provider names
Signed-off-by: Dentrax <furkan.turkal@chainguard.dev>
1 parent 8f16499 commit 1af625e

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

pkg/lint/rules.go

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,19 @@ var AllRules = func(l *Linter) Rules { //nolint:gocyclo
468468
return fmt.Errorf("package is version streamed but package.version %s starts with different than given version stream %s", c.Package.Version, versionStream)
469469
}
470470

471-
providesList := []string{
472-
fmt.Sprintf("%s=%s-r%d", packageName, c.Package.Version, c.Package.Epoch),
473-
fmt.Sprintf("%s=%s-r%d", packageName, versionStream, c.Package.Epoch),
474-
fmt.Sprintf("%s=%s", packageName, c.Package.Version),
475-
fmt.Sprintf("%s=%s", packageName, versionStream),
476-
fmt.Sprintf("%s=%s.999", packageName, versionStream),
471+
var providesList []string
472+
addToProvidesList := func(key string) {
473+
providesList = append(providesList, fmt.Sprintf("%s=%s-r%d", key, c.Package.Version, c.Package.Epoch))
474+
providesList = append(providesList, fmt.Sprintf("%s=%s-r%d", key, versionStream, c.Package.Epoch))
475+
providesList = append(providesList, fmt.Sprintf("%s=%s", key, c.Package.Version))
476+
providesList = append(providesList, fmt.Sprintf("%s=%s", key, versionStream))
477+
providesList = append(providesList, fmt.Sprintf("%s=%s.999", key, versionStream))
478+
}
479+
addToProvidesList(packageName)
480+
481+
// Some packages have different provides for package name, i.e. python-3 instead of python.
482+
if majorMinor := strings.Split(versionStream, "."); len(majorMinor) > 1 {
483+
addToProvidesList(fmt.Sprintf("%s-%s", packageName, majorMinor[0]))
477484
}
478485

479486
anyMatch := false
@@ -489,7 +496,7 @@ var AllRules = func(l *Linter) Rules { //nolint:gocyclo
489496
}
490497

491498
if c.Update.Enabled && !c.Update.Manual && c.Update.GitHubMonitor != nil {
492-
prefixesToCheck := []string{"", "v", packageName, "release"}
499+
prefixesToCheck := []string{"", "v", packageName, "release", strings.ReplaceAll(packageName, "-fips", ""), c.Update.GitHubMonitor.StripPrefix}
493500
separators := []string{"", ".", "-", "_"}
494501
versionsToCheck := []string{versionStream, strings.ReplaceAll(versionStream, ".", "-"), strings.ReplaceAll(versionStream, ".", "_")}
495502

0 commit comments

Comments
 (0)