NextionDriverInstaller/install.sh

163 lines
4.5 KiB
Bash
Raw Normal View History

2018-09-27 22:19:00 +02:00
#!/bin/bash
#########################################################
# #
# NextionDriver installer #
# #
# (c)2018 by ON7LDS #
# #
# V1.00 #
# #
#########################################################
if [ "$(which gcc)" = "" ]; then echo "- I need gcc. Please install it." exit; fi
if [ "$(which git)" = "" ]; then echo "- I need git. Please install it." exit; fi
echo "+ Getting NextionDriver ..."
cd /tmp
rm -rf /tmp/NextionDriver
git clone https://github.com/on7lds/NextionDriver.git;
cd /tmp/NextionDriver
if [ "$(pwd)" != "/tmp/NextionDriver" ]; then echo "- Getting NextionDriver failed. Cannot continue."; exit; fi
#########################################################
THISVERSION=$(cat NextionDriver.h | grep VERSION | sed "s/.*VERSION //" | sed 's/"//g')
TV=$(echo $THISVERSION | sed 's/\.//')
ND=$(which NextionDriver)
PISTAR=$(if [ -f /etc/pistar-release ];then echo "OK"; fi)
MMDVM=$(which MMDVMHost)
BINDIR=$(echo "$MMDVM" | sed "s/MMDVMHost//")
CONFIGFILE="MMDVM.ini"
CONFIGDIR="/etc"
MMDVMSTART="service mmdvmhost restart"
#########################################################
compileer () {
echo "+ Compiling ..."
make &>> /tmp/compileer.log
RESULT=$?
if [ "$RESULT" != "0" ]; then
echo ""
echo "-------------------------------"
echo "Compiling NextionDriver failed."
echo " (you could check errorlog"
echo " /tmp/compileer.log)"
echo "Cannot continue ..."
echo " S O R R Y"
echo "-------------------------------"
echo ""
exit
fi
}
checkversion () {
NV=$(NextionDriver -V | grep version | sed 's/^.*version //' | sed 's/\.//')
if [ "$NV" != "$TV" ]; then
echo ""
echo "- It seems we failed."
echo "- ($NV != $V)"
echo "- Sorry."
echo ""
exit
fi
}
helpfiles () {
echo "+ Copying groups and users files"
cp /tmp/NextionDriverInstaller/groups.txt $CONFIGDIR
cp /tmp/NextionDriverInstaller/stripped.csv $CONFIGDIR
}
herstart () {
echo -e "\n+ To test if it all works as expected,"
echo -n "+ we will reboot this hotspot, OK (Y,n) ? "
x=""
while [ "$x" != "n" ]; do
read -n 1 x; while read -n 1 -t .1 y; do x="$x$y"; done
# echo -n "[$x]"
if [ "$x" = "" ]; then reboot; fi
if [ "$x" = "y" ]; then reboot; fi
if [ "$x" = "Y" ]; then reboot; fi
if [ "$x" = "N" ]; then x="n"; fi
done
echo -e "\n\n+ OK, not rebooting. Trying to start mmdvmhost.\n\n"
$MMDVMSTART
}
if [ "$EUID" -ne 0 ]
then echo "- Please run as root"
exit
fi
if [ "$PISTAR" = "OK" ]; then
sudo mount -o remount,rw / ; sudo mount -o remount,rw /boot
CONFIGFILE="mmdvmhost"
CONFIGDIR="/etc/"
MMDVMSTART="service mmdvmhost restart"
else
echo ""
echo "- This is not a Pi-Star."
echo "- At this moment, I cannot yet automaticly install NextionDriver"
echo ""
echo "- Sorry."
echo ""
exit
fi
if [ "$MMDVM" = "" ]; then
echo ""
echo "- No MMDVMHost found,"
echo "- so why would you install NextionDriver ?"
echo "- Cannot continue"
echo ""
echo "- Sorry."
echo ""
exit
fi
########## Check for Install ##########
if [ "$ND" = "" ]; then
echo "+ No NextionDriver found, trying to install one."
compileer
service mmdvmhost stop
killall -q -I MMDVMHost
cp NextionDriver $BINDIR
echo "+ Check version :"
NextionDriver -V
checkversion
helpfiles
echo -e "+ NextionDriver installed\n"
echo -e "+ -----------------------------------------------"
echo -e "+ We will now start the configuration program ...\n"
./NextionDriver_ConvertConfig $CONFIGDIR$CONFIGFILE
herstart
exit
fi
########## Check for Update ##########
VERSIE=$($ND -V | grep version | sed "s/^.*version //")
V=$(echo $VERSIE | sed 's/\.//')
echo "+ NextionDriver $VERSIE found at $ND"
echo "+ We are version $THISVERSION"
if [ $TV -gt $V ]; then
echo "+ Start Update"
compileer
service mmdvmhost stop
killall -q -I MMDVMHost
cp NextionDriver $BINDIR
echo -e "\n+ Check version"
NextionDriver -V
checkversion
helpfiles
echo -e "\n+ NextionDriver updated\n"
herstart
else
echo -e "\n- No need to update.\n"
exit
fi