Date: Tuesday, February 25, 2014 @ 11:43:04 Author: jgc Revision: 206394
upgpkg: upower 0.99.0-1 Added: upower/trunk/create-dir-runtime.patch upower/trunk/fix-segfault.patch Modified: upower/trunk/PKGBUILD Deleted: upower/trunk/linux-clamp-percentage-for-overfull-batteries.patch -----------------------------------------------------+ PKGBUILD | 15 ++- create-dir-runtime.patch | 34 ++++++++ fix-segfault.patch | 24 ++++++ linux-clamp-percentage-for-overfull-batteries.patch | 72 ------------------ 4 files changed, 67 insertions(+), 78 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-02-25 10:32:28 UTC (rev 206393) +++ PKGBUILD 2014-02-25 10:43:04 UTC (rev 206394) @@ -2,8 +2,8 @@ # Maintainer: Jan de Groot <j...@archlinux.org> pkgname=upower -pkgver=0.9.23 -pkgrel=2 +pkgver=0.99.0 +pkgrel=1 pkgdesc="Abstraction for enumerating power devices, listening to device events and querying history and statistics" arch=('i686' 'x86_64') url="http://upower.freedesktop.org" @@ -12,13 +12,16 @@ makedepends=('intltool' 'docbook-xsl' 'gobject-introspection' 'systemd') backup=('etc/UPower/UPower.conf') source=($url/releases/$pkgname-$pkgver.tar.xz - linux-clamp-percentage-for-overfull-batteries.patch) -md5sums=('39cfd97bfaf7d30908f20cf937a57634' - 'cd8eeb40c2338d28df46e22529bece62') + create-dir-runtime.patch + fix-segfault.patch) +md5sums=('14f43bc13353e23e7280863f33ac50d2' + '74901767f9c94451083b3d92396454ab' + 'fa2f37eec44703e4c10edb5d9abb0f6b') prepare() { cd $pkgname-$pkgver - patch -Np1 -i ../linux-clamp-percentage-for-overfull-batteries.patch + patch -Np1 -i ../create-dir-runtime.patch + patch -Np1 -i ../fix-segfault.patch } build() { Added: create-dir-runtime.patch =================================================================== --- create-dir-runtime.patch (rev 0) +++ create-dir-runtime.patch 2014-02-25 10:43:04 UTC (rev 206394) @@ -0,0 +1,34 @@ +From b9cff29978113aefe3ad18521f383f12ab099a34 Mon Sep 17 00:00:00 2001 +From: Cosimo Cecchi <cos...@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 <rich...@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 Added: fix-segfault.patch =================================================================== --- fix-segfault.patch (rev 0) +++ fix-segfault.patch 2014-02-25 10:43:04 UTC (rev 206394) @@ -0,0 +1,24 @@ +From 0d64bbddaa0078ef148d609a3cfad854cf00d7de Mon Sep 17 00:00:00 2001 +From: Martin Pitt <martinp...@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 Deleted: linux-clamp-percentage-for-overfull-batteries.patch =================================================================== --- linux-clamp-percentage-for-overfull-batteries.patch 2014-02-25 10:32:28 UTC (rev 206393) +++ linux-clamp-percentage-for-overfull-batteries.patch 2014-02-25 10:43:04 UTC (rev 206394) @@ -1,72 +0,0 @@ -From b8fe9902f3c6c50ca6a23e24fcea99582beebc65 Mon Sep 17 00:00:00 2001 -From: Martin Pitt <martinp...@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