]> git.pld-linux.org Git - packages/acpid.git/blob - acpid.init
- make those options configurable via variables whose default we likely want to change
[packages/acpid.git] / acpid.init
1 #!/bin/sh
2 #
3 # acpid         Starts the acpi daemon
4 #
5 # chkconfig:    345 44 56
6 # description:  Listen and dispatch ACPI events from the kernel
7 # processname:  acpid
8 #
9 # pidfile:      /var/run/acpid.pid
10
11 # Check for ACPI event-file support on kernel side
12 [ -r /proc/acpi/event ] || exit 0
13
14 # Source function library.
15 . /etc/rc.d/init.d/functions
16
17 # Initial values (just in case):
18 LAPTOP_MODULES=""
19 VARIOUS_MODULES=""
20 ASUS_LAPTOP=""
21 TOSHIBA_LAPTOP=""
22 MODULES=""
23
24 # Configuration file.
25 . /etc/sysconfig/acpid
26
27 # As the name says. If the kernel supports modules,
28 # it'll try to load the ones listed in "MODULES".
29 load_modules() {
30         [ -f /proc/modules ] || return 0
31
32         if [ "$MODULES" = "all" ]; then
33                 MODULES=$(sed -rn 's#^kernel/(drivers/acpi|drivers/misc/.*_acpi)/([^/]+/)*(.*)\.ko\.gz:.*#\3#p' /lib/modules/$(uname -r)/modules.dep)
34         else
35                 # assemble from old lists
36                 MODULES="$MODULES $LAPTOP_MODULES"
37                 MODULES="$MODULES $VARIOUS_MODULES"
38                 if is_yes "$ASUS_LAPTOP"; then
39                         MODULES="$MODULES asus_acpi"
40                 fi
41                 if is_yes "$TOSHIBA_LAPTOP"; then
42                         MODULES="$MODULES toshiba_acpi"
43                 fi
44                 if is_yes "$IBM_LAPTOP"; then
45                         MODULES="$MODULES ibm_acpi"
46                 fi
47                 # strip spaces
48                 MODULES=$(echo ${MODULES})
49         fi
50
51         if [ -z "$MODULES" ]; then
52                 return
53         fi
54
55         show "Loading ACPI modules..."; busy
56         modprobe --all $MODULES && ok || fail
57 }
58
59 # Start daemons.
60 start() {
61         if [ -f /var/lock/subsys/acpid ]; then
62                 msg_already_running "ACPI Event Daemon"
63                 return
64         fi
65
66         load_modules
67
68         if is_yes "$NETLINK"; then
69                 PROGRAM_ARGS="$PROGRAM_ARGS -n"
70         fi
71         if [ "$CLIENTMAX" ]; then
72                 PROGRAM_ARGS="$PROGRAM_ARGS -C $CLIENTMAX"
73         fi
74
75         # starting:
76         msg_starting "ACPI Event Daemon"
77         daemon /usr/sbin/acpid $PROGRAM_ARGS
78         RETVAL=$?
79         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/acpid
80 }
81
82 # Stop daemons.
83 stop() {
84         if [ ! -f /var/lock/subsys/acpid ]; then
85                 msg_not_running "ACPI Event Daemon"
86                 return
87         fi
88
89         msg_stopping "ACPI Event Daemon"
90         killproc acpid
91         rm -f /var/lock/subsys/acpid >/dev/null 2>&1
92 }
93
94 condrestart() {
95         if [ ! -f /var/lock/subsys/acpid ]; then
96                 msg_not_running "ACPI Event Daemon"
97                 RETVAL=$1
98                 return
99         fi
100
101         stop
102         start
103 }
104
105 RETVAL=0
106 # See how we were called.
107 case "$1" in
108   start)
109         start
110         ;;
111   stop)
112         stop
113         ;;
114   restart)
115         stop
116         start
117         ;;
118   try-restart)
119         condrestart 0
120         ;;
121   reload|force-reload)
122         if [ -f /var/lock/subsys/acpid ]; then
123                 msg_reloading "ACPI Event Daemon"
124                 killproc acpid -HUP
125                 RETVAL=$?
126         else
127                 msg_not_running "ACPI Event Daemon"
128                 exit 7
129         fi
130         ;;
131   status)
132         status acpid
133         ;;
134   *)
135         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
136         exit 3
137 esac
138
139 exit $RETVAL
This page took 0.087903 seconds and 3 git commands to generate.