mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-08-23 22:16:48 +00:00
update gitea to use new bash functions
This commit is contained in:
+46
-40
@@ -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
|
||||
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)"
|
||||
}
|
||||
|
||||
# Note: this file is `source`d by the true installer and hence will have the webi functions
|
||||
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"
|
||||
}
|
||||
|
||||
# because we created releases.js we can use webi_download()
|
||||
# downloads gitea to ~/Downloads
|
||||
webi_download
|
||||
pkg_link_new_version() {
|
||||
# gitea is just a single file, no directory linking to do
|
||||
true
|
||||
}
|
||||
|
||||
# because this is tar or zip, we can webi_extract()
|
||||
# extracts to the WEBI_TMP directory, raw (no --strip-prefix)
|
||||
webi_extract
|
||||
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
|
||||
}
|
||||
|
||||
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
|
||||
pkg_install() {
|
||||
pushd "$WEBI_TMP" 2>&1 >/dev/null
|
||||
|
||||
###################
|
||||
# Update PATH #
|
||||
###################
|
||||
# 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"
|
||||
|
||||
# TODO get better output from pathman / output the path to add as return to webi bootstrap
|
||||
webi_path_add "$HOME/.local/bin"
|
||||
popd 2>&1 >/dev/null
|
||||
}
|
||||
|
||||
echo "Installed 'gitea'"
|
||||
echo ""
|
||||
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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user