Hello community,
here is the log from the commit of package glib2 for openSUSE:Factory
checked in at Wed Nov 24 21:39:42 CET 2010.
--------
--- GNOME/glib2/glib2.changes 2010-11-17 14:29:46.000000000 +0100
+++ glib2/glib2.changes 2010-11-24 18:50:43.000000000 +0100
@@ -1,0 +2,7 @@
+Wed Nov 24 18:50:14 CET 2010 - vuntz@opensuse.org
+
+- Add glib2-add-back-extension-point.patch: this adds back the
+ gio-desktop-app-info-lookup extension point. This fixes big
+ issues when a GIO module using it is installed. Fix bnc#655561.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
glib2-add-back-extension-point.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glib2.spec ++++++
--- /var/tmp/diff_new_pack.fkNGL3/_old 2010-11-24 21:39:30.000000000 +0100
+++ /var/tmp/diff_new_pack.fkNGL3/_new 2010-11-24 21:39:30.000000000 +0100
@@ -22,7 +22,7 @@
Name: glib2
%define _name glib
Version: 2.27.3
-Release: 1
+Release: 2
# FIXME: change zlib-devel to pkgconfig(zlib) once we have a recent enough version of zlib
# FIXME: find out if tapsets should really be in devel package or in main package
License: LGPLv2+
@@ -40,6 +40,8 @@
# Please update this file from the latest gtk-doc package:
Source6: gtk-doc.m4
Source99: baselibs.conf
+# PATCH-FIX-UPSTREAM glib2-add-back-extension-point.patch bnc#655561 vuntz@opensuse.org -- Add back a gio extension point, to fix issues for modules using it. Taken from git.
+Patch0: glib2-add-back-extension-point.patch
# PATCH-FIX-OPENSUSE glib2-bnc379332-desktop-su.patch bnc379332 vuntz@novell.com -- Use X-KDE-SubstituteUID
Patch8: glib2-bnc379332-desktop-su.patch
# PATCH-FEATURE-UPSTREAM glib2-bgo569829-gettext-gkeyfile.patch fate300461 bgo569829 vuntz@novell.com -- Look for translation of desktop entry strings via gettext, part that we share with Ubuntu and try to push upstream
@@ -239,6 +241,7 @@
%prep
%setup -q -n %{_name}-%{version}
translation-update-upstream
+%patch0 -p1
%patch8
%patch10 -p1
%patch11 -p1
++++++ glib2-add-back-extension-point.patch ++++++
From fb94859e84c0b7859a0a5425d461b18e67ea9ac7 Mon Sep 17 00:00:00 2001
From: Benjamin Otte
Date: Tue, 09 Nov 2010 12:19:19 +0000
Subject: API: Reinstate "gio-desktop-app-info-lookup" extension point
Removing an extension point is an API and ABI break. In particular, it
causes (older) gvfs versions to fail loading with a linkage error from
ld which in turn makes the desktop unusable.
So this reinstate the extension point and API provided by it, but
deprecates and does not use it. So no functionality is changed.
This reverts parts of commit 9b262f1c5fe5a6fd879f17cd7b80d8c54e33d80c.
Complaints-Also-To: Ryan Lortie
---
diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c
index 8047d9c..99a6fb7 100644
--- a/gio/gdesktopappinfo.c
+++ b/gio/gdesktopappinfo.c
@@ -32,6 +32,8 @@
#include
#endif
+#undef G_DISABLE_DEPRECATED
+
#include "gcontenttypeprivate.h"
#include "gdesktopappinfo.h"
#include "gfile.h"
@@ -2638,3 +2640,43 @@ get_all_desktop_entries_for_mime_type (const char *base_mime_type,
return desktop_entries;
}
+/* GDesktopAppInfoLookup interface: */
+
+typedef GDesktopAppInfoLookupIface GDesktopAppInfoLookupInterface;
+G_DEFINE_INTERFACE (GDesktopAppInfoLookup, g_desktop_app_info_lookup, G_TYPE_OBJECT)
+
+static void
+g_desktop_app_info_lookup_default_init (GDesktopAppInfoLookupInterface *iface)
+{
+}
+
+/**
+ * g_desktop_app_info_lookup_get_default_for_uri_scheme:
+ * @lookup: a #GDesktopAppInfoLookup
+ * @uri_scheme: a string containing a URI scheme.
+ *
+ * Gets the default application for launching applications
+ * using this URI scheme for a particular GDesktopAppInfoLookup
+ * implementation.
+ *
+ * The GDesktopAppInfoLookup interface and this function is used
+ * to implement g_app_info_get_default_for_uri_scheme() backends
+ * in a GIO module. There is no reason for applications to use it
+ * directly. Applications should use g_app_info_get_default_for_uri_scheme().
+ *
+ * Returns: (transfer full): #GAppInfo for given @uri_scheme or %NULL on error.
+ *
+ * Deprecated: The #GDesktopAppInfoLookup interface is deprecated and unused by gio.
+ */
+GAppInfo *
+g_desktop_app_info_lookup_get_default_for_uri_scheme (GDesktopAppInfoLookup *lookup,
+ const char *uri_scheme)
+{
+ GDesktopAppInfoLookupIface *iface;
+
+ g_return_val_if_fail (G_IS_DESKTOP_APP_INFO_LOOKUP (lookup), NULL);
+
+ iface = G_DESKTOP_APP_INFO_LOOKUP_GET_IFACE (lookup);
+
+ return (* iface->get_default_for_uri_scheme) (lookup, uri_scheme);
+}
diff --git a/gio/gdesktopappinfo.h b/gio/gdesktopappinfo.h
index d7703f7..6be9369 100644
--- a/gio/gdesktopappinfo.h
+++ b/gio/gdesktopappinfo.h
@@ -55,6 +55,46 @@ gboolean g_desktop_app_info_get_is_hidden (GDesktopAppInfo *info);
void g_desktop_app_info_set_desktop_env (const char *desktop_env);
+
+#ifndef G_DISABLE_DEPRECATED
+
+#define G_TYPE_DESKTOP_APP_INFO_LOOKUP (g_desktop_app_info_lookup_get_type ())
+#define G_DESKTOP_APP_INFO_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_DESKTOP_APP_INFO_LOOKUP, GDesktopAppInfoLookup))
+#define G_IS_DESKTOP_APP_INFO_LOOKUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_DESKTOP_APP_INFO_LOOKUP))
+#define G_DESKTOP_APP_INFO_LOOKUP_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), G_TYPE_DESKTOP_APP_INFO_LOOKUP, GDesktopAppInfoLookupIface))
+
+/**
+ * G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME:
+ *
+ * Extension point for default handler to URI association. See
+ * <link linkend="extending-gio">Extending GIO</link>.
+ */
+#define G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME "gio-desktop-app-info-lookup"
+
+/**
+ * GDesktopAppInfoLookup:
+ *
+ * Interface that is used by backends to associate default
+ * handlers with URI schemes.
+ */
+typedef struct _GDesktopAppInfoLookup GDesktopAppInfoLookup;
+typedef struct _GDesktopAppInfoLookupIface GDesktopAppInfoLookupIface;
+
+struct _GDesktopAppInfoLookupIface
+{
+ GTypeInterface g_iface;
+
+ GAppInfo * (* get_default_for_uri_scheme) (GDesktopAppInfoLookup *lookup,
+ const char *uri_scheme);
+};
+
+GType g_desktop_app_info_lookup_get_type (void) G_GNUC_CONST;
+
+GAppInfo *g_desktop_app_info_lookup_get_default_for_uri_scheme (GDesktopAppInfoLookup *lookup,
+ const char *uri_scheme);
+
+#endif /* G_DISABLE_DEPRECATED */
+
G_END_DECLS
#endif /* __G_DESKTOP_APP_INFO_H__ */
diff --git a/gio/gio.symbols b/gio/gio.symbols
index eb79b70..90ea290 100644
--- a/gio/gio.symbols
+++ b/gio/gio.symbols
@@ -131,6 +131,8 @@ g_desktop_app_info_get_filename
g_desktop_app_info_get_type G_GNUC_CONST
g_desktop_app_info_get_is_hidden
g_desktop_app_info_set_desktop_env
+g_desktop_app_info_lookup_get_type G_GNUC_CONST
+g_desktop_app_info_lookup_get_default_for_uri_scheme
#endif
#endif
#endif
diff --git a/gio/giomodule.c b/gio/giomodule.c
index 86bf25e..d131893 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
@@ -36,14 +36,17 @@
#include "gsocks4aproxy.h"
#include "gsocks5proxy.h"
#include "gvfs.h"
-#ifdef G_OS_UNIX
-#include "gdesktopappinfo.h"
-#endif
#ifdef G_OS_WIN32
#include "gregistrysettingsbackend.h"
#endif
#include
+#undef G_DISABLE_DEPRECATED
+
+#ifdef G_OS_UNIX
+#include "gdesktopappinfo.h"
+#endif
+
/**
* SECTION:giomodule
* @short_description: Loadable GIO Modules
@@ -523,6 +526,13 @@ _g_io_modules_ensure_extension_points_registered (void)
{
registered_extensions = TRUE;
+#ifdef G_OS_UNIX
+#if !GLIB_CHECK_VERSION (3, 0, 0)
+ ep = g_io_extension_point_register (G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME);
+ g_io_extension_point_set_required_type (ep, G_TYPE_DESKTOP_APP_INFO_LOOKUP);
+#endif
+#endif
+
ep = g_io_extension_point_register (G_LOCAL_DIRECTORY_MONITOR_EXTENSION_POINT_NAME);
g_io_extension_point_set_required_type (ep, G_TYPE_LOCAL_DIRECTORY_MONITOR);
--
cgit v0.8.3.1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org