summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2014-03-26 08:51:10 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2014-03-26 08:51:10 +0000
commit94aca38745ce2d03fb7eb1efdbaffbed5acc1d30 (patch)
treebc9f801856d84a825b6980fd13d78492871c1727 /sys-power
parentUpdate to EAPI 5. Remove empty variable assignments. (diff)
downloadhistorical-94aca38745ce2d03fb7eb1efdbaffbed5acc1d30.tar.gz
historical-94aca38745ce2d03fb7eb1efdbaffbed5acc1d30.tar.bz2
historical-94aca38745ce2d03fb7eb1efdbaffbed5acc1d30.zip
Apply upstream patch for clamping percentage for overfull batteries wrt #504574 by Krzysztof Nowicki and Till Schäfer
Package-Manager: portage-2.2.8-r1/cvs/Linux x86_64 Manifest-Sign-Key: 0x4868F14D
Diffstat (limited to 'sys-power')
-rw-r--r--sys-power/upower/ChangeLog10
-rw-r--r--sys-power/upower/Manifest24
-rw-r--r--sys-power/upower/files/upower-0.9.23-clamp_percentage_for_overfull_batt.patch72
-rw-r--r--sys-power/upower/upower-0.9.23-r2.ebuild93
4 files changed, 184 insertions, 15 deletions
diff --git a/sys-power/upower/ChangeLog b/sys-power/upower/ChangeLog
index d495f4018637..f6ebdbf24a37 100644
--- a/sys-power/upower/ChangeLog
+++ b/sys-power/upower/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-power/upower
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-power/upower/ChangeLog,v 1.141 2014/03/19 13:54:47 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-power/upower/ChangeLog,v 1.142 2014/03/26 08:51:04 ssuominen Exp $
+
+*upower-0.9.23-r2 (26 Mar 2014)
+
+ 26 Mar 2014; Samuli Suominen <ssuominen@gentoo.org>
+ +files/upower-0.9.23-clamp_percentage_for_overfull_batt.patch,
+ +upower-0.9.23-r2.ebuild:
+ Apply upstream patch for clamping percentage for overfull batteries wrt
+ #504574 by Krzysztof Nowicki and Till Schäfer
19 Mar 2014; Agostino Sarubbo <ago@gentoo.org> upower-0.9.23.ebuild:
Stable for alpha, wrt bug #496532
diff --git a/sys-power/upower/Manifest b/sys-power/upower/Manifest
index ff9cb5c43c49..c15c7207c2a2 100644
--- a/sys-power/upower/Manifest
+++ b/sys-power/upower/Manifest
@@ -1,6 +1,7 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
+AUX upower-0.9.23-clamp_percentage_for_overfull_batt.patch 3396 SHA256 16c43fbd1a31b88b115392ecb29c449bebe0f8e70530fb965dca49cf0925b131 SHA512 6bb869f1e2c5d93983b20bb65f5fc0803709b690f70b17a78204c98afca41a97b60b1c3cf8f564c931f189bd2db1dab00cd42121f5f022b5e8f0f044faf836d7 WHIRLPOOL 2d0dcf6c5d1246a940db43a38d7c5f429331dc69bd3e40fcac5679f3e2663c5ef1927e9e29fc0fabcf7e21e7693486db0f7b703e8dd36eba4be33d8366861074
AUX upower-0.9.23-create-dir-runtime.patch 1164 SHA256 6324c148d436e3f898b73b445411f29a7527c65ffedb574ef658c1eaaa1aa4de SHA512 1aaec53df73aa50fabffaddd380800f7ed78caddc02b16834831aa1faa09c795e0def04493f64d852a9b07b9ef4007352e111c5d7cdc1f1b2ed8043c445751f2 WHIRLPOOL 4347f169597c8e144081673d038809a4f0525410aef7e3ff3b713f22dd28e1d7f4bcc69413be2d3c87e7e228dc8da6cfab7b6a3e63feeafafb6e8dc5d4d3a018
AUX upower-0.9.23-fix-segfault.patch 829 SHA256 c80d1510b3e3d0579ddbec328d2800ab7e112378f9a8ff9ef152d72de50a45c3 SHA512 31a6b5414ddd17cbbcf318da98907d745910e7632ea9a4d4d5c02eaaae87857b5bb88f9ab2f336f7b24637727005fb839f8c9564b82e56ae0065d57b1ce19ad2 WHIRLPOOL 4286fadfbb45b89891ca4aed49b11cde70afa357101f4b9b150d9f68e548af28436fa25a9d8143f7d90daaff0ee22238dd017f10e1e34e58a226553a84724682
DIST upower-0.9.21.tar.xz 421204 SHA256 13c28e0a700291a322e0674894fedfd695889845ab82df2aafd699aa9bdbb2e2 SHA512 71f3d0bd328265094792cf1e91fb57952fa275415358c50286fb177b212867ac670a27b7caf84072552b5d84e665f9387a4998a5c04d2b9f92d4415a77885ab7 WHIRLPOOL 3378d9cf3d3c4c35ff801e85213f047d4eb481413801851d3b83bd39c46b5b8354663d00f7e5c1e0c8c162fad8bd0a2040164dec72c340510968e549a590b59e
@@ -10,24 +11,19 @@ DIST upower-0.99.0.tar.xz 429076 SHA256 5f354b9949108cb21180224ef3dba33b41c9221a
EBUILD upower-0.9.21.ebuild 2080 SHA256 bcff19873384ca4cb7fd801626efc64d170c2fb792ab0965f2c0a71a8d75f944 SHA512 7f14196e2d085a9cced5047bcd3b2d1c0af36bc46644cff90d4a2d42f9aa12f46f1f8fdbe36c40d0c49c596c2555908ea3712c89229166ad1a3b3bb2379b5eca WHIRLPOOL 3189a62bcc913d15deda72451dbcbf9be725e699edd9af76b343149a8b2ace2b6e945b7a456a11cf99aa417268d1e62a37032f039479ac040de42d5c569dda60
EBUILD upower-0.9.22.ebuild 2094 SHA256 6d1d45f983bd42fd2c978d92ea0769c099e8a698d033db0061a0e9f9ff6948f9 SHA512 878321989e14104a5d6fc78e9287b07cb319ec24641d88f099b586e788c6f724882f935f7fd15fa0f85453c4e20f10e12a688d7312b8e19d20a8e008976f66e0 WHIRLPOOL d9346d2f96d0779dbaa3776f66023abd0d603971786867c277683b16381021bea416617a88b34d5a11e0e160d83891225b987b28740fe96bac136d1bd4d91ec0
EBUILD upower-0.9.23-r1.ebuild 2196 SHA256 eb3754cb81aa549badddcd50b1dfe8241db2e784cfca58d9d062a2c2b0ef81f0 SHA512 ecf930c3490629640ef8b1ca9678a240b58742e30c9bedd5315b766cad5d982986a81865d92df344ca57ccab0841c6961ecb6072851493b4453d3fdf2425d59b WHIRLPOOL b74a706b56b64e4b453c0064e101ff9c00303793aad810f13b2ba9822fba032990bcbdd2f74449476afc98c548c9e6d3091e3eef507064d84b25cf53b7eebb16
+EBUILD upower-0.9.23-r2.ebuild 2260 SHA256 d1e0785ee82260506a320a930d6f4c7aaf5611e48c54d211d57970abe45454b5 SHA512 f9747a8d7399a9f2d6ca61d599b86701d05a5bfc124e830134da11d724290c9115524125b1f2acd61c80d537c73386e05f9783ea7b8d0ec04689e9405f054ba4 WHIRLPOOL 7306f33504f236040e1bf50ebd64552a1e7ae75f7f23937687e3b879ad5626e982aa1f8da7cf43fe0353619454d216f7eb62e6cd8266e9a4fd4b92aae3cace1d
EBUILD upower-0.9.23.ebuild 2080 SHA256 74738d950dd79dcfd9751990074ecf0df2d79a463c9c2375fdebc9c04af9e10f SHA512 2838720f3f6fa1f60aac2c3b092ca95e36d7e1ad8db445f06464b59f69374c0e8da421ad853f7fc9eead12a63eb5ec2260626d2e9a92849c39af7cf45dee4fc7 WHIRLPOOL 28245816d5f6a1e3cc80aa0e596ef610f4cddbc28f06c9a929625f704f075c88a63358c6c815501e2ebf7359578eb9c3c6d218b5b73fd6308e29cd24d61ac04b
EBUILD upower-0.99.0.ebuild 2252 SHA256 9cb45aa9898c79122e4302eded7b1f5f95395cadc98e352e78f547527165b90e SHA512 5d65aca682244baf730baa7bccc32292c7628100779a2702df014f5af5919aacfd4ce0dfec822062530290e5032b1a6ff915d3321a3c67863a1150f0d5ff99b6 WHIRLPOOL 5829bc447c83ae08dc844232b33c00f9a2cea584269bde59dffa733da9881636a3e66a5d42caa8b679a54313917f0dc6d549999f0464601877ed60192bc5cca6
-MISC ChangeLog 17675 SHA256 084fe3c03f4abf3d108def0784a58706d28af230f190879c9cdd0576e119d938 SHA512 50e7a537854baae01fea0b22efefcc6dd6dc3230b08f7969028411e9d4f19aa9bb2a2015f1cdd6cc7f45ee55b61254a31db21a6fa8357ce16824c19a9b5d4992 WHIRLPOOL dec8fa7bffe2ba820b8e0b61527b147f20f7624c0a6d17f7611bbd3e00467893f48f10da55f88fa40c68377b8e877be6fd96bee77a720d274fdb0fd767f5c3c5
+MISC ChangeLog 17985 SHA256 3f39f74760b5b575d9446f5412b839393efd7de5d998e5a3edbebedf2c7b841a SHA512 55f479784b9c18e45d6c96b1306f76dfe5389efd2133c6f54ee2107e7ab21e8c0f9f3855711221eec0019df0bd8fd27bd64fa28e3cba03d9f18f68eea5218d81 WHIRLPOOL 4244a6860fcd35f4dfede40c74a7597aa39aa35e179b1d82ae4a32aceffb9f3178a5c40e7b90d4c1d6c7c38333145f18096fbdaffe1ba544d58366e8d6a7df33
MISC metadata.xml 239 SHA256 5d929c534d63615358eacbd035a386109d5deebdc7bb562511b4a6338ee2bbb8 SHA512 ab6b74388bf69a67b0d1f4283475f97eb5a731f31b5c9db4ee50b819a846c77d4ef09f63856e31a68b0bfdf18ee3baa6c76720d4345ccadf154385caaf1033bb WHIRLPOOL bcac6415c046557e53bf04579e077fed4d694dee8f7c0faeecf15f3f036137a2c9f0eaa0c492cecef23a45bd5af2c45542acd26641209d3c9be3108bf1ff09a7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
-iQIcBAEBCAAGBQJTKaGoAAoJELp701BxlEWf3yIP/jWpmWDJa3KPgD9zcFVXf2Ys
-mEFHNopkrsDuj75a0La52daLQ5JXZ5H5Z/5GQawBPb75VssNrZ0Ou5q9O3oZxpr/
-WBPk0Z00gcoqWS1ECS+VoDQAp8a74hJcLn9I3tCqdETTUzHgaETPLcrzAMeI/uaz
-KCzJaR0A4qveRW6JDLGP9iCPhrrnLPvlQ9L2CQ12Vmq/98sS7hrJ/QX15+H3Zvey
-emzWGQzbMPU+Z6hODO66bzEf/wtlCHI1OfkfwzYH5a/N0wJ5R2hQuXWFFYAHdvdM
-mEF5Yv2XDFMxA0S6c4iks89YLWZWLqSg49z8TojtybYHE5iZeAJ6ftCES7Ttu72J
-sY8HuSQYVQu9B+BXNte9duIIjrQsThY/C2b/9PLfTAOJ8ZuHjXzG5ieevxkUGXxQ
-/Y5pgZey2L65qKBmcxQ22BoBSoVXPaO3jy6jrvjywx0GPSB/XTFdzsj3ZI3EUWd/
-lBndNITBy1kMq2wfNVyY8bX+xq9AR4T7ksiMmJuGEuXyf/SjzswYhcjm2ZIY46Dm
-3S4nYygad0PsxedH4/XoiONdBkaHnQZHaXvl+M8tDlMIeQOjxiVwWJNjxYMLSfhD
-x3MOwm0qGsumfVbGKhay0rKqY8L0KTFAjPKoxVk39WFUrtqLFtSr3pNyygfFadNp
-J1CkMj65//bJtxK2lxYS
-=WBVW
+iQEcBAEBCAAGBQJTMpPVAAoJEEdUh39IaPFNCvgH/A8uRFM7CLaP8sUMM9o8135l
+UxBTJZGLmuFxR/4zJ3VpbfX4AWx/01gGh1k4d+ffdx/EO+s3CISztvjULouGbI7w
+v8A5e5+U0ThYMoOX4pMO25qEdEELChglUUQA+64ezD7L0VjMbuFKvjdtOw5QIh+h
+Vlo0Ht3CYS+LFVZ340Civf7orRu821n2EbBfRrvV38WAFStCoq6x/udgr+PJCvUP
+JHdRPfXf43j9D9QMQzfseGdGoOW5jITYYeiTUPfevhDCXEwMXMkkScXLbWgPyr/Q
+pV2ynzS+CA6Euy7fnuFYrkhVeMRCoPsbhB5poV0k8LdMqQhxi9XEbhp5I7yYXTg=
+=gSV1
-----END PGP SIGNATURE-----
diff --git a/sys-power/upower/files/upower-0.9.23-clamp_percentage_for_overfull_batt.patch b/sys-power/upower/files/upower-0.9.23-clamp_percentage_for_overfull_batt.patch
new file mode 100644
index 000000000000..6e643c42de5e
--- /dev/null
+++ b/sys-power/upower/files/upower-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/upower-0.9.23-r2.ebuild b/sys-power/upower/upower-0.9.23-r2.ebuild
new file mode 100644
index 000000000000..56345f23056f
--- /dev/null
+++ b/sys-power/upower/upower-0.9.23-r2.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-power/upower/upower-0.9.23-r2.ebuild,v 1.1 2014/03/26 08:51:04 ssuominen Exp $
+
+EAPI=5
+inherit eutils systemd
+
+DESCRIPTION="D-Bus abstraction for enumerating power devices and querying history and statistics"
+HOMEPAGE="http://upower.freedesktop.org/"
+SRC_URI="http://${PN}.freedesktop.org/releases/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="doc +introspection ios kernel_FreeBSD kernel_linux systemd"
+
+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/udev-200[gudev]
+ ios? (
+ >=app-pda/libimobiledevice-1:=
+ >=app-pda/libplist-1:=
+ )
+ )"
+RDEPEND="${COMMON_DEPEND}
+ kernel_linux? (
+ !systemd? ( >=sys-power/pm-utils-1.4.1 )
+ systemd? (
+ app-shells/bash
+ >=sys-apps/systemd-200
+ )
+ )"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ dev-util/intltool
+ virtual/pkgconfig
+ doc? (
+ dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.1.2
+ )"
+
+QA_MULTILIB_PATHS="usr/lib/${PN}/.*"
+
+DOCS="AUTHORS HACKING NEWS README"
+
+src_prepare() {
+ sed -i -e '/DISABLE_DEPRECATED/d' configure || die
+
+ epatch \
+ "${FILESDIR}"/${P}-create-dir-runtime.patch \
+ "${FILESDIR}"/${P}-fix-segfault.patch \
+ "${FILESDIR}"/${P}-clamp_percentage_for_overfull_batt.patch
+}
+
+src_configure() {
+ local backend myconf
+
+ if use kernel_linux; then
+ backend=linux
+ myconf="$(use_enable !systemd deprecated)"
+ elif use kernel_FreeBSD; then
+ backend=freebsd
+ else
+ backend=dummy
+ fi
+
+ econf \
+ --libexecdir="${EPREFIX}"/usr/lib/${PN} \
+ --localstatedir="${EPREFIX}"/var \
+ $(use_enable introspection) \
+ --disable-static \
+ ${myconf} \
+ --enable-man-pages \
+ $(use_enable doc gtk-doc) \
+ --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
+ keepdir /var/lib/upower #383091
+ prune_libtool_files
+}