Cleaned script up to be a little more readable

This commit is contained in:
Ben Fogt 2018-12-13 20:36:33 -06:00
parent e515bd67fa
commit 581cf78167

View File

@ -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 "------------------------------------------------------------------------------"