refactor: finish moving ssh-* scripts to own installers
[webi-installers/.git] / gitea / install.sh
index 31d575c60f97f8df8b1a7f4f521c27aaef603329..5726292945fdc4b0f16ed4da0515567de4978974 100644 (file)
@@ -1,18 +1,36 @@
+#!/bin/bash
 set -e
 set -u
 
 pkg_cmd_name="gitea"
+pkg_src_cmd="$HOME/.local/opt/gitea-v$WEBI_VERSION/gitea"
+pkg_dst_cmd="$HOME/.local/opt/gitea/gitea"
 
-pkg_get_current_version() {
+function pkg_get_current_version() {
     # 'gitea version' has output in this format:
     #       v2.1.0 h1:pQSaIJGFluFvu8KDGDODV8u4/QRED/OPyIR+MWYYse8=
     # This trims it down to just the version number:
     #       2.0.0
-    echo "$(gitea --version 2>/dev/null | head -n 1 | cut -d' ' -f3)"
+    echo "$(gitea --version 2> /dev/null | head -n 1 | cut -d' ' -f3)"
 }
 
-pkg_format_cmd_version() {
-    # 'gitea v2.1.0' is the canonical version format for gitea
-    my_version="$1"
-    echo "$pkg_cmd_name v$my_version"
+function pkg_link() {
+    # although gitea is a single command it must be put in its own directory
+    # because it will always resolve its working path to its location,
+    # regardless of where it was started, where its config file lives, etc.
+    rm -rf "$pkg_dst_cmd"
+    mkdir -p "$pkg_dst_bin/custom"
+    chmod a+x "$pkg_src_cmd"
+    ln -s "$pkg_src_cmd" "$pkg_dst_cmd"
+}
+
+# For installing from the extracted package tmp directory
+function pkg_install() {
+    # remove the versioned folder, just in case it's there with junk
+    rm -rf "$pkg_src_bin"
+    mkdir -p "$pkg_src_bin"
+
+    # rename the entire extracted folder to the new location
+    # (this will be "$HOME/.local/opt/xmpl-v$WEBI_VERSION" by default)
+    mv ./"$pkg_cmd_name"* "$pkg_src_cmd"
 }