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