feat(auto update): add script to update gitlab hosted packages

Signed-off-by: Aditya Alok <dev.aditya.alok@gmail.com>
This commit is contained in:
Aditya Alok 2022-03-26 13:42:07 +05:30
parent 6a061af281
commit b518a1599b

View File

@ -0,0 +1,28 @@
# shellcheck shell=bash
# Default algorithm to use for packages hosted on hosts using gitlab-ci.
termux_gitlab_auto_update() {
# Our local version of package.
local pkg_version
pkg_version="$(echo "${TERMUX_PKG_VERSION}" | cut -d: -f2-)"
local pkg_epoch
pkg_epoch="$(echo "${TERMUX_PKG_VERSION}" | cut -d: -f1)"
if [[ "${pkg_version}" == "${pkg_epoch}" ]]; then
# No epoch set.
pkg_epoch=""
else
pkg_epoch+=":"
fi
local latest_tag
latest_tag="$(
termux_gitlab_api_get_tag \
"${TERMUX_PKG_SRCURL}" "${TERMUX_PKG_UPDATE_TAG_TYPE}" "${TERMUX_GITLAB_API_HOST}"
)"
# No need to check for return code `2`, since gitlab api does not implement cache control.
if [[ -z "${latest_tag}" ]]; then
termux_error_exit "ERROR: Unable to get tag from ${TERMUX_PKG_SRCURL}"
fi
termux_pkg_upgrade_version "${pkg_epoch}${latest_tag}"
}