Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.2
apcupsd
apcupsd-pm-utils.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File apcupsd-pm-utils.patch of Package apcupsd
--- platforms/apccontrol.in +++ platforms/apccontrol.in @@ -20,7 +20,7 @@ APCPID=@PIDDIR@/apcupsd.pid APCUPSD=@sbindir@/apcupsd -HIBERNATE="/usr/bin/systemctl hibernate" +HIBERNATE=/usr/sbin/pm-hibernate SHUTDOWN=@SHUTDOWN@ SCRIPTSHELL=@SCRIPTSHELL@ SCRIPTDIR=@sysconfdir@ --- README.SUSE +++ README.SUSE @@ -1,22 +1,14 @@ Advanced apcupsd configuration -WARNING for hybrid sleep (suspend to both) - -Hybrid sleep works properly only on human operated desktop systems. - -Do not use hybrid sleep on machines that need to automatically turn on -after power outage! If the power returns while the computer sleeps but -before battery goes out of power, the UPS has no way to wake the device. - - Suspend to disk If you want to configure nut to do suspend to disk instead of shutdown you should: +- You need pm-utils package installed. - Verify, that suspend to disk works correctly on your machine, - e. g. by systemctl hibernate + e. g. by pm-hibernate (You can lose your unsaved data, if your computer does not hibernate correctly.) - Verify, that your UPS provides reasonable grace period to complete --- apcupsd.hibernate +++ apcupsd.hibernate @@ -1,15 +1,24 @@ #!/bin/bash +. $PM_UTILS_LIBDIR/functions -# Always stop apcupsd before sleep, but do not initiate powerdown for hybrid-sleep. -if [ "$1" = pre ] && ( [ "$2" = hibernate ] || [ "$2" = hybrid-sleep ] ) ; then - /sbin/service apcupsd.service stop -fi -if [ "$1" = pre ] && [ "$2" = hibernate ] ; then - # FIXME: All hibernate quirks are called in parallel. To be on a safest side, we should initiate powerdown grace period when they terminate. - sleep 5 - /etc/apcupsd/apccontrol killpower -fi -if [ "$1" = post ] && ( [ "$2" = hibernate ] || [ "$2" = hybrid-sleep ] ) ; then - /sbin/service apcupsd.service start -fi +case "$1" in + hibernate) + if test -f @PWRFAILDIR@/powerfail ; then + /etc/init.d/apcupsd stop + # Stopping of daemon typically needs at least 3 sec. + sleep 10 + /etc/init.d/apcupsd powerdown + fi + ;; + thaw) + # powerfail exists => apcupsd was running before hibernation + if test -f @PWRFAILDIR@/powerfail ; then + /etc/init.d/apcupsd start + fi + ;; + *) + ;; +esac + +exit 0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor