rpms/dbus-glib/devel dbus-glib-0.73-ignore-namespaces.patch, NONE, 1.1 dbus-glib.spec, 1.20, 1.21

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Wed Feb 13 03:27:30 UTC 2008


Author: dcbw

Update of /cvs/extras/rpms/dbus-glib/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7480

Modified Files:
	dbus-glib.spec 
Added Files:
	dbus-glib-0.73-ignore-namespaces.patch 
Log Message:
* Tue Feb 12 2008 Dan Williams <dcbw at redhat.com> - 0.74-3
- Ignore namespaces in introspection XML


dbus-glib-0.73-ignore-namespaces.patch:

--- NEW FILE dbus-glib-0.73-ignore-namespaces.patch ---
diff --git a/dbus/dbus-gparser.c b/dbus/dbus-gparser.c
index f296f96..cdd4e53 100644
--- a/dbus/dbus-gparser.c
+++ b/dbus/dbus-gparser.c
@@ -128,13 +128,17 @@ locate_attributes (const char  *element_name,
 
       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      *parser,
     }
   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 */
   



Index: dbus-glib.spec
===================================================================
RCS file: /cvs/extras/rpms/dbus-glib/devel/dbus-glib.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- dbus-glib.spec	18 Nov 2007 16:35:47 -0000	1.20
+++ dbus-glib.spec	13 Feb 2008 03:26:38 -0000	1.21
@@ -8,12 +8,13 @@
 Summary: GLib bindings for D-Bus
 Name: dbus-glib
 Version: 0.74
-Release: 2%{?dist}
+Release: 3%{?dist}
 URL: http://www.freedesktop.org/software/dbus/
 Source0: http://dbus.freedesktop.org/releases/dbus-glib/%{name}-%{version}.tar.gz
 Source1: dbus-bus-introspect.xml
 Patch0: broken-xml.patch
 Patch1: dbus-glib-proxy-signals-once.patch
+Patch2: dbus-glib-0.73-ignore-namespaces.patch
 License: AFL/GPL
 Group: System Environment/Libraries
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -61,6 +62,7 @@
 %setup -q
 %patch0 -p1 -b .broken-xml
 %patch1 -p1 -b .proxy-signals-once
+%patch2 -p1 -b .ignore-namespaces
 
 %build
 
@@ -116,6 +118,9 @@
 %endif
 
 %changelog
+* Tue Feb 12 2008 Dan Williams <dcbw at redhat.com> - 0.74-3
+- Ignore namespaces in introspection XML
+
 * Sun Nov 18 2007 Dan Williams <dcbw at redhat.com> - 0.74-2
 - Actually apply the patch for fdo #12505
 




More information about the fedora-extras-commits mailing list