From a8497f7436ef800137be60cf37a6907ba06b928e Mon Sep 17 00:00:00 2001
From: Greg Frost <gregfrost1@bigpond.com>
Date: Sun, 19 Jul 2009 13:58:05 +0930
Subject: runit-scripts: tidy lirc run script

---
 abs/core-testing/runit-scripts/PKGBUILD            |  2 +-
 .../runit-scripts/runitscripts/services/lircd/run  | 90 ++++++++++------------
 2 files changed, 43 insertions(+), 49 deletions(-)

diff --git a/abs/core-testing/runit-scripts/PKGBUILD b/abs/core-testing/runit-scripts/PKGBUILD
index 7fe22bf..4c84b82 100755
--- a/abs/core-testing/runit-scripts/PKGBUILD
+++ b/abs/core-testing/runit-scripts/PKGBUILD
@@ -1,6 +1,6 @@
 pkgname=runit-scripts
 pkgver=1.8.0
-pkgrel=91
+pkgrel=92
 pkgdesc="collection of startup scripts for runit"
 url="http://smarden.org/runit/"
 license="BSD"
diff --git a/abs/core-testing/runit-scripts/runitscripts/services/lircd/run b/abs/core-testing/runit-scripts/runitscripts/services/lircd/run
index 6d67537..3473fa6 100755
--- a/abs/core-testing/runit-scripts/runitscripts/services/lircd/run
+++ b/abs/core-testing/runit-scripts/runitscripts/services/lircd/run
@@ -1,26 +1,32 @@
 #!/bin/bash
+
 exec 2>&1
 export TERM=linux
+
 . /etc/rc.conf
 . /etc/rc.d/functions
 
 #since what we do may not be enough
 #if your one of those people, this is where you place your stuff
+
 LOG=/tmp/lirc.log
+
 if [ -f $LOG ]
 then
-	rm -f $LOG
+    rm -f $LOG
 fi
+
 if [ -f /etc/runit/lirc.sh ]
 then
     #program must not terminate.
 
-	stat_runit "Starting lirc"
+    stat_runit "Starting lirc"
 	
     /etc/runit/lirc.sh
 else
     . /etc/systemconfig
     stat_runit "Starting lirc"
+
     [ -e /etc/sv/lircd/.runtime ] || mkdir -p /etc/sv/lircd/.runtime
 
     function dvico_detect {
@@ -35,15 +41,26 @@ else
     num_lirc=`ls -la /dev/lirc[0-9] 2>/dev/null |wc -l `
     num_lirc=$((num_lirc-1))
 
-    #/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
+    serial_port=""
+
     if [ x$ReceiverType = xSerial ]
     then
-        case $ReceiverSerialport in
+        serial_port=$ReceiverSerialport
+    elid [ 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"
+               FLAGS="io=0x3f8  irq=4"
                ;;
         ttyS1)
                FLAGS="io=0x2f8  irq=3"
@@ -52,81 +69,58 @@ else
                FLAGS="io=0x3e8  irq=4"
                ;;
         ttyS3)
-               FLAGS="io=0x2f8  irq=3"
+               FLAGS="io=0x2e8  irq=3"
                ;;
         esac
-        /usr/bin/setserial /dev/$ReceiverSerialport uart none
-	sleep  .5
+        /usr/bin/setserial /dev/serial_port uart none
+	sleep 0.5
         /sbin/modprobe lirc_serial $FLAGS
-	sleep .5
-    elif [ x$HostBlasterType = xSerial ]
-    then
-            case $HostSerialPort_blasterlirc in
-            ttyS0)
-                    FLAGS="io=0x3f8  irq=4"
-                   ;;
-            ttyS1)
-                   FLAGS="io=0x2f8  irq=3"
-                   ;;
-            ttyS2)
-                   FLAGS="io=0x3e8  irq=4"
-                   ;;
-            ttyS3)
-                   FLAGS="io=0x2f8  irq=3"
-                   ;;
-            esac
-            /usr/bin/setserial /dev/$ReceiverSerialport uart none
-            sleep .5
-           /sbin/modprobe lirc_serial $FLAGS
-           sleep .5
+	sleep 0.5
     fi
 
     dvico_detect
+
     if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ]
     then
         CMD="/usr/sbin/lircd -n  --driver=commandir"
 	printhl "	Using commandir"
         $CMD >>$LOG 2>>$LOG
-   elif [  x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ]
-   then
+    elif [  x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ]
+    then
 	sv start igdaemon
         CMD="/usr/sbin/lircd -n  --driver=iguanaIR"
 	printhl "       Using iguanaIR usb"
         $CMD >>$LOG 2>>$LOG
     else
         LASTCMD=""
+
         for i in `seq 1 $num_lirc`
         do
             CMD="/usr/sbin/lircd -d /dev/lirc$i --output=/dev/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i"
-#            echo $CMD
 	    printhl "	Device $i"
             $CMD >>$LOG 2>>$LOG
             LASTCMD="--connect=localhost:876$i   $LASTCMD    "
         done
+
         if [ $RunDvico = "true" -a $num_lirc -lt 0 ]
         then
-	        #only run dvicio
-	        LCMD="/usr/sbin/lircd -n -d /dev/usb/dvicoIR --driver=dvico  --output /dev/lircd"
-	    #      echo $LCMD
-		printhl "	Device Dvicio"
-		
-	        exec $LCMD >>$LOG 2>>$LOG
+	    #only run Dvico
+	    LCMD="/usr/sbin/lircd -n -d /dev/usb/dvicoIR --driver=dvico  --output /dev/lircd"
+	    printhl "	Device Dvicio"
+	    exec $LCMD >>$LOG 2>>$LOG
         elif [ $RunDvico = true -a $num_lirc -gt -1  ]
         then
-            #chain them together
+            # Chain them together.
             i=$((i+1))
             CMD="/usr/sbin/lircd -d /dev/usb/dvicoIR --driver=dvico  --output=/dev/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i"
-    #        echo $CMD
             $CMD >> $LOG
             LASTCMD="--connect=localhost:876$i   $LASTCMD    "
-		printhl "	Device Dvicio"
+	    printhl "	Device Dvicio"
 		
             /usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd  $LASTCMD  >>$LOG 2>>$LOG
         else
-        LCMD="/usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd  $LASTCMD"
-    #       echo $LCMD
-        
-        exec $LCMD >>$LOG 2>>$LOG
+            LCMD="/usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd  $LASTCMD"
+            exec $LCMD >>$LOG 2>>$LOG
         fi
     fi
 fi
-- 
cgit v0.12

