From 9a303f31cba2f320a41a3a00e8cfd64e0259dbfe Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Mon, 23 Apr 2012 12:46:30 -0500
Subject: runit-scripts: replace lircd with remotes

---
 abs/core/runit-scripts/PKGBUILD                    |   2 +-
 abs/core/runit-scripts/runit.install               |  13 +-
 .../runitscripts/services/lircd/finish             |  23 ---
 .../runit-scripts/runitscripts/services/lircd/run  | 163 -------------------
 .../runitscripts/services/remotes/finish           |   8 +-
 .../runitscripts/services/remotes/run              | 173 ++++++++++-----------
 6 files changed, 100 insertions(+), 282 deletions(-)
 delete mode 100755 abs/core/runit-scripts/runitscripts/services/lircd/finish
 delete mode 100755 abs/core/runit-scripts/runitscripts/services/lircd/run

diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD
index b368cd0..da205a5 100755
--- a/abs/core/runit-scripts/PKGBUILD
+++ b/abs/core/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=runit-scripts
 pkgver=2.1.1
-pkgrel=58
+pkgrel=59
 pkgdesc="collection of startup scripts for runit"
 url="http://smarden.org/runit/"
 license="BSD"
diff --git a/abs/core/runit-scripts/runit.install b/abs/core/runit-scripts/runit.install
index 2f9cf90..213d10f 100755
--- a/abs/core/runit-scripts/runit.install
+++ b/abs/core/runit-scripts/runit.install
@@ -3,7 +3,7 @@
 post_install () {
  
   [ -e /service ] ||  mkdir /service
-  servicelist="acpid cron frontend lircd ntpd alsa-utils avahi dbus sshd rsyslog tty2 tty3"
+  servicelist="acpid cron frontend remotes ntpd alsa-utils avahi dbus sshd rsyslog tty2 tty3"
   for i in $servicelist
   do
    ln -s /etc/sv/$i /service/$i
@@ -43,6 +43,17 @@ post_upgrade(){
 	  
   fi
 
+  if [ -e /service/lircd ]
+  then
+      /sbin/sv stop lircd
+      /sbin/remove_service.sh lircd
+      /sbin/add_service.sh remotes
+  fi
+
+  if [ -e /etc/sv/lircd ]
+  then
+      rm -r /etc/sv/lircd
+  fi
 	 
 }
 
diff --git a/abs/core/runit-scripts/runitscripts/services/lircd/finish b/abs/core/runit-scripts/runitscripts/services/lircd/finish
deleted file mode 100755
index f6d8b95..0000000
--- a/abs/core/runit-scripts/runitscripts/services/lircd/finish
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-export TERM=linux
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /usr/MythVantage/bin/install_functions.sh
-
-killall -9 lircd 2>/dev/null
-rm -f /var/run/lirc*.pid
-[ -e /etc/sv/lircd/.runtime ] || mkdir -p /etc/sv/lircd/.runtime
-touch /etc/sv/lircd/.runtime/`date +%s`
-numfiles=`/usr/bin/file_time_offset.py   -s4 -d/etc/sv/lircd/.runtime `
-if [ $numfiles -gt 3 ]
-then
-	 rm -f /etc/sv/lircd/.runtime/* 2>/dev/null
-	 sv stop lircd
-	 printhl "    lircd is not able to start, disabling it"
-fi
-
-
-
-
-
- in_kernel_support "enable"
\ No newline at end of file
diff --git a/abs/core/runit-scripts/runitscripts/services/lircd/run b/abs/core/runit-scripts/runitscripts/services/lircd/run
deleted file mode 100755
index 93d9585..0000000
--- a/abs/core/runit-scripts/runitscripts/services/lircd/run
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/bin/bash
-
-exec 2>&1
-export TERM=linux
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /usr/MythVantage/bin/install_functions.sh
-
-LOG=/tmp/lirc.log
-
-if [ -f $LOG ]
-then
-    rm -f $LOG
-fi
-
-
-
-
-
-
-
-
-#since what we do may not be enough
-#if your one of those people, this is where you place your stuff
-#This means place your lirc stuff in /etc/runit/lirc.sh.
-#Anything in that file will be used and the rest of this file is ignored
-
-if [ -f /etc/runit/lirc.sh ]
-then
-    #program must not terminate.
-
-    stat_runit "Starting lirc"
-
-    /etc/runit/lirc.sh
-else
-    . /etc/systemconfig
-    stat_runit "Starting lirc"
-
-    in_kernel_support "disable"
-
-    [ -e /etc/sv/lircd/.runtime ] || mkdir -p /etc/sv/lircd/.runtime
-    [ -e /var/run/lirc ] || mkdir -p /var/run/lirc
-
-    function dvico_detect {
-        if [[ x$Remotetype = xdvico* ]] || [ x$Remotetype = "xDvico-Dual-Digital4-rev2" ]
-        then
-            RunDvico=true
-        else
-            RunDvico=false
-        fi
-    }
-
-    num_lirc=`ls -la /dev/lirc[0-9] 2>/dev/null |wc -l `
-    num_lirc=$((num_lirc-1))
-
-    serial_port=""
-
-    if [ x$ReceiverType = xSerial ]
-    then
-        serial_port=$ReceiverSerialport
-    elif [ x$HostBlasterType = xSerial ]
-    then
-        serial_port=$HostSerialPort_blasterlirc
-    fi
-
-    if [ -n "$serial_port" ]
-    then
-        #/dev/ttyS0 (COM1), port 0x3f8, irq 4
-        #/dev/ttyS1 (COM2), port 0x2f8, irq 3
-        #/dev/ttyS2 (COM3), port 0x3e8, irq 4
-        #/dev/ttyS3 (COM4), port 0x2e8, irq 3
-
-        case $serial_port in
-        ttyS0)
-               FLAGS="io=0x3f8  irq=4"
-               ;;
-        ttyS1)
-               FLAGS="io=0x2f8  irq=3"
-               ;;
-        ttyS2)
-               FLAGS="io=0x3e8  irq=4"
-               ;;
-        ttyS3)
-               FLAGS="io=0x2e8  irq=3"
-               ;;
-        esac
-        /usr/bin/setserial /dev/$serial_port uart none
-        sleep 0.5
-        /sbin/modprobe lirc_serial $FLAGS
-        sleep 0.5
-    fi
-
-    dvico_detect
-
-    if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ]
-    then
-        CMD="/usr/sbin/lircd -r -n  --driver=commandir"
-        printhl "   Using commandir"
-        $CMD >>$LOG 2>>$LOG
-        #echo $CMD
-    elif [  x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ]
-    then
-        sv start igdaemon
-        CMD="/usr/sbin/lircd -r -n  --driver=iguanaIR"
-        printhl "       Using iguanaIR usb"
-        #echo $CMD
-        $CMD >>$LOG 2>>$LOG
-
-    elif [ x$ReceiverType = "xSiliconDust_HDHR" ]
-    then
-        # if using the SiliconDust_HDHR as an I/R Receiver
-        printhl "   Using SiliconDust on port 5000"
-        CMD="/usr/sbin/lircd -H udp -d 5000 -n"
-        exec $CMD >>$LOG 2>>$LOG
-    else
-        LASTCMD=""
-
-        for i in `seq 1 $num_lirc`
-        do
-            CMD="/usr/sbin/lircd -r -d /dev/lirc$i --output=/var/run/lirc/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i"
-            printhl "   Device $i"
-            #echo $CMD
-            $CMD >>$LOG 2>>$LOG
-            LASTCMD="--connect=localhost:876$i   $LASTCMD    "
-        done
-
-        if [ $RunDvico = "true" ]
-        then
-            if [[ x$Remotetype = xdvico* ]]
-            then
-                LCMD="/usr/sbin/lircd -r -n -d /dev/remotes/dvicoIR --driver=dvico  --output /var/run/lirc/lircd"
-            else
-                LCMD="/usr/sbin/lircd -r -n -d /dev/remotes/dvicoDualDigital4 --driver=devinput  --output /var/run/lirc/lircd"
-            fi
-
-            if [ $num_lirc -lt 0 ]
-            then
-                # Only run Dvico
-                printhl "   Device $Remotetype"
-                #echo $LCMD
-                exec $LCMD >>$LOG 2>>$LOG
-            elif [ $num_lirc -gt -1  ]
-            then
-                i=$((i+1))
-                CMD="$LCMD --output=/var/run/lirc/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i"
-                $CMD >> $LOG
-                LASTCMD="--connect=localhost:876$i   $LASTCMD    "
-                printhl "   Device Dvico"
-                /usr/sbin/lircd -r -n -d /dev/lirc0 --output /var/run/lirc/lircd  $LASTCMD  >>$LOG 2>>$LOG
-            fi
-        elif [[ x$Remotetype = ximon* ]]
-        then
-            /usr/bin/ir-keytable -c -p lirc -w /etc/rc_keymaps/imon_pad
-            LCMD="/usr/sbin/lircd -r -n --driver devinput -d /dev/remotes/SoundGraph --output /var/run/lirc/lircd"
-            exec $LCMD >>$LOG 2>>$LOG
-        else
-            LCMD="/usr/sbin/lircd -r -n -d /dev/lirc0 --output /var/run/lirc/lircd  $LASTCMD"
-            #echo $LCMD
-            exec $LCMD >>$LOG 2>>$LOG
-        fi
-    fi
-fi
diff --git a/abs/core/runit-scripts/runitscripts/services/remotes/finish b/abs/core/runit-scripts/runitscripts/services/remotes/finish
index ac04a33..c1a5554 100755
--- a/abs/core/runit-scripts/runitscripts/services/remotes/finish
+++ b/abs/core/runit-scripts/runitscripts/services/remotes/finish
@@ -4,6 +4,9 @@ export TERM=linux
 . /etc/rc.d/functions
 . /usr/MythVantage/bin/install_functions.sh
 
+LOG=/tmp/remotes.log
+echo "`date` --- finish started" >> $LOG
+
 killall -9 lircd 2>/dev/null
 rm -f /var/run/lirc*.pid
 [ -e /etc/sv/remotes/.runtime ] || mkdir -p /etc/sv/remotes/.runtime
@@ -12,10 +15,11 @@ numfiles=`/usr/bin/file_time_offset.py   -s4 -d/etc/sv/remotes/.runtime `
 if [ $numfiles -gt 3 ]
 then
 	 rm -f /etc/sv/remotes/.runtime/* 2>/dev/null
-	 sv stop remotes
+	 sv stop remotes >> $LOG
 	 printhl "    remotes is not able to start, disabling it"
+     echo "    remotes is not able to start, disabling it" >> $LOG
 fi
 
 
-
+echo "Enable in kernel remote driver" >> $LOG
 in_kernel_support "enable"
diff --git a/abs/core/runit-scripts/runitscripts/services/remotes/run b/abs/core/runit-scripts/runitscripts/services/remotes/run
index d32b09e..35d3f80 100755
--- a/abs/core/runit-scripts/runitscripts/services/remotes/run
+++ b/abs/core/runit-scripts/runitscripts/services/remotes/run
@@ -14,112 +14,101 @@ then
     rm -f $LOG
 fi
 
+echo "`date` --- run started" >> $LOG
 
 
+. /etc/systemconfig
+stat_runit "Starting remotes"
 
+[ -e /etc/sv/remotes/.runtime ] || mkdir -p /etc/sv/remotes/.runtime
+[ -e /var/run/lirc ] || mkdir -p /var/run/lirc
 
-#What is done in this file may not be enough to start your specific remote
-#If that is true of your remote place your remote startup commands in:
-# /etc/remotes.sh
-#Anything in that file will be used and the rest of this file is ignored
+num_lirc=`ls -la /dev/lirc[0-9] 2>/dev/null |wc -l `
+num_lirc=$((num_lirc-1))
 
-if [ -f /etc/remotes.sh ]
+serial_port=""
+
+if [ x$ReceiverType = xSerial ]
+then
+    serial_port=$ReceiverSerialport
+elif [ x$HostBlasterType = xSerial ]
 then
-    #program must not terminate.
+    serial_port=$HostSerialPort_blasterlirc
+fi
 
-    stat_runit "Starting remotes from /etc/remotes.sh"
+if [ -n "$serial_port" ]
+then
+    #/dev/ttyS0 (COM1), port 0x3f8, irq 4
+    #/dev/ttyS1 (COM2), port 0x2f8, irq 3
+    #/dev/ttyS2 (COM3), port 0x3e8, irq 4
+    #/dev/ttyS3 (COM4), port 0x2e8, irq 3
+
+    case $serial_port in
+    ttyS0)
+           FLAGS="io=0x3f8  irq=4"
+           ;;
+    ttyS1)
+           FLAGS="io=0x2f8  irq=3"
+           ;;
+    ttyS2)
+           FLAGS="io=0x3e8  irq=4"
+           ;;
+    ttyS3)
+           FLAGS="io=0x2e8  irq=3"
+           ;;
+    esac
+    /usr/bin/setserial /dev/$serial_port uart none
+    sleep 0.5
+    /sbin/modprobe lirc_serial $FLAGS
+    sleep 0.5
+fi
 
-    /etc/remotes.sh
+if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ]
+then
+    CMD="/usr/sbin/lircd -r -n  --driver=commandir"
+    printhl "   Using commandir"
+    echo $CMD >>$LOG
+    exec $CMD >>$LOG 2>>$LOG
+elif [ x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ]
+then
+    sv start igdaemon
+    CMD="/usr/sbin/lircd -r -n  --driver=iguanaIR"
+    printhl "       Using iguanaIR usb"
+    echo $CMD >>$LOG
+    exec $CMD >>$LOG 2>>$LOG
+elif [ x$ReceiverType = "xSiliconDust_HDHR" ]
+then
+    # if using the SiliconDust_HDHR as an I/R Receiver
+    CMD="/usr/sbin/lircd -H udp -d 5000 -n"
+    printhl "   Using SiliconDust on port 5000"
+    echo $CMD >>$LOG
+    exec $CMD >>$LOG 2>>$LOG
 else
-    . /etc/systemconfig
-    stat_runit "Starting remotes"
-
-    [ -e /etc/sv/remotes/.runtime ] || mkdir -p /etc/sv/remotes/.runtime
-    [ -e /var/run/lirc ] || mkdir -p /var/run/lirc
-
-    num_lirc=`ls -la /dev/lirc[0-9] 2>/dev/null |wc -l `
-    num_lirc=$((num_lirc-1))
+    LASTCMD=""
 
-    serial_port=""
+    for i in `seq 1 $num_lirc`
+    do
+        CMD="/usr/sbin/lircd -r -d /dev/lirc$i --output=/var/run/lirc/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i"
+        printhl "   Device $i"
+        echo $CMD >>$LOG
+        exec $CMD >>$LOG 2>>$LOG
+        LASTCMD="--connect=localhost:876$i   $LASTCMD    "
+    done
 
-    if [ x$ReceiverType = xSerial ]
-    then
-        serial_port=$ReceiverSerialport
-    elif [ x$HostBlasterType = xSerial ]
-    then
-        serial_port=$HostSerialPort_blasterlirc
-    fi
+    echo $LASTCMD >>$LOG
 
-    if [ -n "$serial_port" ]
+    if [ -f /etc/remote.run ]
     then
-        #/dev/ttyS0 (COM1), port 0x3f8, irq 4
-        #/dev/ttyS1 (COM2), port 0x2f8, irq 3
-        #/dev/ttyS2 (COM3), port 0x3e8, irq 4
-        #/dev/ttyS3 (COM4), port 0x2e8, irq 3
-
-        case $serial_port in
-        ttyS0)
-               FLAGS="io=0x3f8  irq=4"
-               ;;
-        ttyS1)
-               FLAGS="io=0x2f8  irq=3"
-               ;;
-        ttyS2)
-               FLAGS="io=0x3e8  irq=4"
-               ;;
-        ttyS3)
-               FLAGS="io=0x2e8  irq=3"
-               ;;
-        esac
-        /usr/bin/setserial /dev/$serial_port uart none
-        sleep 0.5
-        /sbin/modprobe lirc_serial $FLAGS
-        sleep 0.5
-    fi
+        #program must not terminate.
 
-    if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ]
-    then
-        CMD="/usr/sbin/lircd -r -n  --driver=commandir"
-        printhl "   Using commandir"
-        $CMD >>$LOG 2>>$LOG
-        #echo $CMD
-    elif [ x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ]
-    then
-        sv start igdaemon
-        CMD="/usr/sbin/lircd -r -n  --driver=iguanaIR"
-        printhl "       Using iguanaIR usb"
-        #echo $CMD
-        $CMD >>$LOG 2>>$LOG
-    elif [ x$ReceiverType = "xSiliconDust_HDHR" ]
-    then
-        # if using the SiliconDust_HDHR as an I/R Receiver
-        printhl "   Using SiliconDust on port 5000"
-        CMD="/usr/sbin/lircd -H udp -d 5000 -n"
-        exec $CMD >>$LOG 2>>$LOG
+        stat_runit "Starting remotes from /etc/remote.run"
+        echo "Starting remotes from /etc/remote.run" >>$LOG
+        exec /etc/remote.run    $LASTCMD >>$LOG 2>>$LOG
     else
-        LASTCMD=""
-
-        for i in `seq 1 $num_lirc`
-        do
-            CMD="/usr/sbin/lircd -r -d /dev/lirc$i --output=/var/run/lirc/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i"
-            printhl "   Device $i"
-            #echo $CMD
-            $CMD >>$LOG 2>>$LOG
-            LASTCMD="--connect=localhost:876$i   $LASTCMD    "
-        done
-
-        if [ -f /etc/remote.run ]
-        then
-            #program must not terminate.
-
-            stat_runit "Starting remotes from /etc/remote.run"
-
-            /etc/remote.run
-        else
-            in_kernel_support "disable"
-            LCMD="/usr/sbin/lircd -r -n -d /dev/lirc0 --output /var/run/lirc/lircd  $LASTCMD"
-            #echo $LCMD
-            exec $LCMD >>$LOG 2>>$LOG
-        fi
+        echo "Disable in kernel remote driver" >>$LOG
+        in_kernel_support "disable"
+        LCMD="/usr/sbin/lircd -r -n -d /dev/lirc0 --output /var/run/lirc/lircd  $LASTCMD"
+        echo $LCMD >>$LOG
+        exec $LCMD >>$LOG 2>>$LOG
     fi
 fi
-- 
cgit v0.12

