From 912044930b27d70ecf262f4c5483c6b7b8fbf54a Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Sun, 14 Jun 2020 12:09:37 -0600 Subject: [PATCH] update gitea to use new bash functions --- gitea/install.bash | 100 ++++++++++++++++++++++++--------------------- 1 file changed, 53 insertions(+), 47 deletions(-) diff --git a/gitea/install.bash b/gitea/install.bash index 63973d4..527f12f 100644 --- a/gitea/install.bash +++ b/gitea/install.bash @@ -1,59 +1,65 @@ # title: Gitea # homepage: https://github.com/go-gitea/gitea -# tagline: a modern drop-in grep replacement +# tagline: Fast, multi-platform web server with automatic HTTPS # description: | -# `gitea` is a clean, lightweight self-hosted Github alternative, forked from Gogs. Lighter and more user-friendly than Gitlab. +# Caddy is an extensible server platform that uses TLS by default. # examples: | -# # ```bash -# gitea --version +# gitea start # ``` set -e set -u -################### -# Install gitea # -################### +pkg_common_opt="$HOME/.local" -new_gitea="${HOME}/.local/bin/gitea" +# just a junk file so that the version check always fails for non-current versions +pkg_new_opt="$HOME/.local/opt/gitea-doesntexist111" -# Test for existing version -set +e -cur_gitea="$(command -v gitea)" -set -e -if [ -n "$cur_gitea" ]; then - cur_ver=$(gitea --version | head -n 1 | cut -d ' ' -f 3) - if [ "$cur_ver" == "$WEBI_VERSION" ]; then - echo "gitea v$WEBI_VERSION already installed at $cur_gitea" - exit 0 - elif [ "$cur_gitea" != "$new_gitea" ]; then - echo "WARN: possible conflict with gitea v$WEBI_VERSION at $cur_gitea" - fi -fi - -# Note: this file is `source`d by the true installer and hence will have the webi functions - -# because we created releases.js we can use webi_download() -# downloads gitea to ~/Downloads -webi_download - -# because this is tar or zip, we can webi_extract() -# extracts to the WEBI_TMP directory, raw (no --strip-prefix) -webi_extract - -pushd "$WEBI_TMP" 2>&1 >/dev/null - echo Installing gitea v${WEBI_VERSION} as "$new_gitea" - mv ./gitea-* "$HOME/.local/bin/gitea" - chmod a+x "$HOME/.local/bin/gitea" -popd 2>&1 >/dev/null - -################### -# Update PATH # -################### - -# TODO get better output from pathman / output the path to add as return to webi bootstrap -webi_path_add "$HOME/.local/bin" - -echo "Installed 'gitea'" -echo "" +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)" +} + +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" +} + +pkg_link_new_version() { + # gitea is just a single file, no directory linking to do + true +} + +pkg_pre_install() { + # if selected version is installed, quit + webi_check + # will save to ~/Downloads/$WEBI_PKG_FILE by default + webi_download + # supported formats (.xz, .tar.*, .zip) will be extracted to $WEBI_TMP + webi_extract +} + +pkg_install() { + pushd "$WEBI_TMP" 2>&1 >/dev/null + + # rename the entire extracted folder to the new location + # (this will be "$HOME/.local/bin/gitea" by default) + mkdir -p "$pkg_common_bin" + mv ./"$pkg_cmd_name"* "$pkg_common_cmd" + + popd 2>&1 >/dev/null +} + +pkg_post_install() { + # just in case we add something in the future + pkg_link_new_version + + # web_path_add is defined in webi/template.bash at https://github.com/webinstall/packages + # Adds "$HOME/.local/bin" to PATH + webi_path_add "$pkg_common_bin" +} -- 2.25.1