summaryrefslogtreecommitdiffstats
path: root/abs
diff options
context:
space:
mode:
Diffstat (limited to 'abs')
-rwxr-xr-xabs/core/runit-scripts/PKGBUILD2
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/remotes/run186
2 files changed, 101 insertions, 87 deletions
diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD
index 9357169..48e469d 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=62
+pkgrel=63
pkgdesc="collection of startup scripts for runit"
url="http://smarden.org/runit/"
license="BSD"
diff --git a/abs/core/runit-scripts/runitscripts/services/remotes/run b/abs/core/runit-scripts/runitscripts/services/remotes/run
index 9d46b0e..0943a8e 100755
--- a/abs/core/runit-scripts/runitscripts/services/remotes/run
+++ b/abs/core/runit-scripts/runitscripts/services/remotes/run
@@ -17,99 +17,113 @@ 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/runit/lirc.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))
-
-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
-
-if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ]
-then
- CMD="/usr/sbin/lircd -r -n --driver=commandir"
- printhl " Using commandir"
- echo $CMD >>$LOG
- $CMD >>$LOG 2>>$LOG
-elif [ x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ]
+if [ -f /etc/runit/lirc.sh ]
then
- sv start igdaemon
- CMD="/usr/sbin/lircd -r -n --driver=iguanaIR"
- printhl " Using iguanaIR usb"
- echo $CMD >>$LOG
- $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
- $CMD >>$LOG 2>>$LOG
+ #program must not terminate.
+ stat_runit "Starting remotes from /etc/runit/lirc.sh"
+ echo "Starting remotes from /etc/runit/lirc.sh" >>$LOG
+ /etc/runit/lirc.sh
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"
+ . /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))
+
+ 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
+
+ if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ]
+ then
+ CMD="/usr/sbin/lircd -r -n --driver=commandir"
+ printhl " Using commandir"
echo $CMD >>$LOG
$CMD >>$LOG 2>>$LOG
- LASTCMD="--connect=localhost:876$i $LASTCMD "
- done
-
- echo $LASTCMD >>$LOG
-
- if [ -f /etc/remote.run ]
+ elif [ x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ]
then
- #program must not terminate.
-
- stat_runit "Starting remotes from /etc/remote.run"
- LCMD="/etc/remote.run $LASTCMD"
- echo "Starting remotes from $LCMD" >>$LOG
- exec $LCMD >>$LOG 2>>$LOG
+ sv start igdaemon
+ CMD="/usr/sbin/lircd -r -n --driver=iguanaIR"
+ printhl " Using iguanaIR usb"
+ echo $CMD >>$LOG
+ $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
+ $CMD >>$LOG 2>>$LOG
else
- 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 "Starting remotes from $LCMD" >>$LOG
- exec $LCMD >>$LOG 2>>$LOG
+ 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 >>$LOG
+ $CMD >>$LOG 2>>$LOG
+ LASTCMD="--connect=localhost:876$i $LASTCMD "
+ done
+
+ echo $LASTCMD >>$LOG
+
+ if [ -f /etc/remote.run ]
+ then
+ #program must not terminate.
+
+ stat_runit "Starting remotes from /etc/remote.run"
+ LCMD="/etc/remote.run $LASTCMD"
+ echo "Starting remotes from $LCMD" >>$LOG
+ exec $LCMD >>$LOG 2>>$LOG
+ else
+ 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 "Starting remotes from $LCMD" >>$LOG
+ exec $LCMD >>$LOG 2>>$LOG
+ fi
fi
fi