diff --git a/install.sh b/install.sh index 10956d8..5c9f639 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