diff --git a/setup.sh b/setup.sh index cca7545..9e9af37 100755 --- a/setup.sh +++ b/setup.sh @@ -1,4 +1,6 @@ #!/bin/bash +SCRIPT=$(readlink -f "$0") +BASEDIR=$(dirname "$SCRIPT") if [[ $(whoami) -ne 'root' ]]; then echo "Must run as root!" @@ -8,7 +10,7 @@ fi apt-get -y install rpi-update git build-essential python-dev python-smbus python-pip logrotate echo "Installing logrotate config..." -cp silvia-pi-logrotate /etc/logrotate.d +cp $BASEDIR/silvia-pi-logrotate /etc/logrotate.d echo "Installing Adafruit GPIO library..." cd ~ @@ -28,12 +30,16 @@ git clone https://github.com/ivmech/ivPID.git cp ~/ivPID/PID.py ~/silvia-pi/ echo "Installing remaining python libraries..." -pip install --upgrade -r requirements.txt - -echo "Adding entry to /etc/rc.local" -cp /etc/rc.local /etc/rc.local.bak -cat /etc/rc.local | sed 's|^exit 0$|/root/silvia-pi/silvia-pi.py > /root/silvia-pi/silvia-pi.log 2>\&1 \&\n\nexit 0|g' > /etc/rc.local.new -mv /etc/rc.local.new /etc/rc.local -chmod 755 /etc/rc.local +pip install --upgrade -r $BASEDIR/requirements.txt + +if ! grep silvia-pi.py /etc/rc.local; then + echo "Adding entry to /etc/rc.local" + cp /etc/rc.local /etc/rc.local.bak + cat /etc/rc.local | sed 's|^exit 0$|/root/silvia-pi/silvia-pi.py > /root/silvia-pi/silvia-pi.log 2>\&1 \&\n\nexit 0|g' > /etc/rc.local.new + mv /etc/rc.local.new /etc/rc.local + chmod 755 /etc/rc.local +else + echo "Skipping /etc/rc.local modification since entry already found" +fi echo "Installation complete. Please reboot."