This is an automated email from the ASF dual-hosted git repository.
lizhimins pushed a commit to branch rocketmq-studio
in repository https://gitbox.apache.org/repos/asf/rocketmq-dashboard.git
The following commit(s) were added to refs/heads/rocketmq-studio by this push:
new 84174f0c1 fix(rmqctl): align install.sh with the actual release
artifacts (#4625)
84174f0c1 is described below
commit 84174f0c14d284d5ab7a46da5731482ae2360b1b
Author: Apulupie <[email protected]>
AuthorDate: Mon Sep 21 21:06:42 2026 +0800
fix(rmqctl): align install.sh with the actual release artifacts (#4625)
`rmqctl/install.sh` requested
`rmqctl_${ASSET_VERSION}_${GOOS}_${GOARCH}.zip|tar.gz`, while the only producer
in the tree, `rmqctl/scripts/package-release.sh`, names its archives
`rmqctl-${GOOS}-${GOARCH}-${VERSION}` and packs them from the staging root with
the checksum written against that bare release name. The download therefore
404s, and even a hand-renamed archive would fail `shasum -c` on the name
mismatch and then the binary lookup under `${INSTALL_TMP_DIR}/rmqctl/`, since
the [...]
Both asset names and the binary path now match what `package-release.sh`
emits, which also lines the checksum step up on its own.
No rmqctl release has been published yet — the repository's releases carry
no assets — so this corrects a contract before first use rather than a live
failure. `install.sh`'s automatic version detection still reads
`/releases/latest`, which today resolves to the dashboard tag, so a release-tag
convention for rmqctl remains a follow-up; until then only an explicit
`--version` / `RMQCTL_VERSION` works.
Fixes #4626
---
rmqctl/install.sh | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/rmqctl/install.sh b/rmqctl/install.sh
index c173050e5..2d2bf3772 100755
--- a/rmqctl/install.sh
+++ b/rmqctl/install.sh
@@ -102,10 +102,10 @@ fi
if [ "$GOOS" = "windows" ]; then
BINARY="rmqctl.exe"
- ASSET="rmqctl_${ASSET_VERSION}_${GOOS}_${GOARCH}.zip"
+ ASSET="rmqctl-${GOOS}-${GOARCH}-${ASSET_VERSION}.zip"
else
BINARY="rmqctl"
- ASSET="rmqctl_${ASSET_VERSION}_${GOOS}_${GOARCH}.tar.gz"
+ ASSET="rmqctl-${GOOS}-${GOARCH}-${ASSET_VERSION}.tar.gz"
fi
URL="https://github.com/${REPO}/releases/download/${RELEASE_TAG}/${ASSET}"
@@ -137,7 +137,9 @@ if [ "$GOOS" = "windows" ]; then
else
tar xzf "${INSTALL_TMP_DIR}/${ASSET}" -C "$INSTALL_TMP_DIR"
fi
-SRC="${INSTALL_TMP_DIR}/rmqctl/${BINARY}"
+# The release archives produced by scripts/package-release.sh store the
+# binary at the archive root (alongside LICENSE, NOTICE and completions).
+SRC="${INSTALL_TMP_DIR}/${BINARY}"
if [ ! -f "$SRC" ]; then
echo "binary not found in archive: $SRC" >&2