From ed413ee0de9658952efb5901c8e84b959a1b8563 Mon Sep 17 00:00:00 2001 From: Joshua Gilman Date: Fri, 21 Aug 2026 21:07:04 -0700 Subject: [PATCH] fix(packages): mirror canonical RPM paths --- internal/stage/pkgrepo/config_test.go | 5 +++-- internal/stage/pkgrepo/publish_values.go | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/stage/pkgrepo/config_test.go b/internal/stage/pkgrepo/config_test.go index 90cdb7f..4578f1b 100644 --- a/internal/stage/pkgrepo/config_test.go +++ b/internal/stage/pkgrepo/config_test.go @@ -127,12 +127,13 @@ func TestPackageObjectFormatAcceptsOnlyCanonicalTrees(t *testing.T) { }, { name: "RPM package", - path: "rpm/stable/x86_64/Packages/release-cli-1.2.3-1.x86_64.rpm", + path: "rpm/stable/x86_64/packages/release-cli-1.2.3-1.x86_64.rpm", format: FormatRPM, ok: true, }, {name: "APK package", path: "apk/stable/main/aarch64/release-cli-1.2.3.apk", format: FormatAPK, ok: true}, - {name: "wrong channel", path: "rpm/testing/x86_64/Packages/release-cli.rpm"}, + {name: "wrong channel", path: "rpm/testing/x86_64/packages/release-cli.rpm"}, + {name: "legacy uppercase RPM path", path: "rpm/stable/x86_64/Packages/release-cli.rpm"}, {name: "metadata suffix", path: "rpm/stable/x86_64/repodata/primary.xml.gz"}, {name: "traversal", path: "../apt/pool/main/release-cli.deb"}, } diff --git a/internal/stage/pkgrepo/publish_values.go b/internal/stage/pkgrepo/publish_values.go index 9d8b085..f60e995 100644 --- a/internal/stage/pkgrepo/publish_values.go +++ b/internal/stage/pkgrepo/publish_values.go @@ -343,7 +343,7 @@ func packageObjectFormat(name string, channel Channel) (Format, bool) { } channelName := string(channel) if strings.HasPrefix(name, path.Join("rpm", channelName)+"/") && - strings.Contains(name, "/Packages/") && strings.HasSuffix(name, ".rpm") { + strings.Contains(name, "/packages/") && strings.HasSuffix(name, ".rpm") { return FormatRPM, true } if strings.HasPrefix(name, path.Join("apk", channelName, "main")+"/") && strings.HasSuffix(name, ".apk") {