diff --git a/RESTIC_SOURCE_FILES/update_restic.sh b/RESTIC_SOURCE_FILES/update_restic.sh index f2deca7..0eda473 100755 --- a/RESTIC_SOURCE_FILES/update_restic.sh +++ b/RESTIC_SOURCE_FILES/update_restic.sh @@ -8,38 +8,46 @@ LATEST_VERSION=$(curl -s https://api.github.com/repos/${ORG}/${REPO}/releases/la echo Latest restic version ${LATEST_VERSION} errors=false -for platform in "windows_386" "windows_amd64" "linux_arm" "linux_arm64" "linux_amd64" "darwin_amd64" "freebsd_amd64"; do - restic_filename="restic_${LATEST_VERSION//v}_${platform}" - if [ ! -f "${restic_filename}" ]; then - echo "Moving earlier version to archive" - [ -d ARCHIVES ] || mkdir ARCHIVES - mv -f restic_*_${platform} ARCHIVES/ > /dev/null 2>&1 - mv -f restic_*_${platform}.exe ARCHIVES/ > /dev/null 2>&1 - echo "Downloading ${restic_filename}" - if [ "${platform:0:7}" == "windows" ]; then - ext=zip - else - ext=bz2 - fi - curl -OL https://github.com/restic/restic/releases/download/${LATEST_VERSION}/restic_${LATEST_VERSION//v}_{$platform}.${ext} - if [ $? -ne 0 ]; then - echo "Failed to download ${restic_filename}" - errors=true - else - if [ -f "${restic_filename}.bz2" ]; then - bzip2 -d "${restic_filename}.bz2" && chmod +x "${restic_filename}" - elif [ -f "${restic_filename}.zip" ]; then - unzip "${restic_filename}.zip" - else - echo "Archive ${restic_filename} not found" + +if [[ $(uname -s) == *"CYGWIN"* ]]; then + platforms=(windows_amd64 windows_386) +else + platforms=(linux_arm linux_arm64 linux_amd64 darwin_amd64 freebsd_amd64) +fi + +for platform in "${platforms[@]}"; do + echo "Checking for ${platform}" + restic_filename="restic_${LATEST_VERSION//v}_${platform}" + if [ ! -f "${restic_filename}" ]; then + echo "Moving earlier version to archive" + [ -d ARCHIVES ] || mkdir ARCHIVES + mv -f restic_*_${platform} ARCHIVES/ > /dev/null 2>&1 + mv -f restic_*_${platform}.exe ARCHIVES/ > /dev/null 2>&1 + echo "Downloading ${restic_filename}" + if [ "${platform:0:7}" == "windows" ]; then + ext=zip + else + ext=bz2 + fi + curl -OL https://github.com/restic/restic/releases/download/${LATEST_VERSION}/restic_${LATEST_VERSION//v}_{$platform}.${ext} + if [ $? -ne 0 ]; then + echo "Failed to download ${restic_filename}" errors=true + else + if [ -f "${restic_filename}.bz2" ]; then + bzip2 -d "${restic_filename}.bz2" && chmod +x "${restic_filename}" + elif [ -f "${restic_filename}.zip" ]; then + unzip "${restic_filename}.zip" + else + echo "Archive ${restic_filename} not found" + errors=true + fi + if [ $? -ne 0 ]; then + echo "Failed to decompress ${restic_filename}.bz2" + errors=true fi - if [ $? -ne 0 ]; then - echo "Failed to decompress ${restic_filename}.bz2" - errors=true - fi - [ -f "${restic_filename}.zip" ] && rm -f "${restic_filename}.zip" - fi + [ -f "${restic_filename}.zip" ] && rm -f "${restic_filename}.zip" + fi fi done