Files
termux-packages/scripts/updates/termux_pkg_auto_update.sh
termux-pacman-bot 0a7cf652ff Update repo
2025-12-21 06:46:22 +00:00

51 lines
1.4 KiB
Bash

# shellcheck shell=bash
termux_pkg_auto_update() {
if [[ -n "${__CACHED_TAG:-}" ]]; then
termux_pkg_upgrade_version "${__CACHED_TAG}"
return $?
fi
# Example:
# https://github.com/vim/vim/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
# _="https:"
# _=""
# project_host="github.com"
# _="vim/vim/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz"
local project_host
IFS='/' read -r _ _ project_host _ <<< "${TERMUX_PKG_SRCURL}"
if [[ -z "${TERMUX_PKG_UPDATE_METHOD}" ]]; then
if [[ "${project_host}" == "github.com" ]]; then
TERMUX_PKG_UPDATE_METHOD="github"
elif [[ "$TERMUX_PKG_SRCURL" == *"/-/archive/"* ]]; then
TERMUX_PKG_UPDATE_METHOD="gitlab"
else
TERMUX_PKG_UPDATE_METHOD="repology"
fi
fi
case "${TERMUX_PKG_UPDATE_METHOD}" in
github)
if [[ "${project_host}" != "${TERMUX_PKG_UPDATE_METHOD}.com" ]]; then
termux_error_exit <<-EndOfError
source url's hostname is not ${TERMUX_PKG_UPDATE_METHOD}.com, but has been
configured to use ${TERMUX_PKG_UPDATE_METHOD}'s method.
EndOfError
fi
termux_github_auto_update
;;
gitlab)
termux_gitlab_auto_update
;;
repology)
termux_repology_auto_update
;;
*)
termux_error_exit <<-EndOfError
wrong value '${TERMUX_PKG_UPDATE_METHOD}' for TERMUX_PKG_UPDATE_METHOD.
Can be 'github', 'gitlab' or 'repology'
EndOfError
;;
esac
}