This file is indexed.

/usr/share/acpi-support/policy-funcs is in acpi-support-base 0.142-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
. /usr/share/acpi-support/power-funcs

CheckUPowerPolicy() {
	pidof upowerd > /dev/null
}

# The (not very aptly named) function CheckPolicy checks if the current X
# console user is running a power management daemon that handles suspend/resume
# requests. This is used in various places to determine if we need to handle
# something ourselves or if we need to pass the info on to a power management
# daemon (e.g. through a fake key press).

CheckPolicy() {
	local PMS

	getXconsole
	PMS="/usr/bin/xfce4-power-manager /usr/bin/mate-power-manager /usr/lib/dalston/dalston-power-applet"
	pidof -x $PMS > /dev/null ||
        PowerDevilRunning ||
	GnomeSettingsDaemonPowerRunning
}

# Find a DBUS session bus, by looking at the given process' environment and
# then send a message to that bus. If multiple processes match the given name,
# the message is sent to all of the buses (and output is simply concatenated.
DBusSend() {
	# The process to get the DBUS session address from
	local PROC_NAME="$1"

	# Parameters for dbus-send
	local DEST="$2"
	local DBUS_PATH="$3"
	local METHOD="$4"

	local DBUS_SESS	
	getXuser
	if test "$XUSER" != "" && test -x /usr/bin/dbus-send; then
		serverpid=$(pgrep -n -u "$XUSER" "$PROC_NAME")
		if test "$serverpid" != ""; then
			DBUS_SESS=$(su - "$XUSER" -c "grep -a -z DBUS_SESSION_BUS_ADDRESS /proc/$serverpid/environ || :")
			if test "$DBUS_SESS" != "" && su - "$XUSER" -s /bin/sh -c "export \"$DBUS_SESS\"; dbus-send --print-reply --dest='$DEST' '$DBUS_PATH' '$METHOD'"; then
				return 0
			fi
		fi
	fi
}

# Check if systemd-logind will be able to call org.freedesktop.systemd1.Manager
# interface provided by systemd running as PID 1 or by systemd-shim
HasLogindAndSystemd1Manager() {
  pidof -x "/lib/systemd/systemd-logind" > /dev/null &&
  # shutdown.target used as a representative of power management calls class
  dbus-send --print-reply --system --type=method_call \
    --dest=org.freedesktop.systemd1 \
    /org/freedesktop/systemd1 \
    org.freedesktop.systemd1.Manager.GetUnitFileState string:shutdown.target \
    > /dev/null 2>&1
}

# Ask kde if the powerdevil module is loaded
PowerDevilRunning() {
	DBusSend kded4 org.kde.kded /kded org.kde.kded.loadedModules | grep -q powerdevil
}

# gnome-power-manager was integrated into gnome-settings-daemon from version
# 3.1.4, in a new Power plugin (though the handling of buttons is done in the
# MediaKeys plugin.
#
# gnome-settings-daemon does not export a list of loaded plugins, but
# fortunately the Power plugin does have its own Dbus interface we can check
# for (We can't check the MediaKeys plugin, since that has been around for
# longer).
GnomeSettingsDaemonPowerRunning() {
	# only check for gnome-settings- instead of gnome-settings-daemon
	# because /proc/<pid>/stat only lists the first 15 characters
	DBusSend gnome-settings- org.gnome.SettingsDaemon /org/gnome/SettingsDaemon/Power org.freedesktop.DBus.Introspectable.Introspect | grep -q 'interface name="org.gnome.SettingsDaemon.Power"'
}