#!/bin/sh ### BEGIN INIT INFO # Provides: acpid # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # X-Start-Before: kdm gdm3 xdm lightdm # X-Stop-After: kdm gdm3 xdm lightdm # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Start the Advanced Configuration and Power Interface daemon # Description: Provide a socket for X11, hald and others to multiplex # kernel ACPI events. ### END INIT INFO set -e global ACPID := '"/usr/sbin/acpid'" global DEFAULTS := '"/etc/default/acpid'" # Check for daemon presence test -x $ACPID || exit 0 global OPTIONS := ''"" global MODULES := ''"" # Include acpid defaults if available test -r $DEFAULTS && source "$DEFAULTS" # Get lsb functions source /lib/lsb/init-functions # As the name says. If the kernel supports modules, it'll try to load # the ones listed in "MODULES". proc load_modules { test -f /proc/modules || return 0 if test $MODULES = "all" { global MODULES := $[sed -rn 's#^(/lib/modules/[^/]+/)?kernel/(drivers|ubuntu)/acpi/([^/]+/)*(.*)\.ko:.*#\4#p' "/lib/modules/$[uname -r]/modules.dep] } if test -z $MODULES { return } log_begin_msg "Loading ACPI kernel modules..." # work around a bug in initramfs which leaks this env var Launchpad #291619 # and a bug in modprobe --all --quiet which doesn't load all modules and # exits with non-zero exit status Debian #504088 unset MODPROBE_OPTIONS modprobe --all --use-blacklist $MODULES !2 >/dev/null log_end_msg $Status } matchstr $1 { start { load_modules || true log_begin_msg "Starting ACPI services..." start-stop-daemon --start --quiet --oknodo --exec $ACPID -- $OPTIONS log_end_msg $Status } stop { log_begin_msg "Stopping ACPI services..." start-stop-daemon --stop --quiet --oknodo --retry 2 --exec $ACPID log_end_msg $Status } restart { $0 stop sleep 1 $0 start } reload|force-reload { log_begin_msg "Reloading ACPI services..." start-stop-daemon --stop --signal 1 --exec $ACPID log_end_msg $Status } status { status_of_proc $ACPID acpid } * { log_success_msg "Usage: /etc/init.d/acpid {start|stop|restart|reload|force-reload|status}" exit 1 } } (CommandList children: [ (C {(set)} {(-e)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ACPID) op:Equal rhs:{(DQ (/usr/sbin/acpid))} spids:[45])] spids: [45] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEFAULTS) op: Equal rhs: {(DQ (/etc/default/acpid))} spids: [50] ) ] spids: [50] ) (AndOr children: [ (C {(Lit_Other "[")} {(-x)} {(DQ ($ VSub_Name "$ACPID"))} {(Lit_Other "]")}) (C {(exit)} {(0)}) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTIONS) op:Equal rhs:{(DQ )} spids:[76])] spids: [76] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MODULES) op:Equal rhs:{(DQ )} spids:[80])] spids: [80] ) (AndOr children: [ (C {(Lit_Other "[")} {(-r)} {(DQ ($ VSub_Name "$DEFAULTS"))} {(Lit_Other "]")}) (C {(.)} {(DQ ($ VSub_Name "$DEFAULTS"))}) ] op_id: Op_DAmp ) (C {(.)} {(/lib/lsb/init-functions)}) (FuncDef name: load_modules body: (BraceGroup children: [ (AndOr children: [ (C {(Lit_Other "[")} {(-f)} {(/proc/modules)} {(Lit_Other "]")}) (ControlFlow token: arg_word:{(0)}) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$MODULES"))} {(Lit_Other "=")} {(DQ (all))} {(Lit_Other "]")} ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MODULES) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-rn)} { (SQ < "s#^(/lib/modules/[^/]+/)?kernel/(drivers|ubuntu)/acpi/([^/]+/)*(.*)\\.ko:.*#\\4#p" > ) } { (DQ (/lib/modules/) (CommandSubPart command_list: (CommandList children: [(C {(uname)} {(-r)})] ) left_token: spids: [175 179] ) (/modules.dep) ) } ) ] ) left_token: spids: [164 182] ) ) } spids: [162] ) ] spids: [162] ) ] spids: [-1 159] ) ] spids: [-1 186] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$MODULES"))} {(Lit_Other "]")}) terminator: ) ] action: [(ControlFlow token:)] spids: [-1 203] ) ] spids: [-1 209] ) (C {(log_begin_msg)} {(DQ ("Loading ACPI kernel modules..."))}) (C {(unset)} {(MODPROBE_OPTIONS)}) (SimpleCommand words: [{(modprobe)} {(--all)} {(--use-blacklist)} {($ VSub_Name "$MODULES")}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[245])] ) (C {(log_end_msg)} {($ VSub_QMark "$?")}) ] spids: [124] ) spids: [120 123] ) (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list: [{(start)}] action: [ (AndOr children:[(C {(load_modules)})(C {(true)})] op_id:Op_DPipe) (C {(log_begin_msg)} {(DQ ("Starting ACPI services..."))}) (C {(start-stop-daemon)} {(--start)} {(--quiet)} {(--oknodo)} {(--exec)} {(DQ ($ VSub_Name "$ACPID"))} {(--)} {($ VSub_Name "$OPTIONS")} ) (C {(log_end_msg)} {($ VSub_QMark "$?")}) ] spids: [265 266 307 -1] ) (case_arm pat_list: [{(stop)}] action: [ (C {(log_begin_msg)} {(DQ ("Stopping ACPI services..."))}) (C {(start-stop-daemon)} {(--stop)} {(--quiet)} {(--oknodo)} {(--retry)} {(2)} {(--exec)} {(DQ ($ VSub_Name "$ACPID"))} ) (C {(log_end_msg)} {($ VSub_QMark "$?")}) ] spids: [310 311 345 -1] ) (case_arm pat_list: [{(restart)}] action: [ (C {($ VSub_Number "$0")} {(stop)}) (C {(sleep)} {(1)}) (C {($ VSub_Number "$0")} {(start)}) ] spids: [348 349 367 -1] ) (case_arm pat_list: [{(reload)} {(force-reload)}] action: [ (C {(log_begin_msg)} {(DQ ("Reloading ACPI services..."))}) (C {(start-stop-daemon)} {(--stop)} {(--signal)} {(1)} {(--exec)} {(DQ ($ VSub_Name "$ACPID"))}) (C {(log_end_msg)} {($ VSub_QMark "$?")}) ] spids: [370 373 404 -1] ) (case_arm pat_list: [{(status)}] action: [(C {(status_of_proc)} {(DQ ($ VSub_Name "$ACPID"))} {(acpid)})] spids: [407 408 420 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(log_success_msg)} {(DQ ("Usage: /etc/init.d/acpid {start|stop|restart|reload|force-reload|status}"))} ) (C {(exit)} {(1)}) ] spids: [423 424 -1 438] ) ] spids: [256 262 438] ) ] )