distribution/packages/jelos/sources/scripts/updatecheck

58 lines
1.3 KiB
Text
Raw Normal View History

2022-03-08 11:48:16 +00:00
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
2022-03-08 11:48:16 +00:00
. /etc/profile
ORGANIZATION="${GIT_ORGANIZATION}"
BRANCH="$(get_setting updates.branch)"
case ${BRANCH} in
dev)
PROJECT="${GIT_REPO}-dev"
;;
*)
PROJECT="${GIT_REPO}"
;;
esac
GIT_REPO="https://github.com/${ORGANIZATION}/${PROJECT}"
GIT_API="https://api.github.com/repos/${ORGANIZATION}/${PROJECT}"
FORCE="$(get_setting updates.force)"
2022-03-08 11:48:16 +00:00
function check_network() {
GW=$(ip route | awk '/eth0/ {a=$0} END{print $1}')
if [[ ${GW} =~ [0-9] ]]
then
echo true
else
echo false
fi
}
function cleanup() {
if [ -e "/tmp/release.data" ]
then
rm -f /tmp/release.data
fi
}
2022-03-08 11:48:16 +00:00
ONLINE_STATUS=$(check_network)
if [ "${ONLINE_STATUS}" == true ]
then
curl -o /tmp/release.data -H 'Cache-Control: no-cache' -Ls "${GIT_API}/releases"
LATEST_RELEASE_TAG=$(cat /tmp/release.data | python -c "import sys, json; print(json.load(sys.stdin)[0]['tag_name'])")
UPDATE_PACKAGE=$((grep "${OS_NAME}-${HW_DEVICE}.${HW_ARCH}.*tar.sha256" /tmp/release.data >/dev/null 2>&1 && echo true ) || echo false)
if [ "${OS_VERSION}" -lt "${LATEST_RELEASE_TAG}" ] \
|| [ "${FORCE}" == "1" ] \
&& [ "${UPDATE_PACKAGE}" == "true" ]
2022-03-08 11:48:16 +00:00
then
echo "${LATEST_RELEASE_TAG}"
cleanup
2022-03-08 11:48:16 +00:00
exit 0
fi
fi
cleanup
2022-03-08 11:48:16 +00:00
exit 12