From e20d3bcf0e8944bbaa2140e45707f22f08234add Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Thu, 21 Apr 2011 09:53:37 +0200 Subject: debian/apt.cron.daily: Check power after wait, patch by manuel-soto (LP: #705269) --- debian/apt.cron.daily | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) (limited to 'debian/apt.cron.daily') diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily index 75986f5f5..69f97a36b 100644 --- a/debian/apt.cron.daily +++ b/debian/apt.cron.daily @@ -305,6 +305,26 @@ debug_echo() fi } +check_power(){ + # laptop check, on_ac_power returns: + # 0 (true) System is on main power + # 1 (false) System is not on main power + # 255 (false) Power status could not be determined + # Desktop systems always return 255 it seems + if which on_ac_power >/dev/null; then + on_ac_power + POWER=$? + if [ $POWER -eq 1 ]; then + debug_echo "exit: system NOT on main power" + return 1 + elif [ $POWER -ne 0 ]; then + debug_echo "power status ($POWER) undetermined, continuing" + fi + debug_echo "system is on main power." + fi + return 0 +} + # ------------------------ main ---------------------------- # Backup the 7 last versions of APT's extended_states file @@ -350,22 +370,7 @@ if [ "$VERBOSE" -ge 3 ]; then set -x fi -# laptop check, on_ac_power returns: -# 0 (true) System is on main power -# 1 (false) System is not on main power -# 255 (false) Power status could not be determined -# Desktop systems always return 255 it seems -if which on_ac_power >/dev/null; then - on_ac_power - POWER=$? - if [ $POWER -eq 1 ]; then - debug_echo "exit: system NOT on main power" - exit 0 - elif [ $POWER -ne 0 ]; then - debug_echo "power status ($POWER) undetermined, continuing" - fi - debug_echo "system is on main power." -fi +check_power || exit 0 # check if we can lock the cache and if the cache is clean if which apt-get >/dev/null && ! eval apt-get check -f $XAPTOPT $XSTDERR ; then @@ -416,6 +421,7 @@ do_cache_backup $BackupArchiveInterval # sleep random amount of time to avoid hitting the # mirrors at the same time random_sleep +check_power || exit 0 # include default system language so that "apt-get update" will # fetch the right translated package descriptions -- cgit v1.2.3