@@ -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
@@ -505,7 +512,7 @@ var AllRules = func(l *Linter) Rules { //nolint:gocyclo
505512 }
506513
507514 if ! slices .Contains (filtersToCheck , c .Update .GitHubMonitor .TagFilter ) && ! slices .Contains (filtersToCheck , c .Update .GitHubMonitor .TagFilterPrefix ) {
508- return fmt .Errorf ("package is version streamed but tag filter %s is missing on update.github" , versionStream )
515+ return fmt .Errorf ("package is version streamed but tag filter %s is mismatch on update.github" , versionStream )
509516 }
510517 }
511518 return nil
0 commit comments