diff --git a/bin/install-hugo-system b/bin/install-hugo-system new file mode 100755 index 0000000..b6ffae8 --- /dev/null +++ b/bin/install-hugo-system @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +set -x +set -e + +VERSION=${VERSION:-0.76.3} +PREFIX_DIR=/usr/local +BIN_DIR="${PREFIX_DIR}/bin" + +OS= +if [[ $OSTYPE =~ linux ]]; then + OS=Linux +elif [[ $OSTYPE =~ darwin ]]; then + OS=macOS +else + echo unknown os: "$OSTYPE" + exit 1 +fi + +URL=https://github.com/gohugoio/hugo/releases/download/v${VERSION}/hugo_${VERSION}_${OS}-64bit.tar.gz +TMP_DIR=$(mktemp --directory) + +cd "$TMP_DIR" +curl --location --silent --output release.tar.gz "${URL}" +tar xvzf release.tar.gz +sudo chown root:root hugo + +sudo mkdir -p "${PREFIX_DIR}/apps/hugo/${VERSION}" +sudo mv ./hugo "${PREFIX_DIR}/apps/hugo/${VERSION}/hugo" +cd "${PREFIX_DIR}/apps/hugo/" +[[ -s current ]] && sudo unlink current +sudo ln -s "${VERSION}" current + +cd ${BIN_DIR} +[[ -L ${BIN_DIR}/hugo ]] || sudo ln --symbolic "${PREFIX_DIR}/apps/hugo/current/hugo" + +if [[ $TMP_DIR != "" ]]; then + rm -rf "${TMP_DIR}" + echo removed up temp directory "${TMP_DIR}" +fi