From: Jan Palus Date: Fri, 15 Mar 2019 23:37:45 +0000 (+0100) Subject: Revert "up to 0.99.10" X-Git-Tag: auto/th/upower-pm-utils-0.9.23-7~1 X-Git-Url: https://git.pld-linux.org/?p=packages%2Fupower-pm-utils.git;a=commitdiff_plain;h=4c5b8e518703039b0ceeff9785cab5e7eb7cb353 Revert "up to 0.99.10" This reverts commit 7b3c96282fde4b14e4ead2d1fa3f0cc91d6d21ee. --- diff --git a/upower-battery_range.patch b/upower-battery_range.patch new file mode 100644 index 0000000..c8bb5e6 --- /dev/null +++ b/upower-battery_range.patch @@ -0,0 +1,72 @@ +From 22da1a0bc5943b683189418d8b0f766e91b2bdbe 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 6adc5c4..b7f11a9 100755 +--- a/src/linux/integration-test ++++ b/src/linux/integration-test +@@ -458,6 +458,39 @@ class Tests(unittest.TestCase): + self.assertEqual(self.get_dbus_display_property('WarningLevel'), UP_DEVICE_LEVEL_NONE) + 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 fd509c3..977d1b0 100644 +--- a/src/linux/up-device-supply.c ++++ b/src/linux/up-device-supply.c +@@ -677,6 +677,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/upower-pm-utils.spec b/upower-pm-utils.spec index 49ba91b..c2861c3 100644 --- a/upower-pm-utils.spec +++ b/upower-pm-utils.spec @@ -3,12 +3,13 @@ Summary: Power management service with pm-utils backend Summary(pl.UTF-8): Usługa zarządzania energią z wykorzystaniem pm-utils Name: %{orig_name}-pm-utils -Version: 0.99.10 -Release: 1 +Version: 0.9.23 +Release: 6 License: GPL v2+ Group: Libraries -Source0: https://gitlab.freedesktop.org/upower/upower/uploads/c438511024b9bc5a904f8775cfc8e4c4/%{orig_name}-%{version}.tar.xz -# Source0-md5: ac6b6bee31110fd8478a8e881c40fba6 +Source0: http://upower.freedesktop.org/releases/%{orig_name}-%{version}.tar.xz +# Source0-md5: 39cfd97bfaf7d30908f20cf937a57634 +Patch0: %{orig_name}-battery_range.patch URL: http://upower.freedesktop.org/ BuildRequires: autoconf >= 2.65 BuildRequires: automake >= 1:1.11 @@ -122,6 +123,7 @@ Dokumentacja API UPower. %prep %setup -q -n %{orig_name}-%{version} +%patch0 -p1 %build %{__gtkdocize} @@ -167,12 +169,21 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %doc AUTHORS HACKING NEWS README %attr(755,root,root) %{_bindir}/upower -%attr(755,root,root) %{_libexecdir}/upowerd +%attr(755,root,root) %{_libdir}/upowerd %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/org.freedesktop.UPower.conf %dir %{_sysconfdir}/UPower %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/UPower/UPower.conf %{_datadir}/dbus-1/system-services/org.freedesktop.UPower.service +%{_datadir}/polkit-1/actions/org.freedesktop.upower.policy +%{_datadir}/polkit-1/actions/org.freedesktop.upower.qos.policy %{systemdunitdir}/upower.service +%attr(755,root,root) /lib/systemd/system-sleep/notify-upower.sh +/lib/udev/rules.d/95-upower-battery-recall-dell.rules +/lib/udev/rules.d/95-upower-battery-recall-fujitsu.rules +/lib/udev/rules.d/95-upower-battery-recall-gateway.rules +/lib/udev/rules.d/95-upower-battery-recall-ibm.rules +/lib/udev/rules.d/95-upower-battery-recall-lenovo.rules +/lib/udev/rules.d/95-upower-battery-recall-toshiba.rules /lib/udev/rules.d/95-upower-csr.rules /lib/udev/rules.d/95-upower-hid.rules /lib/udev/rules.d/95-upower-wup.rules @@ -184,7 +195,7 @@ rm -rf $RPM_BUILD_ROOT %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libupower-glib.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libupower-glib.so.3 +%attr(755,root,root) %ghost %{_libdir}/libupower-glib.so.1 %{_libdir}/girepository-1.0/UPowerGlib-1.0.typelib %files devel @@ -193,6 +204,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libupower-glib.la %{_datadir}/dbus-1/interfaces/org.freedesktop.UPower.Device.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.UPower.KbdBacklight.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.UPower.QoS.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.UPower.Wakeups.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.UPower.xml %{_datadir}/gir-1.0/UPowerGlib-1.0.gir