From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- sys-power/upower-pm-utils/Manifest | 9 ++ ...-utils-0.9.23-always_use_pm-utils_backend.patch | 27 ++++++ ...0.9.23-clamp_percentage_for_overfull_batt.patch | 72 +++++++++++++++ ...upower-pm-utils-0.9.23-create-dir-runtime.patch | 34 +++++++ .../upower-pm-utils-0.9.23-fix-segfault.patch | 24 +++++ sys-power/upower-pm-utils/metadata.xml | 7 ++ .../upower-pm-utils-0.9.23-r2.ebuild | 101 +++++++++++++++++++++ 7 files changed, 274 insertions(+) create mode 100644 sys-power/upower-pm-utils/Manifest create mode 100644 sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-always_use_pm-utils_backend.patch create mode 100644 sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-clamp_percentage_for_overfull_batt.patch create mode 100644 sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-create-dir-runtime.patch create mode 100644 sys-power/upower-pm-utils/files/upower-pm-utils-0.9.23-fix-segfault.patch create mode 100644 sys-power/upower-pm-utils/metadata.xml create mode 100644 sys-power/upower-pm-utils/upower-pm-utils-0.9.23-r2.ebuild (limited to 'sys-power/upower-pm-utils') 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 +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 +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 +--- +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 +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 @@ + + + + + freedesktop-bugs@gentoo.org + + 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 +} -- cgit v1.2.3