X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=webi%2Ftemplate.bash;fp=webi%2Ftemplate.bash;h=a3d9e7ef84c711ae76f716de8278e10500af9d80;hb=5a7fab00cfcff62659f2e50cf7bee859142795b7;hp=9b90b66c4faf7378eec0e4b7b42968ae22904557;hpb=525a3b3c1113670c0a0e06cca8a86647fe5ef958;p=webi-installers%2F.git diff --git a/webi/template.bash b/webi/template.bash index 9b90b66..a3d9e7e 100644 --- a/webi/template.bash +++ b/webi/template.bash @@ -43,6 +43,34 @@ export WEBI_CURL="$(command -v curl)" export WEBI_WGET="$(command -v wget)" set -e +webi_check() { + # Test for existing version + set +e + pkg_current_cmd="$(command -v "$pkg_cmd_name")" + set -e + my_current_version="" + if [ -n "$pkg_current_cmd" ]; then + pkg_current_version="$(pkg_get_current_version)" + # remove trailing '.0's for golang's sake + my_current_version="$(echo $pkg_current_version | sed 's:\.0::g')" + my_new_version="$(echo $WEBI_VERSION | sed 's:\.0::g')" + my_canonical_name="$(pkg_format_cmd_version "$WEBI_VERSION")" + if [ "$my_new_version" == "$my_current_version" ]; then + echo "$my_canonical_name already installed at $pkg_current_cmd" + exit 0 + else + if [ "$pkg_current_cmd" != "$pkg_common_cmd" ]; then + echo "WARN: possible conflict between $my_canonical_name and $pkg_current_version at $pkg_current_cmd" + fi + if [ -x "$pkg_new_cmd" ]; then + pkg_switch_version + echo "switched to $my_canonical_name at $pkg_new_opt" + exit 0 + fi + fi + fi +} + webi_download() { if [ -n "${1:-}" ]; then my_url="$1"