autorestic/install.sh

68 lines
1.8 KiB
Bash
Raw Normal View History

#!/bin/bash
# Check if the script is running as root
2024-12-03 11:34:58 +00:00
# Initialize the elevated variable to ensure we can run commands as root
if [ "$EUID" -eq 0 ]; then
elevated="bash -c" # No need for sudo or su if running as root
elif command -v sudo &> /dev/null; then
elevated="sudo bash -c" # Use sudo if available
elif command -v su &> /dev/null; then
2024-12-03 17:19:27 +00:00
elevated="su root -c" # Use su if sudo isn't available
2024-12-03 11:34:58 +00:00
else
echo "Error: Neither sudo nor su is available. Unable to run command as root."
exit 1
fi
set -e -o pipefail
2021-04-17 13:57:15 +00:00
shopt -s nocaseglob
OUT_FILE=/usr/local/bin/autorestic
TMP_FILE=/tmp/autorestic
2021-04-17 13:57:15 +00:00
# Type
NATIVE_OS=$(uname | tr '[:upper:]' '[:lower:]')
case $NATIVE_OS in
*linux*)
OS=linux;;
*darwin*)
OS=darwin;;
*freebsd*)
OS=freebsd;;
*)
echo "Could not determine OS automatically, please check the release page"\
"manually: https://github.com/cupcakearmy/autorestic/releases"
2021-04-17 13:57:15 +00:00
exit 1
;;
esac
2021-04-17 13:57:15 +00:00
echo $OS
2021-04-26 11:15:58 +00:00
NATIVE_ARCH=$(uname -m | tr '[:upper:]' '[:lower:]')
case $NATIVE_ARCH in
*x86_64*|*amd64*) ARCH=amd64 ;;
*arm64*|*aarch64*) ARCH=arm64 ;;
*x86*) ARCH=386 ;;
*armv7*) ARCH=arm ;;
*)
echo "Could not determine Architecure automatically, please check the"\
"release page manually: https://github.com/cupcakearmy/autorestic/releases"
exit 1
;;
esac
2021-04-17 13:57:15 +00:00
echo $ARCH
if ! command -v bzip2 &>/dev/null; then
echo "Missing bzip2 command. Please install the bzip2 package for your system."
exit 1
fi
2021-10-30 12:38:53 +00:00
wget -qO - https://api.github.com/repos/cupcakearmy/autorestic/releases/latest \
2021-04-17 13:57:15 +00:00
| grep "browser_download_url.*_${OS}_${ARCH}" \
| xargs | cut -d ' ' -f 2 \
| wget -O "${TMP_FILE}.bz2" -i -
2024-12-03 17:19:27 +00:00
$elevated "
bzip2 -cd ${TMP_FILE}.bz2 > ${OUT_FILE}
chmod +x ${OUT_FILE}
autorestic install
"
rm ${TMP_FILE}.bz2
echo "Successfully installed autorestic under ${OUT_FILE}"