diff --git a/init/Makefile b/init/Makefile index 821d4ddf..3b093cd1 100644 --- a/init/Makefile +++ b/init/Makefile @@ -41,11 +41,13 @@ make_dirs: fi soft_copy_files: - if [ -f /etc/rc.local ] ; then \ - echo "/etc/rc.local left unmodified" ; \ + if [ -f /etc/systemd/system/rv.service ] ; then \ + echo "/etc/systemd/system/rv.service left unmodified" ; \ else \ - cp rc.local /etc; \ + cp rv.service /etc/systemd/system; \ fi + systemctl enable rv.service + chmod +x pi_run.sh if [ -f /etc/netsender.conf ] ; then \ echo "/etc/netsender.conf left unmodified" ; \ else \ @@ -54,11 +56,12 @@ soft_copy_files: fi hard_copy_files: - if [ -f /etc/rc.local ] ; then \ - echo "Backed up rc.local to /etc/rc.local.bak" ; \ - cp /etc/rc.local /etc/rc.local.bak ; \ + if [ -f /etc/systemd/system/rv.service ] ; then \ + echo "/etc/systemd/system/rv.service overwritten" ; \ fi - cp -f rc.local /etc + cp -f rv.service /etc/systemd/system + systemctl enable rv.service + chmod +x pi_run.sh if [ -f /etc/netsender.conf ] ; then \ echo "Backed up netsender.conf to /etc/netsender.conf.bak"; \ cp /etc/netsender.conf /etc/netsender.conf.bak ; \ @@ -76,6 +79,6 @@ syncreboot: clean: as_root rm -rf /var/netsender rm -rf /var/log/netsender - rm -rf /etc/rc.local + rm -rf /etc/systemd/system/rv.service rm -rf /etc/netsender.conf @echo "Clean complete" diff --git a/init/rc.local b/init/pi_run.sh similarity index 80% rename from init/rc.local rename to init/pi_run.sh index 11aa983e..22e69769 100644 --- a/init/rc.local +++ b/init/pi_run.sh @@ -1,6 +1,5 @@ #!/bin/sh -e -# /etc/rc.local -# This script launches rv at boot time +# This script launches rv on a pi, intended to run at boot time. RVPATH=/home/pi/go/src/bitbucket.org/ausocean/av/cmd/rv @@ -35,5 +34,12 @@ GOPATH=$HOME/go RVPATH=$GOPATH/src/bitbucket.org/ausocean/av/cmd/rv PATH=$PATH:/usr/local/go/bin:$RVPATH cd $RVPATH -sudo -u pi HOME=$HOME GOPATH=$GOPATH PATH=$PATH ./rv & -exit 0 +sudo -u pi HOME=$HOME GOPATH=$GOPATH PATH=$PATH ./rv +if [ $? -eq 0 ] +then + echo "Successfully exited rv" + exit 0 +else + echo "rv exited with code: $?" >&2 + exit 1 +fi diff --git a/init/rv.service b/init/rv.service new file mode 100644 index 00000000..818bcc86 --- /dev/null +++ b/init/rv.service @@ -0,0 +1,10 @@ +[Unit] +Description=Netsender Client for Media Collection and Forwarding + +[Service] +Type=simple +ExecStart=/home/pi/go/src/bitbucket.org/ausocean/av/init/pi_run.sh +Restart=on-failure + +[Install] +WantedBy=multi-user.target \ No newline at end of file