fix golang version bad output direction
[webi-installers/.git] / webi / template.bash
index 9b90b66c4faf7378eec0e4b7b42968ae22904557..f5147ea8ec6f815ce3b6302437beaa56c0225d58 100644 (file)
@@ -43,6 +43,38 @@ export WEBI_CURL="$(command -v curl)"
 export WEBI_WGET="$(command -v wget)"
 set -e
 
+webi_check() {
+    # Test for existing version
+    set +e
+    my_current_cmd="$(command -v "$pkg_cmd_name")"
+    set -e
+    if [ -n "$my_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_src_version="$(echo $WEBI_VERSION | sed 's:\.0::g')"
+        if [ -n "$(command -v pkg_format_cmd_version)" ]; then
+            my_canonical_name="$(pkg_format_cmd_version "$WEBI_VERSION")"
+        else
+            #my_canonical_name="$WEBI_NAME $WEBI_VERSION"
+            my_canonical_name="$pkg_cmd_name v$WEBI_VERSION"
+        fi
+        if [ "$my_src_version" == "$my_current_version" ]; then
+            echo "$my_canonical_name already installed at $my_current_cmd"
+            exit 0
+        else
+            if [ "$my_current_cmd" != "$pkg_dst_cmd" ]; then
+                echo "WARN: possible conflict between $my_canonical_name and $pkg_current_version at $my_current_cmd"
+            fi
+            if [ -x "$pkg_src_cmd" ]; then
+                pkg_link_src_dst
+                echo "switched to $my_canonical_name at $pkg_src"
+                exit 0
+            fi
+          fi
+    fi
+}
+
 webi_download() {
     if [ -n "${1:-}" ]; then
         my_url="$1"
@@ -133,4 +165,32 @@ webi_path_add() {
 ##
 ##
 
+if [ -n "$(command -v pkg_install)" ]; then
+    pkg_cmd_name="${pkg_cmd_name:-$WEBI_NAME}"
+
+    pkg_dst="${pkg_dst:-$HOME/.local/opt/$pkg_cmd_name}"
+    pkg_dst_bin="${pkg_dst_bin:-$pkg_dst/bin}"
+    pkg_dst_cmd="${pkg_dst_cmd:-$pkg_dst_bin/$pkg_cmd_name}"
+
+    pkg_src="${pkg_src:-$HOME/.local/opt/$pkg_cmd_name-v$WEBI_VERSION}"
+    pkg_src_bin="${pkg_src_bin:-$pkg_src/bin}"
+    pkg_src_cmd="${pkg_src_cmd:-$pkg_src_bin/$pkg_cmd_name}"
+
+    [ -n "$(command -v pkg_pre_install)" ] && pkg_pre_install
+
+    echo "Installing '$pkg_cmd_name' v$WEBI_VERSION as $pkg_src_cmd"
+    pkg_install
+
+    [ -n "$(command -v pkg_post_install)" ] && pkg_post_install
+
+    if [ -n "$(command -v pkg_post_install_message)" ]; then
+        pkg_post_install_message
+    else
+        echo "Installed '$pkg_cmd_name' v$WEBI_VERSION as $pkg_src_cmd"
+    fi
+    echo ""
+fi
+
+rm -rf "$WEBI_TMP"
+
 }