Репозиторий Sisyphus
Последнее обновление: 16 октября 2019 | Пакетов: 17499 | Посещений: 15272249
en ru br
Репозитории ALT
S:3.2.2-alt8
5.1: 3.2.2-alt5
4.1: 3.2.2-alt2
4.0: 3.2.2-alt2
3.0: 3.2.2-alt1
www.altlinux.org/Changes

Группа :: Система/Серверы
Пакет: apmd

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

#!/bin/sh
#
# apmd_proxy - program dispatcher for APM daemon
#
# Written by Craig Markwardt (craigm@lheamail.gsfc.nasa.gov) 21 May 1999
# Modified for Debian by Avery Pennarun
# Modified for ALT Linux by Dmitry V. Levin
#
# This shell script is called by the APM daemon (apmd) when a power
# management event occurs. Its first and second arguments describe the
# event. For example, apmd will call "apmd_proxy suspend system" just
# before the system is suspended.
#
# Here are the possible arguments:
#
# start - APM daemon has started
# stop - APM daemon is shutting down
# suspend critical - APM system indicates critical suspend (++)
# suspend system - APM system has requested suspend mode
# suspend user - User has requested suspend mode
# standby system - APM system has requested standby mode
# standby user - User has requested standby mode
# resume suspend - System has resumed from suspend mode
# resume standby - System has resumed from standby mode
# resume critical - System has resumed from critical suspend
# change battery - APM system reported low battery
# change power - APM system reported AC/battery change
# change time - APM system reported time change (*)
# change capability - APM system reported config. change (+)
#
# (*) - APM daemon may be configured to not call these sequences
# (+) - Available if APM kernel supports it.
# (++) - "suspend critical" is never passed to apmd from the kernel,
# so we will never see it here. Scripts that process "resume
# critical" events need to take this into account.
#
# It is the proxy script's responsibility to examine the APM status
# (via /proc/apm) or other status and to take appropriate actions.
# For example, the script might unmount network drives before the
# machine is suspended.
#
# In ALT Linux, the usual way of adding functionality to the proxy is
# to add a script to /etc/apm/event.d. This script will be called by
# apmd_proxy (via run-parts) with the same arguments.
#
# If it is important that a certain set of script be run in a certain
# order on suspend and in a different order on resume, then put all
# the scripts in /etc/apm/scripts.d instead of /etc/apm/event.d and
# symlink to these from /etc/apm/suspend.d, /etc/apm/resume.d and
# /etc/apm/other.d using names whose lexicographical order is the same
# as the desired order of execution.
#
# If the kernel's APM driver supports it, apmd_proxy can return a non-zero
# exit status on suspend and standby events, indicating that the suspend
# or standby event should be rejected.
#
# *******************************************************************

set -e

# The following doesn't yet work, because current kernels (up to at least
# 2.4.20) do not support rejection of APM events. Supporting this would
# require substantial modifications to the APM driver. We will re-enable
# this feature if the driver is ever modified. -- cph@debian.org

SUSPEND_ON_AC=true
APMD_CONF=/etc/apm/apmd
[ -s "$APMD_CONF" ] && . "$APMD_CONF" ||:

if [ "$SUSPEND_ON_AC" = "false" -a "$2" = "system" ] \
&& on_ac_power >/dev/null; then
# Reject system suspends and standbys if we are on AC power
exit 1 # Reject (NOTE kernel support must be enabled)
fi

if [ "$1" = "suspend" -o "$1" = "standby" ]; then
run-parts /etc/apm/event.d "$@"
if [ -d /etc/apm/suspend.d ]; then
run-parts /etc/apm/suspend.d "$@"
fi
elif [ "$1" = "resume" ]; then
if [ -d /etc/apm/resume.d ]; then
run-parts /etc/apm/resume.d "$@"
fi
run-parts /etc/apm/event.d "$@"
else
run-parts /etc/apm/event.d "$@"
if [ -d /etc/apm/other.d ]; then
run-parts /etc/apm/other.d "$@"
fi
fi

exit 0
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin