From ec0541ba060689e7533080b277cbc2c85c99b843 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Mon, 4 Oct 2010 15:49:18 +0100 Subject: [PATCH] - New upstream release. - Fix compile with the latest PolicyKit release. - Only save by default 7 days data to stop the log files becoming huge. - Do not continue to poll the serial port if there is no Watts Up Pro adaptor. - Fix the build with new versions of gobject-introspection. - Resolves #634228 --- .gitignore | 1 + sources | 2 +- upower-0.9.6-ensure-gerror-is-init.patch | 44 ---- upower-dbus-fixes.patch | 291 ----------------------- upower.spec | 35 +-- 5 files changed, 14 insertions(+), 359 deletions(-) delete mode 100644 upower-0.9.6-ensure-gerror-is-init.patch delete mode 100644 upower-dbus-fixes.patch diff --git a/.gitignore b/.gitignore index 1d6dc2b..9d396a6 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ upower-0.9.5.tar.bz2 +/upower-0.9.6.tar.bz2 diff --git a/sources b/sources index bcc2744..7ddbe90 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1c0e5f45345c17fc945dfb365847b587 upower-0.9.5.tar.bz2 +9c41e4973fdd6e9b491d1b829a9a35db upower-0.9.6.tar.bz2 diff --git a/upower-0.9.6-ensure-gerror-is-init.patch b/upower-0.9.6-ensure-gerror-is-init.patch deleted file mode 100644 index 286a518..0000000 --- a/upower-0.9.6-ensure-gerror-is-init.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit a4e099c5bff9f9fdb9067a0a6bb206d4c34745ae -Author: Richard Hughes -Date: Tue Aug 10 15:52:12 2010 +0100 - - Ensure we've initialized errors when calling into PolicyKit - -diff --git a/src/up-polkit.c b/src/up-polkit.c -index d7760dd..9b86394 100644 ---- a/src/up-polkit.c -+++ b/src/up-polkit.c -@@ -69,11 +69,14 @@ up_polkit_check_auth (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - { - gboolean ret = FALSE; - GError *error; -- GError *error_local; -+ GError *error_local = NULL; - PolkitAuthorizationResult *result; - - /* check auth */ -- result = polkit_authority_check_authorization_sync (polkit->priv->authority, subject, action_id, NULL, POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION, NULL, &error_local); -+ result = polkit_authority_check_authorization_sync (polkit->priv->authority, -+ subject, action_id, NULL, -+ POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION, -+ NULL, &error_local); - if (result == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); - dbus_g_method_return_error (context, error); -@@ -104,11 +107,14 @@ up_polkit_is_allowed (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - { - gboolean ret = FALSE; - GError *error; -- GError *error_local; -+ GError *error_local = NULL; - PolkitAuthorizationResult *result; - - /* check auth */ -- result = polkit_authority_check_authorization_sync (polkit->priv->authority, subject, action_id, NULL, POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, NULL, &error_local); -+ result = polkit_authority_check_authorization_sync (polkit->priv->authority, -+ subject, action_id, NULL, -+ POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, -+ NULL, &error_local); - if (result == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); - dbus_g_method_return_error (context, error); diff --git a/upower-dbus-fixes.patch b/upower-dbus-fixes.patch deleted file mode 100644 index 01759a6..0000000 --- a/upower-dbus-fixes.patch +++ /dev/null @@ -1,291 +0,0 @@ -diff --git a/src/up-daemon.c b/src/up-daemon.c -index 3fb952b..4884b64 100644 ---- a/src/up-daemon.c -+++ b/src/up-daemon.c -@@ -323,6 +323,7 @@ up_daemon_about_to_sleep (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Sleep has already been requested and is pending"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -376,6 +377,7 @@ up_daemon_deferred_sleep_cb (UpDaemonDeferredSleep *sleep) - "Failed to spawn: %s, stdout:%s, stderr:%s", error_local->message, stdout, stderr); - g_error_free (error_local); - dbus_g_method_return_error (sleep->context, error); -+ g_error_free (error); - goto out; - } - -@@ -470,6 +472,7 @@ up_daemon_suspend (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "No kernel support"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -477,7 +480,7 @@ up_daemon_suspend (UpDaemon *daemon, DBusGMethodInvocation *context) - if (subject == NULL) - goto out; - -- if (!up_polkit_check_auth (priv->polkit, subject, "org.freedesktop.upower.suspend", context)) -+ if (!up_polkit_check_auth (priv->polkit, subject, "org.freedesktop.upower.suspend", context)) - goto out; - - /* already requested */ -@@ -486,6 +489,7 @@ up_daemon_suspend (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Sleep has already been requested and is pending"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -507,13 +511,21 @@ up_daemon_suspend_allowed (UpDaemon *daemon, DBusGMethodInvocation *context) - gboolean ret; - PolkitSubject *subject = NULL; - UpDaemonPrivate *priv = daemon->priv; -+ GError *error; - - subject = up_polkit_get_subject (priv->polkit, context); - if (subject == NULL) - goto out; - -- ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.suspend", context); -- dbus_g_method_return (context, ret); -+ error = NULL; -+ ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.suspend", &error); -+ if (error) { -+ dbus_g_method_return_error (context, error); -+ g_error_free (error); -+ } -+ else { -+ dbus_g_method_return (context, ret); -+ } - - out: - if (subject != NULL) -@@ -563,6 +575,7 @@ up_daemon_hibernate (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "No kernel support"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -572,6 +585,7 @@ up_daemon_hibernate (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Not enough swap space"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -582,6 +596,7 @@ up_daemon_hibernate (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Swap space is encrypted, use AllowHibernateEncryptedSwap to override"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -598,6 +613,7 @@ up_daemon_hibernate (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Sleep has already been requested and is pending"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -619,13 +635,21 @@ up_daemon_hibernate_allowed (UpDaemon *daemon, DBusGMethodInvocation *context) - gboolean ret; - PolkitSubject *subject = NULL; - UpDaemonPrivate *priv = daemon->priv; -+ GError *error; - - subject = up_polkit_get_subject (priv->polkit, context); - if (subject == NULL) - goto out; - -- ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.hibernate", context); -- dbus_g_method_return (context, ret); -+ error = NULL; -+ ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.hibernate", &error); -+ if (error) { -+ dbus_g_method_return_error (context, error); -+ g_error_free (error); -+ } -+ else { -+ dbus_g_method_return (context, ret); -+ } - - out: - if (subject != NULL) -diff --git a/src/up-polkit.c b/src/up-polkit.c -index 9b86394..bd1e5e0 100644 ---- a/src/up-polkit.c -+++ b/src/up-polkit.c -@@ -52,12 +52,19 @@ static gpointer up_polkit_object = NULL; - PolkitSubject * - up_polkit_get_subject (UpPolkit *polkit, DBusGMethodInvocation *context) - { -+ GError *error; - const gchar *sender; - PolkitSubject *subject; - - sender = dbus_g_method_get_sender (context); - subject = polkit_system_bus_name_new (sender); - -+ if (subject == NULL) { -+ error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to get PolicyKit subject"); -+ dbus_g_method_return_error (context, error); -+ g_error_free (error); -+ } -+ - return subject; - } - -@@ -79,9 +86,9 @@ up_polkit_check_auth (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - NULL, &error_local); - if (result == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); -- dbus_g_method_return_error (context, error); -+ dbus_g_method_return_error (context, error); - g_error_free (error_local); -- g_error_free (error); -+ g_error_free (error); - goto out; - } - -@@ -90,8 +97,8 @@ up_polkit_check_auth (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - ret = TRUE; - } else { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "not authorized"); -- dbus_g_method_return_error (context, error); -- g_error_free (error); -+ dbus_g_method_return_error (context, error); -+ g_error_free (error); - } - out: - if (result != NULL) -@@ -103,10 +110,9 @@ out: - * up_polkit_is_allowed: - **/ - gboolean --up_polkit_is_allowed (UpPolkit *polkit, PolkitSubject *subject, const gchar *action_id, DBusGMethodInvocation *context) -+up_polkit_is_allowed (UpPolkit *polkit, PolkitSubject *subject, const gchar *action_id, GError **error) - { - gboolean ret = FALSE; -- GError *error; - GError *error_local = NULL; - PolkitAuthorizationResult *result; - -@@ -116,10 +122,8 @@ up_polkit_is_allowed (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, - NULL, &error_local); - if (result == NULL) { -- error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); -- dbus_g_method_return_error (context, error); -+ g_set_error (error, UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); - g_error_free (error_local); -- g_error_free (error); - goto out; - } - -diff --git a/src/up-polkit.h b/src/up-polkit.h -index acee70e..b9abd7e 100644 ---- a/src/up-polkit.h -+++ b/src/up-polkit.h -@@ -56,11 +56,11 @@ PolkitSubject *up_polkit_get_subject (UpPolkit *polkit, - gboolean up_polkit_check_auth (UpPolkit *polkit, - PolkitSubject *subject, - const gchar *action_id, -- DBusGMethodInvocation *context); -+ DBusGMethodInvocation *context); - gboolean up_polkit_is_allowed (UpPolkit *polkit, - PolkitSubject *subject, - const gchar *action_id, -- DBusGMethodInvocation *context); -+ GError **error); - gboolean up_polkit_get_uid (UpPolkit *polkit, - PolkitSubject *subject, - uid_t *uid); -diff --git a/src/up-qos.c b/src/up-qos.c -index 0ce3eea..b36df3f 100644 ---- a/src/up-qos.c -+++ b/src/up-qos.c -@@ -262,6 +262,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (type == UP_QOS_KIND_UNKNOWN) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "type invalid: %s", type_text); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -270,6 +271,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (sender == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "no DBUS sender"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -291,6 +293,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (!retval) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "cannot get UID"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -299,6 +302,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (!retval) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "cannot get PID"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -307,6 +311,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (cmdline == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "cannot get cmdline"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -359,6 +364,7 @@ up_qos_cancel_request (UpQos *qos, guint cookie, DBusGMethodInvocation *context) - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, - "Cannot find request for #%i", cookie); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -367,6 +373,7 @@ up_qos_cancel_request (UpQos *qos, guint cookie, DBusGMethodInvocation *context) - if (sender == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "no DBUS sender"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -388,6 +395,8 @@ up_qos_cancel_request (UpQos *qos, guint cookie, DBusGMethodInvocation *context) - /* TODO: if persistent remove from datadase */ - - g_signal_emit (qos, signals [REQUESTS_CHANGED], 0); -+ -+ dbus_g_method_return (context, NULL); - out: - if (subject != NULL) - g_object_unref (subject); -@@ -430,6 +439,7 @@ up_qos_set_minimum_latency (UpQos *qos, const gchar *type_text, gint value, DBus - if (type == UP_QOS_KIND_UNKNOWN) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "type invalid: %s", type_text); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - return; - } - diff --git a/upower.spec b/upower.spec index d1dffeb..bbe8a69 100644 --- a/upower.spec +++ b/upower.spec @@ -1,7 +1,7 @@ Summary: Power Management Service Name: upower -Version: 0.9.5 -Release: 10%{?dist} +Version: 0.9.6 +Release: 1%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://hal.freedesktop.org/releases/ @@ -26,19 +26,6 @@ Requires: udev Requires: pm-utils >= 1.2.2.1 Requires: gobject-introspection -# Upstream: don't crash with new polkits. -Patch0: upower-0.9.6-ensure-gerror-is-init.patch - -# Don't return more or less than once from a dbus call -# and don't leak errors all over the place -Patch1: upower-dbus-fixes.patch - -# Old project name -Obsoletes: DeviceKit-power < 1:0.9.0-2 - -# We will drop this in F15 -Provides: DeviceKit-power - %description UPower (formerly DeviceKit-power) provides a daemon, API and command line tools for managing power devices attached to the system. @@ -48,16 +35,12 @@ Summary: Headers and libraries for UPower Group: Development/Libraries Requires: %{name} = %{version}-%{release} Obsoletes: DeviceKit-power-devel < 1:0.9.0-2 -# We will drop this in F15 -Provides: DeviceKit-power-devel %description devel Headers and libraries for UPower. %prep %setup -q -%patch0 -p1 -b .new-polkit -%patch1 -p1 -b .dbus-fixes %build %configure \ @@ -83,7 +66,6 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %files -f upower.lang %defattr(-,root,root,-) %doc NEWS COPYING AUTHORS HACKING README -%{_libdir}/libdevkit-power-gobject*.so.* %{_libdir}/libupower-glib.so.* %{_sysconfdir}/dbus-1/system.d/*.conf %ifnarch s390 s390x @@ -104,11 +86,10 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %defattr(-,root,root,-) %{_datadir}/dbus-1/interfaces/*.xml %{_datadir}/gtk-doc -%{_libdir}/libdevkit-power-gobject*.so +%dir %{_datadir}/gtk-doc/html/UPower +%{_datadir}/gtk-doc/html/UPower/* %{_libdir}/libupower-glib.so %{_libdir}/pkgconfig/*.pc -%dir %{_includedir}/DeviceKit-power/devkit-power-gobject -%{_includedir}/DeviceKit-power/devkit-power-gobject/*.h %{_libdir}/girepository-1.0/*.typelib %{_datadir}/gir-1.0/*.gir %dir %{_includedir}/libupower-glib @@ -116,6 +97,14 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %{_includedir}/libupower-glib/upower.h %changelog +* Mon Oct 04 2010 Richard Hughes - 0.9.6-1 +- New upstream release. +- Fix compile with the latest PolicyKit release. +- Only save by default 7 days data to stop the log files becoming huge. +- Do not continue to poll the serial port if there is no Watts Up Pro adaptor. +- Fix the build with new versions of gobject-introspection. +- Resolves #634228 + * Wed Sep 29 2010 jkeating - 0.9.5-10 - Rebuilt for gcc bug 634757