From 2b8da4da487460ada29f00891261d7bb27507580e363f4cde8eb6e040bd3d721 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Fri, 29 Feb 2008 21:37:14 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dbus-1-glib?expand=0&rev=5 --- dbus-1-glib.changes | 10 +++++ dbus-1-glib.spec | 44 ++++++++++++------- dbus-glib-ignore-namespaces.patch | 68 ++++++++++++++++++++++++++++++ dbus-glib-introspection-xml.patch | 13 ++++++ dbus-glib-proxy-signals-once.patch | 22 ++++++++++ 5 files changed, 142 insertions(+), 15 deletions(-) create mode 100644 dbus-glib-ignore-namespaces.patch create mode 100644 dbus-glib-introspection-xml.patch create mode 100644 dbus-glib-proxy-signals-once.patch diff --git a/dbus-1-glib.changes b/dbus-1-glib.changes index bbaa847..90ab9fc 100644 --- a/dbus-1-glib.changes +++ b/dbus-1-glib.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Feb 29 20:10:01 CET 2008 - tambet@suse.de + +- Fix the generated introspection XML (patch from upstream). +- Fix the bug where GObject signals get emitted twice per dbus signal + (bfo #12505). +- Make the dbus-binding-tool ignore XML namespaces it doesn't understand, + making it possible to add documentation to the same place where interface + definitions live (bfo #14429). + ------------------------------------------------------------------- Wed Jun 27 14:28:22 CEST 2007 - thoenig@suse.de diff --git a/dbus-1-glib.spec b/dbus-1-glib.spec index efed955..70fe4c5 100644 --- a/dbus-1-glib.spec +++ b/dbus-1-glib.spec @@ -1,7 +1,7 @@ # # spec file for package dbus-1-glib (Version 0.74) # -# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -10,34 +10,40 @@ # norootforbuild + Name: dbus-1-glib BuildRequires: dbus-1 dbus-1-devel dbus-1-x11 glib2-devel gtk-doc libexpat-devel libxml2-devel -URL: http://dbus.freedesktop.org/ -License: GNU General Public License (GPL), Other uncritical OpenSource License, D-BUS is licensed to you under your choice of the Academic Free +Url: http://dbus.freedesktop.org/ +License: GPL v2 or later; Other uncritical OpenSource License Group: Development/Libraries/Other Version: 0.74 -Release: 1 -Autoreqprov: on +Release: 61 +AutoReqProv: on Summary: GLib-based library for using D-Bus Source0: dbus-glib-%{version}.tar.gz Patch0: dbus-glib-nameownerchange-workaround-thoenig-01.patch Patch1: dbus-glib-gvalue-utils-fix-thoenig-01.patch +Patch2: dbus-glib-introspection-xml.patch +Patch3: dbus-glib-proxy-signals-once.patch +Patch4: dbus-glib-ignore-namespaces.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: dbus-1 >= %( echo `rpm -q --queryformat '%{VERSION}-%{RELEASE}' dbus-1`) + %package -n dbus-1-glib-devel Summary: Developer package for D-Bus/GLib bindings Requires: dbus-1 >= %( echo `rpm -q --queryformat '%{VERSION}-%{RELEASE}' dbus-1`) Requires: dbus-1-devel >= %( echo `rpm -q --queryformat '%{VERSION}-%{RELEASE}' dbus-1-devel`) Requires: dbus-1-glib = %{version} Requires: glib2-devel -Autoreqprov: on +AutoReqProv: on Group: Development/Libraries/Other + %package -n dbus-1-glib-doc Summary: Documentation for the D-Bus/GLib bindings Requires: dbus-1 >= %( echo `rpm -q --queryformat '%{VERSION}-%{RELEASE}' dbus-1`) Requires: dbus-1-devel >= %( echo `rpm -q --queryformat '%{VERSION}-%{RELEASE}' dbus-1-devel`) Requires: dbus-1-glib = %{version} -Autoreqprov: on +AutoReqProv: on Group: Documentation/HTML %description @@ -63,7 +69,6 @@ Authors: Colin Walters David Zeuthen - %description -n dbus-1-glib-devel D-Bus add-on library to integrate the standard D-Bus library with the GLib thread abstraction and main loop. @@ -87,7 +92,6 @@ Authors: Colin Walters David Zeuthen - %description -n dbus-1-glib-doc D-Bus add-on library to integrate the standard D-Bus library with the GLib thread abstraction and main loop. @@ -115,6 +119,9 @@ Authors: %setup -n dbus-glib-%{version} -q %patch0 -p0 %patch1 -p0 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build autoreconf -fi @@ -160,7 +167,14 @@ make DESTDIR=%{buildroot} install %{_datadir}/gtk-doc/html/dbus-glib/* %changelog -* Wed Jun 27 2007 - thoenig@suse.de +* Fri Feb 29 2008 tambet@suse.de +- Fix the generated introspection XML (patch from upstream). +- Fix the bug where GObject signals get emitted twice per dbus signal + (bfo #12505). +- Make the dbus-binding-tool ignore XML namespaces it doesn't understand, + making it possible to add documentation to the same place where interface + definitions live (bfo #14429). +* Wed Jun 27 2007 thoenig@suse.de - Update to dbus-1-glib 0.74 - Changes: * Init threading first to stop a warning from new GLib. @@ -176,19 +190,19 @@ make DESTDIR=%{buildroot} install * Update abstract socket test from DBus, which now cross-compiles * Rename the error quark to be unique * Update AUTHORS -* Sat Apr 28 2007 - aj@suse.de +* Sat Apr 28 2007 aj@suse.de - Add libexpat-devel to build requires. -* Thu Mar 01 2007 - thoenig@suse.de +* Thu Mar 01 2007 thoenig@suse.de - new upstream version 0.73 - new package dbus-1-glib-doc - drop patch dbus-glib-introspect-fix-thoenig-01.patch -* Mon Nov 06 2006 - thoenig@suse.de +* Mon Nov 06 2006 thoenig@suse.de - loosen dependency to D-Bus -* Tue Aug 01 2006 - thoenig@suse.de +* Wed Aug 02 2006 thoenig@suse.de - new upstream version 0.71 - new package: dbus-1-glib-devel - moved dbus-binding-tool from dbus-1-glib to dbus-1-glib-devel - moved GLib header and .la files from dbus-1-devel to dbus-1-glib-devel -* Tue Aug 01 2006 - thoenig@suse.de +* Wed Aug 02 2006 thoenig@suse.de - split out binings to sparate spec files diff --git a/dbus-glib-ignore-namespaces.patch b/dbus-glib-ignore-namespaces.patch new file mode 100644 index 0000000..c616497 --- /dev/null +++ b/dbus-glib-ignore-namespaces.patch @@ -0,0 +1,68 @@ +Index: dbus-glib-0.74/dbus/dbus-gparser.c +=================================================================== +--- dbus-glib-0.74.orig/dbus/dbus-gparser.c ++++ dbus-glib-0.74/dbus/dbus-gparser.c +@@ -128,13 +128,17 @@ locate_attributes (const char *element_ + + if (!found) + { +- g_set_error (error, +- G_MARKUP_ERROR, +- G_MARKUP_ERROR_PARSE, +- _("Attribute \"%s\" is invalid on <%s> element in this context"), +- attribute_names[i], element_name); +- retval = FALSE; +- goto out; ++ /* We want to passthrough namespaced XML nodes that we don't know anything about. */ ++ if (strchr (attribute_names[i], ':') == NULL) ++ { ++ g_set_error (error, ++ G_MARKUP_ERROR, ++ G_MARKUP_ERROR_PARSE, ++ _("Attribute \"%s\" is invalid on <%s> element in this context"), ++ attribute_names[i], element_name); ++ retval = FALSE; ++ goto out; ++ } + } + + ++i; +@@ -177,6 +181,7 @@ struct Parser + PropertyInfo *property; + ArgInfo *arg; + gboolean in_annotation; ++ guint unknown_namespaced_depth; + }; + + Parser* +@@ -791,10 +796,14 @@ parser_start_element (Parser *parse + } + else + { +- g_set_error (error, G_MARKUP_ERROR, +- G_MARKUP_ERROR_PARSE, +- _("Element <%s> not recognized"), +- element_name); ++ if (strchr (element_name, ':') != NULL) ++ /* Passthrough XML-namespaced nodes */ ++ parser->unknown_namespaced_depth += 1; ++ else ++ g_set_error (error, G_MARKUP_ERROR, ++ G_MARKUP_ERROR_PARSE, ++ _("Element <%s> not recognized"), ++ element_name); + } + + return TRUE; +@@ -844,6 +853,11 @@ parser_end_element (Parser *parser, + if (parser->node_stack == NULL) + parser->result = top; /* We are done, store the result */ + } ++ else if (strchr (element_name, ':') != NULL) ++ { ++ /* Passthrough XML-namespaced nodes */ ++ parser->unknown_namespaced_depth -= 1; ++ } + else + g_assert_not_reached (); /* should have had an error on start_element */ + diff --git a/dbus-glib-introspection-xml.patch b/dbus-glib-introspection-xml.patch new file mode 100644 index 0000000..1e0cd68 --- /dev/null +++ b/dbus-glib-introspection-xml.patch @@ -0,0 +1,13 @@ +Index: dbus-glib-0.74/dbus/dbus-gobject.c +=================================================================== +--- dbus-glib-0.74.orig/dbus/dbus-gobject.c ++++ dbus-glib-0.74/dbus/dbus-gobject.c +@@ -488,8 +488,6 @@ write_interface (gpointer key, gpointer + } + + g_free (dbus_type); +- +- g_string_append (xml, " \n"); + } + g_slist_free (values->properties); + diff --git a/dbus-glib-proxy-signals-once.patch b/dbus-glib-proxy-signals-once.patch new file mode 100644 index 0000000..4eeef22 --- /dev/null +++ b/dbus-glib-proxy-signals-once.patch @@ -0,0 +1,22 @@ +Index: dbus-glib-0.74/dbus/dbus-gproxy.c +=================================================================== +--- dbus-glib-0.74.orig/dbus/dbus-gproxy.c ++++ dbus-glib-0.74/dbus/dbus-gproxy.c +@@ -1239,8 +1239,15 @@ dbus_g_proxy_manager_filter (DBusConnect + dbus_message_get_interface (message)); + + owner_list = g_hash_table_lookup (manager->proxy_lists, tri); +- if (owner_list != NULL) +- full_list = g_slist_concat (full_list, g_slist_copy (owner_list->proxies)); ++ if (owner_list != NULL) { ++ GSList *elt; ++ ++ /* Ignore duplicates when adding to full_list */ ++ for (elt = owner_list->proxies; elt; elt = g_slist_next (elt)) { ++ if (!g_slist_find (full_list, elt->data)) ++ full_list = g_slist_append (full_list, elt->data); ++ } ++ } + g_free (tri); + } + }