blob: 05afcb062edd86fc714ad23ced7a47813eda7d38 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
#! /bin/sh
#
# This is an init script for Debian.
# Copy it to /etc/init.d/lirc and type
# > update-rc.d lirc defaults 20
#
# default configuration
DEVICE="/dev/lirc0"
DRIVER="default"
LOAD_MODULES=true
MODULES="lirc_dev lirc_serial"
LIRCD="/usr/sbin/lircd"
LIRCD_ARGS="--permission=666"
#LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD="/usr/sbin/lircd"
#LIRCMD_CONF="/etc/lirc/lircmd.conf"
START_LIRCD=true
START_LIRCMD=true
# load configuration if any
if [ -f /etc/default/lirc ] ; then
. /etc/default/lirc
fi
[ ! -n "$LIRCD_CONF" ] && LIRCD_CONF="/etc/lirc/lircd.conf"
[ ! -n "$LIRCMD_CONF" ] && LIRCMD_CONF="/etc/lirc/lircmd.conf"
# functions
load_modules ()
{
local MODULES_MISSING=false
for mod in $*
do
modprobe -k $mod 2> /dev/null || MODULES_MISSING=true
done
if $MODULES_MISSING; then
echo "#####################################################"
echo "## I couldn't load the required kernel modules ##"
echo "## You should install lirc-modules-source to build ##"
echo "## kernel support for your hardware. ##"
echo "#####################################################"
echo "## If this message is not appropriate you may set ##"
echo "## LOAD_MODULES=false in /etc/default/lirc ##"
echo "#####################################################"
START_LIRCMD=false
START_LIRCD=false
fi
}
build_args ()
{
local ARGS="$*"
if [ -n "$DEVICE" ] && [ "$DEVICE" != "none" ]; then
if [ -d /dev/lirc ] && [ "$DEVICE" = "/dev/lirc" ];then
#new device names
DEVICE="/dev/lirc/0"
fi
ARGS="--device=$DEVICE $ARGS"
fi
if [ -n "$DRIVER" ] && [ "$DRIVER" != "none" ]; then
ARGS="--driver=$DRIVER $ARGS"
fi
echo $ARGS
}
# test
test -f $LIRCD || exit 0
test -f $LIRCMD || exit 0
if [ ! -f $LIRCD_CONF ] || grep -q "^#UNCONFIGURED" $LIRCD_CONF ; then
if [ "$1" = "start" ] ; then
echo "##################################################"
echo "## LIRC IS NOT CONFIGURED ##"
echo "## ##"
echo "## read /usr/share/doc/lirc/html/configure.html ##"
echo "##################################################"
fi
START_LIRCD=false
START_LIRCMD=false
fi
if [ ! -f $LIRCMD_CONF ] || grep -q "^#UNCONFIGURED" $LIRCMD_CONF ; then
START_LIRCMD=false
fi
# run
case "$1" in
start)
if $LOAD_MODULES && $START_LIRCD ; then
load_modules $MODULES
fi
if $START_LIRCD ; then
echo -n "Starting lirc daemon: lircd"
LIRCD_ARGS=`build_args $LIRCD_ARGS`
start-stop-daemon --start --quiet --exec $LIRCD -- $LIRCD_ARGS $LIRCD_CONF < /dev/null
fi
if $START_LIRCMD ; then
echo -n " lircmd"
start-stop-daemon --start --quiet --exec $LIRCMD -- $LIRCMD_CONF < /dev/null
fi
echo "."
;;
stop)
echo -n "Stopping lirc daemon: lircmd"
start-stop-daemon --stop --quiet --exec $LIRCMD
echo -n " lircd"
start-stop-daemon --stop --quiet --exec $LIRCD
echo "."
;;
reload|force-reload)
start-stop-daemon --stop --quiet --signal 1 --exec $LIRCD
start-stop-daemon --stop --quiet --signal 1 --exec $LIRCMD
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}"
exit 1
;;
esac
exit 0
|