Skip to content

Instantly share code, notes, and snippets.

@marvinmartian
Last active June 14, 2022 19:52
Show Gist options
  • Save marvinmartian/961f8511902642553bb6458a280d50bc to your computer and use it in GitHub Desktop.
Save marvinmartian/961f8511902642553bb6458a280d50bc to your computer and use it in GitHub Desktop.
#!/bin/bash
# Get the CPU arch
ARCH_STRING=$(uname -a)
x86_64='x86_64'
arm64='aarch64'
echo $ARCH_STRING
case $ARCH_STRING in
*"$x86_64"*)
KOPIA_ARCH="x64"
;;
*"$arm64"*)
KOPIA_ARCH="arm64"
;;
esac
KOPIA_RELEASE_URL=https://api.github.com/repos/kopia/kopia/releases
echo "Latest Remote Version:"
KOPIA_REMOTE_VERSION=$(curl -s $KOPIA_RELEASE_URL | python3 -c 'import sys, json; print(json.load(sys.stdin)[0]["tag_name"])' | sed 's/v//')
echo $KOPIA_REMOTE_VERSION
if ! type "kopia" > /dev/null; then
echo "kopia could not be found"
KOPIA_INSTALLED_VERSION="0.0.0"
else
# Get kopia path
# Get installed version
KOPIA_LOCATION=$(command -v kopia)
echo "kopia location:"
echo $KOPIA_LOCATION
echo "Current Kopia Version:"
# KOPIA_INSTALLED_VERSION=$(/usr/local/bin/kopia --version | sed 's/minio version //')
KOPIA_INSTALLED_VERSION=$(/usr/local/bin/kopia --version | sed 's/build.*//g')
echo $KOPIA_INSTALLED_VERSION
fi
# Cleanup whitespace
KOPIA_INSTALLED_VERSION=${KOPIA_INSTALLED_VERSION// /}
if [ "$KOPIA_INSTALLED_VERSION" != "$KOPIA_REMOTE_VERSION" ]; then
echo "Installing/upgrading to the latest version..."
wget -q https://github.com/kopia/kopia/releases/download/v${KOPIA_REMOTE_VERSION}/kopia-${KOPIA_REMOTE_VERSION}-linux-${KOPIA_ARCH}.tar.gz
tar -zxvf kopia-${KOPIA_REMOTE_VERSION}-linux-${KOPIA_ARCH}.tar.gz kopia-${KOPIA_REMOTE_VERSION}-linux-${KOPIA_ARCH}/
mv kopia-${KOPIA_REMOTE_VERSION}-linux-${KOPIA_ARCH}/kopia .
rm -rf kopia-${KOPIA_REMOTE_VERSION}-linux-${KOPIA_ARCH}/
rm kopia-${KOPIA_REMOTE_VERSION}-linux-${KOPIA_ARCH}.tar.gz
sudo mv kopia /usr/local/bin/
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment