add powermanagement and disk utils
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
def setup():
|
||||
# Drop man pages to regenerate them
|
||||
shelltools.unlink("man/*.[18]")
|
||||
|
||||
autotools.configure()
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
|
||||
# Install video quirks
|
||||
shelltools.copytree("../video-quirks", "%s/usr/lib/pm-utils" % get.installDIR())
|
||||
|
||||
# Create some initial directories
|
||||
for d in ("locks", "storage"):
|
||||
pisitools.dodir("/run/pm-utils/%s" % d)
|
||||
|
||||
pisitools.dodoc("COPYING", "ChangeLog", "AUTHORS")
|
||||
|
||||
# nm >=0.8.2 has native udev suspend/resume support
|
||||
pisitools.remove("/usr/lib/pm-utils/sleep.d/55NetworkManager")
|
||||
|
||||
# Remove hooks that cause hardware failure or don't make sense at all
|
||||
pisitools.remove("/usr/lib/pm-utils/power.d/harddrive")
|
||||
pisitools.remove("/usr/lib/pm-utils/power.d/disable_wol")
|
||||
@@ -0,0 +1,43 @@
|
||||
From 640b53438c20818b3e344343b58b1f1765606a85 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Pitt <martin.pitt@ubuntu.com>
|
||||
Date: Mon, 31 Jan 2011 15:30:01 +0100
|
||||
Subject: [PATCH] 49bluetooth: Wait for btusb module to get unused
|
||||
|
||||
The 49bluetooth hook disables /proc/acpi/ibm/bluetooth but this isn't
|
||||
synchronous, i. e. it doesn't wait until the module usage count actually drops
|
||||
to 0. Due to that, it's impossible to add btusb to SUSPEND_MODULES (on some
|
||||
models/older kernels you need to do that to fix suspend problems), as at that
|
||||
point the module is still in use.
|
||||
|
||||
On my system (ThinkPad X201) the module takes between 0.3 and 0.5 seconds to
|
||||
unload, so use 100 ms wait steps with a timeout of 2 seconds.
|
||||
|
||||
Bug: https://bugs.freedesktop.org//show_bug.cgi?id=33759
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/698331
|
||||
---
|
||||
pm/sleep.d/49bluetooth | 9 +++++++++
|
||||
1 files changed, 9 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/pm/sleep.d/49bluetooth b/pm/sleep.d/49bluetooth
|
||||
index d46ba49..0dc1909 100755
|
||||
--- a/pm/sleep.d/49bluetooth
|
||||
+++ b/pm/sleep.d/49bluetooth
|
||||
@@ -12,6 +12,15 @@ suspend_bluetooth()
|
||||
if grep -q enabled /proc/acpi/ibm/bluetooth; then
|
||||
savestate ibm_bluetooth enable
|
||||
echo disable > /proc/acpi/ibm/bluetooth
|
||||
+
|
||||
+ # wait for up to 2 seconds for the module to actually get
|
||||
+ # unused
|
||||
+ TIMEOUT=20
|
||||
+ while [ $TIMEOUT -ge 0 ]; do
|
||||
+ [ `cat /sys/module/btusb/refcnt` = 0 ] && break
|
||||
+ TIMEOUT=$((TIMEOUT-1))
|
||||
+ sleep 0.1
|
||||
+ done
|
||||
else
|
||||
savestate ibm_bluetooth disable
|
||||
fi
|
||||
--
|
||||
1.7.2.3
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
Description: Disable SATA link power management by default, as it still causes disk errors and corruptions on many hardware.
|
||||
Author: Martin Pitt <martin.pitt@ubuntu.com>
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/539467
|
||||
|
||||
Index: pm-utils/pm/power.d/sata_alpm
|
||||
===================================================================
|
||||
--- pm-utils.orig/pm/power.d/sata_alpm 2011-02-01 15:53:09.164867778 +0100
|
||||
+++ pm-utils/pm/power.d/sata_alpm 2011-02-01 15:53:28.954867786 +0100
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
. "${PM_FUNCTIONS}"
|
||||
|
||||
-SATA_ALPM_ENABLE=${SATA_ALPM_ENABLE:-true}
|
||||
+SATA_ALPM_ENABLE=${SATA_ALPM_ENABLE:-false}
|
||||
|
||||
help() {
|
||||
cat <<EOF
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
This hook has 1 parameter:
|
||||
SATA_ALPM_ENABLE = whether to use SATA ALPM on battery.
|
||||
-Defaults to "true".
|
||||
+Defaults to "false".
|
||||
|
||||
EOF
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
From: Florian Kriener <florian@kriener.org>
|
||||
To: submit@bugs.debian.org
|
||||
Subject: [pm-utils] wrong path in intel-audio-powersave (and a small bug)
|
||||
Date: Sat, 25 Sep 2010 11:27:30 +0200
|
||||
|
||||
In the script intel-audio-powersave is this loop
|
||||
|
||||
for dev in /sys/module/snd_*/parameters/power_save; do
|
||||
[ -w "$dev/parameters/power_save" ] || continue
|
||||
printf "Setting power savings for $s to %d..." "$dev##*/" "$1"
|
||||
echo $1 > "$dev/parameters/power_save" && echo Done. || echo Failed.
|
||||
done
|
||||
|
||||
I think it should be
|
||||
|
||||
for dev in /sys/module/snd_*; do
|
||||
[ -w "$dev/parameters/power_save" ] || continue
|
||||
printf "Setting power savings for %s to %d..." "${dev##*/}" "$1"
|
||||
echo $1 > "$dev/parameters/power_save" && echo Done. || echo Failed.
|
||||
done
|
||||
|
||||
|
||||
This fixes the two bugs.
|
||||
|
||||
diff --git a/pm/power.d/intel-audio-powersave b/pm/power.d/intel-audio-powersave
|
||||
index 36675a8..da63e40 100644
|
||||
--- a/pm/power.d/intel-audio-powersave
|
||||
+++ b/pm/power.d/intel-audio-powersave
|
||||
@@ -20,9 +20,9 @@ EOF
|
||||
|
||||
audio_powersave() {
|
||||
[ "$INTEL_AUDIO_POWERSAVE" = "true" ] || exit $NA
|
||||
- for dev in /sys/module/snd_*/parameters/power_save; do
|
||||
+ for dev in /sys/module/snd_*; do
|
||||
[ -w "$dev/parameters/power_save" ] || continue
|
||||
- printf "Setting power savings for $s to %d..." "$dev##*/" "$1"
|
||||
+ printf "Setting power savings for %s to %d..." "${dev##*/}" "$1"
|
||||
echo $1 > "$dev/parameters/power_save" && echo Done. || echo Failed.
|
||||
done
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
Author: James Westby <james.westby@ubuntu.com>
|
||||
Description: Do not clear the log file on each operation, but instead append to it.
|
||||
This makes debugging of several suspends much easier.
|
||||
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=25255
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/410352
|
||||
|
||||
Index: pm-utils/pm/pm-functions.in
|
||||
===================================================================
|
||||
--- pm-utils.orig/pm/pm-functions.in 2010-07-05 18:41:21.118322244 +0200
|
||||
+++ pm-utils/pm/pm-functions.in 2010-07-05 18:41:24.126325221 +0200
|
||||
@@ -271,7 +271,7 @@
|
||||
return 1
|
||||
fi
|
||||
export LOGGING=true
|
||||
- exec > "$1" 2>&1
|
||||
+ exec >> "$1" 2>&1
|
||||
}
|
||||
|
||||
check_suspend() { [ -n "$SUSPEND_MODULE" ]; }
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Check for and abort a hibernate if the kernel indicates it has been
|
||||
# updated, as we will be completly unable to resume.
|
||||
if [ "$1" = "hibernate" ] && [ -f "/run/do-not-hibernate" ]; then
|
||||
echo "kernel update inhibits hibernate (/run/do-not-hibernate present)"
|
||||
exit 1
|
||||
fi
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
# Launch plymouth daemon if necessary
|
||||
|
||||
. "${PM_FUNCTIONS}"
|
||||
|
||||
# Fail if no plymouthd
|
||||
command_exists plymouthd || exit $NA
|
||||
|
||||
# Check for splash parameter in /proc/cmdline
|
||||
grep -qw "splash" /proc/cmdline || exit $NA
|
||||
|
||||
launch_plymouthd()
|
||||
{
|
||||
/sbin/plymouthd --mode=suspend
|
||||
return 0
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
hibernate|suspend)
|
||||
launch_plymouthd
|
||||
;;
|
||||
*) exit $NA
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,71 @@
|
||||
#!/bin/bash
|
||||
# vim:noexpandtab
|
||||
#
|
||||
# Author: Till Maas <opensource till name>
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||
|
||||
source "${PM_FUNCTIONS}"
|
||||
source /etc/pm/config.d/hd-apm-restore.conf
|
||||
|
||||
HD_APM_DEVICES=""
|
||||
for udi in $(hal-find-by-capability --capability storage)
|
||||
do
|
||||
drive_type=$(hal-get-property --udi "${udi}" --key storage.drive_type)
|
||||
if [ "${drive_type}" == "disk" ]
|
||||
then
|
||||
HD_APM_DEVICES+="$(hal-get-property --udi "${udi}" --key block.device | sed 's,^/dev/,,') "
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
case "$1" in
|
||||
hibernate|suspend)
|
||||
for DEVICE in ${HD_APM_DEVICES}
|
||||
do
|
||||
HD_APM_FEATURE=$(hdparm -I "/dev/${DEVICE}" | grep "Advanced Power Management feature set")
|
||||
if [[ "${HD_APM_FEATURE}" != "" ]]
|
||||
then
|
||||
if (echo "${HD_APM_FEATURE}" | grep -q "*" )
|
||||
then
|
||||
HD_APM_LEVEL=$(hdparm -I "/dev/${DEVICE}" | grep "Advanced power management level" | cut -d" " -f 5)
|
||||
else
|
||||
HD_APM_LEVEL=255
|
||||
fi
|
||||
if [[ "${HD_APM_LEVEL}" != "unknown" ]]
|
||||
then
|
||||
echo "saving level ${HD_APM_LEVEL} for device ${DEVICE}"
|
||||
savestate "${DEVICE}" "${HD_APM_LEVEL}"
|
||||
else
|
||||
echo "Advanced Power Management value of device ${DEVICE} unknown"
|
||||
fi
|
||||
else
|
||||
echo "Advanced Power Management not supported by device ${DEVICE}."
|
||||
fi
|
||||
done
|
||||
;;
|
||||
thaw|resume)
|
||||
for DEVICE in ${HD_APM_DEVICES}
|
||||
do
|
||||
HD_APM_LEVEL=$(restorestate "${DEVICE}")
|
||||
if [[ "${HD_APM_LEVEL}" != "" ]]
|
||||
then
|
||||
echo "restoring level ${HD_APM_LEVEL} for device ${DEVICE}"
|
||||
hdparm -B "${HD_APM_LEVEL}" "/dev/${DEVICE}"
|
||||
fi
|
||||
done
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $?
|
||||
@@ -0,0 +1,26 @@
|
||||
Index: pm-utils-1.4.1/pm/module.d/uswsusp
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/pm/module.d/uswsusp
|
||||
+++ pm-utils-1.4.1/pm/module.d/uswsusp
|
||||
@@ -82,6 +82,7 @@ fi
|
||||
if [ -z "$HIBERNATE_MODULE" ] && \
|
||||
[ -f /sys/power/disk ] && \
|
||||
grep -q disk /sys/power/state && \
|
||||
+ grep -q "resume=" /proc/cmdline && \
|
||||
[ -c /dev/snapshot ] &&
|
||||
command_exists s2disk; then
|
||||
HIBERNATE_MODULE="uswsusp"
|
||||
Index: pm-utils-1.4.1/pm/pm-functions.in
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/pm/pm-functions.in
|
||||
+++ pm-utils-1.4.1/pm/pm-functions.in
|
||||
@@ -306,7 +306,8 @@ fi
|
||||
|
||||
if [ -z "$HIBERNATE_MODULE" ] && \
|
||||
[ -f /sys/power/disk ] && \
|
||||
- grep -q disk /sys/power/state; then
|
||||
+ grep -q disk /sys/power/state && \
|
||||
+ grep -q "resume=" /proc/cmdline; then
|
||||
HIBERNATE_MODULE="kernel"
|
||||
do_hibernate()
|
||||
{
|
||||
@@ -0,0 +1,99 @@
|
||||
Index: pm-utils-1.4.1/configure.ac
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/configure.ac
|
||||
+++ pm-utils-1.4.1/configure.ac
|
||||
@@ -41,7 +41,6 @@ man/Makefile
|
||||
src/Makefile
|
||||
pm/Makefile
|
||||
pm/sleep.d/Makefile
|
||||
-pm/power.d/Makefile
|
||||
pm/module.d/Makefile
|
||||
])
|
||||
|
||||
Index: pm-utils-1.4.1/man/Makefile.am
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/man/Makefile.am
|
||||
+++ pm-utils-1.4.1/man/Makefile.am
|
||||
@@ -2,7 +2,6 @@ pm_mans = \
|
||||
on_ac_power.1 \
|
||||
pm-is-supported.1 \
|
||||
pm-pmu.8 \
|
||||
- pm-powersave.8 \
|
||||
pm-action.8
|
||||
|
||||
if HAVE_XMLTO
|
||||
@@ -13,7 +12,6 @@ EXTRA_DIST = \
|
||||
on_ac_power.xml \
|
||||
pm-pmu.xml \
|
||||
pm-is-supported.xml \
|
||||
- pm-powersave.xml \
|
||||
pm-action.xml \
|
||||
$(pm_mans)
|
||||
|
||||
Index: pm-utils-1.4.1/pm/sleep.d/Makefile.am
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/pm/sleep.d/Makefile.am
|
||||
+++ pm-utils-1.4.1/pm/sleep.d/Makefile.am
|
||||
@@ -2,8 +2,7 @@ sleepdir = $(libdir)/pm-utils/sleep.d
|
||||
|
||||
sleep_SCRIPTS = \
|
||||
00logging \
|
||||
- 00powersave \
|
||||
- 01grub \
|
||||
+ 01grub \
|
||||
49bluetooth \
|
||||
55NetworkManager \
|
||||
75modules \
|
||||
Index: pm-utils-1.4.1/pm/Makefile.am
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/pm/Makefile.am
|
||||
+++ pm-utils-1.4.1/pm/Makefile.am
|
||||
@@ -1,6 +1,5 @@
|
||||
SUBDIRS = \
|
||||
sleep.d \
|
||||
- power.d \
|
||||
module.d
|
||||
|
||||
pm_libdir = $(libdir)/pm-utils
|
||||
Index: pm-utils-1.4.1/pm/HOWTO.hooks
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/pm/HOWTO.hooks
|
||||
+++ pm-utils-1.4.1/pm/HOWTO.hooks
|
||||
@@ -24,12 +24,6 @@ The actual sleep method being used will
|
||||
if your hook needs to handle suspend-hybrid (or any other platform-specific
|
||||
sleep method), it should examine the second parameter.
|
||||
|
||||
-For hooks in power.d, the potential values of that parameter are:
|
||||
-true -- the hook MUST perform whatever action is appropriate when the system
|
||||
- transitions TO battery power.
|
||||
-false -- The hook MUST perform whatever action is appropriate when the system
|
||||
- transitions FROM battery power.
|
||||
-
|
||||
NAMING SCHEME
|
||||
|
||||
All hooks are run in lexical sort order according to the C locale.
|
||||
@@ -44,8 +38,7 @@ Any other return code is interpreted by
|
||||
from the hook that it should abort whatever it is doing. When running sleep.d
|
||||
hooks, that means that pm-utils stops running hooks, aborts the suspend/resume
|
||||
process, calls any hooks that ran successfully prior to this one with the
|
||||
-appropriate wakeup options, and exits with a non-zero exit code. When running
|
||||
-power.d hooks, any hooks after this one will be skipped.
|
||||
+appropriate wakeup options, and exits with a non-zero exit code.
|
||||
|
||||
SLEEP.D SPECIFIC NOTES
|
||||
|
||||
Index: pm-utils-1.4.1/src/Makefile.am
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/src/Makefile.am
|
||||
+++ pm-utils-1.4.1/src/Makefile.am
|
||||
@@ -16,9 +16,7 @@ bin_SCRIPTS = pm-is-supported
|
||||
|
||||
dist_bin_SCRIPTS = on_ac_power
|
||||
|
||||
-sbin_SCRIPTS = pm-powersave
|
||||
-
|
||||
-script_in_files = pm-action.in pm-is-supported.in pm-powersave.in service
|
||||
+script_in_files = pm-action.in pm-is-supported.in service
|
||||
|
||||
CLEANFILES = $(script_in_files:.in=)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# Config file for hd-apm-restore hook
|
||||
|
||||
# Devices, where the hd apm value should be restored, separated by space
|
||||
#HD_APM_DEVICES="sda"
|
||||
|
||||
# Use this to overwrite a value for a device in case hdparm reports
|
||||
# "unknown value" for the apm level. This is ignored when hdparm
|
||||
# returns an other value.
|
||||
#savestate sda 192
|
||||
#savestate sdb 192
|
||||
#savestate sdc 192
|
||||
#savestate sdd 192
|
||||
@@ -0,0 +1,25 @@
|
||||
# This file configures the ability to wake from suspend or hibernate
|
||||
# at a given time. It is used in conjunction with the 02rtcwake hook.
|
||||
|
||||
# Whether to respect the user-passed-in num_seconds_to_sleep
|
||||
# If off, then the system configuration (below) will be used even if
|
||||
# the user passes in a num_seconds_to_sleep.
|
||||
#USER_RTCWAKE_ALLOWED="no"
|
||||
USER_RTCWAKE_ALLOWED="yes"
|
||||
|
||||
# Should we wake up from suspend on a given time?
|
||||
# if those are set to "no", the configuration values below have no effect.
|
||||
#SUSPEND_RTCWAKE_ENABLED="yes"
|
||||
#HIBERNATE_RTCWAKE_ENABLED="yes"
|
||||
SUSPEND_RTCWAKE_ENABLED="no"
|
||||
HIBERNATE_RTCWAKE_ENABLED="no"
|
||||
|
||||
# Time to wake up in local, 24-hour time
|
||||
#RTCWAKE_TIME="22:30"
|
||||
#RTCWAKE_TIME="9:00"
|
||||
|
||||
# Days to wake up (1=monday, 7=sunday), in increasing order,
|
||||
# with a single space between each day
|
||||
#RTCWAKE_DAYS="1 2 3 4 5"
|
||||
#RTCWAKE_DAYS="1 3 5"
|
||||
#RTCWAKE_DAYS="1 2 3 4 5 6 7"
|
||||
@@ -0,0 +1,202 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Stefan Seyfried, SUSE Linux Products GmbH 2006, GPL v2
|
||||
# mostly taken from the powersave project.
|
||||
|
||||
GRUBONCE="/usr/sbin/grubonce"
|
||||
GRUBDEFAULT="/boot/grub/default"
|
||||
GRUBDEFSAVE="/run/suspend.grubonce.default"
|
||||
|
||||
#####################################################################
|
||||
# gets a list of available kernels from /boot/grub/menu.lst
|
||||
# kernels are in the array $KERNELS, output to stdout to be eval-ed.
|
||||
getkernels()
|
||||
{
|
||||
# DEBUG "Running getkernels()" INFO
|
||||
local MENU_LST="/boot/grub/menu.lst"
|
||||
local I DUMMY MNT ROOTDEV
|
||||
declare -i I=0 J=-1
|
||||
|
||||
# we need the root partition later to decide if this is the kernel to select
|
||||
while read ROOTDEV MNT DUMMY; do
|
||||
[ "$ROOTDEV" = "rootfs" ] && continue # not what we are searching for
|
||||
if [ "$MNT" = "/" ]; then
|
||||
break
|
||||
fi
|
||||
done < /proc/mounts
|
||||
|
||||
# build an array KERNELS with all the kernels in /boot/grub/menu.lst
|
||||
# the array MENU_ENTRIES contains the corresponding menu entry numbers
|
||||
# DEFAULT_BOOT contains the default entry.
|
||||
while read LINE; do
|
||||
case $LINE in
|
||||
title*)
|
||||
let J++ # increase for every menu entry, even for non-linux
|
||||
# DEBUG "Found grub menu entry #${J}: '${LINE}'" INFO
|
||||
;;
|
||||
default*)
|
||||
DUMMY=($LINE) # "default 0 #maybe a comment"
|
||||
echo "DEFAULT_BOOT=${DUMMY[1]}" # ^^[0]^^ 1 ^^[2]^ 3 ^^[4]^^
|
||||
# DEBUG "Default boot entry is '${DUMMY[1]}'" INFO
|
||||
;;
|
||||
kernel*noresume*)
|
||||
# we probably found the "failsafe" kernel that won't resume...
|
||||
echo " Skipping grub entry #${J}, because it has the noresume option" >&2
|
||||
;;
|
||||
kernel*root=*)
|
||||
local ROOT
|
||||
ROOT=${LINE#*root=}
|
||||
DUMMY=($ROOT)
|
||||
ROOT=${DUMMY[0]}
|
||||
if [ "$(echo $ROOT | grep LABEL)" ]; then
|
||||
LABEL=`echo $ROOT | cut -d"=" -f2`
|
||||
ROOT=`readlink -f /dev/disk/by-label/$LABEL`
|
||||
elif [ "$(echo $ROOT | grep UUID)" ]; then
|
||||
UUID=`echo $ROOT | cut -d"=" -f2`
|
||||
ROOT=`readlink -f /dev/disk/by-uuid/$UUID`
|
||||
fi
|
||||
if [ "$(stat -Lc '%t:%T' $ROOT)" != "$(stat -Lc '%t:%T' $ROOTDEV)" ]; then
|
||||
echo " Skipping grub entry #${J}, because its root= parameter ($ROOT)" >&2
|
||||
echo " does not match the current root device ($ROOTDEV)." >&2
|
||||
continue
|
||||
fi
|
||||
DUMMY=($LINE) # kernel (hd0,1)/boot/latestkernel-ABC root=/dev/hda2
|
||||
echo "KERNELS[$I]='${DUMMY[1]##*/}'" # latestkernel-ABC
|
||||
echo "MENU_ENTRIES[$I]=$J"
|
||||
# DEBUG "Found kernel entry #${I}: '${DUMMY[1]##*/}'" INFO
|
||||
let I++
|
||||
;;
|
||||
kernel*)
|
||||
# a kernel without "root="? We better skip that one...
|
||||
echo " Skipping grub entry #${J}, because it has no root= option" >&2
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
done < $MENU_LST
|
||||
}
|
||||
|
||||
#############################################################
|
||||
# runs grubonce from the grub package to select which kernel
|
||||
# to boot on next startup
|
||||
grub-once()
|
||||
{
|
||||
if [ -x "$GRUBONCE" ]; then
|
||||
rm -f "$GRUBDEFSAVE"
|
||||
if [ -e "$GRUBDEFAULT" ]; then
|
||||
echo " saving original $GRUBDEFAULT"
|
||||
cp "$GRUBDEFAULT" "$GRUBDEFSAVE"
|
||||
fi
|
||||
echo " running '$GRUBONCE $1'"
|
||||
$GRUBONCE $1
|
||||
else
|
||||
echo "WARNING: $GRUBONCE not found, not preparing bootloader"
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################
|
||||
# restore grub default after (eventually failed) resume
|
||||
grub-once-restore()
|
||||
{
|
||||
echo "INFO: running grub-once-restore"
|
||||
rm -f "$GRUBDEFAULT"
|
||||
if [ -e "$GRUBDEFSAVE" ]; then
|
||||
echo " restoring original $GRUBDEFAULT"
|
||||
mv "$GRUBDEFSAVE" "$GRUBDEFAULT"
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
# try to find a kernel image that matches the actually running kernel.
|
||||
# We need this, if more than one kernel is installed. This works reasonably
|
||||
# well with grub, if all kernels are named "kernel-`uname -r`" and are
|
||||
# located in /boot. If they are not, good luck ;-)
|
||||
find-kernel-entry()
|
||||
{
|
||||
NEXT_BOOT=-1
|
||||
ARCH=`uname -m`
|
||||
declare -i I=0
|
||||
# DEBUG "running kernel: $RUNNING" DIAG
|
||||
while [ -n "${KERNELS[$I]}" ]; do
|
||||
BOOTING="${KERNELS[$I]}"
|
||||
if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then
|
||||
# DEBUG "Found kernel symlink $BOOTING => $IMAGE" INFO
|
||||
BOOTING=$IMAGE
|
||||
fi
|
||||
case $ARCH in
|
||||
ppc*) BOOTING="${BOOTING#*vmlinux-}" ;;
|
||||
*) BOOTING="${BOOTING#*kernel-}" ;;
|
||||
esac
|
||||
if [ "$RUNNING" == "$BOOTING" ]; then
|
||||
NEXT_BOOT=${MENU_ENTRIES[$I]}
|
||||
echo " running kernel is grub menu entry $NEXT_BOOT (${KERNELS[$I]})"
|
||||
break
|
||||
fi
|
||||
let I++
|
||||
done
|
||||
# if we have not found a kernel, issue a warning.
|
||||
# if we have found a kernel, we'll do "grub-once" later, after
|
||||
# prepare_suspend finished.
|
||||
if [ $NEXT_BOOT -eq -1 ]; then
|
||||
echo "WARNING: no kernelfile matching the running kernel found"
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
# if we did not find a kernel (or BOOT_LOADER is not GRUB) check,
|
||||
# if the running kernel is still the one that will (probably) be booted for
|
||||
# resume (default entry in menu.lst or, if there is none, the kernel file
|
||||
# /boot/latestkernel points to.)
|
||||
# This will only work, if you use "original" SUSE kernels.
|
||||
# you can always override with the config variable set to "yes"
|
||||
prepare-grub()
|
||||
{
|
||||
echo "INFO: running prepare-grub"
|
||||
eval `getkernels`
|
||||
RUNNING=`uname -r`
|
||||
find-kernel-entry
|
||||
|
||||
RET=0
|
||||
|
||||
if [ $NEXT_BOOT -eq -1 ]; then
|
||||
# which kernel is booted with the default entry?
|
||||
BOOTING="${KERNELS[$DEFAULT_BOOT]}"
|
||||
# if there is no default entry (no menu.lst?) we fall back to
|
||||
# the default of /boot/latestkernel.
|
||||
[ -z "$BOOTING" ] && BOOTING="latestkernel"
|
||||
if IMAGE=`readlink /boot/$BOOTING` && [ -e "/boot/${IMAGE##*/}" ]; then
|
||||
BOOTING=$IMAGE
|
||||
fi
|
||||
BOOTING="${BOOTING#*kernel-}"
|
||||
echo "running kernel: '$RUNNING', probably booting kernel: '$BOOTING'"
|
||||
if [ "$BOOTING" != "$RUNNING" ]; then
|
||||
echo "ERROR: kernel version mismatch, cannot suspend to disk"
|
||||
echo "running: $RUNNING booting: $BOOTING" >> $INHIBIT
|
||||
RET=1
|
||||
fi
|
||||
else
|
||||
# set the bootloader to the running kernel
|
||||
echo " preparing boot-loader: selecting entry $NEXT_BOOT, kernel /boot/$BOOTING"
|
||||
T1=`date +"%s%N"`
|
||||
sync; sync; sync # this is needed to speed up grub-once on reiserfs
|
||||
T2=`date +"%s%N"`
|
||||
echo " grub-once: `grub-once $NEXT_BOOT`"
|
||||
T3=`date +"%s%N"`
|
||||
S=$(((T2-T1)/100000000)); S="$((S/10)).${S:0-1}"
|
||||
G=$(((T3-T2)/100000000)); G="$((G/10)).${G:0-1}"
|
||||
echo " time needed for sync: $S seconds, time needed for grub: $G seconds."
|
||||
fi
|
||||
|
||||
return $RET
|
||||
}
|
||||
|
||||
|
||||
###### main()
|
||||
|
||||
case $1 in
|
||||
hibernate)
|
||||
prepare-grub
|
||||
;;
|
||||
thaw)
|
||||
grub-once-restore
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,106 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Written by Gabriel Burt <gburt@novell.com>
|
||||
# Copyright 2008 Novell, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of version 2 of the GNU General Public License as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# Use rtcwake to wake the computer from sleep or hibernate
|
||||
# as configured in /etc/pm/config.d/rtcwake.config
|
||||
|
||||
. "${PM_FUNCTIONS}"
|
||||
|
||||
rtcwake_cmd="/usr/sbin/rtcwake";
|
||||
|
||||
command_exists $rtcwake_cmd || exit $NA
|
||||
|
||||
rtcwake_config_file="/etc/pm/config.d/rtcwake.conf"
|
||||
|
||||
function start_of_day {
|
||||
echo `date -d "$1" "+%D"`
|
||||
}
|
||||
|
||||
function since_epoch {
|
||||
echo `date -d "$1" "+%s"`
|
||||
}
|
||||
|
||||
function day_of_week {
|
||||
echo `date -d "$1" "+%u"`
|
||||
}
|
||||
|
||||
function isAlarmDow {
|
||||
is=0
|
||||
for dow in $RTCWAKE_DAYS; do
|
||||
if test "x$dow" = "x$1"; then
|
||||
is=1;
|
||||
break;
|
||||
fi
|
||||
done
|
||||
echo $is
|
||||
}
|
||||
|
||||
function set_alarm
|
||||
{
|
||||
# If USER_RTCWAKE_ALLOWED is yes and the user passed in a num_seconds_to_sleep variable, then
|
||||
# we will respect it (and ignore the system config)
|
||||
# Do require that the number of seconds is at least 30 though.
|
||||
if test "x$USER_RTCWAKE_ALLOWED" != "xno" && test "x$NUM_SECONDS_TO_SLEEP" != "x" && test $(($NUM_SECONDS_TO_SLEEP > 30)) == 1; then
|
||||
echo "Have NUM_SECONDS_TO_SLEEP: $NUM_SECONDS_TO_SLEEP";
|
||||
# Actually set/configure the rtcwake
|
||||
sh -c "$rtcwake_cmd -m on -s $NUM_SECONDS_TO_SLEEP &"
|
||||
elif test "x$1" = "xyes"; then
|
||||
echo "alarm enabled, configuring rtcwake...";
|
||||
echo "RTCWAKE time: $RTCWAKE_TIME";
|
||||
echo "RTCWAKE days: $RTCWAKE_DAYS";
|
||||
|
||||
next_alarm=0
|
||||
now=$(since_epoch now);
|
||||
# The next alarm has to be at most 7 days from now
|
||||
for days_from_now in 0 1 2 3 4 5 6 7; do
|
||||
# Get the date N days from now
|
||||
alarm_day=$(start_of_day "$days_from_now day");
|
||||
|
||||
# Check that this day is an alarm-enabled day of the week
|
||||
alarm_dow=$(day_of_week $alarm_day);
|
||||
is_alarm_dow=$(isAlarmDow $alarm_dow);
|
||||
if test "x$is_alarm_dow" = "x1"; then
|
||||
# Get the actual alarm time on that day
|
||||
alarm_time=$(since_epoch "$alarm_day $RTCWAKE_TIME");
|
||||
|
||||
# Ensure the alarm time is more than 15 minutes from now
|
||||
# - otherwise we set the alarm for the next slot
|
||||
# 900 seconds = 15 minutes * 60 seconds/minute
|
||||
is_enough_in_future=$(($alarm_time - $now > 900));
|
||||
if test "x$is_enough_in_future" = "x1"; then
|
||||
next_alarm=$alarm_time
|
||||
break;
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if test "x$next_alarm" != "x0"; then
|
||||
# Recalculate now to be as accurate as possible
|
||||
now=$(since_epoch now);
|
||||
seconds_from_now=$(($next_alarm - $now));
|
||||
echo "Will set alarm for $seconds_from_now seconds from now, at $alarm_day $RTCWAKE_TIME ($next_alarm)"
|
||||
|
||||
# Actually set/configure the rtcwake
|
||||
sh -c "$rtcwake_cmd -m on -s $seconds_from_now &"
|
||||
else
|
||||
echo "No acceptable time found to set the rtcwake alarm. Review your configuration in $rtcwake_config_file"
|
||||
exit $NA
|
||||
fi
|
||||
else
|
||||
echo "rtcwake alarm not enabled in $rtcwake_config_file, doing nothing...";
|
||||
exit $NA
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
suspend) set_alarm $SUSPEND_RTCWAKE_ENABLED ;;
|
||||
hibernate) set_alarm $HIBERNATE_RTCWAKE_ENABLED ;;
|
||||
*) exit $NA ;;
|
||||
esac
|
||||
@@ -0,0 +1,162 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Stefan Seyfried, SUSE Linux Products GmbH, 2006
|
||||
# mostly taken from the powersave project
|
||||
|
||||
. "${PM_FUNCTIONS}"
|
||||
|
||||
# sanity check the environment if resume will be possible after hibernate
|
||||
checkhibernate()
|
||||
{
|
||||
echo "INFO: checking for suspend-to-disk prerequisites..."
|
||||
if [ -z "$IMAGE_SIZE" ]; then
|
||||
IMAGE_SIZE="`awk '/^MemTotal:/ { print int($2*1024*.45) }' /proc/meminfo`"
|
||||
fi
|
||||
# Default to partition style hibernation
|
||||
SWAP_TYPE=partition
|
||||
|
||||
read CMDLINE < /proc/cmdline
|
||||
for CMD in $CMDLINE; do
|
||||
case $CMD in
|
||||
resume=*)
|
||||
RESUME=${CMD#*=}
|
||||
;;
|
||||
resume_offset=*)
|
||||
# Swap type is file as resume_offset is given
|
||||
SWAP_TYPE=file
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$RESUME" ]; then
|
||||
# No resume= given in /proc/cmdline, failing.
|
||||
echo "ERROR: no resume parameter on kernel commandline, can not suspend"
|
||||
echo "no resume parameter on kernel commandline" >> $INHIBIT
|
||||
return 1
|
||||
fi
|
||||
if [ "$SWAP_TYPE" = file ] && [ "$SLEEP_MODULE" = "uswsusp" ]; then
|
||||
# File-style hibernating is not supported by uswsusp
|
||||
echo "ERROR: You must use the kernel hibernate method or tuxonice when suspending to swapfile, not uswsusp"
|
||||
echo "suspend to swapfile with uswsusp method not kernel" >> $INHIBIT
|
||||
return 1
|
||||
fi
|
||||
|
||||
# the resume device can be a symlink, e.g. with LVM/EVMS or with
|
||||
# /dev/disk/by-id/foo
|
||||
RESUME=$(readlink -f $RESUME)
|
||||
|
||||
OK=
|
||||
while read DEV TYPE SIZE USED PRI; do
|
||||
if [ "$TYPE" = "file" ] && [ "$SWAP_TYPE" = "file" ] && [ "$RESUME" = "$(df "$DEV" | tail -n +2 | cut -d ' ' -f 1)" ]; then
|
||||
OK=1
|
||||
break
|
||||
fi
|
||||
[ "$TYPE" != "partition" ] && continue
|
||||
[ "$DEV" != "$RESUME" ] && continue
|
||||
FREE=$[($SIZE-$USED)*1024] # get free space on DEV
|
||||
if [ $FREE -lt $IMAGE_SIZE ]; then
|
||||
IMAGE_SIZE=$[$FREE-10*1024*1024]
|
||||
fi
|
||||
OK=1
|
||||
break # we found the partition, no need to look further
|
||||
done < /proc/swaps
|
||||
|
||||
if [ -z "$OK" ]; then
|
||||
if [ "$SWAP_TYPE" = "file" ]; then
|
||||
MSG_TYPE="swap file"
|
||||
else
|
||||
MSG_TYPE="resume partition"
|
||||
fi
|
||||
echo "ERROR: $MSG_TYPE '$RESUME' not active, can not suspend"
|
||||
echo "$MSG_TYPE '$RESUME' not active" >> $INHIBIT
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ "$SLEEP_MODULE" = "kernel" ]; then
|
||||
echo " using kernel suspend method"
|
||||
read DEV < /sys/power/resume
|
||||
if [ "$DEV" = "0:0" ]; then
|
||||
echo "ERROR: no resume partition set up in /sys/power/resume"
|
||||
# maybe "resume=..." was given, but initrd did not set up
|
||||
# /sys/power/resume correctly.
|
||||
echo "resume device not correctly setup in /sys/power/resume" >> \
|
||||
$INHIBIT
|
||||
return 1
|
||||
fi
|
||||
|
||||
X=$(stat -Lc '$((0x%t)):$((0x%T))' $RESUME)
|
||||
RDEV=$(eval echo $X)
|
||||
if [ "$DEV" != "$RDEV" ]; then
|
||||
echo "ERROR: /sys/power/resume ($DEV) disagrees with resume= parameter ($RDEV)"
|
||||
echo " can not suspend."
|
||||
echo "/sys/power/resume disagrees with resume= parameter" >> \
|
||||
$INHIBIT
|
||||
return 1
|
||||
fi
|
||||
if [ -n "$IMAGE_SIZE" -a -w /sys/power/image_size ]; then
|
||||
echo " setting image size to $IMAGE_SIZE"
|
||||
echo "$IMAGE_SIZE" > /sys/power/image_size 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$SLEEP_MODULE" = "uswsusp" ]; then
|
||||
echo " using userspace suspend method, temp. config file $S2DISK_CONF"
|
||||
if [ "$S2DISK_CONF" != "/etc/suspend.conf" ]; then
|
||||
rm -f $S2DISK_CONF
|
||||
# Generate S2DISK_CONF
|
||||
echo " setting resume device to $RESUME"
|
||||
echo "resume device = $RESUME" >> $S2DISK_CONF
|
||||
if [ -n "$IMAGE_SIZE" ]; then
|
||||
echo " setting image size to $IMAGE_SIZE"
|
||||
echo "image size = $IMAGE_SIZE" >> $S2DISK_CONF
|
||||
fi
|
||||
# add the parameters from /etc/suspend.conf to /var/lib/s2disk.conf
|
||||
if [ -e /etc/suspend.conf ]; then
|
||||
echo "# parameters taken from /etc/suspend.conf:" >> $S2DISK_CONF
|
||||
sed '/^[[:space:]]*\(#\|$\)/d;' /etc/suspend.conf >> $S2DISK_CONF
|
||||
echo " adding these parameters from /etc/suspend.conf:"
|
||||
sed '/^[[:space:]]*\(#\|$\)/d;s/^/ /;' /etc/suspend.conf
|
||||
fi
|
||||
else
|
||||
# don't overwrite the user's config file, but warn about the issue
|
||||
echo "WARNING: S2DISK_CONF is set to /etc/suspend.conf"
|
||||
echo " Disabling automatic generation of config file."
|
||||
echo " This is most likely a configuration error and will cause problems"
|
||||
echo " unless you configure /etc/suspend.conf completely on your own!"
|
||||
fi
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# this only makes sense on hibernate or on suspend-hybrid
|
||||
case $1 in
|
||||
hibernate)
|
||||
;;
|
||||
suspend)
|
||||
if [ "$2" != suspend_hybrid ]; then
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
exit $NA
|
||||
;;
|
||||
esac
|
||||
|
||||
[ -e /etc/pm/config.d/$1 ] && . /etc/pm/config.d/$1
|
||||
|
||||
if [ -z "$SLEEP_MODULE" ]; then
|
||||
# Decide the SLEEP_MODULE if not given
|
||||
if [ -x /usr/sbin/s2disk -a -c /dev/snapshot ]; then
|
||||
SLEEP_MODULE="uswsusp"
|
||||
else
|
||||
SLEEP_MODULE="kernel"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! checkhibernate; then
|
||||
echo "WARNING: $INHIBIT will be created to prevent suspending!"
|
||||
touch $INHIBIT
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
. "${PM_FUNCTIONS}"
|
||||
|
||||
command_exists /sbin/pccardctl || exit $NA
|
||||
|
||||
case "$1" in
|
||||
hibernate|suspend)
|
||||
echo "ejecting PCMCIA cards..."
|
||||
/sbin/pccardctl eject
|
||||
;;
|
||||
thaw|resume)
|
||||
echo "inserting PCMCIA cards..."
|
||||
/sbin/pccardctl insert
|
||||
;;
|
||||
*) exit $NA
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
# The ndiswrapper hook - relead the ndiswrapper module
|
||||
|
||||
. "${PM_FUNCTIONS}"
|
||||
|
||||
command_exists /usr/sbin/ndiswrapper || return $NA
|
||||
|
||||
case "$1" in
|
||||
resume|thaw)
|
||||
modprobe -r ndiswrapper
|
||||
modprobe ndiswrapper
|
||||
;;
|
||||
*) exit $NA
|
||||
;;
|
||||
esac
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
Index: pm-utils-1.4.1/pm/sleep.d/55NetworkManager
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/pm/sleep.d/55NetworkManager 2010-09-20 11:12:23.750155840 +0200
|
||||
+++ pm-utils-1.4.1/pm/sleep.d/55NetworkManager 2010-09-20 11:12:25.610155850 +0200
|
||||
@@ -13,6 +13,7 @@
|
||||
# Tell NetworkManager to shut down networking
|
||||
printf "Having NetworkManager put all interaces to sleep..."
|
||||
dbus_send --system \
|
||||
+ --print-reply --reply-timeout=200 \
|
||||
--dest=org.freedesktop.NetworkManager \
|
||||
/org/freedesktop/NetworkManager \
|
||||
org.freedesktop.NetworkManager.sleep && \
|
||||
@@ -25,6 +26,7 @@
|
||||
printf "Having NetworkManager wake interfaces back up..."
|
||||
dbus_send --system \
|
||||
--dest=org.freedesktop.NetworkManager \
|
||||
+ --print-reply --reply-timeout=200 \
|
||||
/org/freedesktop/NetworkManager \
|
||||
org.freedesktop.NetworkManager.wake && \
|
||||
echo Done. || echo Failed.
|
||||
@@ -0,0 +1,142 @@
|
||||
---
|
||||
pm/defaults | 20 +++++++++++++++-
|
||||
pm/module.d/uswsusp | 64 +++++++++++++++++++++++++++++++++++++++++++++++-----
|
||||
2 files changed, 78 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: pm-utils-1.3.0/pm/defaults
|
||||
===================================================================
|
||||
--- pm-utils-1.3.0.orig/pm/defaults 2009-06-14 03:56:08.000000000 +0200
|
||||
+++ pm-utils-1.3.0/pm/defaults 2010-05-06 09:27:09.228673127 +0200
|
||||
@@ -27,8 +27,26 @@
|
||||
# tuxonice If your system has support for tuxonice, use this.
|
||||
#
|
||||
# The system defaults to "kernel" if this is commented out.
|
||||
-# SLEEP_MODULE="kernel"
|
||||
+SLEEP_MODULE="uswsusp"
|
||||
|
||||
+#######################################################################
|
||||
+# the variables below here are specific to the SUSE package right now
|
||||
+# and are used only if SLEEP_MODULE is uswsusp
|
||||
+
|
||||
+# what options should be passed to s2ram?
|
||||
+# see http://en.opensuse.org/S2ram for more information
|
||||
+# If this option is set, it overrides S2RAM_QUIRKS_SOURCE below
|
||||
+S2RAM_OPTS=""
|
||||
+
|
||||
+# where should pm-utils get the s2ram quirks from?
|
||||
+# s2ram - use the whitelist in s2ram, if the machine is known.
|
||||
+# hal - ignored, exists only for comparibility purposes pm-utils 1.3.0+ has
|
||||
+# HAL quirks built-in
|
||||
+# everything else: try to be smart in figuring out the correct quirks.
|
||||
+# if S2RAM_OPTS is set, it overrides S2RAM_QUIRKS_SOURCE!
|
||||
+S2RAM_QUIRKS_SOURCE=""
|
||||
+
|
||||
+#######################################################################
|
||||
# These variables will be handled specially when we load files in
|
||||
# /etc/pm/config.d.
|
||||
# Multiple declarations of these environment variables will result in
|
||||
Index: pm-utils-1.3.0/pm/module.d/uswsusp
|
||||
===================================================================
|
||||
--- pm-utils-1.3.0.orig/pm/module.d/uswsusp 2009-12-11 05:36:38.000000000 +0100
|
||||
+++ pm-utils-1.3.0/pm/module.d/uswsusp 2010-05-06 09:27:37.540671614 +0200
|
||||
@@ -5,6 +5,7 @@
|
||||
uswsusp_hooks()
|
||||
{
|
||||
disablehook 99video "disabled by uswsusp"
|
||||
+ disablehook 90chvt "disabled by uswsusp"
|
||||
}
|
||||
|
||||
# Since we disabled 99video, we need to take responsibility for proper
|
||||
@@ -35,8 +36,52 @@
|
||||
# if we were told to ignore quirks, do so.
|
||||
# This is arguably not the best way to do things, but...
|
||||
[ "$QUIRK_NONE" = "true" ] && OPTS=""
|
||||
+ S2RAM_OPTS="$S2RAM_OPTS $OPTS"
|
||||
+ echo "INFO: S2RAM_OPTS from HAL quirks: '$S2RAM_OPTS'."
|
||||
}
|
||||
|
||||
+# this function tries to assemble the best s2ram options from various sources, falling back
|
||||
+# to other methods...
|
||||
+get_s2ram_opts()
|
||||
+{
|
||||
+ # if S2RAM_OPTS is set - then use it. The user told us so. Obey his wish.
|
||||
+ if [ -n "$S2RAM_OPTS" ]; then
|
||||
+ echo "INFO: using user-supplied options: S2RAM_OPTS='$S2RAM_OPTS' for suspending."
|
||||
+ return
|
||||
+ fi
|
||||
+
|
||||
+ # ... try to use s2ram as a source
|
||||
+ if [ "$S2RAM_QUIRKS_SOURCE" = "s2ram" ]; then
|
||||
+ if /usr/sbin/s2ram -n >/dev/null; then
|
||||
+ echo "INFO: using s2ram built-in database, machine is supported."
|
||||
+ return
|
||||
+ else
|
||||
+ echo "WARN: S2RAM_QUIRKS_SOURCE=s2ram, but machine is unknown, continuing..."
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+ # ... if is not known or not set as a source, use the built-in database
|
||||
+ echo "INFO: using built-in quirks database from HAL."
|
||||
+ uswsusp_get_quirks
|
||||
+ if [ -n "$S2RAM_OPTS" ]; then
|
||||
+ S2RAM_OPTS="--force "$S2RAM_OPTS
|
||||
+ fi
|
||||
+
|
||||
+ # ... in a case we still don't have any quirk, try s2ram for sure
|
||||
+ if [ -z "$S2RAM_OPTS" ]; then
|
||||
+ # ... machine could be in s2ram whitelist
|
||||
+ if /usr/sbin/s2ram -n >/dev/null; then
|
||||
+ echo "INFO: machine is in s2ram database, using it."
|
||||
+ return;
|
||||
+ else
|
||||
+ # if we came here and S2RAM_OPTS is empty, suspend won't work :-(
|
||||
+ echo "WARNING: smart uswsusp did not found any appropriate option, suspend probably don't work"
|
||||
+ fi
|
||||
+ fi
|
||||
+
|
||||
+}
|
||||
+
|
||||
+
|
||||
# Since we disabled 99video, we also need to handle displaying
|
||||
# help info for the quirks we handle.
|
||||
uswsusp_help()
|
||||
@@ -70,8 +115,8 @@
|
||||
SUSPEND_MODULE="uswsusp"
|
||||
do_suspend()
|
||||
{
|
||||
- uswsusp_get_quirks
|
||||
- s2ram --force $OPTS
|
||||
+ get_s2ram_opts
|
||||
+ s2ram $S2RAM_OPTS
|
||||
}
|
||||
if [ "$METHOD" = "suspend" ]; then
|
||||
add_before_hooks uswsusp_hooks
|
||||
@@ -87,7 +132,12 @@
|
||||
HIBERNATE_MODULE="uswsusp"
|
||||
do_hibernate()
|
||||
{
|
||||
- s2disk
|
||||
+ get_s2ram_opts
|
||||
+ if [ -z "${S2DISK_CONF}" ]; then
|
||||
+ s2disk
|
||||
+ else
|
||||
+ s2disk --config $S2DISK_CONF
|
||||
+ fi
|
||||
}
|
||||
fi
|
||||
|
||||
@@ -98,8 +148,12 @@
|
||||
SUSPEND_HYBRID_MODULE="uswsusp"
|
||||
do_suspend_hybrid()
|
||||
{
|
||||
- uswsusp_get_quirks
|
||||
- s2both --force $OPTS
|
||||
+ get_s2ram_opts
|
||||
+ if [ -z "${S2DISK_CONF}" ]; then
|
||||
+ s2both --force $S2RAM_OPTS
|
||||
+ else
|
||||
+ s2both --config $S2DISK_CONF $S2RAM_OPTS
|
||||
+ fi
|
||||
}
|
||||
if [ "$METHOD" = "suspend_hybrid" ]; then
|
||||
add_before_hooks uswsusp_hooks
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
pm/defaults | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
Index: pm-utils-1.4.1/pm/defaults
|
||||
===================================================================
|
||||
--- pm-utils-1.4.1.orig/pm/defaults 2010-09-20 11:42:59.214155594 +0200
|
||||
+++ pm-utils-1.4.1/pm/defaults 2010-09-20 13:35:52.974279436 +0200
|
||||
@@ -30,7 +30,7 @@
|
||||
SLEEP_MODULE="uswsusp"
|
||||
|
||||
#######################################################################
|
||||
-# the variables below here are specific to the SUSE package right now
|
||||
+# those variables below SUSE pm-utils specific right now
|
||||
# and are used only if SLEEP_MODULE is uswsusp
|
||||
|
||||
# what options should be passed to s2ram?
|
||||
@@ -46,6 +46,9 @@
|
||||
# if S2RAM_OPTS is set, it overrides S2RAM_QUIRKS_SOURCE!
|
||||
S2RAM_QUIRKS_SOURCE=""
|
||||
|
||||
+# the location of the autogenerated s2disk (s2both) config file
|
||||
+S2DISK_CONF="/var/lib/s2disk.conf"
|
||||
+
|
||||
#######################################################################
|
||||
# These variables will be handled specially when we load files in
|
||||
# /etc/pm/config.d.
|
||||
@@ -0,0 +1,2 @@
|
||||
d /run/pm-utils/locks 0755 root root
|
||||
d /run/pm-utils/storage 0755 root root
|
||||
@@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>pm-utils</Name>
|
||||
<Homepage>http://pm-utils.freedesktop.org/wiki/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPLv2</License>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>A toolset to suspend and hibernate computers</Summary>
|
||||
<Description>pm-utils provides simple shell command line tools to suspend and hibernate computers, and it that can be used to run vendor, distribution, or user supplied scripts on suspend and resume.</Description>
|
||||
<Archive sha1sum="9aacb9b4a5f11f751d94f5257c6c54460f106197" type="targz">http://pm-utils.freedesktop.org/releases/pm-utils-1.4.1.tar.gz</Archive>
|
||||
<Archive sha1sum="01aab63e2bb8c0f8d81d325ffce1fa49af0e2f3a" type="targz" target="video-quirks">http://pm-utils.freedesktop.org/releases/pm-quirks-20100619.tar.gz</Archive>
|
||||
<AdditionalFiles>
|
||||
<!--AdditionalFile target="pm/sleep.d/01grub">suse/hooks/sleep.d/01grub</AdditionalFile-->
|
||||
</AdditionalFiles>
|
||||
<BuildDependencies>
|
||||
<Dependency>xmlto</Dependency>
|
||||
<Dependency>libxslt</Dependency>
|
||||
<Dependency>util-linux</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<!-- Attempt to fix #15147 eventhough the fix is not fine-grained at all -->
|
||||
<Patch level="1">pisilinux/check-for-swap-partition.patch</Patch>
|
||||
|
||||
<!-- Disable powersave stuff completely -->
|
||||
<Patch level="1">pisilinux/disable-powersave.patch</Patch>
|
||||
|
||||
<!-- https://bugzilla.redhat.com/show_bug.cgi?id=552506#c4 -->
|
||||
<Patch level="1">suse/pm-utils-1.2.6.1-fix-broken-dbus-send.diff</Patch>
|
||||
<Patch level="1">suse/pm-utils-1.3.0-suse-smart-uswsusp.patch</Patch>
|
||||
<Patch level="1">suse/pm-utils-1.4.1-suse-config.patch</Patch>
|
||||
|
||||
<!-- Gentoo patches -->
|
||||
<Patch level="1">gentoo/1.4.1-bluetooth-sync.patch</Patch>
|
||||
<Patch level="1">gentoo/1.4.1-disable-sata-alpm.patch</Patch>
|
||||
<Patch level="1">gentoo/1.4.1-fix-intel-audio-powersave-hook.patch</Patch>
|
||||
<Patch level="1">gentoo/1.4.1-logging-append.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>pm-utils</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>hdparm</Dependency>
|
||||
<Dependency>vbetool</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc/pm</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="data">/run/pm-utils</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="executable">/usr/sbin</Path>
|
||||
<Path fileType="data">/usr/lib/pkgconfig</Path>
|
||||
<Path fileType="data">/usr/lib/pm-utils/video-quirks</Path>
|
||||
<Path fileType="config">/usr/lib/tmpfiles.d/pm-utils.conf</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/lib/tmpfiles.d/pm-utils.conf">tmpfiles.conf</AdditionalFile>
|
||||
<!-- not implemented in our kernel yet
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/lib/pm-utils/sleep.d/000kernel-change">000kernel-change</AdditionalFile>
|
||||
FIXME: Should be enabled after enabling plymouth in suspend package and testing a lot
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/lib/pm-utils/sleep.d/00plymouthd">pisilinux/00plymouthd</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/lib/pm-utils/sleep.d/75ndiswrapper">suse/hooks/sleep.d/75ndiswrapper</AdditionalFile>
|
||||
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/lib/pm-utils/sleep.d/99hd-apm-restore">pisilinux/99hd-apm-restore</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/pm/config.d/hd-apm-restore.conf">pisilinux/hd-apm-restore.conf</AdditionalFile>
|
||||
-->
|
||||
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/pm/config.d/rtcwake.conf">suse/hooks/config.d/rtcwake.config</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/lib/pm-utils/sleep.d/30s2disk-check">suse/hooks/sleep.d/30s2disk-check</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/lib/pm-utils/sleep.d/45pcmcia">suse/hooks/sleep.d/45pcmcia</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="5">
|
||||
<Date>2015-07-31</Date>
|
||||
<Version>1.4.1</Version>
|
||||
<Comment>Rebuild for gcc.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2014-01-10</Date>
|
||||
<Version>1.4.1</Version>
|
||||
<Comment>Add tmpfiles.conf</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2013-08-26</Date>
|
||||
<Version>1.4.1</Version>
|
||||
<Comment>Fix hibernation issue, add some patches.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2013-07-03</Date>
|
||||
<Version>1.4.1</Version>
|
||||
<Comment>Fix suspend/hibernation issue</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2011-04-05</Date>
|
||||
<Version>1.4.1</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Pisi Linux Admins</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>pm-utils</Name>
|
||||
<Summary xml:lang="tr">Askıya alma işlemleri için gerekli araçlar</Summary>
|
||||
<Description xml:lang="tr">pm-utils, bilgisayarı bellek veya disk kullanarak uyku kipine geçirmek ve devam ettirmek için gerekli kabuk betiklerini sunar.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import get
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
|
||||
def setup():
|
||||
pisitools.dosed("configure", "DISABLE_DEPRECATED", deleteLine=True)
|
||||
|
||||
autotools.configure("--disable-static \
|
||||
--disable-gtk-doc \
|
||||
--enable-deprecated \
|
||||
--enable-introspection")
|
||||
|
||||
pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
|
||||
pisitools.dodoc("ChangeLog", "COPYING", "README")
|
||||
@@ -0,0 +1,8 @@
|
||||
--- upower-0.9.4.orig/po/LINGUAS
|
||||
+++ upower-0.9.4/po/LINGUAS
|
||||
@@ -3,4 +3,4 @@
|
||||
it
|
||||
sv
|
||||
pl
|
||||
-
|
||||
+tr
|
||||
@@ -0,0 +1,34 @@
|
||||
From b9cff29978113aefe3ad18521f383f12ab099a34 Mon Sep 17 00:00:00 2001
|
||||
From: Cosimo Cecchi <cosimo@endlessm.com>
|
||||
Date: Tue, 25 Feb 2014 09:43:04 +0000
|
||||
Subject: Create the history directory at runtime
|
||||
|
||||
In addition to build time - this increases compatibilty with OSTree,
|
||||
which starts out with an empty /var.
|
||||
|
||||
Signed-off-by: Richard Hughes <richard@hughsie.com>
|
||||
---
|
||||
diff --git a/src/up-history.c b/src/up-history.c
|
||||
index f9d0fdf..795b093 100644
|
||||
--- a/src/up-history.c
|
||||
+++ b/src/up-history.c
|
||||
@@ -414,6 +414,7 @@ up_history_set_directory (UpHistory *history, const gchar *dir)
|
||||
{
|
||||
g_free (history->priv->dir);
|
||||
history->priv->dir = g_strdup (dir);
|
||||
+ g_mkdir_with_parents (dir, 0755);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -887,7 +888,8 @@ up_history_init (UpHistory *history)
|
||||
history->priv->data_time_full = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
|
||||
history->priv->data_time_empty = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
|
||||
history->priv->max_data_age = UP_HISTORY_DEFAULT_MAX_DATA_AGE;
|
||||
- history->priv->dir = g_build_filename (HISTORY_DIR, NULL);
|
||||
+
|
||||
+ up_history_set_directory (history, HISTORY_DIR);
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
||||
@@ -0,0 +1,24 @@
|
||||
From 0d64bbddaa0078ef148d609a3cfad854cf00d7de Mon Sep 17 00:00:00 2001
|
||||
From: Martin Pitt <martinpitt@gnome.org>
|
||||
Date: Fri, 08 Nov 2013 13:59:50 +0000
|
||||
Subject: lib: Fix segfault on getting property when daemon is not running
|
||||
|
||||
This fixes "upower --version" when the daemon is not running, and thus the
|
||||
client proxy is NULL.
|
||||
---
|
||||
diff --git a/libupower-glib/up-client.c b/libupower-glib/up-client.c
|
||||
index 35d7b5d..17fb02d 100644
|
||||
--- a/libupower-glib/up-client.c
|
||||
+++ b/libupower-glib/up-client.c
|
||||
@@ -322,6 +322,9 @@ up_client_get_property (GObject *object,
|
||||
UpClient *client;
|
||||
client = UP_CLIENT (object);
|
||||
|
||||
+ if (client->priv->proxy == NULL)
|
||||
+ return;
|
||||
+
|
||||
switch (prop_id) {
|
||||
case PROP_DAEMON_VERSION:
|
||||
g_value_set_string (value, up_client_glue_get_daemon_version (client->priv->proxy));
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
||||
@@ -0,0 +1,93 @@
|
||||
# Turkish translation for devicekit-power.
|
||||
# This file is distributed under the same license as the devicekit-power package.
|
||||
# Ozan Çağlayan <ozan@pardus.org.tr>
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: upower\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-09-06 09:41+0200\n"
|
||||
"PO-Revision-Date: 2010-06-08 10:13+0100\n"
|
||||
"Last-Translator: Ozan Çağlayan <ozan@pardus.org.tr>\n"
|
||||
"Language-Team: Turkish <tr@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.policy.in.h:1
|
||||
msgid "Authentication is required to hibernate the system"
|
||||
msgstr "Sistemi disk kullanarak askıya almak için yetki gerekiyor"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.policy.in.h:2
|
||||
msgid "Authentication is required to suspend the system"
|
||||
msgstr "Sistemi bellek kullanarak askıya almak için yetki gerekiyor"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.policy.in.h:3
|
||||
msgid "Hibernate the system"
|
||||
msgstr "Disk kullanarak askıya al"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.policy.in.h:4
|
||||
msgid "Suspend the system"
|
||||
msgstr "Bellek kullanarak askıya al"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.qos.policy.in.h:1
|
||||
msgid "Authentication is required to cancel a latency request"
|
||||
msgstr "Gecikme isteğinin iptali için yetki gerekiyor"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.qos.policy.in.h:2
|
||||
msgid "Authentication is required to set a persistent latency setting"
|
||||
msgstr "Gecikmenin kalıcı olarak ayarlanması için yetki gerekiyor"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.qos.policy.in.h:3
|
||||
msgid "Authentication is required to set administrator settings for latency control"
|
||||
msgstr "Gecikme denetimi için yönetimsel ayarların yapılması yetki gerektiriyor"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.qos.policy.in.h:4
|
||||
msgid "Authentication is required to set the required latency of an application"
|
||||
msgstr "Uygulamanın gecikmesinin ayarlanması yetki gerektiriyor"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.qos.policy.in.h:5
|
||||
msgid "Cancel a latency request"
|
||||
msgstr "Gecikme isteğini iptal et"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.qos.policy.in.h:6
|
||||
msgid "Set a persistent latency setting"
|
||||
msgstr "Gecikmeyi kalıcı olarak ayarla"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.qos.policy.in.h:7
|
||||
msgid "Set administrator settings for latency control"
|
||||
msgstr "Gecikme denetimi için yönetimsel ayarları yap"
|
||||
|
||||
#: ../policy/org.freedesktop.devicekit.power.qos.policy.in.h:8
|
||||
msgid "Set the required latency of an application"
|
||||
msgstr "Bir uygulamanın gecikmesini ayarla"
|
||||
|
||||
#: ../src/dkp-main.c:134
|
||||
#: ../tools/dkp-tool.c:213
|
||||
msgid "Show extra debugging information"
|
||||
msgstr "Ek hata ayıklama bilgileri göster"
|
||||
|
||||
#: ../tools/dkp-tool.c:214
|
||||
msgid "Enumerate objects paths for devices"
|
||||
msgstr "Aygıtlar için nesne yollarını sırala"
|
||||
|
||||
#: ../tools/dkp-tool.c:215
|
||||
msgid "Dump all parameters for all objects"
|
||||
msgstr "Tüm nesneler için parametreleri göster"
|
||||
|
||||
#: ../tools/dkp-tool.c:216
|
||||
msgid "Get the wakeup data"
|
||||
msgstr "Uyanma verisini al"
|
||||
|
||||
#: ../tools/dkp-tool.c:217
|
||||
msgid "Monitor activity from the power daemon"
|
||||
msgstr "Güç hizmeti etkinliklerini izle"
|
||||
|
||||
#: ../tools/dkp-tool.c:218
|
||||
msgid "Monitor with detail"
|
||||
msgstr "Detaylı izleme"
|
||||
|
||||
#: ../tools/dkp-tool.c:219
|
||||
msgid "Show information about object path"
|
||||
msgstr "Nesne yoluyla ilgili bilgi göster"
|
||||
|
||||
@@ -0,0 +1,170 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>upower</Name>
|
||||
<Homepage>http://upower.freedesktop.org</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPLv2+</License>
|
||||
<IsA>library</IsA>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>Power Management Service</Summary>
|
||||
<Description>upower provides a daemon, API and command line tools for managing power devices attached to the system.</Description>
|
||||
<Archive sha1sum="8fc30c2d53b15c0a4e7c1bc077a912bc1aeb6138" type="tarxz">http://upower.freedesktop.org/releases/upower-0.9.23.tar.xz</Archive>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile target="po/tr.po">tr.po</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildDependencies>
|
||||
<Dependency>dbus-devel</Dependency>
|
||||
<Dependency>glib2-devel</Dependency>
|
||||
<Dependency>polkit-devel</Dependency>
|
||||
<Dependency>dbus-glib-devel</Dependency>
|
||||
<Dependency>eudev-devel</Dependency>
|
||||
<Dependency>libusb-devel</Dependency>
|
||||
<Dependency>libplist-devel</Dependency>
|
||||
<Dependency>libimobiledevice-devel</Dependency>
|
||||
<Dependency>gobject-introspection-devel</Dependency>
|
||||
<Dependency>docbook-xsl</Dependency>
|
||||
<Dependency>intltool</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">add-tr.patch</Patch>
|
||||
<!--<Patch level="1">fix-segfault.patch</Patch>-->
|
||||
<!--<Patch level="1">create-dir-runtime.patch</Patch>-->
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>upower</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>dbus</Dependency>
|
||||
<Dependency>glib2</Dependency>
|
||||
<Dependency>polkit</Dependency>
|
||||
<Dependency>dbus-glib</Dependency>
|
||||
<Dependency>eudev</Dependency>
|
||||
<Dependency>libplist</Dependency>
|
||||
<Dependency>libimobiledevice</Dependency>
|
||||
<Dependency releaseFrom="5">pm-utils</Dependency>
|
||||
<Dependency>libusb</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="data">/lib</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="data">/etc/dbus-1</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="config">/etc/UPower</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="data">/var/lib/upower</Path>
|
||||
<Path fileType="data">/usr/share/dbus-1</Path>
|
||||
<Path fileType="executable">/usr/libexec</Path>
|
||||
<Path fileType="data">/usr/share/polkit-1</Path>
|
||||
<Path fileType="localedata">/usr/share/locale</Path>
|
||||
<Path fileType="data">/usr/share/dbus-1/interfaces/*.xml</Path>
|
||||
<Path fileType="data">/usr/lib/girepository-1.0/*.typelib</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>upower-devel</Name>
|
||||
<Summary>Development files for upower</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">upower</Dependency>
|
||||
<Dependency>dbus-devel</Dependency>
|
||||
<Dependency>glib2-devel</Dependency>
|
||||
<Dependency>polkit-devel</Dependency>
|
||||
<Dependency>dbus-glib-devel</Dependency>
|
||||
<Dependency>eudev-devel</Dependency>
|
||||
<Dependency>libplist-devel</Dependency>
|
||||
<Dependency>libimobiledevice-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
<Path fileType="data">/usr/lib/pkgconfig</Path>
|
||||
<Path fileType="data">/usr/share/gir-1.0</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="11">
|
||||
<Date>2015-01-28</Date>
|
||||
<Version>0.9.23</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Hakan Yıldız</Name>
|
||||
<Email>hknyldz93@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="10">
|
||||
<Date>2014-05-24</Date>
|
||||
<Version>0.9.23</Version>
|
||||
<Comment>Rebuild for gcc.</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="9">
|
||||
<Date>2014-04-15</Date>
|
||||
<Version>0.9.23</Version>
|
||||
<Comment>Rebuild for libplist and libimobiledevice.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="8">
|
||||
<Date>2014-04-05</Date>
|
||||
<Version>0.9.23</Version>
|
||||
<Comment>Rebuild and builddep docbook-xsl added.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2014-03-02</Date>
|
||||
<Version>0.9.23</Version>
|
||||
<Comment>Add patch.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2014-01-08</Date>
|
||||
<Version>0.9.23</Version>
|
||||
<Comment>Moved some files to core pack</Comment>
|
||||
<Name>Burak Fazıl Ertürk</Name>
|
||||
<Email>burakerturk@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2013-12-19</Date>
|
||||
<Version>0.9.23</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2013-08-20</Date>
|
||||
<Version>0.9.21</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2013-07-03</Date>
|
||||
<Version>0.9.20</Version>
|
||||
<Comment>Fix suspend/hibernation issue</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2013-03-20</Date>
|
||||
<Version>0.9.20</Version>
|
||||
<Comment>Version bump</Comment>
|
||||
<Name>Ertan Güven</Name>
|
||||
<Email>ertan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-10-20</Date>
|
||||
<Version>0.9.18</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>upower</Name>
|
||||
<Summary xml:lang="tr">Güç Yönetim Hizmeti</Summary>
|
||||
<Description xml:lang="tr">upower, sisteme bağlı güç cihazlarını yönetmek için gerekli kitaplıkları ve sistem hizmetini sunar.</Description>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>upower-devel</Name>
|
||||
<Summary xml:lang="tr">upower için geliştirme dosyaları</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user