nextcloud: script style and retrying

This commit is contained in:
Jörn-Michael Miehe 2025-10-31 17:17:40 +01:00
parent ec2bccea4b
commit bce99f4684

View file

@ -13,33 +13,40 @@ THISDIR="$(dirname "$(readlink -f "${0}")")"
needs_commands "curl" "notify-send" needs_commands "curl" "notify-send"
version_available="$( \ version_available="$( \
curl -sSv 'https://github.com/nextcloud-releases/desktop/releases/latest' 2>&1 \ curl --silent --verbose --retry-all-errors --retry-delay 3 --retry 5 \
'https://github.com/nextcloud-releases/desktop/releases/latest' 2>&1 \
| grep '^< location: ' \ | grep '^< location: ' \
| grep -Eo '[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+' \ | grep -Eo '[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+' \
| head -n1 \ | head -n1 \
)" )"
if [ -z "${version_available}" ]; then
echo "failed checking for nextcloud update" >&2
exit 1
fi
version_installed="$( \ version_installed="$( \
readlink "${INSTALL_DIR}/current" \ readlink "${INSTALL_DIR}/current" \
| grep -Eo '[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+' \ | grep -Eo '[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+' \
)" )"
if [ -n "${version_available}" ] && [ "${version_available}" != "${version_installed}" ]; then if [ "${version_available}" == "${version_installed}" ]; then
echo "new nextcloud version available: ${version_available}" echo "nextcloud is up to date!" >&2
notify-send \ exit 0
fi
echo "new nextcloud version available: ${version_available}" >&2
notify-send \
--app-name "Nextcloud" \ --app-name "Nextcloud" \
--icon "${THISDIR}/.icon/nextcloud.svg" \ --icon "${THISDIR}/.icon/nextcloud.svg" \
"nextcloud-appimage-launch" \ "nextcloud-appimage-launch" \
"new nextcloud version available: ${version_available}" "new nextcloud version available: ${version_available}"
curl -sSfL \ curl --silent --show-error --fail --location \
"https://github.com/nextcloud-releases/desktop/releases/download/v${version_available}/Nextcloud-${version_available}-x86_64.AppImage" \ "https://github.com/nextcloud-releases/desktop/releases/download/v${version_available}/Nextcloud-${version_available}-x86_64.AppImage" \
--output "${INSTALL_DIR}/Nextcloud-${version_available}-x86_64.AppImage" --output "${INSTALL_DIR}/Nextcloud-${version_available}-x86_64.AppImage"
chmod +x "${INSTALL_DIR}/Nextcloud-${version_available}-x86_64.AppImage" chmod +x "${INSTALL_DIR}/Nextcloud-${version_available}-x86_64.AppImage"
ln -sf "./Nextcloud-${version_available}-x86_64.AppImage" "${INSTALL_DIR}/current" ln -sf "./Nextcloud-${version_available}-x86_64.AppImage" "${INSTALL_DIR}/current"
else
echo "nextcloud is up to date!"
fi
exec "${INSTALL_DIR}/current" --background "${@}" exec "${INSTALL_DIR}/current" --background "${@}"