[arch-commits] Commit in gconf-editor/gnome-unstable (PKGBUILD polkit1.patch)
Jan de Groot
jgc at archlinux.org
Mon Aug 24 13:20:38 UTC 2009
Date: Monday, August 24, 2009 @ 09:20:38
Author: jgc
Revision: 50178
Update to 2.27.91 - polkit support merged upstream
Modified:
gconf-editor/gnome-unstable/PKGBUILD
Deleted:
gconf-editor/gnome-unstable/polkit1.patch
---------------+
PKGBUILD | 15 -
polkit1.patch | 451 --------------------------------------------------------
2 files changed, 4 insertions(+), 462 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2009-08-24 13:13:58 UTC (rev 50177)
+++ PKGBUILD 2009-08-24 13:20:38 UTC (rev 50178)
@@ -2,8 +2,8 @@
# Maintainer: Jan de Groot <jgc at archlinux.org>
pkgname=gconf-editor
-pkgver=2.26.0
-pkgrel=2
+pkgver=2.27.91
+pkgrel=1
pkgdesc="Graphical gconf registry editor"
arch=(i686 x86_64)
license=('GPL')
@@ -13,18 +13,11 @@
groups=('gnome-extra')
options=(!emptydirs)
install=gconf-editor.install
-source=(http://ftp.gnome.org/pub/gnome/sources/gconf-editor/2.26/gconf-editor-${pkgver}.tar.bz2
- polkit1.patch)
-md5sums=('2dc76415b22d805cfacfcd5fb98f185c'
- '7c0b1eb93e7ac5c0ae3cf927e1c98a95')
+source=(http://ftp.gnome.org/pub/gnome/sources/gconf-editor/2.27/gconf-editor-${pkgver}.tar.bz2)
+sha256sums=('77d6871ab0393b66bb2e283289b9f05b538036a07e36240f2c6b7291c461a0d0')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/polkit1.patch" || return 1
- libtoolize --force || return 1
- aclocal || return 1
- autoconf || return 1
- automake || return 1
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-scrollkeeper || return 1
make || return 1
Deleted: polkit1.patch
===================================================================
--- polkit1.patch 2009-08-24 13:13:58 UTC (rev 50177)
+++ polkit1.patch 2009-08-24 13:20:38 UTC (rev 50178)
@@ -1,451 +0,0 @@
-diff -up gconf-editor-2.26.0/configure.in.polkit1 gconf-editor-2.26.0/configure.in
---- gconf-editor-2.26.0/configure.in.polkit1 2009-03-17 10:30:40.000000000 -0400
-+++ gconf-editor-2.26.0/configure.in 2009-06-12 14:17:03.455358136 -0400
-@@ -35,7 +35,6 @@ changequote([,])dnl
- PKG_CHECK_MODULES(GCONF_EDITOR,
- gconf-2.0 >= 2.9.2
- gtk+-2.0 >= 2.12.0
-- polkit-dbus >= 0.7
- dbus-glib-1 >= 0.71)
-
- if test "$enable_maintainer_mode" = "yes"; then
-diff -up gconf-editor-2.26.0/src/gconf-editor-window.c.polkit1 gconf-editor-2.26.0/src/gconf-editor-window.c
---- gconf-editor-2.26.0/src/gconf-editor-window.c.polkit1 2009-03-17 10:29:30.000000000 -0400
-+++ gconf-editor-2.26.0/src/gconf-editor-window.c 2009-06-12 14:17:03.457357782 -0400
-@@ -689,7 +689,6 @@ gconf_editor_popup_window_set_as_default
- if (can_use_pk) {
- gconf_client_suggest_sync (gconfwindow->client, NULL);
- gconf_pk_set_default_async (path,
-- GDK_WINDOW_XWINDOW (GTK_WIDGET (window)->window),
- (GFunc) gconf_editor_popup_policykit_callback,
- g_object_ref (window), g_object_unref);
- }
-@@ -737,7 +736,6 @@ gconf_editor_popup_window_set_as_mandato
- if (can_use_pk) {
- gconf_client_suggest_sync (gconfwindow->client, NULL);
- gconf_pk_set_mandatory_async (path,
-- GDK_WINDOW_XWINDOW (GTK_WIDGET (window)->window),
- (GFunc) gconf_editor_popup_policykit_callback,
- g_object_ref (window), g_object_unref);
- }
-@@ -934,10 +932,10 @@ list_view_button_press_event (GtkTreeVie
- window->type != GCONF_EDITOR_WINDOW_TYPE_DEFAULTS);
- gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->ui_manager, "/GConfKeyPopupMenu/DefaultKey"),
- (gconf_util_can_edit_defaults () && window->type != GCONF_EDITOR_WINDOW_TYPE_DEFAULTS) ||
-- (gconf_pk_can_set_default () && window->type == GCONF_EDITOR_WINDOW_TYPE_NORMAL));
-+ (gconf_pk_can_set_default ("/") && window->type == GCONF_EDITOR_WINDOW_TYPE_NORMAL));
- gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->ui_manager, "/GConfKeyPopupMenu/MandatoryKey"),
- (gconf_util_can_edit_mandatory () && window->type != GCONF_EDITOR_WINDOW_TYPE_MANDATORY) ||
-- (gconf_pk_can_set_mandatory () && window->type == GCONF_EDITOR_WINDOW_TYPE_NORMAL));
-+ (gconf_pk_can_set_mandatory ("/") && window->type == GCONF_EDITOR_WINDOW_TYPE_NORMAL));
-
- gtk_tree_path_free (path);
- }
-@@ -1037,10 +1035,10 @@ gconf_editor_window_list_view_popup_menu
- window->type != GCONF_EDITOR_WINDOW_TYPE_DEFAULTS);
- gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->ui_manager, "/GConfKeyPopupMenu/DefaultKey"),
- (gconf_util_can_edit_defaults () && window->type != GCONF_EDITOR_WINDOW_TYPE_DEFAULTS) ||
-- (gconf_pk_can_set_default () && window->type == GCONF_EDITOR_WINDOW_TYPE_NORMAL));
-+ (gconf_pk_can_set_default ("/") && window->type == GCONF_EDITOR_WINDOW_TYPE_NORMAL));
- gtk_widget_set_sensitive (gtk_ui_manager_get_widget (window->ui_manager, "/GConfKeyPopupMenu/MandatoryKey"),
- (gconf_util_can_edit_mandatory () && window->type != GCONF_EDITOR_WINDOW_TYPE_MANDATORY) ||
-- (gconf_pk_can_set_mandatory () && window->type == GCONF_EDITOR_WINDOW_TYPE_NORMAL));
-+ (gconf_pk_can_set_mandatory ("/") && window->type == GCONF_EDITOR_WINDOW_TYPE_NORMAL));
-
- }
- else {
-diff -up gconf-editor-2.26.0/src/gconf-policykit.c.polkit1 gconf-editor-2.26.0/src/gconf-policykit.c
---- gconf-editor-2.26.0/src/gconf-policykit.c.polkit1 2009-03-17 10:29:30.000000000 -0400
-+++ gconf-editor-2.26.0/src/gconf-policykit.c 2009-06-12 14:20:28.549111475 -0400
-@@ -36,9 +36,6 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
-
--#include <polkit/polkit.h>
--#include <polkit-dbus/polkit-dbus.h>
--
- #include "gconf-policykit.h"
-
- #define CACHE_VALIDITY_SEC 10
-@@ -81,156 +78,118 @@ get_system_bus (void)
- return bus;
- }
-
--static gboolean
--pk_io_watch_have_data (GIOChannel *channel, GIOCondition condition, gpointer user_data)
--{
-- int fd;
-- PolKitContext *pk_context = user_data;
-- fd = g_io_channel_unix_get_fd (channel);
-- polkit_context_io_func (pk_context, fd);
-- return TRUE;
--}
--
--static int
--pk_io_add_watch_fn (PolKitContext *pk_context, int fd)
--{
-- guint id = 0;
-- GIOChannel *channel;
-- channel = g_io_channel_unix_new (fd);
-- if (channel == NULL)
-- goto out;
-- id = g_io_add_watch (channel, G_IO_IN, pk_io_watch_have_data, pk_context);
-- if (id == 0) {
-- g_io_channel_unref (channel);
-- goto out;
-- }
-- g_io_channel_unref (channel);
--out:
-- return id;
--}
--
--static void
--pk_io_remove_watch_fn (PolKitContext *pk_context, int watch_id)
--{
-- g_source_remove (watch_id);
--}
--
--static PolKitContext *
--get_pk_context (void)
--{
-- static PolKitContext *pk_context = NULL;
--
-- if (pk_context == NULL) {
-- pk_context = polkit_context_new ();
-- polkit_context_set_io_watch_functions (pk_context,
-- pk_io_add_watch_fn,
-- pk_io_remove_watch_fn);
-- if (!polkit_context_init (pk_context, NULL)) {
-- polkit_context_unref (pk_context);
-- pk_context = NULL;
-- }
-- }
--
-- return pk_context;
--}
--
--static gint
--can_do (const gchar *pk_action_id)
-+static guint
-+can_set (const gchar *key, gboolean mandatory)
- {
-- DBusConnection *system_bus;
-- PolKitCaller *pk_caller;
-- PolKitAction *pk_action;
-- PolKitResult pk_result;
-- PolKitContext *pk_context;
-- DBusError dbus_error;
-- gint res = 0;
--
-- pk_caller = NULL;
-- pk_action = NULL;
-+ DBusConnection *bus;
-+ DBusGProxy *proxy = NULL;
-+ const gchar *keys[2];
-+ const gchar *func;
-+ GError *error = NULL;
-+ guint res = 0;
-
-- system_bus = dbus_g_connection_get_connection (get_system_bus ());
-- if (system_bus == NULL)
-- goto out;
--
-- pk_context = get_pk_context ();
-- if (pk_context == NULL)
-+ bus = get_system_bus ();
-+ if (bus == NULL)
- goto out;
-
-- pk_action = polkit_action_new ();
-- polkit_action_set_action_id (pk_action, pk_action_id);
--
-- dbus_error_init (&dbus_error);
-- pk_caller = polkit_caller_new_from_pid (system_bus, getpid (), &dbus_error);
-- if (pk_caller == NULL) {
-- fprintf (stderr, "cannot get caller from dbus name\n");
-+ proxy = dbus_g_proxy_new_for_name (bus,
-+ "org.gnome.GConf.Defaults",
-+ "/",
-+ "org.gnome.GConf.Defaults");
-+ if (proxy == NULL)
- goto out;
-- }
-
-- pk_result = polkit_context_is_caller_authorized (pk_context, pk_action, pk_caller, FALSE, NULL);
--
-- switch (pk_result) {
-- case POLKIT_RESULT_UNKNOWN:
-- case POLKIT_RESULT_NO:
-- res = 0;
-- break;
-- case POLKIT_RESULT_YES:
-- res = 2;
-- break;
-- default:
-- /* This covers all the
-- * POLKIT_RESULT_ONLY_VIA_[SELF|ADMIN]_AUTH_* cases as more of
-- * these may be added in the future.
-- */
-- res = 1;
-- break;
-- }
-+ keys[0] = key;
-+ keys[1] = NULL;
-+ func = mandatory ? "CanSetMandatory" : "CanSetSystem";
-+
-+ if (!dbus_g_proxy_call (proxy, func,
-+ &error,
-+ G_TYPE_STRV, keys,
-+ G_TYPE_INVALID,
-+ G_TYPE_UINT, &res,
-+ G_TYPE_INVALID)) {
-+ g_warning ("error calling %s: %s\n", func, error->message);
-+ g_error_free (error);
-+ }
-
- out:
-- if (pk_action != NULL)
-- polkit_action_unref (pk_action);
-- if (pk_caller != NULL)
-- polkit_caller_unref (pk_caller);
-+ if (proxy)
-+ g_object_unref (proxy);
-
- return res;
- }
-
-+typedef struct
-+{
-+ time_t last_refreshed;
-+ gint can_set;
-+} CacheEntry;
-+
-+static GHashTable *defaults_cache = NULL;
-+static GHashTable *mandatory_cache = NULL;
-+
- gint
--gconf_pk_can_set_default (void)
-+gconf_pk_can_set (const gchar *key, gboolean mandatory)
- {
-- static gboolean cache = FALSE;
-- static time_t last_refreshed = 0;
-- time_t now;
-+ time_t now;
-+ GHashTable **cache;
-+ CacheEntry *entry;
-
- time (&now);
-- if (ABS (now - last_refreshed) > CACHE_VALIDITY_SEC) {
-- cache = can_do ("org.gnome.gconf.defaults.set-system");
-- last_refreshed = now;
-+ cache = mandatory ? &mandatory_cache : &defaults_cache;
-+ if (!*cache)
-+ *cache = g_hash_table_new (g_str_hash, g_str_equal);
-+ entry = (CacheEntry *) g_hash_table_lookup (*cache, key);
-+ if (!entry) {
-+ entry = g_new0 (CacheEntry, 1);
-+ g_hash_table_insert (*cache, key, entry);
-+ }
-+ if (ABS (now - entry->last_refreshed) > CACHE_VALIDITY_SEC) {
-+ entry->can_set = can_set (key, mandatory);
-+ entry->last_refreshed = now;
- }
-
-- return cache;
-+ return entry->can_set;
-+}
-+
-+gint
-+gconf_pk_can_set_default (const gchar *key)
-+{
-+ return gconf_pk_can_set (key, FALSE);
- }
-
- gint
--gconf_pk_can_set_mandatory (void)
-+gconf_pk_can_set_mandatory (const gchar *key)
-+{
-+ return gconf_pk_can_set (key, TRUE);
-+}
-+
-+static void
-+gconf_pk_update_can_set_cache (const gchar *key,
-+ gboolean mandatory)
- {
-- static gboolean cache = FALSE;
-- static time_t last_refreshed = 0;
- time_t now;
-+ GHashTable **cache;
-+ CacheEntry *entry;
-
- time (&now);
-- if (ABS (now - last_refreshed) > CACHE_VALIDITY_SEC) {
-- cache = can_do ("org.gnome.gconf.defaults.set-mandatory");
-- last_refreshed = now;
-- }
--
-- return cache;
-+ cache = mandatory ? &mandatory_cache : &defaults_cache;
-+ if (!*cache)
-+ *cache = g_hash_table_new (g_str_hash, g_str_equal);
-+ entry = (CacheEntry *) g_hash_table_lookup (*cache, key);
-+ if (!entry) {
-+ entry = g_new0 (CacheEntry, 1);
-+ g_hash_table_insert (*cache, key, entry);
-+ }
-+ entry->can_set = 2;
-+ entry->last_refreshed = now;
- }
-
- typedef struct {
- gint ref_count;
-- const gchar *call;
-+ gboolean mandatory;
- gchar *key;
-- guint transient_parent_xid;
- GFunc callback;
- gpointer data;
- GDestroyNotify notify;
-@@ -284,33 +243,8 @@ auth_notify (DBusGProxy *proxy,
- }
-
- static void
--do_auth_async (const gchar *action,
-- const gchar *result,
-- GConfPKCallbackData *data)
--{
-- DBusGConnection *bus;
-- DBusGProxy *proxy;
--
-- /* Now ask the user for auth... */
-- bus = get_session_bus ();
-- if (bus == NULL)
-- return;
--
-- proxy = dbus_g_proxy_new_for_name (bus,
-- "org.gnome.PolicyKit",
-- "/org/gnome/PolicyKit/Manager",
-- "org.gnome.PolicyKit.Manager");
--
-- dbus_g_proxy_begin_call_with_timeout (proxy,
-- "ShowDialog",
-- auth_notify,
-- _gconf_pk_data_ref (data),
-- _gconf_pk_data_unref,
-- INT_MAX,
-- G_TYPE_STRING, action,
-- G_TYPE_UINT, data->transient_parent_xid,
-- G_TYPE_INVALID);
--}
-+gconf_pk_update_can_set_cache (const gchar *key,
-+ gboolean mandatory);
-
- static void
- set_key_notify (DBusGProxy *proxy,
-@@ -321,6 +255,7 @@ set_key_notify (DBusGProxy *proxy,
- GError *error = NULL;
-
- if (dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_INVALID)) {
-+ gconf_pk_update_can_set_cache (data->key, data->mandatory);
- if (data->callback)
- data->callback (data->data, NULL);
- }
-@@ -335,17 +270,6 @@ set_key_notify (DBusGProxy *proxy,
- if (data->callback)
- data->callback (data->data, NULL);
- }
-- else if (dbus_g_error_has_name (error, "org.freedesktop.PolicyKit.Error.NotAuthorized")) {
-- gchar **tokens;
--
-- tokens = g_strsplit (error->message, " ", 2);
-- g_error_free (error);
-- if (g_strv_length (tokens) == 2)
-- do_auth_async (tokens[0], tokens[1], data);
-- else
-- g_warning ("helper return string malformed");
-- g_strfreev (tokens);
-- }
- else {
- if (data->callback)
- data->callback (data->data, error);
-@@ -360,6 +284,7 @@ set_key_async (GConfPKCallbackData *data
- {
- DBusGConnection *bus;
- DBusGProxy *proxy;
-+ const gchar *call;
- gchar *keys[2] = { data->key, NULL };
-
- bus = get_system_bus ();
-@@ -371,8 +296,9 @@ set_key_async (GConfPKCallbackData *data
- "/",
- "org.gnome.GConf.Defaults");
-
-+ call = data->mandatory ? "SetMandatory" : "SetSystem";
- dbus_g_proxy_begin_call_with_timeout (proxy,
-- data->call,
-+ call,
- set_key_notify,
- _gconf_pk_data_ref (data),
- _gconf_pk_data_unref,
-@@ -387,7 +313,6 @@ set_key_async (GConfPKCallbackData *data
-
- void
- gconf_pk_set_default_async (const gchar *key,
-- guint transient_parent_xid,
- GFunc callback,
- gpointer d,
- GDestroyNotify notify)
-@@ -399,9 +324,8 @@ gconf_pk_set_default_async (const gchar
-
- data = g_slice_new0 (GConfPKCallbackData);
- data->ref_count = 1;
-- data->call = "SetSystem";
-+ data->mandatory = FALSE;
- data->key = g_strdup (key);
-- data->transient_parent_xid = transient_parent_xid;
- data->callback = callback;
- data->data = d;
- data->notify = notify;
-@@ -412,7 +336,6 @@ gconf_pk_set_default_async (const gchar
-
- void
- gconf_pk_set_mandatory_async (const gchar *key,
-- guint transient_parent_xid,
- GFunc callback,
- gpointer d,
- GDestroyNotify notify)
-@@ -424,9 +347,8 @@ gconf_pk_set_mandatory_async (const gcha
-
- data = g_slice_new0 (GConfPKCallbackData);
- data->ref_count = 1;
-- data->call = "SetMandatory";
-+ data->mandatory = TRUE;
- data->key = g_strdup (key);
-- data->transient_parent_xid = transient_parent_xid;
- data->callback = callback;
- data->data = d;
- data->notify = notify;
-diff -up gconf-editor-2.26.0/src/gconf-policykit.h.polkit1 gconf-editor-2.26.0/src/gconf-policykit.h
---- gconf-editor-2.26.0/src/gconf-policykit.h.polkit1 2009-03-17 10:29:30.000000000 -0400
-+++ gconf-editor-2.26.0/src/gconf-policykit.h 2009-06-12 14:17:03.464117020 -0400
-@@ -27,18 +27,16 @@
-
- #include <glib.h>
-
--gint gconf_pk_can_set_default (void);
-+gint gconf_pk_can_set_default (const gchar *key);
-
--gint gconf_pk_can_set_mandatory (void);
-+gint gconf_pk_can_set_mandatory (const gchar *key);
-
- void gconf_pk_set_default_async (const gchar *key,
-- guint transient_parent_xid,
- GFunc callback,
- gpointer data,
- GDestroyNotify notify);
-
- void gconf_pk_set_mandatory_async (const gchar *key,
-- guint transient_parent_xid,
- GFunc callback,
- gpointer data,
- GDestroyNotify notify);
More information about the arch-commits
mailing list