diff --git a/bib/internal/distrodef/distrodef.go b/bib/internal/distrodef/distrodef.go index 7f31e6f5a..c121d2910 100644 --- a/bib/internal/distrodef/distrodef.go +++ b/bib/internal/distrodef/distrodef.go @@ -51,7 +51,7 @@ func findDistroDef(defDirs []string, distro, wantedVerStr string) (string, error if err != nil { return "", fmt.Errorf("cannot parse distro version from %q: %w", m, err) } - if wantedVer.Compare(haveVer) > 0 && haveVer.Compare(bestFuzzyVer) > 0 { + if wantedVer.Compare(haveVer) >= 0 && haveVer.Compare(bestFuzzyVer) > 0 { bestFuzzyVer = haveVer bestFuzzyMatch = m } diff --git a/bib/internal/distrodef/distrodef_test.go b/bib/internal/distrodef/distrodef_test.go index b29805571..1b5f86f5f 100644 --- a/bib/internal/distrodef/distrodef_test.go +++ b/bib/internal/distrodef/distrodef_test.go @@ -108,6 +108,16 @@ func TestFindDistroDefMultiFuzzyMinorReleases(t *testing.T) { assert.True(t, strings.HasSuffix(def, "b/b/centos-9.10.yaml"), def) } +func TestFindDistroDefMultiFuzzyMinorReleasesIsZero(t *testing.T) { + defDirs := makeFakeDistrodefRoot(t, []string{ + "a/centos-9.yaml", + "a/centos-10.yaml", + }) + def, err := findDistroDef(defDirs, "centos", "10.0") + assert.NoError(t, err) + assert.True(t, strings.HasSuffix(def, "a/centos-10.yaml"), def) +} + func TestFindDistroDefMultiFuzzyError(t *testing.T) { defDirs := makeFakeDistrodefRoot(t, []string{ "a/fedora-40.yaml",