#!/usr/bin/env bash set -euo pipefail # shellcheck disable=SC1091 source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh" APP=gitea DEST=/usr/local/apps/${APP} CURRENT=${DEST}/current VERSION=${VERSION:-1.21.11} BIN_DIR=/usr/local/bin main() ( URL=https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-$(get_os)-$(get_arch).xz if [ ! -d "${DEST}/${VERSION}" ]; then tmp_dir="$(mktemp -d)" file=${tmp_dir}/gitea curl --silent --retry 10 --location --output "${file}.xz" "${URL}" xz --decompress "${file}.xz" chmod 755 "${file}" sudo chown root:root "${file}" sudo mkdir -p "${DEST}/${VERSION}" sudo mv "${file}" "${DEST}/${VERSION}/${APP}" rm -rf "${tmp_dir}" fi set_current_link "${DEST}" "${VERSION}" "sudo" unlink_if_set "${BIN_DIR}/${APP}" "sudo" cd "${BIN_DIR}" || exit 1 sudo ln -s "$(relative_path "${BIN_DIR}" "${CURRENT}/${APP}")" "${APP}" cd - &>/dev/null || exit 1 ) get_os() ( case $(uname -s) in Linux*) echo linux ;; Darwin*) echo darwin-10.12 ;; *) echo >&2 "unsupported os: $(uname -s)" exit 1 ;; esac ) main "${@}"