rpms/gnome-session/devel gnome-session-2.24.0-add-can-shutdown-api.patch, 1.3, 1.4 gnome-session.spec, 1.207, 1.208
Ray Strode
rstrode at fedoraproject.org
Fri Oct 10 21:50:58 UTC 2008
Author: rstrode
Update of /cvs/pkgs/rpms/gnome-session/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31477
Modified Files:
gnome-session-2.24.0-add-can-shutdown-api.patch
gnome-session.spec
Log Message:
- Rewrite patch another time leverage better api and be more
terse
gnome-session-2.24.0-add-can-shutdown-api.patch:
Index: gnome-session-2.24.0-add-can-shutdown-api.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gnome-session/devel/gnome-session-2.24.0-add-can-shutdown-api.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gnome-session-2.24.0-add-can-shutdown-api.patch 10 Oct 2008 20:43:46 -0000 1.3
+++ gnome-session-2.24.0-add-can-shutdown-api.patch 10 Oct 2008 21:50:58 -0000 1.4
@@ -1,59 +1,7 @@
diff -up gnome-session-2.24.0/gnome-session/gsm-consolekit.c.add-can-shutdown-api gnome-session-2.24.0/gnome-session/gsm-consolekit.c
--- gnome-session-2.24.0/gnome-session/gsm-consolekit.c.add-can-shutdown-api 2008-09-22 17:21:08.000000000 -0400
-+++ gnome-session-2.24.0/gnome-session/gsm-consolekit.c 2008-10-10 16:39:55.000000000 -0400
-@@ -54,6 +54,9 @@ struct _GsmConsolekitPrivate
- DBusGConnection *dbus_connection;
- DBusGProxy *bus_proxy;
- DBusGProxy *ck_proxy;
-+#ifdef HAVE_POLKIT_GNOME
-+ PolKitSession *pk_session;
-+#endif
- guint32 is_connected : 1;
- };
-
-@@ -140,11 +143,14 @@ static gboolean
- gsm_consolekit_ensure_ck_connection (GsmConsolekit *manager,
- GError **error)
- {
-+ DBusConnection *connection;
- GError *connection_error;
- gboolean is_connected;
-+ const char *cookie;
-
- connection_error = NULL;
-
-+ connection = NULL;
- if (manager->priv->dbus_connection == NULL) {
- manager->priv->dbus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM,
- &connection_error);
-@@ -154,6 +160,8 @@ gsm_consolekit_ensure_ck_connection (Gsm
- is_connected = FALSE;
- goto out;
- }
-+
-+ connection = dbus_g_connection_get_connection (manager->priv->dbus_connection);
- }
-
- if (manager->priv->bus_proxy == NULL) {
-@@ -198,6 +206,17 @@ gsm_consolekit_ensure_ck_connection (Gsm
- }
- }
-
-+#ifdef HAVE_POLKIT_GNOME
-+ cookie = g_getenv ("XDG_SESSION_COOKIE");
-+ if (manager->priv->pk_session == NULL && connection != NULL && cookie != NULL) {
-+ DBusError error;
-+
-+ dbus_error_init (&error);
-+ manager->priv->pk_session = polkit_session_new_from_cookie (connection, cookie, &error);
-+ dbus_error_free (&error);
-+ }
-+#endif
-+
- is_connected = TRUE;
-
- out:
-@@ -825,20 +844,62 @@ gsm_consolekit_can_switch_user (GsmConso
++++ gnome-session-2.24.0/gnome-session/gsm-consolekit.c 2008-10-10 17:43:35.000000000 -0400
+@@ -825,20 +826,78 @@ gsm_consolekit_can_switch_user (GsmConso
return ret;
}
@@ -63,10 +11,10 @@
+ const char *action_id)
+{
+ PolKitGnomeContext *gnome_context;
-+ PolKitPolicyCache *policy_cache;
-+ PolKitPolicyFileEntry *file_entry;
-+ PolKitPolicyDefault *policy;
+ PolKitAction *action;
++ PolKitCaller *caller;
++ DBusError dbus_error;
++ PolKitError *error;
+ PolKitResult result;
+
+ gnome_context = polkit_gnome_context_get (NULL);
@@ -75,21 +23,38 @@
+ return FALSE;
+ }
+
-+ policy_cache = polkit_context_get_policy_cache (gnome_context->pk_context);
-+ file_entry = polkit_policy_cache_get_entry_by_id (policy_cache, action_id);
-+ policy = polkit_policy_file_entry_get_default (file_entry);
++ if (gnome_context->pk_tracker == NULL) {
++ return FALSE;
++ }
++
++ dbus_error_init (&dbus_error);
++ caller = polkit_tracker_get_caller_from_pid (gnome_context->pk_tracker,
++ getpid (),
++ &dbus_error);
++ dbus_error_free (&dbus_error);
++
++ if (caller == NULL) {
++ return FALSE;
++ }
++
+ action = polkit_action_new ();
++
+ if (!polkit_action_set_action_id (action, action_id)) {
+ polkit_action_unref (action);
++ polkit_caller_unref (caller);
+ return FALSE;
+ }
+
+ result = POLKIT_RESULT_UNKNOWN;
-+ if (manager->priv->pk_session != NULL) {
-+ result = polkit_policy_default_can_session_do_action (policy,
-+ action,
-+ manager->priv->pk_session);
++ error = NULL;
++ result = polkit_context_is_caller_authorized (gnome_context->pk_context,
++ action, caller, FALSE,
++ &error);
++ if (polkit_error_is_set (error)) {
++ polkit_error_free (error);
+ }
++ polkit_action_unref (action);
++ polkit_caller_unref (caller);
+
+ return result != POLKIT_RESULT_NO && result != POLKIT_RESULT_UNKNOWN;
+}
@@ -101,7 +66,6 @@
#ifdef HAVE_POLKIT_GNOME
gboolean res;
GError *error;
-+
error = NULL;
res = gsm_consolekit_ensure_ck_connection (manager, &error);
if (!res) {
@@ -117,7 +81,7 @@
#else
g_debug ("GsmConsolekit: built without PolicyKit-gnome support - cannot restart system");
return FALSE;
-@@ -857,8 +918,11 @@ gsm_consolekit_can_stop (GsmConsolekit *
+@@ -857,8 +916,11 @@ gsm_consolekit_can_stop (GsmConsolekit *
g_warning ("Could not connect to ConsoleKit: %s",
error->message);
g_error_free (error);
@@ -132,7 +96,7 @@
return FALSE;
diff -up gnome-session-2.24.0/gnome-session/gsm-manager.c.add-can-shutdown-api gnome-session-2.24.0/gnome-session/gsm-manager.c
--- gnome-session-2.24.0/gnome-session/gsm-manager.c.add-can-shutdown-api 2008-09-22 17:21:08.000000000 -0400
-+++ gnome-session-2.24.0/gnome-session/gsm-manager.c 2008-10-10 16:16:17.000000000 -0400
++++ gnome-session-2.24.0/gnome-session/gsm-manager.c 2008-10-10 16:41:14.000000000 -0400
@@ -2313,6 +2313,35 @@ gsm_manager_shutdown (GsmManager *manage
}
@@ -171,7 +135,7 @@
GError **error)
diff -up gnome-session-2.24.0/gnome-session/gsm-manager.h.add-can-shutdown-api gnome-session-2.24.0/gnome-session/gsm-manager.h
--- gnome-session-2.24.0/gnome-session/gsm-manager.h.add-can-shutdown-api 2008-09-22 17:21:08.000000000 -0400
-+++ gnome-session-2.24.0/gnome-session/gsm-manager.h 2008-10-10 16:16:17.000000000 -0400
++++ gnome-session-2.24.0/gnome-session/gsm-manager.h 2008-10-10 16:41:14.000000000 -0400
@@ -151,6 +151,10 @@ gboolean gsm_manager_is_inhib
gboolean gsm_manager_shutdown (GsmManager *manager,
@@ -185,7 +149,7 @@
GError **error);
diff -up gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml.add-can-shutdown-api gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml
--- gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml.add-can-shutdown-api 2008-09-22 17:21:08.000000000 -0400
-+++ gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml 2008-10-10 16:16:17.000000000 -0400
++++ gnome-session-2.24.0/gnome-session/org.gnome.SessionManager.xml 2008-10-10 16:41:14.000000000 -0400
@@ -252,6 +252,20 @@
</doc:doc>
</method>
Index: gnome-session.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gnome-session/devel/gnome-session.spec,v
retrieving revision 1.207
retrieving revision 1.208
diff -u -r1.207 -r1.208
--- gnome-session.spec 10 Oct 2008 20:43:46 -0000 1.207
+++ gnome-session.spec 10 Oct 2008 21:50:58 -0000 1.208
@@ -12,7 +12,7 @@
Summary: GNOME session manager
Name: gnome-session
Version: 2.24.0
-Release: 9%{?dist}
+Release: 10%{?dist}
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/gnome-session/2.24/%{name}-%{version}.tar.bz2
Source1: redhat-default-session
@@ -196,6 +196,10 @@
%changelog
+* Fri Oct 10 2008 Ray Strode <rstrode at redhat.com> - 2.24.0-10
+- Rewrite patch another time leverage better api and be more
+ terse
+
* Fri Oct 10 2008 Ray Strode <rstrode at redhat.com> - 2.24.0-9
- Bring shutdown menu item back. More fallout from my buggy
patch introduced in -7
More information about the scm-commits
mailing list