From ac9205a0bb4dbdec03639891985e664ac5515f1f Mon Sep 17 00:00:00 2001 From: Joe Carstairs Date: Sun, 8 Jun 2025 08:31:04 +0100 Subject: [PATCH] refactor install.sh --- install.sh | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/install.sh b/install.sh index 10956d8..e4c8979 100755 --- a/install.sh +++ b/install.sh @@ -1,12 +1,51 @@ #!/bin/sh -set -eux -cd ${LIB_DIR:-/lib} -sudo git clone https://git.joeac.net/joeac/joeac.net.git -cd joeac.net -sudo chmod +x uninstall.sh update_and_restart.sh restart.sh -sudo echo << EOF >> ${CRONTABS_DIR:-/etc/cron.d}/joeacnet +install_prerequisite_software () +{ + if [[ -n "$(which git)" ]] + then + echo "Git is already installed." + elif [[ -n "$(which apk)" ]] + then + apk update + apk add git + elif [[ -n "$(which apt-get)" ]] + then + apt-get update + apt-get install git + elif [[ -n "$(which dnf)" ]] + then + dnf install git + elif [[ -n "$(which yum)" ]] + then + yum install git + elif [[ -n "$(which pacman)" ]] + then + pacman -S git + else + echo "Could not install Git: could not identify package manager." + exit 1 + fi +} + +clone_repository () +{ + cd ${LIB_DIR:-/lib} + git clone https://git.joeac.net/joeac/joeac.net.git + cd joeac.net + chmod +x uninstall.sh update_and_restart.sh restart.sh +} + +add_cron_services () +{ + echo <<- EOF > ${CRONTABS_DIR:-/etc/cron.d}/joeacnet @reboot ${LIB_DIR:-/lib}/joeac.net/restart.sh 10 * * * * ${LIB_DIR:-/lib}/joeac.net/update_and_restart.sh EOF +} + +set -eux +install_prerequisite_software +clone_repository +add_cron_services ./restart.sh