diff --git a/cmd/comparecache/main.go b/cmd/comparecache/main.go index 78d2383..5a17b78 100644 --- a/cmd/comparecache/main.go +++ b/cmd/comparecache/main.go @@ -495,8 +495,8 @@ func isLiveNoise(name string) bool { } } - // Source tarballs (e.g. gitea-src-1.25.4.tar.gz, caddy_2.10.0_src.tar.gz). - if strings.Contains(lower, "-src-") || strings.Contains(lower, "_src.") || strings.HasPrefix(lower, "src-") { + // Source tarballs (e.g. gitea-src-1.25.4.tar.gz, caddy_2.10.0_src.tar.gz, go1.26.1.src.tar.gz). + if strings.Contains(lower, "-src-") || strings.Contains(lower, "_src.") || strings.Contains(lower, ".src.") || strings.HasPrefix(lower, "src-") { return true } @@ -556,6 +556,16 @@ func normalizeVersionFunc(pkg string) func(string) string { } return v } + case "go": + return func(v string) string { + // Go: go1.10 → 1.10.0 (pad to 3 parts) + v = strings.TrimPrefix(v, "go") + parts := strings.SplitN(v, ".", 3) + for len(parts) < 3 { + parts = append(parts, "0") + } + return strings.Join(parts, ".") + } default: return func(v string) string { return v } } diff --git a/internal/classifypkg/classifypkg.go b/internal/classifypkg/classifypkg.go index 8f2daee..2fe25a6 100644 --- a/internal/classifypkg/classifypkg.go +++ b/internal/classifypkg/classifypkg.go @@ -687,8 +687,14 @@ func classifyGolang(d *rawcache.Dir) ([]storage.Asset, error) { continue } - // Strip "go" prefix from version: "go1.24.1" → "1.24.1" + // Strip "go" prefix and pad to 3-part version: "go1.10" → "1.10.0" version := strings.TrimPrefix(rel.Version, "go") + parts := strings.SplitN(version, ".", 3) + for len(parts) < 3 { + parts = append(parts, "0") + } + version = strings.Join(parts, ".") + channel := "stable" if !rel.Stable { channel = "beta" @@ -699,7 +705,7 @@ func classifyGolang(d *rawcache.Dir) ([]storage.Asset, error) { continue } // Skip bootstrap and odd builds. - if strings.Contains(f.Filename, "bootstrap") { + if strings.Contains(f.Filename, "bootstrap") || strings.Contains(f.Filename, "-arm6.") { continue }