mirror of
https://github.com/n5amd/NextionDriverInstaller.git
synced 2025-12-06 03:42:00 +01:00
163 lines
4.5 KiB
Bash
163 lines
4.5 KiB
Bash
|
|
#!/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
|