From 1af625e217d63f37ec2364f3d6af8a3690889373 Mon Sep 17 00:00:00 2001 From: Dentrax Date: Mon, 15 Jul 2024 14:58:23 +0300 Subject: [PATCH] handle for versionprefix and custom provider names Signed-off-by: Dentrax --- pkg/lint/rules.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/pkg/lint/rules.go b/pkg/lint/rules.go index fcc47aad..e0ae91bf 100644 --- a/pkg/lint/rules.go +++ b/pkg/lint/rules.go @@ -468,12 +468,19 @@ var AllRules = func(l *Linter) Rules { //nolint:gocyclo return fmt.Errorf("package is version streamed but package.version %s starts with different than given version stream %s", c.Package.Version, versionStream) } - providesList := []string{ - fmt.Sprintf("%s=%s-r%d", packageName, c.Package.Version, c.Package.Epoch), - fmt.Sprintf("%s=%s-r%d", packageName, versionStream, c.Package.Epoch), - fmt.Sprintf("%s=%s", packageName, c.Package.Version), - fmt.Sprintf("%s=%s", packageName, versionStream), - fmt.Sprintf("%s=%s.999", packageName, versionStream), + var providesList []string + addToProvidesList := func(key string) { + providesList = append(providesList, fmt.Sprintf("%s=%s-r%d", key, c.Package.Version, c.Package.Epoch)) + providesList = append(providesList, fmt.Sprintf("%s=%s-r%d", key, versionStream, c.Package.Epoch)) + providesList = append(providesList, fmt.Sprintf("%s=%s", key, c.Package.Version)) + providesList = append(providesList, fmt.Sprintf("%s=%s", key, versionStream)) + providesList = append(providesList, fmt.Sprintf("%s=%s.999", key, versionStream)) + } + addToProvidesList(packageName) + + // Some packages have different provides for package name, i.e. python-3 instead of python. + if majorMinor := strings.Split(versionStream, "."); len(majorMinor) > 1 { + addToProvidesList(fmt.Sprintf("%s-%s", packageName, majorMinor[0])) } anyMatch := false @@ -489,7 +496,7 @@ var AllRules = func(l *Linter) Rules { //nolint:gocyclo } if c.Update.Enabled && !c.Update.Manual && c.Update.GitHubMonitor != nil { - prefixesToCheck := []string{"", "v", packageName, "release"} + prefixesToCheck := []string{"", "v", packageName, "release", strings.ReplaceAll(packageName, "-fips", ""), c.Update.GitHubMonitor.StripPrefix} separators := []string{"", ".", "-", "_"} versionsToCheck := []string{versionStream, strings.ReplaceAll(versionStream, ".", "-"), strings.ReplaceAll(versionStream, ".", "_")}