
Some checks failed
Build-Test-Publish / build (linux/amd64) (push) Failing after 11s
Build-Test-Publish / build (linux/arm64) (push) Successful in 49s
Build-Test-Publish / test-install-from-scratch (linux/amd64) (push) Has been skipped
Build-Test-Publish / test-install-from-scratch (linux/arm64) (push) Has been skipped
40 lines
882 B
Bash
Executable File
40 lines
882 B
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# Determine architecture
|
|
ARCH=$(uname -m)
|
|
case $ARCH in
|
|
x86_64)
|
|
UPX_ARCH="amd64"
|
|
;;
|
|
aarch64)
|
|
UPX_ARCH="arm64"
|
|
;;
|
|
*)
|
|
echo "Unsupported architecture: $ARCH"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# Download and install UPX v5.0.1
|
|
UPX_VERSION="5.0.1"
|
|
UPX_FILE="upx-${UPX_VERSION}-${UPX_ARCH}_linux.tar.xz"
|
|
UPX_URL="https://github.com/upx/upx/releases/download/v${UPX_VERSION}/${UPX_FILE}"
|
|
|
|
echo "Downloading UPX ${UPX_VERSION} for ${UPX_ARCH}..."
|
|
curl -L -o "${UPX_FILE}" "${UPX_URL}"
|
|
|
|
# Extract UPX
|
|
tar -xf "${UPX_FILE}"
|
|
|
|
# Install to /usr/local/bin
|
|
sudo cp "upx-${UPX_VERSION}-${UPX_ARCH}_linux/upx" /usr/local/bin/
|
|
sudo chmod +x /usr/local/bin/upx
|
|
|
|
# Verify installation
|
|
upx --version
|
|
|
|
# Cleanup
|
|
rm -rf "${UPX_FILE}" "upx-${UPX_VERSION}-${UPX_ARCH}_linux"
|
|
|
|
echo "UPX ${UPX_VERSION} installed successfully!" |