summaryrefslogtreecommitdiff
path: root/sys-power/upower-pm-utils
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-power/upower-pm-utils
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-power/upower-pm-utils')
-rw-r--r--sys-power/upower-pm-utils/Manifest9
-rw-r--r--sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-always_use_pm-utils_backend.patch27
-rw-r--r--sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-clamp_percentage_for_overfull_batt.patch72
-rw-r--r--sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-create-dir-runtime.patch34
-rw-r--r--sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-fix-segfault.patch24
-rw-r--r--sys-power/upower-pm-utils/metadata.xml7
-rw-r--r--sys-power/upower-pm-utils/upower-pm-utils-0.9.23-r2.ebuild101
7 files changed, 274 insertions, 0 deletions
diff --git a/sys-power/upower-pm-utils/Manifest b/sys-power/upower-pm-utils/Manifest
new file mode 100644
index 000000000000..8235f9e8a18e
--- /dev/null
+++ b/sys-power/upower-pm-utils/Manifest
@@ -0,0 +1,9 @@
+AUX upower-pm-utils-0.9.23-always_use_pm-utils_backend.patch 1477 SHA256 8791a3c7c45be469b931c6db06836af8e470c6f746f9235243acb01ac171d8cd SHA512 83adcdd52739c825b7a280fe3ddac122f9b681a52bfaa1af0a14e7b95fdfa8b6b4a87e290c04af5692537e2a87f6b9770209bd67b869287bdecdbb62b2add0fb WHIRLPOOL eb49f45f86324aa15ee51498fcd26d8e84ea9fb28573bb7a6cf5a8aeb276aea3909e409e5991a01d417b8fd4e1ef3ef9dddd7d670d7d2400269632be4f59e78c
+AUX upower-pm-utils-0.9.23-clamp_percentage_for_overfull_batt.patch 3396 SHA256 16c43fbd1a31b88b115392ecb29c449bebe0f8e70530fb965dca49cf0925b131 SHA512 6bb869f1e2c5d93983b20bb65f5fc0803709b690f70b17a78204c98afca41a97b60b1c3cf8f564c931f189bd2db1dab00cd42121f5f022b5e8f0f044faf836d7 WHIRLPOOL 2d0dcf6c5d1246a940db43a38d7c5f429331dc69bd3e40fcac5679f3e2663c5ef1927e9e29fc0fabcf7e21e7693486db0f7b703e8dd36eba4be33d8366861074
+AUX upower-pm-utils-0.9.23-create-dir-runtime.patch 1164 SHA256 6324c148d436e3f898b73b445411f29a7527c65ffedb574ef658c1eaaa1aa4de SHA512 1aaec53df73aa50fabffaddd380800f7ed78caddc02b16834831aa1faa09c795e0def04493f64d852a9b07b9ef4007352e111c5d7cdc1f1b2ed8043c445751f2 WHIRLPOOL 4347f169597c8e144081673d038809a4f0525410aef7e3ff3b713f22dd28e1d7f4bcc69413be2d3c87e7e228dc8da6cfab7b6a3e63feeafafb6e8dc5d4d3a018
+AUX upower-pm-utils-0.9.23-fix-segfault.patch 829 SHA256 c80d1510b3e3d0579ddbec328d2800ab7e112378f9a8ff9ef152d72de50a45c3 SHA512 31a6b5414ddd17cbbcf318da98907d745910e7632ea9a4d4d5c02eaaae87857b5bb88f9ab2f336f7b24637727005fb839f8c9564b82e56ae0065d57b1ce19ad2 WHIRLPOOL 4286fadfbb45b89891ca4aed49b11cde70afa357101f4b9b150d9f68e548af28436fa25a9d8143f7d90daaff0ee22238dd017f10e1e34e58a226553a84724682
+DIST upower-0.9.23.tar.xz 425804 SHA256 433252b0a8e9ab4bed7e17ee3ee5b7cef6d527b1f5401ee32212d82a9682981b SHA512 526ef95e43faf61744ba2bbf80bae23bc5c8672130563a87a7f18f00d85b16e2069814ad70dd66ce6ce698037b522d78579cc2135e2af0c2a636230cfa662c6d WHIRLPOOL 1599739198767ea6c70e133d50302a62a5b0b07c3786057b75636167c80b02d8e0ab6cc4781ac08994b249ffb57875bf186923d441e0b10e73c238b6be5b3538
+EBUILD upower-pm-utils-0.9.23-r2.ebuild 2558 SHA256 97e095d1240a0aa3222d9cf191744740189310b44fe8c0b285ffb40fb8dd9573 SHA512 380b6ef1fd19767149649fb03a360c9a254f00d6ccf247699527fb605625a143a61a3dcd9bc3a100402f590043c36004d382f1b07b95cf6ddeb6ffef577b7799 WHIRLPOOL e79cc44149eb4121be5ff9b903ff34b7ccfd91714d6b61963418788bd799d5fc4c9e8a95d9ce7d0174a1c5d0713faf56e04de83660cf56eb08a1dce53c09493a
+MISC ChangeLog 3961 SHA256 ac282e8c537bece6ae91c017357d45de46624f651178a46473ad8fc4f486e834 SHA512 34c3caef91d33d7f4a4b6214dfb756c082a14a898400cfa96511fcb2eb3c90f2189f5e7248ae44dd397d3a611721cd1f6027d5dbd0cd184d543cf505aeed8180 WHIRLPOOL 2d6b02a56532ed52be70b7010858b04f1b7cc14ae27b5593f5b1ce48df5b77509f680cf2139e7782b0a7c17dc30603f379491d470ea7190369ae7bcf0ca69b51
+MISC ChangeLog-2015 2493 SHA256 18376808bf0b6543babb9f815247b395088c3ce5490d579cc6616b736dec3287 SHA512 69480b45fed0cae71a56dc856721b6777488521e19ac921d9ab0d658afbd2937fac33b77d8d94bfd993acff7aa98d1b0ad7058cede4499d6d8c779a63db46042 WHIRLPOOL cb17034999eb336a42ac185d8a0db87807a41f4005ad2c1a036f21e44650131329837f19477415545247ffd3a11f1397122e64ba6ce3893c53665da097d1c44b
+MISC metadata.xml 228 SHA256 a3c8fb486cd4bec96195197f2974a236066bd02c05d29ace05a844a43bbfd66e SHA512 4f5e63f918a0f8790db49c5b12173c673f86935f00796a04acfed573f618379b73b05b1869941e11f881fe69d4958f5287ce815fd710eadb6ac9f2680894caae WHIRLPOOL 4690b7b1591c1f8a8b55f8693dbd5172642a2d377c2f12f3b20dca75a6befc9eeac6eeb7e83ba2332b760d64b5c6fd0ac0000b5a40c416eaeec05f49eb6de750
diff --git a/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-always_use_pm-utils_backend.patch b/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-always_use_pm-utils_backend.patch
new file mode 100644
index 000000000000..b1cb5c7334e0
--- /dev/null
+++ b/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-always_use_pm-utils_backend.patch
@@ -0,0 +1,27 @@
+Description: Always use the pm-utils backend for now
+ Redirecting the suspend / hibernate request to logind requires systemd
+ to be running, as logind tries to start the suspend.target /
+ hibernate.target via the D-Bus interface provided by systemd.
+ The availability of logind does not necessarily imply that systemd is
+ available since we made logind D-Bus activatable under sysvinit.
+ Also, the systemd version currently in unstable (v44) is too old and
+ doesn't provide that functionality yet.
+ Ubuntu ships a very basic implementation of that D-Bus inferface in
+ systemd-shim which can be run under sysvinit. But we don't have that
+ package in Debian (yet).
+ For now, it's the safest option to just continue using the old
+ pm-utils backend always.
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718493
+diff --git a/src/linux/up-backend.c b/src/linux/up-backend.c
+index b9f75f5..595a1b2 100644
+--- a/src/linux/up-backend.c
++++ b/src/linux/up-backend.c
+@@ -51,7 +51,7 @@
+
+ #ifdef ENABLE_DEPRECATED
+
+-#define LOGIND_AVAILABLE() (access("/run/systemd/seats/", F_OK) >= 0)
++#define LOGIND_AVAILABLE() (FALSE)
+
+ #define SD_HIBERNATE_COMMAND "gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --method org.freedesktop.login1.Manager.Hibernate 'true'"
+ #define SD_SUSPEND_COMMAND "gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --method org.freedesktop.login1.Manager.Suspend 'true'"
diff --git a/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-clamp_percentage_for_overfull_batt.patch b/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-clamp_percentage_for_overfull_batt.patch
new file mode 100644
index 000000000000..6e643c42de5e
--- /dev/null
+++ b/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-clamp_percentage_for_overfull_batt.patch
@@ -0,0 +1,72 @@
+From b8fe9902f3c6c50ca6a23e24fcea99582beebc65 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martinpitt@gnome.org>
+Date: Tue, 22 Oct 2013 08:02:51 +0000
+Subject: linux: Clamp percentage for overfull batteries
+
+Some batteries report energy > energy_full and a percentage ("capacity"
+attribute) > 100%. Clamp these within 0 and 100% for both plausibility as well
+as to avoid setting an out-of-range property which would then become 0%.
+
+https://launchpad.net/bugs/1240673
+---
+diff --git a/src/linux/integration-test b/src/linux/integration-test
+index 8489bf3..4be1922 100755
+--- a/src/linux/integration-test
++++ b/src/linux/integration-test
+@@ -442,6 +442,39 @@ class Tests(unittest.TestCase):
+ self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
+ self.stop_daemon()
+
++ def test_battery_overfull(self):
++ '''battery which reports a > 100% percentage for a full battery'''
++
++ self.testbed.add_device('power_supply', 'BAT0', None,
++ ['type', 'Battery',
++ 'present', '1',
++ 'status', 'Full',
++ 'current_now', '1000',
++ 'charge_now', '11000000',
++ 'charge_full', '10000000',
++ 'charge_full_design', '11000000',
++ 'capacity', '110',
++ 'voltage_now', '12000000'], [])
++
++ self.start_daemon()
++ devs = self.proxy.EnumerateDevices()
++ self.assertEqual(len(devs), 1)
++ bat0_up = devs[0]
++
++ # should clamp percentage
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Percentage'), 100.0)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'IsPresent'), True)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'),
++ UP_DEVICE_STATE_FULLY_CHARGED)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Energy'), 132.0)
++ # should adjust EnergyFull to reality, not what the battery claims
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFull'), 132.0)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFullDesign'), 132.0)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Voltage'), 12.0)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'PowerSupply'), True)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 2)
++ self.stop_daemon()
++
+ def test_battery_temperature(self):
+ '''battery which reports temperature'''
+
+diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c
+index 8020277..b953d65 100644
+--- a/src/linux/up-device-supply.c
++++ b/src/linux/up-device-supply.c
+@@ -708,6 +708,10 @@ up_device_supply_refresh_battery (UpDeviceSupply *supply)
+ /* get a precise percentage */
+ if (sysfs_file_exists (native_path, "capacity")) {
+ percentage = sysfs_get_double (native_path, "capacity");
++ if (percentage < 0.0f)
++ percentage = 0.0f;
++ if (percentage > 100.0f)
++ percentage = 100.0f;
+ /* for devices which provide capacity, but not {energy,charge}_now */
+ if (energy < 0.1f && energy_full > 0.0f)
+ energy = energy_full * percentage / 100;
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-create-dir-runtime.patch b/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-create-dir-runtime.patch
new file mode 100644
index 000000000000..34340d44ec30
--- /dev/null
+++ b/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-create-dir-runtime.patch
@@ -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
diff --git a/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-fix-segfault.patch b/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-fix-segfault.patch
new file mode 100644
index 000000000000..3e8976320777
--- /dev/null
+++ b/sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-fix-segfault.patch
@@ -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
diff --git a/sys-power/upower-pm-utils/metadata.xml b/sys-power/upower-pm-utils/metadata.xml
new file mode 100644
index 000000000000..95e86c12108a
--- /dev/null
+++ b/sys-power/upower-pm-utils/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>freedesktop-bugs@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-power/upower-pm-utils/upower-pm-utils-0.9.23-r2.ebuild b/sys-power/upower-pm-utils/upower-pm-utils-0.9.23-r2.ebuild
new file mode 100644
index 000000000000..6359e7400a38
--- /dev/null
+++ b/sys-power/upower-pm-utils/upower-pm-utils-0.9.23-r2.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils systemd
+
+DESCRIPTION="The upstream upower 0.9 git branch for use with sys-power/pm-utils"
+HOMEPAGE="https://upower.freedesktop.org/"
+SRC_URI="https://upower.freedesktop.org/releases/upower-${PV}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="+introspection ios kernel_FreeBSD kernel_linux"
+
+COMMON_DEPEND=">=dev-libs/dbus-glib-0.100
+ >=dev-libs/glib-2.22
+ sys-apps/dbus
+ >=sys-auth/polkit-0.110
+ introspection? ( dev-libs/gobject-introspection )
+ kernel_linux? (
+ virtual/libusb:1
+ virtual/libgudev:=
+ virtual/udev
+ ios? (
+ >=app-pda/libimobiledevice-1:=
+ >=app-pda/libplist-1:=
+ )
+ )
+ !sys-power/upower"
+RDEPEND="${COMMON_DEPEND}
+ kernel_linux? ( >=sys-power/pm-utils-1.4.1-r2 )"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ dev-util/intltool
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig"
+
+QA_MULTILIB_PATHS="usr/lib/upower/.*"
+
+DOCS="AUTHORS HACKING NEWS README"
+
+S=${WORKDIR}/upower-${PV}
+
+src_prepare() {
+ sed -i -e '/DISABLE_DEPRECATED/d' configure || die
+
+ # https://bugs.freedesktop.org/show_bug.cgi?id=79565
+ # https://bugzilla.xfce.org/show_bug.cgi?id=10931
+ # Same effect as Debian -no_deprecation_define.patch, they patch .h, we patch .pc
+ sed -i -e 's|Cflags: |&-DUPOWER_ENABLE_DEPRECATED |' upower-glib.pc.in || die
+
+ # From upstream 0.9 git branch:
+ epatch \
+ "${FILESDIR}"/${P}-create-dir-runtime.patch \
+ "${FILESDIR}"/${P}-fix-segfault.patch \
+ "${FILESDIR}"/${P}-clamp_percentage_for_overfull_batt.patch
+
+ # From Debian:
+ epatch "${FILESDIR}"/${P}-always_use_pm-utils_backend.patch
+}
+
+src_configure() {
+ local backend myconf
+
+ if use kernel_linux; then
+ backend=linux
+ myconf="--enable-deprecated"
+ elif use kernel_FreeBSD; then
+ backend=freebsd
+ else
+ backend=dummy
+ fi
+
+ econf \
+ --libexecdir="${EPREFIX}"/usr/lib/upower \
+ --localstatedir="${EPREFIX}"/var \
+ $(use_enable introspection) \
+ --disable-static \
+ ${myconf} \
+ --enable-man-pages \
+ --disable-tests \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF}/html \
+ --with-backend=${backend} \
+ $(use_with ios idevice) \
+ "$(systemd_with_utildir)" \
+ "$(systemd_with_unitdir)"
+}
+
+src_install() {
+ default
+
+ # https://bugs.gentoo.org/487400
+ insinto /usr/share/doc/${PF}/html/UPower
+ doins doc/html/*
+ dosym /usr/share/doc/${PF}/html/UPower /usr/share/gtk-doc/html/UPower
+
+ keepdir /var/lib/upower #383091
+ prune_libtool_files
+}