From 581cf7816780362a2b928d87acfce18245f98ab0 Mon Sep 17 00:00:00 2001 From: Ben Fogt Date: Thu, 13 Dec 2018 20:36:33 -0600 Subject: [PATCH] Cleaned script up to be a little more readable --- YSFReflector-debian-installer | 78 +++++++++++++++++------------------ 1 file changed, 37 insertions(+), 41 deletions(-) diff --git a/YSFReflector-debian-installer b/YSFReflector-debian-installer index 2ec9219..a0ad498 100755 --- a/YSFReflector-debian-installer +++ b/YSFReflector-debian-installer @@ -8,26 +8,25 @@ # systemctl status ysfreflector #Lets begin------------------------------------------------------------------------------------------------- WHO=$(whoami) -#Have to be ROOT to run this script if [ "$WHO" != "root" ] then echo "" echo "You Must be root to run this script!!" exit 0 fi -#Has to be a Debian variant. if [ ! -e "/etc/debian_version" ] then echo "" echo "This script is only tested in Debian 8,9 and x64 cpu Arch. for now." - #echo "This script is only tested in Debian 8,9 and Raspian Stretch for now." exit 0 fi -#Gather variables. DIRDIR=$(pwd) -#Asking for user input and validating.... -echo "------------------------------------------------------------------------------" +YSFREPO=https://github.com/g4klx/YSFClients.git +DEP="wget git build-essential" +YSFINSTDIR=/root/reflector-install-files/ysfreflector +YSFAPPDIR=/ysfreflector echo "" +echo "------------------------------------------------------------------------------" read -p "What will the name of your reflector be? 16 Characters MAX, this includes spaces. " YSFNAME YSFNAMEC=$(expr length "$YSFNAME") until [ $YSFNAMEC -le 16 ] @@ -44,39 +43,38 @@ do read -p "What is the description? 14 Characters MAX, this includes spaces. " YSFDESC YSFDESCC=$(expr length "$YSFDESC") done - -#Install dependicies echo "" +echo "------------------------------------------------------------------------------" echo "Installing required software... " -apt-get -y install wget -apt-get -y install git -apt-get -y install build-essential +apt-get -y install $DEP #Make Directories echo "" echo "Creating YSF directories... " -mkdir -p /root/reflector-install-files -mkdir -p /root/reflector-install-files/ysfreflector -mkdir -p /ysfreflector +mkdir -p $YSFINSTDIR +mkdir -p $YSFAPPDIR #If the file is here already, then we dont need to compile on top of it. Remove the git clone directory and start over. -if [ -e /root/reflector-install-files/ysfreflector/YSFClients/YSFReflector/YSFReflector ] +if [ -e $YSFINSTDIR/YSFClients/YSFReflector/YSFReflector ] then echo "" echo "It looks like you have already compiled YSFReflector. If you want to install it again, delete the directory '/root/YSFReflector-install-files' and run this script again. " exit 0 else echo "" + echo "------------------------------------------------------------------------------" echo "Downloading and compiling YSFReflector... " - cd /root/reflector-install-files/ysfreflector - git clone https://github.com/g4klx/YSFClients.git - cd /root/reflector-install-files/ysfreflector/YSFClients/YSFReflector + echo "------------------------------------------------------------------------------" + cd $YSFINSTDIR + git clone $YSFREPO + cd $YSFINSTDIR/YSFClients/YSFReflector make clean all fi #Now the file should be there, if it compiled correctly. -if [ -e /root/reflector-install-files/ysfreflector/YSFClients/YSFReflector/YSFReflector ] +if [ -e $YSFINSTDIR/YSFClients/YSFReflector/YSFReflector ] then - echo "------------------------------------------------------------------------------" + echo "" echo "It looks like everything compiled successfully. There is a 'YSFReflector' application file. " + echo "------------------------------------------------------------------------------" else echo "------------------------------------------------------------------------------" echo "UH OH!! I dont see the YSFReflector application file after attempting to compile. The output above is the only indication as to why it might have failed. To Try again Remove '/root/reflector-install-files'. " @@ -85,35 +83,33 @@ fi #Copying over files. echo "" -echo "Copying files over to the executable directory.... " -cp /root/reflector-install-files/ysfreflector/YSFClients/YSFReflector/YSFReflector /ysfreflector -cp /root/reflector-install-files/ysfreflector/YSFClients/YSFReflector/YSFReflector.ini /ysfreflector - -#Updating the ini file -echo "" -echo "Updating ini file in /YSFReflector. " -sed -i "s/16[ ]*characters[ ]*max/$YSFNAME/g" /ysfreflector/YSFReflector.ini -sed -i "s/14[ ]*characters[ ]*max/$YSFDESC/g" /ysfreflector/YSFReflector.ini -sed -i "s/FilePath=./FilePath=\/var\/log\/YSFReflector\//g" /ysfreflector/YSFReflector.ini - -#Creating mmdvm user that is apparently required for this to run. I assume this can be changed if someone knows C before compiling it. +echo "Copying files over to the executable directory...... " +cp $YSFINSTDIR/YSFClients/YSFReflector/YSFReflector $YSFAPPDIR +cp $YSFINSTDIR/YSFClients/YSFReflector/YSFReflector.ini $YSFAPPDIR +echo "Updating ini file in /YSFReflector...... " +sed -i "s/16[ ]*characters[ ]*max/$YSFNAME/g" $YSFAPPDIR/YSFReflector.ini +sed -i "s/14[ ]*characters[ ]*max/$YSFDESC/g" $YSFAPPDIR/YSFReflector.ini +sed -i "s/FilePath=./FilePath=\/var\/log\/YSFReflector\//g" $YSFAPPDIR/YSFReflector.ini groupadd mmdvm useradd mmdvm -g mmdvm -s /sbin/nologin mkdir -p /var/log/YSFReflector chown mmdvm: /var/log/YSFReflector -#Copying over systemd unit file -echo "------------------------------------------------------------------------------" -echo "Copying ysfrelfector to systemd... " +echo "Copying ysfrelfector to systemd...... " cp $DIRDIR/templates/ysfreflector.service /etc/systemd/system systemctl daemon-reload -echo "------------------------------------------------------------------------------" -echo "This concludes the install of YSFReflector..... " +echo "" +echo "" +echo "******************************************************************************" +echo "" +echo " This concludes the install of YSFReflector..... " +echo "" +echo "******************************************************************************" +echo "" echo "Remember to register your YSF Reflector at https://register.ysfreflector.de/register. " echo "" echo "" -echo "YSFReflector is installed and ready to use: " -echo "To start YSFReflector, run: 'systemctl start ysfreflector' " +echo " To start YSFReflector: 'systemctl start ysfreflector' " +echo "" +echo " To stop YSFReflector: 'systemctl stop ysfreflector' " echo "" -echo "To stop YSFReflector: 'systemctl stop ysfreflector' " echo "------------------------------------------------------------------------------" -