diff options
Diffstat (limited to 'extra/upower')
-rw-r--r-- | extra/upower/PKGBUILD | 27 | ||||
-rw-r--r-- | extra/upower/git-fixes.patch | 112 |
2 files changed, 127 insertions, 12 deletions
diff --git a/extra/upower/PKGBUILD b/extra/upower/PKGBUILD index e135247b2..a3b18fe7f 100644 --- a/extra/upower/PKGBUILD +++ b/extra/upower/PKGBUILD @@ -1,31 +1,34 @@ -# $Id: PKGBUILD 185169 2013-05-11 16:16:34Z tomegun $ +# $Id: PKGBUILD 196663 2013-10-16 09:25:32Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=upower -pkgver=0.9.20 -pkgrel=2 +pkgver=0.9.22 +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" license=('GPL') -depends=('systemd-tools' 'libsystemd' 'libusb' 'polkit' 'pm-utils' 'dbus-glib' 'libimobiledevice') +depends=('systemd-tools' 'libsystemd' 'libusb' 'polkit' 'dbus-glib' 'libimobiledevice') makedepends=('intltool' 'docbook-xsl' 'gobject-introspection' 'systemd') +backup=('etc/UPower/UPower.conf') options=('!libtool') -source=($url/releases/$pkgname-$pkgver.tar.xz) -md5sums=('f175984d142dc8d2353a7da609836b69') +source=($url/releases/$pkgname-$pkgver.tar.xz + git-fixes.patch) +md5sums=('22b0b13c16ceb1516b5edf5cf0e99d6d' + 'd47377f5f8a02e38f81b6a63d8a19ef3') + +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../git-fixes.patch +} build() { cd "$pkgname-$pkgver" - # put udev files in /usr/lib - # should be dropped as of 0.9.21!! - sed -i "/slashlibdir=/s#/lib#/usr/lib#" configure - ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/usr/lib/$pkgname \ - --disable-static \ - --enable-deprecated + --disable-static make } diff --git a/extra/upower/git-fixes.patch b/extra/upower/git-fixes.patch new file mode 100644 index 000000000..83c407454 --- /dev/null +++ b/extra/upower/git-fixes.patch @@ -0,0 +1,112 @@ +From e4858d94343bba2afbebcd1a4925c981a38a9579 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera <hadess@hadess.net> +Date: Thu, 10 Oct 2013 16:32:41 +0000 +Subject: up-client: Really don't overwrite retval with prop values + +db89e5a32bf2c16c0d3d00f6c8f0ef7e5e7efa8f was incomplete and +"ret" was being used instead of prop_val to set some of those +properties. It's likely your laptop would have been seen as +docked for example. +--- +diff --git a/libupower-glib/up-client.c b/libupower-glib/up-client.c +index 757e4a1..2334a68 100644 +--- a/libupower-glib/up-client.c ++++ b/libupower-glib/up-client.c +@@ -360,7 +360,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr + + prop_val = g_value_get_boolean (value) && allowed; + if (prop_val != client->priv->can_suspend) { +- client->priv->can_suspend = ret; ++ client->priv->can_suspend = prop_val; + g_object_notify (G_OBJECT(client), "can-suspend"); + } + +@@ -376,7 +376,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr + + prop_val = g_value_get_boolean (value) && allowed; + if (prop_val != client->priv->can_hibernate) { +- client->priv->can_hibernate = ret; ++ client->priv->can_hibernate = prop_val; + g_object_notify (G_OBJECT(client), "can-hibernate"); + } + #endif /* ENABLE_DEPRECATED */ +@@ -388,7 +388,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr + } + prop_val = g_value_get_boolean (value); + if (prop_val != client->priv->lid_is_closed) { +- client->priv->lid_is_closed = ret; ++ client->priv->lid_is_closed = prop_val; + g_object_notify (G_OBJECT(client), "lid-is-closed"); + } + +@@ -399,7 +399,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr + } + prop_val = g_value_get_boolean (value); + if (prop_val != client->priv->on_battery) { +- client->priv->on_battery = ret; ++ client->priv->on_battery = prop_val; + g_object_notify (G_OBJECT(client), "on-battery"); + } + +@@ -410,7 +410,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr + } + prop_val = g_value_get_boolean (value); + if (prop_val != client->priv->on_low_battery) { +- client->priv->on_low_battery = ret; ++ client->priv->on_low_battery = prop_val; + g_object_notify (G_OBJECT(client), "on-low-battery"); + } + +@@ -421,7 +421,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr + } + prop_val = g_value_get_boolean (value); + if (prop_val != client->priv->lid_is_present) { +- client->priv->lid_is_present = ret; ++ client->priv->lid_is_present = prop_val; + g_object_notify (G_OBJECT(client), "lid-is-present"); + } + +@@ -431,8 +431,8 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr + goto out; + } + prop_val = g_value_get_boolean (value); +- if (ret != client->priv->is_docked) { +- client->priv->is_docked = ret; ++ if (prop_val != client->priv->is_docked) { ++ client->priv->is_docked = prop_val; + g_object_notify (G_OBJECT(client), "is-docked"); + } + +@@ -443,7 +443,7 @@ up_client_get_properties_sync (UpClient *client, GCancellable *cancellable, GErr + } + prop_val = g_value_get_boolean (value); + if (prop_val != client->priv->lid_force_sleep) { +- client->priv->lid_force_sleep = ret; ++ client->priv->lid_force_sleep = prop_val; + g_object_notify (G_OBJECT(client), "lid-force-sleep"); + } + +-- +cgit v0.9.0.2-2-gbebe +From d43ab28a29420a61d031908abbf1d13b2cb35796 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera <hadess@hadess.net> +Date: Thu, 10 Oct 2013 16:59:08 +0000 +Subject: lib: Fix a small memory leak + +The bus was never unreferenced in the UpWakeups object. +--- +diff --git a/libupower-glib/up-wakeups.c b/libupower-glib/up-wakeups.c +index 3729ad7..ed6bf80 100644 +--- a/libupower-glib/up-wakeups.c ++++ b/libupower-glib/up-wakeups.c +@@ -377,6 +377,8 @@ up_wakeups_finalize (GObject *object) + g_object_unref (wakeups->priv->proxy); + if (wakeups->priv->prop_proxy != NULL) + g_object_unref (wakeups->priv->prop_proxy); ++ if (wakeups->priv->bus) ++ dbus_g_connection_unref (wakeups->priv->bus); + + G_OBJECT_CLASS (up_wakeups_parent_class)->finalize (object); + } +-- +cgit v0.9.0.2-2-gbebe |