summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xabs/core/runit-scripts/PKGBUILD2
-rwxr-xr-xabs/core/runit-scripts/runit.install13
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/lircd/finish23
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/lircd/run163
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/remotes/finish8
-rwxr-xr-xabs/core/runit-scripts/runitscripts/services/remotes/run173
6 files changed, 100 insertions, 282 deletions
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