File update-k9s.sh of Package k9s
#!/bin/bash
# Update k9s package to latest release from GitHub
set -e
REPO="derailed/k9s"
PKG_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$PKG_DIR"
# Get latest release info
echo "Fetching latest release..."
RELEASE_INFO=$(curl -s "https://api.github.com/repos/${REPO}/releases/latest")
LATEST_VERSION=$(echo "$RELEASE_INFO" | jq -r '.tag_name' | sed 's/^v//')
CURRENT_VERSION=$(grep "^Version:" "$PKG_DIR/k9s.spec" | awk '{print $2}')
echo "Current version: $CURRENT_VERSION"
echo "Latest version: $LATEST_VERSION"
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ] && [ "$FORCE_REBUILD" != "true" ]; then
echo "Already at latest version. Use FORCE_REBUILD=true to rebuild."
exit 0
fi
# Download new binaries if version changed
if [ "$CURRENT_VERSION" != "$LATEST_VERSION" ]; then
echo "Downloading k9s binaries for v${LATEST_VERSION}..."
curl -L -o k9s-x86_64.tar.gz.new \
"https://github.com/${REPO}/releases/download/v${LATEST_VERSION}/k9s_Linux_amd64.tar.gz"
curl -L -o k9s-aarch64.tar.gz.new \
"https://github.com/${REPO}/releases/download/v${LATEST_VERSION}/k9s_Linux_arm64.tar.gz"
curl -L -o k9s-ppc64le.tar.gz.new \
"https://github.com/${REPO}/releases/download/v${LATEST_VERSION}/k9s_Linux_ppc64le.tar.gz"
# Replace old binaries
mv k9s-x86_64.tar.gz.new k9s-x86_64.tar.gz
mv k9s-aarch64.tar.gz.new k9s-aarch64.tar.gz
mv k9s-ppc64le.tar.gz.new k9s-ppc64le.tar.gz
# Update spec file version
sed -i "s/^Version:.*$/Version: ${LATEST_VERSION}/" k9s.spec
# Update changelog
DATE=$(date "+%a %b %d %Y")
sed -i "s/^%changelog$/%changelog\n* ${DATE} Andrey <hactarr@obs> - ${LATEST_VERSION}-1\n- Update to ${LATEST_VERSION}/" k9s.spec
osc commit -m "Update k9s to ${LATEST_VERSION}"
echo "Updated to version ${LATEST_VERSION}"
else
echo "Triggering rebuild..."
osc rebuild home:hactarr k9s
fi
echo "Done!"