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:
parent
6a061af281
commit
b518a1599b
28
scripts/updates/internal/termux_gitlab_auto_update.sh
Normal file
28
scripts/updates/internal/termux_gitlab_auto_update.sh
Normal 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}"
|
||||
}
|
Loading…
Reference in New Issue
Block a user