[packages/upower-pm-utils] - initial revision, based on upower 0.9.23 (latest with pm-utils support)

adwol adwol at pld-linux.org
Thu Oct 23 22:38:15 CEST 2014


commit 867116c08d5557228ab9117bdac5e174e2e6fe0f
Author: Adam Osuchowski <adwol at pld-linux.org>
Date:   Thu Oct 23 22:36:42 2014 +0200

    - initial revision, based on upower 0.9.23 (latest with pm-utils support)

 upower-battery_range.patch |  72 ++++++++++++++
 upower-pm-utils.spec       | 227 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 299 insertions(+)
---
diff --git a/upower-pm-utils.spec b/upower-pm-utils.spec
new file mode 100644
index 0000000..6b519ea
--- /dev/null
+++ b/upower-pm-utils.spec
@@ -0,0 +1,227 @@
+%define		orig_name	upower
+
+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.9.23
+Release:	1
+License:	GPL v2+
+Group:		Libraries
+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
+BuildRequires:	dbus-devel >= 1.0.0
+BuildRequires:	dbus-glib-devel >= 0.76
+BuildRequires:	docbook-dtd412-xml
+BuildRequires:	gettext-devel >= 0.17
+BuildRequires:	glib2-devel >= 1:2.22.0
+BuildRequires:	gobject-introspection-devel >= 0.10.0
+BuildRequires:	gtk-doc >= 1.11
+BuildRequires:	intltool >= 0.40.0
+BuildRequires:	libimobiledevice-devel >= 0.9.7
+BuildRequires:	libplist-devel >= 0.12
+BuildRequires:	libtool >= 2:2
+BuildRequires:	libusb-devel >= 1.0.0
+BuildRequires:	pkgconfig
+BuildRequires:	polkit-devel >= 0.97
+BuildRequires:	systemd-devel
+BuildRequires:	tar >= 1:1.22
+BuildRequires:	udev-glib-devel >= 1:147
+BuildRequires:	xz
+Requires(post,preun,postun):	systemd-units >= 38
+Requires:	libimobiledevice >= 0.9.7
+Requires:	libplist >= 0.12
+Requires:	pm-utils
+Requires:	polkit >= 0.97
+Requires:	systemd-units >= 38
+Requires:	udev-glib >= 1:147
+Provides:	%{orig_name} = %{version}-%{release}
+Obsoletes:	DeviceKit-power < 0.15
+Obsoletes:	UPower < 0.9.8-2
+Obsoletes:	%{orig_name}
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+upower provides a daemon, API and command line tools for managing
+power devices attached to the system.
+upower-pm-utils use pm-utils as backend.
+
+%description -l pl.UTF-8
+upower dostarcza demona, API i narzędzia linii poleceń do zarządzania
+urządzeniami energii dołączonymi do systemu.
+upower-pm-utils wykorzystuje do działania pm-utils.
+
+%package libs
+Summary:	UPower shared library
+Summary(pl.UTF-8):	Biblioteka współdzielona UPower
+Group:		Libraries
+Requires:	dbus-glib >= 0.76
+Requires:	dbus-libs >= 1.0.0
+Requires:	glib2 >= 1:2.22.0
+Provides:	%{orig_name}-libs = %{version}-%{release}
+Provides:	%{orig_name}-libs = 0.99.0
+%ifarch %{x8664}
+Provides:	libupower-glib.so.3()(64bit)
+%else
+Provides:	libupower-glib.so.3
+%endif
+Obsoletes:	%{orig_name}-libs
+Conflicts:	%{orig_name} < 0.9.18
+
+%description libs
+UPower shared library.
+
+%description libs -l pl.UTF-8
+Biblioteka współdzielona UPower.
+
+%package devel
+Summary:	Header files for UPower library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki UPower
+Group:		Development/Libraries
+Requires:	%{name}-libs = %{version}-%{release}
+Requires:	dbus-devel >= 1.0.0
+Requires:	dbus-glib-devel >= 0.76
+Requires:	glib2-devel >= 1:2.22.0
+Provides:	%{orig_name}-devel = %{version}-%{release}
+Obsoletes:	%{orig_name}-devel
+Obsoletes:	DeviceKit-power-devel
+Obsoletes:	UPower-devel
+
+%description devel
+Header files for UPower library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki UPower.
+
+%package static
+Summary:	Static UPower library
+Summary(pl.UTF-8):	Statyczna biblioteka UPower
+Group:		Development/Libraries
+Requires:	%{orig_name}-devel = %{version}-%{release}
+Provides:	%{orig_name}-static = %{version}-%{release}
+Obsoletes:	%{orig_name}-static
+
+%description static
+Static UPower library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka UPower.
+
+%package apidocs
+Summary:	UPower API documentation
+Summary(pl.UTF-8):	Dokumentacja API UPower
+Group:		Documentation
+Requires:	gtk-doc-common
+Obsoletes:	DeviceKit-power-apidocs
+Obsoletes:	UPower-apidocs
+Obsoletes:	%{orig_name}-apidocs
+
+%description apidocs
+UPower API documentation.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API UPower.
+
+%prep
+%setup -q -n %{orig_name}-%{version}
+%patch0 -p1
+
+%build
+%{__gtkdocize}
+%{__intltoolize}
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+	--disable-silent-rules \
+	--enable-deprecated \
+	--enable-gtk-doc \
+	--with-html-dir=%{_gtkdocdir} \
+	--with-systemdsystemunitdir=%{systemdunitdir}
+
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+ln -s libupower-glib.so.1 $RPM_BUILD_ROOT/%{_libdir}/libupower-glib.so.3
+
+%find_lang upower
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+%systemd_post upower.service
+
+%preun
+%systemd_preun upower.service
+
+%postun
+%systemd_reload
+
+%post	libs -p /sbin/ldconfig
+%postun	libs -p /sbin/ldconfig
+
+%files -f upower.lang
+%defattr(644,root,root,755)
+%doc AUTHORS HACKING NEWS README
+%attr(755,root,root) %{_bindir}/upower
+%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
+%{_mandir}/man1/upower.1*
+%{_mandir}/man7/UPower.7*
+%{_mandir}/man8/upowerd.8*
+%dir /var/lib/upower
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libupower-glib.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libupower-glib.so.1
+%attr(755,root,root) %ghost %{_libdir}/libupower-glib.so.3
+%{_libdir}/girepository-1.0/UPowerGlib-1.0.typelib
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libupower-glib.so
+%{_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
+%{_includedir}/libupower-glib
+%{_pkgconfigdir}/upower-glib.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libupower-glib.a
+
+%files apidocs
+%defattr(644,root,root,755)
+%{_gtkdocdir}/UPower
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 <martinpitt at 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 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
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/upower-pm-utils.git/commitdiff/867116c08d5557228ab9117bdac5e174e2e6fe0f



More information about the pld-cvs-commit mailing list