Auto sync2gitlab import of librsvg2-2.42.7-4.el8.src.rpm
This commit is contained in:
		
							parent
							
								
									ff8e7f4ea0
								
							
						
					
					
						commit
						8eec8d0bee
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
/librsvg-2.42.7.tar.xz
 | 
			
		||||
							
								
								
									
										573
									
								
								CVE-2019-20446.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										573
									
								
								CVE-2019-20446.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,573 @@
 | 
			
		||||
From faec595a1721a2496e9c258917facbb564f85854 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: rpm-build <rpm-build>
 | 
			
		||||
Date: Wed, 13 May 2020 17:53:13 -0500
 | 
			
		||||
Subject: [PATCH] CVE-2019-20446.patch
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 librsvg/rsvg-base.c                           |  90 +++++++++---
 | 
			
		||||
 librsvg/rsvg-private.h                        |   5 +-
 | 
			
		||||
 rsvg_internals/src/drawing_ctx.rs             |  23 ++--
 | 
			
		||||
 rsvg_internals/src/structure.rs               |  21 ++-
 | 
			
		||||
 tests/errors.c                                |  52 ++++++-
 | 
			
		||||
 .../errors/308-doubly-recursive-use.svg       |  13 ++
 | 
			
		||||
 tests/fixtures/errors/308-recursive-use.svg   |   9 ++
 | 
			
		||||
 tests/fixtures/errors/308-use-self-ref.svg    |   7 +
 | 
			
		||||
 .../errors/515-pattern-billion-laughs.svg     | 130 ++++++++++++++++++
 | 
			
		||||
 .../errors/515-too-many-elements.svgz         | Bin 0 -> 40811 bytes
 | 
			
		||||
 10 files changed, 310 insertions(+), 40 deletions(-)
 | 
			
		||||
 create mode 100644 tests/fixtures/errors/308-doubly-recursive-use.svg
 | 
			
		||||
 create mode 100644 tests/fixtures/errors/308-recursive-use.svg
 | 
			
		||||
 create mode 100644 tests/fixtures/errors/308-use-self-ref.svg
 | 
			
		||||
 create mode 100644 tests/fixtures/errors/515-pattern-billion-laughs.svg
 | 
			
		||||
 create mode 100644 tests/fixtures/errors/515-too-many-elements.svgz
 | 
			
		||||
 | 
			
		||||
diff --git a/librsvg/rsvg-base.c b/librsvg/rsvg-base.c
 | 
			
		||||
index dbad819..af3d43c 100644
 | 
			
		||||
--- a/librsvg/rsvg-base.c
 | 
			
		||||
+++ b/librsvg/rsvg-base.c
 | 
			
		||||
@@ -431,12 +431,29 @@ node_set_atts (RsvgNode * node, RsvgHandle *handle, const NodeCreator *creator,
 | 
			
		||||
     }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
+static gboolean
 | 
			
		||||
+loading_limits_exceeded (RsvgHandle *handle)
 | 
			
		||||
+{
 | 
			
		||||
+    /* This is a mitigation for SVG files which create millions of elements
 | 
			
		||||
+     * in an attempt to exhaust memory.  We don't allow loading more than
 | 
			
		||||
+     * this number of elements during the initial streaming load process.
 | 
			
		||||
+     */
 | 
			
		||||
+    return handle->priv->num_loaded_elements > 200000;
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
 static void
 | 
			
		||||
 rsvg_standard_element_start (RsvgHandle *handle, const char *name, RsvgPropertyBag * atts)
 | 
			
		||||
 {
 | 
			
		||||
     const NodeCreator *creator;
 | 
			
		||||
     RsvgNode *newnode = NULL;
 | 
			
		||||
 
 | 
			
		||||
+    if (loading_limits_exceeded (handle)) {
 | 
			
		||||
+        g_set_error (handle->priv->error, RSVG_ERROR, 0, "instancing limit");
 | 
			
		||||
+
 | 
			
		||||
+        xmlStopParser (handle->priv->ctxt);
 | 
			
		||||
+        return;
 | 
			
		||||
+    }
 | 
			
		||||
+
 | 
			
		||||
     creator = get_node_creator_for_element_name (name);
 | 
			
		||||
     g_assert (creator != NULL && creator->create_fn != NULL);
 | 
			
		||||
 
 | 
			
		||||
@@ -456,6 +473,7 @@ rsvg_standard_element_start (RsvgHandle *handle, const char *name, RsvgPropertyB
 | 
			
		||||
         handle->priv->treebase = rsvg_node_ref (newnode);
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
+    handle->priv->num_loaded_elements += 1;
 | 
			
		||||
     handle->priv->currentnode = rsvg_node_ref (newnode);
 | 
			
		||||
 
 | 
			
		||||
     node_set_atts (newnode, handle, creator, atts);
 | 
			
		||||
@@ -1641,6 +1659,52 @@ rsvg_push_discrete_layer (RsvgDrawingCtx * ctx)
 | 
			
		||||
     ctx->render->push_discrete_layer (ctx);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
+void
 | 
			
		||||
+rsvg_drawing_ctx_increase_num_elements_acquired (RsvgDrawingCtx *draw_ctx)
 | 
			
		||||
+{
 | 
			
		||||
+    draw_ctx->num_elements_acquired++;
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
+/* This is a mitigation for the security-related bugs:
 | 
			
		||||
+ * https://gitlab.gnome.org/GNOME/librsvg/issues/323
 | 
			
		||||
+ * https://gitlab.gnome.org/GNOME/librsvg/issues/515
 | 
			
		||||
+ *
 | 
			
		||||
+ * Imagine the XML [billion laughs attack], but done in SVG's terms:
 | 
			
		||||
+ *
 | 
			
		||||
+ * - #323 above creates deeply nested groups of `<use>` elements.
 | 
			
		||||
+ * The first one references the second one ten times, the second one
 | 
			
		||||
+ * references the third one ten times, and so on.  In the file given,
 | 
			
		||||
+ * this causes 10^17 objects to be rendered.  While this does not
 | 
			
		||||
+ * exhaust memory, it would take a really long time.
 | 
			
		||||
+ *
 | 
			
		||||
+ * - #515 has deeply nested references of `<pattern>` elements.  Each
 | 
			
		||||
+ * object inside each pattern has an attribute
 | 
			
		||||
+ * fill="url(#next_pattern)", so the number of final rendered objects
 | 
			
		||||
+ * grows exponentially.
 | 
			
		||||
+ *
 | 
			
		||||
+ * We deal with both cases by placing a limit on how many references
 | 
			
		||||
+ * will be resolved during the SVG rendering process, that is,
 | 
			
		||||
+ * how many `url(#foo)` will be resolved.
 | 
			
		||||
+ *
 | 
			
		||||
+ * [billion laughs attack]: https://bitbucket.org/tiran/defusedxml
 | 
			
		||||
+ */
 | 
			
		||||
+static gboolean
 | 
			
		||||
+limits_exceeded (RsvgDrawingCtx *draw_ctx)
 | 
			
		||||
+{
 | 
			
		||||
+    return draw_ctx->num_elements_acquired > 500000;
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
+RsvgNode *
 | 
			
		||||
+rsvg_drawing_ctx_acquire_node_ref (RsvgDrawingCtx * ctx, RsvgNode *node)
 | 
			
		||||
+{
 | 
			
		||||
+  if (g_slist_find (ctx->acquired_nodes, node))
 | 
			
		||||
+    return NULL;
 | 
			
		||||
+
 | 
			
		||||
+  ctx->acquired_nodes = g_slist_prepend (ctx->acquired_nodes, node);
 | 
			
		||||
+
 | 
			
		||||
+  return node;
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
 /*
 | 
			
		||||
  * rsvg_drawing_ctx_acquire_node:
 | 
			
		||||
  * @ctx: The drawing context in use
 | 
			
		||||
@@ -1668,16 +1732,15 @@ rsvg_drawing_ctx_acquire_node (RsvgDrawingCtx * ctx, const char *url)
 | 
			
		||||
   if (url == NULL)
 | 
			
		||||
       return NULL;
 | 
			
		||||
 
 | 
			
		||||
+  rsvg_drawing_ctx_increase_num_elements_acquired (ctx);
 | 
			
		||||
+  if (limits_exceeded (ctx))
 | 
			
		||||
+      return NULL;
 | 
			
		||||
+
 | 
			
		||||
   node = rsvg_defs_lookup (ctx->defs, url);
 | 
			
		||||
   if (node == NULL)
 | 
			
		||||
     return NULL;
 | 
			
		||||
 
 | 
			
		||||
-  if (g_slist_find (ctx->acquired_nodes, node))
 | 
			
		||||
-    return NULL;
 | 
			
		||||
-
 | 
			
		||||
-  ctx->acquired_nodes = g_slist_prepend (ctx->acquired_nodes, node);
 | 
			
		||||
-
 | 
			
		||||
-  return node;
 | 
			
		||||
+  return rsvg_drawing_ctx_acquire_node_ref (ctx, node);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 /**
 | 
			
		||||
@@ -1734,18 +1797,9 @@ rsvg_drawing_ctx_release_node (RsvgDrawingCtx * ctx, RsvgNode *node)
 | 
			
		||||
   if (node == NULL)
 | 
			
		||||
     return;
 | 
			
		||||
 
 | 
			
		||||
-  g_return_if_fail (ctx->acquired_nodes != NULL);
 | 
			
		||||
-  g_return_if_fail (ctx->acquired_nodes->data == node);
 | 
			
		||||
-
 | 
			
		||||
   ctx->acquired_nodes = g_slist_remove (ctx->acquired_nodes, node);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
-void
 | 
			
		||||
-rsvg_drawing_ctx_increase_num_elements_rendered_through_use (RsvgDrawingCtx *draw_ctx)
 | 
			
		||||
-{
 | 
			
		||||
-    draw_ctx->num_elements_rendered_through_use++;
 | 
			
		||||
-}
 | 
			
		||||
-
 | 
			
		||||
 void
 | 
			
		||||
 rsvg_drawing_ctx_add_node_and_ancestors_to_stack (RsvgDrawingCtx *draw_ctx, RsvgNode *node)
 | 
			
		||||
 {
 | 
			
		||||
@@ -1759,12 +1813,6 @@ rsvg_drawing_ctx_add_node_and_ancestors_to_stack (RsvgDrawingCtx *draw_ctx, Rsvg
 | 
			
		||||
     }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
-static gboolean
 | 
			
		||||
-limits_exceeded (RsvgDrawingCtx *draw_ctx)
 | 
			
		||||
-{
 | 
			
		||||
-    return draw_ctx->num_elements_rendered_through_use > 500000;
 | 
			
		||||
-}
 | 
			
		||||
-
 | 
			
		||||
 gboolean
 | 
			
		||||
 rsvg_drawing_ctx_draw_node_from_stack (RsvgDrawingCtx *ctx, RsvgNode *node, int dominate)
 | 
			
		||||
 {
 | 
			
		||||
diff --git a/librsvg/rsvg-private.h b/librsvg/rsvg-private.h
 | 
			
		||||
index aeec8d5..06f4c2b 100644
 | 
			
		||||
--- a/librsvg/rsvg-private.h
 | 
			
		||||
+++ b/librsvg/rsvg-private.h
 | 
			
		||||
@@ -164,6 +164,7 @@ struct RsvgHandlePrivate {
 | 
			
		||||
      */
 | 
			
		||||
     RsvgSaxHandler *handler;
 | 
			
		||||
     int handler_nest;
 | 
			
		||||
+    gsize num_loaded_elements;
 | 
			
		||||
 
 | 
			
		||||
     GHashTable *entities;       /* g_malloc'd string -> xmlEntityPtr */
 | 
			
		||||
 
 | 
			
		||||
@@ -200,7 +201,7 @@ struct RsvgDrawingCtx {
 | 
			
		||||
     RsvgState *state;
 | 
			
		||||
     GError **error;
 | 
			
		||||
     RsvgDefs *defs;
 | 
			
		||||
-    gsize num_elements_rendered_through_use;
 | 
			
		||||
+    gsize num_elements_acquired;
 | 
			
		||||
     PangoContext *pango_context;
 | 
			
		||||
     double dpi_x, dpi_y;
 | 
			
		||||
     RsvgViewBox vb;
 | 
			
		||||
@@ -502,6 +503,8 @@ RsvgNode *rsvg_drawing_ctx_acquire_node         (RsvgDrawingCtx * ctx, const cha
 | 
			
		||||
 G_GNUC_INTERNAL
 | 
			
		||||
 RsvgNode *rsvg_drawing_ctx_acquire_node_of_type (RsvgDrawingCtx * ctx, const char *url, RsvgNodeType type);
 | 
			
		||||
 G_GNUC_INTERNAL
 | 
			
		||||
+RsvgNode *rsvg_drawing_ctx_acquire_node_ref     (RsvgDrawingCtx * ctx, RsvgNode *node);
 | 
			
		||||
+G_GNUC_INTERNAL
 | 
			
		||||
 void rsvg_drawing_ctx_release_node              (RsvgDrawingCtx * ctx, RsvgNode *node);
 | 
			
		||||
 
 | 
			
		||||
 G_GNUC_INTERNAL
 | 
			
		||||
diff --git a/rsvg_internals/src/drawing_ctx.rs b/rsvg_internals/src/drawing_ctx.rs
 | 
			
		||||
index 79f0c9f..631b073 100644
 | 
			
		||||
--- a/rsvg_internals/src/drawing_ctx.rs
 | 
			
		||||
+++ b/rsvg_internals/src/drawing_ctx.rs
 | 
			
		||||
@@ -32,6 +32,11 @@ extern "C" {
 | 
			
		||||
 
 | 
			
		||||
     fn rsvg_drawing_ctx_pop_view_box(draw_ctx: *const RsvgDrawingCtx);
 | 
			
		||||
 
 | 
			
		||||
+    fn rsvg_drawing_ctx_acquire_node_ref(
 | 
			
		||||
+        draw_ctx: *const RsvgDrawingCtx,
 | 
			
		||||
+        node: *const RsvgNode,
 | 
			
		||||
+    ) -> *mut RsvgNode;
 | 
			
		||||
+
 | 
			
		||||
     fn rsvg_drawing_ctx_acquire_node(
 | 
			
		||||
         draw_ctx: *const RsvgDrawingCtx,
 | 
			
		||||
         url: *const libc::c_char,
 | 
			
		||||
@@ -45,8 +50,6 @@ extern "C" {
 | 
			
		||||
 
 | 
			
		||||
     fn rsvg_drawing_ctx_release_node(draw_ctx: *const RsvgDrawingCtx, node: *mut RsvgNode);
 | 
			
		||||
 
 | 
			
		||||
-    fn rsvg_drawing_ctx_increase_num_elements_rendered_through_use(draw_ctx: *const RsvgDrawingCtx);
 | 
			
		||||
-
 | 
			
		||||
     fn rsvg_drawing_ctx_get_current_state_affine(draw_ctx: *const RsvgDrawingCtx) -> cairo::Matrix;
 | 
			
		||||
 
 | 
			
		||||
     fn rsvg_drawing_ctx_set_current_state_affine(
 | 
			
		||||
@@ -149,6 +152,16 @@ pub fn pop_view_box(draw_ctx: *const RsvgDrawingCtx) {
 | 
			
		||||
     }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
+pub fn acquire_node_ref(draw_ctx: *const RsvgDrawingCtx, node: *const RsvgNode) -> Option<AcquiredNode> {
 | 
			
		||||
+    let raw_node = unsafe { rsvg_drawing_ctx_acquire_node_ref(draw_ctx, node) };
 | 
			
		||||
+
 | 
			
		||||
+    if raw_node.is_null() {
 | 
			
		||||
+        None
 | 
			
		||||
+    } else {
 | 
			
		||||
+        Some(AcquiredNode(draw_ctx, raw_node))
 | 
			
		||||
+    }
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
 pub fn get_acquired_node(draw_ctx: *const RsvgDrawingCtx, url: &str) -> Option<AcquiredNode> {
 | 
			
		||||
     let raw_node = unsafe { rsvg_drawing_ctx_acquire_node(draw_ctx, str::to_glib_none(url).0) };
 | 
			
		||||
 
 | 
			
		||||
@@ -290,12 +303,6 @@ pub fn state_pop(draw_ctx: *const RsvgDrawingCtx) {
 | 
			
		||||
     }
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
-pub fn increase_num_elements_rendered_through_use(draw_ctx: *const RsvgDrawingCtx) {
 | 
			
		||||
-    unsafe {
 | 
			
		||||
-        rsvg_drawing_ctx_increase_num_elements_rendered_through_use(draw_ctx);
 | 
			
		||||
-    }
 | 
			
		||||
-}
 | 
			
		||||
-
 | 
			
		||||
 pub struct AcquiredNode(*const RsvgDrawingCtx, *mut RsvgNode);
 | 
			
		||||
 
 | 
			
		||||
 impl Drop for AcquiredNode {
 | 
			
		||||
diff --git a/rsvg_internals/src/structure.rs b/rsvg_internals/src/structure.rs
 | 
			
		||||
index 71c9ff0..e4234ae 100644
 | 
			
		||||
--- a/rsvg_internals/src/structure.rs
 | 
			
		||||
+++ b/rsvg_internals/src/structure.rs
 | 
			
		||||
@@ -278,6 +278,20 @@ impl NodeTrait for NodeUse {
 | 
			
		||||
             return;
 | 
			
		||||
         }
 | 
			
		||||
 
 | 
			
		||||
+        // <use> is an element that is used directly, unlike
 | 
			
		||||
+        // <pattern>, which is used through a fill="url(#...)"
 | 
			
		||||
+        // reference.  However, <use> will always reference another
 | 
			
		||||
+        // element, potentially itself or an ancestor of itself (or
 | 
			
		||||
+        // another <use> which references the first one, etc.).  So,
 | 
			
		||||
+        // we acquire the <use> element itself so that circular
 | 
			
		||||
+        // references can be caught.
 | 
			
		||||
+        let self_box = box_node(node.clone());
 | 
			
		||||
+        let self_acquired = drawing_ctx::acquire_node_ref(draw_ctx, self_box);
 | 
			
		||||
+        rsvg_node_unref(self_box);
 | 
			
		||||
+        if self_acquired.is_none() {
 | 
			
		||||
+            return;
 | 
			
		||||
+        }
 | 
			
		||||
+
 | 
			
		||||
         let child = if let Some(acquired) =
 | 
			
		||||
             drawing_ctx::get_acquired_node(draw_ctx, link.as_ref().unwrap())
 | 
			
		||||
         {
 | 
			
		||||
@@ -286,13 +300,6 @@ impl NodeTrait for NodeUse {
 | 
			
		||||
             return;
 | 
			
		||||
         };
 | 
			
		||||
 
 | 
			
		||||
-        if Node::is_ancestor(node.clone(), child.clone()) {
 | 
			
		||||
-            // or, if we're <use>'ing ourselves
 | 
			
		||||
-            return;
 | 
			
		||||
-        }
 | 
			
		||||
-
 | 
			
		||||
-        drawing_ctx::increase_num_elements_rendered_through_use(draw_ctx);
 | 
			
		||||
-
 | 
			
		||||
         let nx = self.x.get().normalize(draw_ctx);
 | 
			
		||||
         let ny = self.y.get().normalize(draw_ctx);
 | 
			
		||||
 
 | 
			
		||||
diff --git a/tests/errors.c b/tests/errors.c
 | 
			
		||||
index f370d60..ab5898a 100644
 | 
			
		||||
--- a/tests/errors.c
 | 
			
		||||
+++ b/tests/errors.c
 | 
			
		||||
@@ -22,10 +22,29 @@ get_test_filename (const char *basename) {
 | 
			
		||||
                              basename,
 | 
			
		||||
                              NULL);
 | 
			
		||||
 }
 | 
			
		||||
+
 | 
			
		||||
+static void
 | 
			
		||||
+test_loading_error (gconstpointer data)
 | 
			
		||||
+{
 | 
			
		||||
+    const char *basename = data;
 | 
			
		||||
+    char *filename = get_test_filename (basename);
 | 
			
		||||
+    RsvgHandle *handle;
 | 
			
		||||
+    GError *error = NULL;
 | 
			
		||||
+
 | 
			
		||||
+    handle = rsvg_handle_new_from_file (filename, &error);
 | 
			
		||||
+    g_free (filename);
 | 
			
		||||
+
 | 
			
		||||
+    g_assert (handle == NULL);
 | 
			
		||||
+    g_assert (g_error_matches (error, RSVG_ERROR, RSVG_ERROR_FAILED));
 | 
			
		||||
+
 | 
			
		||||
+    g_error_free (error);
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
 static void
 | 
			
		||||
-test_instancing_limit (void)
 | 
			
		||||
+test_instancing_limit (gconstpointer data)
 | 
			
		||||
 {
 | 
			
		||||
-    char *filename = get_test_filename ("323-nested-use.svg");
 | 
			
		||||
+    const char *basename = data;
 | 
			
		||||
+    char *filename = get_test_filename (basename);
 | 
			
		||||
     RsvgHandle *handle;
 | 
			
		||||
     GError *error = NULL;
 | 
			
		||||
     cairo_surface_t *surf;
 | 
			
		||||
@@ -49,7 +68,34 @@ main (int argc, char **argv)
 | 
			
		||||
 {
 | 
			
		||||
     g_test_init (&argc, &argv, NULL);
 | 
			
		||||
 
 | 
			
		||||
-    g_test_add_func ("/errors/instancing_limit", test_instancing_limit);
 | 
			
		||||
+    g_test_add_data_func_full ("/errors/instancing_limit/323-nested-use.svg",
 | 
			
		||||
+                               "323-nested-use.svg",
 | 
			
		||||
+                               test_instancing_limit,
 | 
			
		||||
+                               NULL);
 | 
			
		||||
+
 | 
			
		||||
+    g_test_add_data_func_full ("/errors/instancing_limit/515-pattern-billion-laughs.svg",
 | 
			
		||||
+                               "515-pattern-billion-laughs.svg",
 | 
			
		||||
+                               test_instancing_limit,
 | 
			
		||||
+                               NULL);
 | 
			
		||||
+
 | 
			
		||||
+    g_test_add_data_func_full ("/errors/instancing_limit/308-use-self-ref.svg",
 | 
			
		||||
+                               "308-use-self-ref.svg",
 | 
			
		||||
+                               test_instancing_limit,
 | 
			
		||||
+                               NULL);
 | 
			
		||||
+    g_test_add_data_func_full ("/errors/instancing_limit/308-recursive-use.svg",
 | 
			
		||||
+                               "308-recursive-use.svg",
 | 
			
		||||
+                               test_instancing_limit,
 | 
			
		||||
+                               NULL);
 | 
			
		||||
+    g_test_add_data_func_full ("/errors/instancing_limit/308-doubly-recursive-use.svg",
 | 
			
		||||
+                               "308-doubly-recursive-use.svg",
 | 
			
		||||
+                               test_instancing_limit,
 | 
			
		||||
+                               NULL);
 | 
			
		||||
+
 | 
			
		||||
+    g_test_add_data_func_full ("/errors/515-too-many-elements.svgz",
 | 
			
		||||
+                               "515-too-many-elements.svgz",
 | 
			
		||||
+                               test_loading_error,
 | 
			
		||||
+                               NULL);
 | 
			
		||||
+
 | 
			
		||||
 
 | 
			
		||||
     return g_test_run ();
 | 
			
		||||
 }
 | 
			
		||||
diff --git a/tests/fixtures/errors/308-doubly-recursive-use.svg b/tests/fixtures/errors/308-doubly-recursive-use.svg
 | 
			
		||||
new file mode 100644
 | 
			
		||||
index 0000000..9b248a6
 | 
			
		||||
--- /dev/null
 | 
			
		||||
+++ b/tests/fixtures/errors/308-doubly-recursive-use.svg
 | 
			
		||||
@@ -0,0 +1,13 @@
 | 
			
		||||
+<svg>
 | 
			
		||||
+  <defs>
 | 
			
		||||
+    <g id="one">
 | 
			
		||||
+      <use xlink:href="#two"/>
 | 
			
		||||
+    </g>
 | 
			
		||||
+
 | 
			
		||||
+    <g id="two">
 | 
			
		||||
+      <use xlink:href="#one"/>
 | 
			
		||||
+    </g>
 | 
			
		||||
+  </defs>
 | 
			
		||||
+
 | 
			
		||||
+  <use xlink:href="#one"/>
 | 
			
		||||
+</svg>
 | 
			
		||||
diff --git a/tests/fixtures/errors/308-recursive-use.svg b/tests/fixtures/errors/308-recursive-use.svg
 | 
			
		||||
new file mode 100644
 | 
			
		||||
index 0000000..f5d00bf
 | 
			
		||||
--- /dev/null
 | 
			
		||||
+++ b/tests/fixtures/errors/308-recursive-use.svg
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
+<svg>
 | 
			
		||||
+  <defs>
 | 
			
		||||
+    <g id="one">
 | 
			
		||||
+      <use xlink:href="#one"/>
 | 
			
		||||
+    </g>
 | 
			
		||||
+  </defs>
 | 
			
		||||
+
 | 
			
		||||
+  <use xlink:href="#one"/>
 | 
			
		||||
+</svg>
 | 
			
		||||
diff --git a/tests/fixtures/errors/308-use-self-ref.svg b/tests/fixtures/errors/308-use-self-ref.svg
 | 
			
		||||
new file mode 100644
 | 
			
		||||
index 0000000..dbf14c5
 | 
			
		||||
--- /dev/null
 | 
			
		||||
+++ b/tests/fixtures/errors/308-use-self-ref.svg
 | 
			
		||||
@@ -0,0 +1,7 @@
 | 
			
		||||
+<svg>
 | 
			
		||||
+  <defs>
 | 
			
		||||
+    <use id="one" xlink:href="#one"/>
 | 
			
		||||
+  </defs>
 | 
			
		||||
+
 | 
			
		||||
+  <use xlink:href="#one"/>
 | 
			
		||||
+</svg>
 | 
			
		||||
diff --git a/tests/fixtures/errors/515-pattern-billion-laughs.svg b/tests/fixtures/errors/515-pattern-billion-laughs.svg
 | 
			
		||||
new file mode 100644
 | 
			
		||||
index 0000000..a306960
 | 
			
		||||
--- /dev/null
 | 
			
		||||
+++ b/tests/fixtures/errors/515-pattern-billion-laughs.svg
 | 
			
		||||
@@ -0,0 +1,130 @@
 | 
			
		||||
+<?xml version="1.0" standalone="no"?>
 | 
			
		||||
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 | 
			
		||||
+  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
 | 
			
		||||
+<svg width="40cm" height="20cm" viewBox="0 0 800 400" version="1.1"
 | 
			
		||||
+     xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
+  <defs>
 | 
			
		||||
+    <pattern id="z" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(10,10)">
 | 
			
		||||
+      <rect x="0" y="0" width="20" height="20" fill="url(#i)" stroke="yellow"/>
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+
 | 
			
		||||
+	<pattern id="i" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(0.5,0.5)">
 | 
			
		||||
+      <rect x="0" y="0" width="20" height="20" fill="url(#h)" stroke="green" />
 | 
			
		||||
+	  <rect x="1" y="1" width="20" height="20" fill="url(#h)" stroke="brown" />
 | 
			
		||||
+	  <rect x="2" y="2" width="20" height="20" fill="url(#h)" stroke="pink" />
 | 
			
		||||
+	  <rect x="3" y="3" width="20" height="20" fill="url(#h)" stroke="grey" />
 | 
			
		||||
+	  <rect x="4" y="3" width="20" height="20" fill="url(#h)" stroke="cyan" />
 | 
			
		||||
+	  <rect x="5" y="3" width="20" height="20" fill="url(#h)" stroke="green" />
 | 
			
		||||
+	  <rect x="6" y="3" width="20" height="20" fill="url(#h)" stroke="brown" />
 | 
			
		||||
+	  <rect x="7" y="3" width="20" height="20" fill="url(#h)" stroke="pink" />
 | 
			
		||||
+	  <rect x="8" y="3" width="20" height="20" fill="url(#h)" stroke="grey" />
 | 
			
		||||
+	  <rect x="9" y="3" width="20" height="20" fill="url(#h)" stroke="cyan" />
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+
 | 
			
		||||
+	<pattern id="h" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(0.5,0.5)">
 | 
			
		||||
+      <rect x="0" y="0" width="20" height="20" fill="url(#g)" stroke="green" />
 | 
			
		||||
+	  <rect x="1" y="1" width="20" height="20" fill="url(#g)" stroke="brown" />
 | 
			
		||||
+	  <rect x="2" y="2" width="20" height="20" fill="url(#g)" stroke="pink" />
 | 
			
		||||
+	  <rect x="3" y="3" width="20" height="20" fill="url(#g)" stroke="grey" />
 | 
			
		||||
+	  <rect x="4" y="3" width="20" height="20" fill="url(#g)" stroke="cyan" />
 | 
			
		||||
+	  <rect x="5" y="3" width="20" height="20" fill="url(#g)" stroke="green" />
 | 
			
		||||
+	  <rect x="6" y="3" width="20" height="20" fill="url(#g)" stroke="brown" />
 | 
			
		||||
+	  <rect x="7" y="3" width="20" height="20" fill="url(#g)" stroke="pink" />
 | 
			
		||||
+	  <rect x="8" y="3" width="20" height="20" fill="url(#g)" stroke="grey" />
 | 
			
		||||
+	  <rect x="9" y="3" width="20" height="20" fill="url(#g)" stroke="cyan" />
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+
 | 
			
		||||
+	<pattern id="g" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(0.5,0.5)">
 | 
			
		||||
+      <rect x="0" y="0" width="20" height="20" fill="url(#f)" stroke="green" />
 | 
			
		||||
+	  <rect x="1" y="1" width="20" height="20" fill="url(#f)" stroke="brown" />
 | 
			
		||||
+	  <rect x="2" y="2" width="20" height="20" fill="url(#f)" stroke="pink" />
 | 
			
		||||
+	  <rect x="3" y="3" width="20" height="20" fill="url(#f)" stroke="grey" />
 | 
			
		||||
+	  <rect x="4" y="3" width="20" height="20" fill="url(#f)" stroke="cyan" />
 | 
			
		||||
+	  <rect x="5" y="3" width="20" height="20" fill="url(#f)" stroke="green" />
 | 
			
		||||
+	  <rect x="6" y="3" width="20" height="20" fill="url(#f)" stroke="brown" />
 | 
			
		||||
+	  <rect x="7" y="3" width="20" height="20" fill="url(#f)" stroke="pink" />
 | 
			
		||||
+	  <rect x="8" y="3" width="20" height="20" fill="url(#f)" stroke="grey" />
 | 
			
		||||
+	  <rect x="9" y="3" width="20" height="20" fill="url(#f)" stroke="cyan" />
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+
 | 
			
		||||
+	<pattern id="f" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(0.5,0.5)">
 | 
			
		||||
+      <rect x="0" y="0" width="20" height="20" fill="url(#e)" stroke="green" />
 | 
			
		||||
+	  <rect x="1" y="1" width="20" height="20" fill="url(#e)" stroke="brown" />
 | 
			
		||||
+	  <rect x="2" y="2" width="20" height="20" fill="url(#e)" stroke="pink" />
 | 
			
		||||
+	  <rect x="3" y="3" width="20" height="20" fill="url(#e)" stroke="grey" />
 | 
			
		||||
+	  <rect x="4" y="3" width="20" height="20" fill="url(#e)" stroke="cyan" />
 | 
			
		||||
+	  <rect x="5" y="3" width="20" height="20" fill="url(#e)" stroke="green" />
 | 
			
		||||
+	  <rect x="6" y="3" width="20" height="20" fill="url(#e)" stroke="brown" />
 | 
			
		||||
+	  <rect x="7" y="3" width="20" height="20" fill="url(#e)" stroke="pink" />
 | 
			
		||||
+	  <rect x="8" y="3" width="20" height="20" fill="url(#e)" stroke="grey" />
 | 
			
		||||
+	  <rect x="9" y="3" width="20" height="20" fill="url(#e)" stroke="cyan" />
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+
 | 
			
		||||
+	<pattern id="e" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(0.5,0.5)">
 | 
			
		||||
+      <rect x="0" y="0" width="20" height="20" fill="url(#d)" stroke="green" />
 | 
			
		||||
+	  <rect x="1" y="1" width="20" height="20" fill="url(#d)" stroke="brown" />
 | 
			
		||||
+	  <rect x="2" y="2" width="20" height="20" fill="url(#d)" stroke="pink" />
 | 
			
		||||
+	  <rect x="3" y="3" width="20" height="20" fill="url(#d)" stroke="grey" />
 | 
			
		||||
+	  <rect x="4" y="3" width="20" height="20" fill="url(#d)" stroke="cyan" />
 | 
			
		||||
+	  <rect x="5" y="3" width="20" height="20" fill="url(#d)" stroke="green" />
 | 
			
		||||
+	  <rect x="6" y="3" width="20" height="20" fill="url(#d)" stroke="brown" />
 | 
			
		||||
+	  <rect x="7" y="3" width="20" height="20" fill="url(#d)" stroke="pink" />
 | 
			
		||||
+	  <rect x="8" y="3" width="20" height="20" fill="url(#d)" stroke="grey" />
 | 
			
		||||
+	  <rect x="9" y="3" width="20" height="20" fill="url(#d)" stroke="cyan" />
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+
 | 
			
		||||
+    <pattern id="d" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(0.5,0.5)">
 | 
			
		||||
+      <rect x="0" y="0" width="20" height="20" fill="url(#c)" stroke="green" />
 | 
			
		||||
+	  <rect x="1" y="1" width="20" height="20" fill="url(#c)" stroke="brown" />
 | 
			
		||||
+	  <rect x="2" y="2" width="20" height="20" fill="url(#c)" stroke="pink" />
 | 
			
		||||
+	  <rect x="3" y="3" width="20" height="20" fill="url(#c)" stroke="grey" />
 | 
			
		||||
+	  <rect x="4" y="3" width="20" height="20" fill="url(#c)" stroke="cyan" />
 | 
			
		||||
+	  <rect x="5" y="3" width="20" height="20" fill="url(#c)" stroke="green" />
 | 
			
		||||
+	  <rect x="6" y="3" width="20" height="20" fill="url(#c)" stroke="brown" />
 | 
			
		||||
+	  <rect x="7" y="3" width="20" height="20" fill="url(#c)" stroke="pink" />
 | 
			
		||||
+	  <rect x="8" y="3" width="20" height="20" fill="url(#c)" stroke="grey" />
 | 
			
		||||
+	  <rect x="9" y="3" width="20" height="20" fill="url(#c)" stroke="cyan" />
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+    <pattern id="c" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(0.5,0.5)">
 | 
			
		||||
+      <rect x="0" y="0" width="20" height="20" fill="url(#b)" stroke="green" />
 | 
			
		||||
+	  <rect x="1" y="1" width="20" height="20" fill="url(#b)" stroke="brown" />
 | 
			
		||||
+	  <rect x="2" y="2" width="20" height="20" fill="url(#b)" stroke="pink" />
 | 
			
		||||
+	  <rect x="3" y="3" width="20" height="20" fill="url(#b)" stroke="grey" />
 | 
			
		||||
+	  <rect x="4" y="3" width="20" height="20" fill="url(#b)" stroke="cyan" />
 | 
			
		||||
+	  <rect x="5" y="3" width="20" height="20" fill="url(#b)" stroke="green" />
 | 
			
		||||
+	  <rect x="6" y="3" width="20" height="20" fill="url(#b)" stroke="brown" />
 | 
			
		||||
+	  <rect x="7" y="3" width="20" height="20" fill="url(#b)" stroke="pink" />
 | 
			
		||||
+	  <rect x="8" y="3" width="20" height="20" fill="url(#b)" stroke="grey" />
 | 
			
		||||
+	  <rect x="9" y="3" width="20" height="20" fill="url(#b)" stroke="cyan" />
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+    <pattern id="b" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(0.5,0.5)">
 | 
			
		||||
+	  <rect x="0" y="0" width="20" height="20" fill="url(#a)" stroke="green" />
 | 
			
		||||
+	  <rect x="1" y="1" width="20" height="20" fill="url(#a)" stroke="brown" />
 | 
			
		||||
+	  <rect x="2" y="2" width="20" height="20" fill="url(#a)" stroke="pink" />
 | 
			
		||||
+	  <rect x="3" y="3" width="20" height="20" fill="url(#a)" stroke="grey" />
 | 
			
		||||
+	  <rect x="4" y="3" width="20" height="20" fill="url(#a)" stroke="cyan" />
 | 
			
		||||
+	  <rect x="5" y="3" width="20" height="20" fill="url(#a)" stroke="green" />
 | 
			
		||||
+	  <rect x="6" y="3" width="20" height="20" fill="url(#a)" stroke="brown" />
 | 
			
		||||
+	  <rect x="7" y="3" width="20" height="20" fill="url(#a)" stroke="pink" />
 | 
			
		||||
+	  <rect x="8" y="3" width="20" height="20" fill="url(#a)" stroke="grey" />
 | 
			
		||||
+	  <rect x="9" y="3" width="20" height="20" fill="url(#a)" stroke="cyan" />
 | 
			
		||||
+
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+    <pattern id="a" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="scale(0.5,0.5)">
 | 
			
		||||
+      <rect x="0" y="0" width="20" height="20" fill="none" stroke="green" />
 | 
			
		||||
+	  <rect x="1" y="1" width="20" height="20" fill="none" stroke="brown" />
 | 
			
		||||
+	  <rect x="2" y="2" width="20" height="20" fill="none" stroke="pink" />
 | 
			
		||||
+	  <rect x="3" y="3" width="20" height="20" fill="none" stroke="grey" />
 | 
			
		||||
+	  <rect x="4" y="3" width="20" height="20" fill="none" stroke="cyan" />
 | 
			
		||||
+	  <rect x="5" y="3" width="20" height="20" fill="none" stroke="green" />
 | 
			
		||||
+	  <rect x="6" y="3" width="20" height="20" fill="none" stroke="brown" />
 | 
			
		||||
+	  <rect x="7" y="3" width="20" height="20" fill="none" stroke="pink" />
 | 
			
		||||
+	  <rect x="8" y="3" width="20" height="20" fill="none" stroke="grey" />
 | 
			
		||||
+	  <rect x="9" y="3" width="20" height="20" fill="none" stroke="cyan" />
 | 
			
		||||
+    </pattern>
 | 
			
		||||
+  </defs>
 | 
			
		||||
+
 | 
			
		||||
+  <ellipse fill="url(#z)" stroke="black" stroke-width="5"
 | 
			
		||||
+           cx="400" cy="200" rx="350" ry="150" />
 | 
			
		||||
+
 | 
			
		||||
+</svg>
 | 
			
		||||
\ No newline at end of file
 | 
			
		||||
diff --git a/tests/fixtures/errors/515-too-many-elements.svgz b/tests/fixtures/errors/515-too-many-elements.svgz
 | 
			
		||||
new file mode 100644
 | 
			
		||||
index 0000000000000000000000000000000000000000..a7f7cf678ca2f29af6df61078d1c6a86c73c2d1a
 | 
			
		||||
GIT binary patch
 | 
			
		||||
literal 40811
 | 
			
		||||
zcmeIuO)I1U007{3c1mhf$VD-7q(+J1MDM}L%|UFTsL8?1JBN{yP&im}QQ{&|QhvZj
 | 
			
		||||
zljI=9MY%ail5kSH<)g@tkhY%ZCp<Na#l^QJoBcoHsm4@tG?z<e2cz+1I+M<(qtSdr
 | 
			
		||||
zerz~+JUc3x2`j>*LibxH_PE;`Ph^fuo4Xpr-qW6!wVUeOr_1r`p~-)LTcZB@uIs(k
 | 
			
		||||
zp^3xx{A%Lt>ENbsBzwPKxl_B*S@%4>{ZPBL{_?u~dmaM@3>YwAz<>b*1`HT5V8DO@
 | 
			
		||||
z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*Vq
 | 
			
		||||
ziwEvbqN?)X)ARdf*>V8`1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*
 | 
			
		||||
z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA;JXJdqN<A^m<@v0;iCA@vC?p6
 | 
			
		||||
zYVLd>)r0{91`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>f$?1`2;_+E#M0g<n@o
 | 
			
		||||
I9YGlT0Agk%tpET3
 | 
			
		||||
 | 
			
		||||
literal 0
 | 
			
		||||
HcmV?d00001
 | 
			
		||||
 | 
			
		||||
-- 
 | 
			
		||||
2.26.2
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										81
									
								
								fix-cssparser-build.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								fix-cssparser-build.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,81 @@
 | 
			
		||||
From 2346aa25ba6379db5a754f2cb7171e85cba5dda3 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: rpm-build <rpm-build>
 | 
			
		||||
Date: Fri, 15 May 2020 14:56:59 -0500
 | 
			
		||||
Subject: [PATCH] cssparser build fix
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 vendor/cssparser/.cargo-checksum.json |  2 +-
 | 
			
		||||
 vendor/cssparser/src/parser.rs        | 48 +++++++++++++++------------
 | 
			
		||||
 2 files changed, 28 insertions(+), 22 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/vendor/cssparser/.cargo-checksum.json b/vendor/cssparser/.cargo-checksum.json
 | 
			
		||||
index 246bb70..713372d 100644
 | 
			
		||||
--- a/vendor/cssparser/.cargo-checksum.json
 | 
			
		||||
+++ b/vendor/cssparser/.cargo-checksum.json
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"f1fb4b65964c81bc1240544267ea334f554ca38ae7a74d57066f4d47d2b5d568","Cargo.toml":"7807f16d417eb1a6ede56cd4ba2da6c5c63e4530289b3f0848f4b154e18eba02","LICENSE":"fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85","README.md":"c5781e673335f37ed3d7acb119f8ed33efdf6eb75a7094b7da2abe0c3230adb8","build.rs":"b29fc57747f79914d1c2fb541e2bb15a003028bb62751dcb901081ccc174b119","build/match_byte.rs":"2c84b8ca5884347d2007f49aecbd85b4c7582085526e2704399817249996e19b","docs/.nojekyll":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","docs/404.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","docs/index.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","src/color.rs":"c60f1b0ab7a2a6213e434604ee33f78e7ef74347f325d86d0b9192d8225ae1cc","src/cow_rc_str.rs":"541216f8ef74ee3cc5cbbc1347e5f32ed66588c401851c9a7d68b867aede1de0","src/from_bytes.rs":"331fe63af2123ae3675b61928a69461b5ac77799fff3ce9978c55cf2c558f4ff","src/lib.rs":"46c377e0c9a75780d5cb0bcf4dfb960f0fb2a996a13e7349bb111b9082252233","src/macros.rs":"adb9773c157890381556ea83d7942dcc676f99eea71abbb6afeffee1e3f28960","src/nth.rs":"5c70fb542d1376cddab69922eeb4c05e4fcf8f413f27563a2af50f72a47c8f8c","src/parser.rs":"9ed4aec998221eb2d2ba99db2f9f82a02399fb0c3b8500627f68f5aab872adde","src/rules_and_declarations.rs":"be2c4f3f3bb673d866575b6cb6084f1879dff07356d583ca9a3595f63b7f916f","src/serializer.rs":"4ccfc9b4fe994aab3803662bbf31cc25052a6a39531073a867b14b224afe42dd","src/size_of_tests.rs":"e5f63c8c18721cc3ff7a5407e84f9889ffa10e66da96e8510a696c3e00ad72d5","src/tests.rs":"80b02c80ab0fd580dad9206615c918e0db7dff63dfed0feeedb66f317d24b24b","src/tokenizer.rs":"429b2cba419cf8b923fbcc32d3bd34c0b39284ebfcb9fc29b8eb8643d8d5f312","src/unicode_range.rs":"c1c4ed2493e09d248c526ce1ef8575a5f8258da3962b64ffc814ef3bdf9780d0"},"package":"8a807ac3ab7a217829c2a3b65732b926b2befe6a35f33b4bf8b503692430f223"}
 | 
			
		||||
\ No newline at end of file
 | 
			
		||||
+{"files":{},"package":"8a807ac3ab7a217829c2a3b65732b926b2befe6a35f33b4bf8b503692430f223"}
 | 
			
		||||
diff --git a/vendor/cssparser/src/parser.rs b/vendor/cssparser/src/parser.rs
 | 
			
		||||
index 76736a8..8ffa18c 100644
 | 
			
		||||
--- a/vendor/cssparser/src/parser.rs
 | 
			
		||||
+++ b/vendor/cssparser/src/parser.rs
 | 
			
		||||
@@ -555,28 +555,34 @@ impl<'i: 't, 't> Parser<'i, 't> {
 | 
			
		||||
         }
 | 
			
		||||
 
 | 
			
		||||
         let token_start_position = self.input.tokenizer.position();
 | 
			
		||||
-        let token;
 | 
			
		||||
-        match self.input.cached_token {
 | 
			
		||||
-            Some(ref cached_token)
 | 
			
		||||
-            if cached_token.start_position == token_start_position => {
 | 
			
		||||
-                self.input.tokenizer.reset(&cached_token.end_state);
 | 
			
		||||
-                match cached_token.token {
 | 
			
		||||
-                    Token::Function(ref name) => self.input.tokenizer.see_function(name),
 | 
			
		||||
-                    _ => {}
 | 
			
		||||
-                }
 | 
			
		||||
-                token = &cached_token.token
 | 
			
		||||
+        let using_cached_token = self
 | 
			
		||||
+             .input
 | 
			
		||||
+             .cached_token
 | 
			
		||||
+             .as_ref()
 | 
			
		||||
+             .map_or(false, |cached_token| {
 | 
			
		||||
+                 cached_token.start_position == token_start_position
 | 
			
		||||
+             });
 | 
			
		||||
+         let token = if using_cached_token {
 | 
			
		||||
+             let cached_token = self.input.cached_token.as_ref().unwrap();
 | 
			
		||||
+             self.input.tokenizer.reset(&cached_token.end_state);
 | 
			
		||||
+             match cached_token.token {
 | 
			
		||||
+                 Token::Function(ref name) => self.input.tokenizer.see_function(name),
 | 
			
		||||
+                 _ => {}
 | 
			
		||||
             }
 | 
			
		||||
-            _ => {
 | 
			
		||||
-                let new_token = self.input.tokenizer.next()
 | 
			
		||||
-                    .map_err(|()| self.new_basic_error(BasicParseErrorKind::EndOfInput))?;
 | 
			
		||||
-                self.input.cached_token = Some(CachedToken {
 | 
			
		||||
-                    token: new_token,
 | 
			
		||||
-                    start_position: token_start_position,
 | 
			
		||||
-                    end_state: self.input.tokenizer.state(),
 | 
			
		||||
-                });
 | 
			
		||||
-                token = self.input.cached_token_ref()
 | 
			
		||||
-            }
 | 
			
		||||
-        }
 | 
			
		||||
+            &cached_token.token
 | 
			
		||||
+         } else {
 | 
			
		||||
+             let new_token = self
 | 
			
		||||
+                 .input
 | 
			
		||||
+                 .tokenizer
 | 
			
		||||
+                 .next()
 | 
			
		||||
+                 .map_err(|()| self.new_basic_error(BasicParseErrorKind::EndOfInput))?;
 | 
			
		||||
+             self.input.cached_token = Some(CachedToken {
 | 
			
		||||
+                 token: new_token,
 | 
			
		||||
+                 start_position: token_start_position,
 | 
			
		||||
+                 end_state: self.input.tokenizer.state(),
 | 
			
		||||
+             });
 | 
			
		||||
+             self.input.cached_token_ref()
 | 
			
		||||
+         };
 | 
			
		||||
 
 | 
			
		||||
         if let Some(block_type) = BlockType::opening(token) {
 | 
			
		||||
             self.at_start_of = Some(block_type);
 | 
			
		||||
-- 
 | 
			
		||||
2.26.2
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										719
									
								
								librsvg2.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										719
									
								
								librsvg2.spec
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,719 @@
 | 
			
		||||
# https://github.com/rust-lang/rust/issues/47714
 | 
			
		||||
%undefine _strict_symbol_defs_build
 | 
			
		||||
 | 
			
		||||
# We want verbose builds
 | 
			
		||||
%global _configure_disable_silent_rules 1
 | 
			
		||||
 | 
			
		||||
# Use bundled deps as we don't ship the exact right versions for all the
 | 
			
		||||
# required rust libraries
 | 
			
		||||
%global bundled_rust_deps 1
 | 
			
		||||
 | 
			
		||||
Name:           librsvg2
 | 
			
		||||
Summary:        An SVG library based on cairo
 | 
			
		||||
Version:        2.42.7
 | 
			
		||||
Release:        4%{?dist}
 | 
			
		||||
 | 
			
		||||
License:        LGPLv2+
 | 
			
		||||
URL:            https://wiki.gnome.org/Projects/LibRsvg
 | 
			
		||||
Source0:        https://download.gnome.org/sources/librsvg/2.42/librsvg-%{version}.tar.xz
 | 
			
		||||
 | 
			
		||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1804519
 | 
			
		||||
# https://gitlab.gnome.org/GNOME/librsvg/-/issues/515
 | 
			
		||||
Patch0:         CVE-2019-20446.patch
 | 
			
		||||
# https://github.com/servo/rust-cssparser/pull/245
 | 
			
		||||
Patch1:         fix-cssparser-build.patch
 | 
			
		||||
 | 
			
		||||
BuildRequires:  chrpath
 | 
			
		||||
BuildRequires:  gcc
 | 
			
		||||
BuildRequires:  gobject-introspection-devel
 | 
			
		||||
BuildRequires:  pkgconfig(cairo)
 | 
			
		||||
BuildRequires:  pkgconfig(cairo-png)
 | 
			
		||||
BuildRequires:  pkgconfig(fontconfig)
 | 
			
		||||
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
 | 
			
		||||
BuildRequires:  pkgconfig(gio-2.0)
 | 
			
		||||
BuildRequires:  pkgconfig(gio-unix-2.0)
 | 
			
		||||
BuildRequires:  pkgconfig(glib-2.0)
 | 
			
		||||
BuildRequires:  pkgconfig(gthread-2.0)
 | 
			
		||||
BuildRequires:  pkgconfig(gtk+-3.0)
 | 
			
		||||
BuildRequires:  pkgconfig(libcroco-0.6)
 | 
			
		||||
BuildRequires:  pkgconfig(libxml-2.0)
 | 
			
		||||
BuildRequires:  pkgconfig(pangocairo)
 | 
			
		||||
BuildRequires:  pkgconfig(pangoft2)
 | 
			
		||||
BuildRequires:  vala
 | 
			
		||||
%if 0%{?bundled_rust_deps}
 | 
			
		||||
BuildRequires:  cargo
 | 
			
		||||
BuildRequires:  rust
 | 
			
		||||
%else
 | 
			
		||||
BuildRequires:  rust-packaging
 | 
			
		||||
# [dependencies]
 | 
			
		||||
BuildRequires:  (crate(cairo-rs) >= 0.3.0 with crate(cairo-rs) < 0.4.0)
 | 
			
		||||
BuildRequires:  (crate(cairo-sys-rs) >= 0.5.0 with crate(cairo-sys-rs) < 0.6.0)
 | 
			
		||||
BuildRequires:  (crate(cssparser) >= 0.23.0 with crate(cssparser) < 0.24.0)
 | 
			
		||||
BuildRequires:  (crate(downcast-rs) >= 1.0.0 with crate(downcast-rs) < 2.0.0)
 | 
			
		||||
BuildRequires:  (crate(glib) >= 0.4.0 with crate(glib) < 0.5.0)
 | 
			
		||||
BuildRequires:  (crate(glib-sys) >= 0.5.0 with crate(glib-sys) < 0.6.0)
 | 
			
		||||
BuildRequires:  (crate(itertools) >= 0.7.4 with crate(itertools) < 0.8.0)
 | 
			
		||||
BuildRequires:  (crate(libc) >= 0.2.0 with crate(libc) < 0.3.0)
 | 
			
		||||
BuildRequires:  (crate(pango) >= 0.3.0 with crate(pango) < 0.4.0)
 | 
			
		||||
BuildRequires:  (crate(pango-sys) >= 0.5.0 with crate(pango-sys) < 0.6.0)
 | 
			
		||||
BuildRequires:  (crate(regex) >= 0.2.1 with crate(regex) < 0.3.0)
 | 
			
		||||
%endif
 | 
			
		||||
 | 
			
		||||
# We install a gdk-pixbuf svg loader
 | 
			
		||||
Requires:       gdk-pixbuf2%{?_isa}
 | 
			
		||||
 | 
			
		||||
%description
 | 
			
		||||
An SVG library based on cairo.
 | 
			
		||||
 | 
			
		||||
%package devel
 | 
			
		||||
Summary:        Libraries and include files for developing with librsvg
 | 
			
		||||
Requires:       %{name}%{?_isa} = %{version}-%{release}
 | 
			
		||||
 | 
			
		||||
%description devel
 | 
			
		||||
This package provides the necessary development libraries and include
 | 
			
		||||
files to allow you to develop with librsvg.
 | 
			
		||||
 | 
			
		||||
%package tools
 | 
			
		||||
Summary:        Extra tools for librsvg
 | 
			
		||||
Requires:       %{name}%{?_isa} = %{version}-%{release}
 | 
			
		||||
 | 
			
		||||
%description tools
 | 
			
		||||
This package provides extra utilities based on the librsvg library.
 | 
			
		||||
 | 
			
		||||
%prep
 | 
			
		||||
%autosetup -n librsvg-%{version} -p1 -S git
 | 
			
		||||
%if 0%{?bundled_rust_deps}
 | 
			
		||||
# Use the bundled deps, and enable release debuginfo
 | 
			
		||||
sed -i -e '/profile.release/a debug = true' Cargo.toml
 | 
			
		||||
%else
 | 
			
		||||
# No bundled deps
 | 
			
		||||
rm -vrf vendor
 | 
			
		||||
%cargo_prep
 | 
			
		||||
%endif
 | 
			
		||||
 | 
			
		||||
%build
 | 
			
		||||
%configure --disable-static  \
 | 
			
		||||
        --disable-gtk-doc \
 | 
			
		||||
        --enable-introspection \
 | 
			
		||||
        --enable-vala
 | 
			
		||||
%make_build
 | 
			
		||||
 | 
			
		||||
%install
 | 
			
		||||
%make_install
 | 
			
		||||
find %{buildroot} -type f -name '*.la' -print -delete
 | 
			
		||||
 | 
			
		||||
# Remove lib64 rpaths
 | 
			
		||||
chrpath --delete %{buildroot}%{_bindir}/rsvg-convert
 | 
			
		||||
chrpath --delete %{buildroot}%{_bindir}/rsvg-view-3
 | 
			
		||||
chrpath --delete %{buildroot}%{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-svg.so
 | 
			
		||||
 | 
			
		||||
# we install own docs
 | 
			
		||||
rm -vrf %{buildroot}%{_datadir}/doc
 | 
			
		||||
 | 
			
		||||
%files
 | 
			
		||||
%doc CONTRIBUTING.md README.md
 | 
			
		||||
%license COPYING COPYING.LIB
 | 
			
		||||
%{_libdir}/librsvg-2.so.*
 | 
			
		||||
%{_libdir}/gdk-pixbuf-2.0/*/loaders/libpixbufloader-svg.so
 | 
			
		||||
%dir %{_libdir}/girepository-1.0
 | 
			
		||||
%{_libdir}/girepository-1.0/Rsvg-2.0.typelib
 | 
			
		||||
%dir %{_datadir}/thumbnailers
 | 
			
		||||
%{_datadir}/thumbnailers/librsvg.thumbnailer
 | 
			
		||||
 | 
			
		||||
%files devel
 | 
			
		||||
%{_libdir}/librsvg-2.so
 | 
			
		||||
%{_includedir}/librsvg-2.0/
 | 
			
		||||
%{_libdir}/pkgconfig/librsvg-2.0.pc
 | 
			
		||||
%dir %{_datadir}/gir-1.0
 | 
			
		||||
%{_datadir}/gir-1.0/Rsvg-2.0.gir
 | 
			
		||||
%dir %{_datadir}/vala
 | 
			
		||||
%dir %{_datadir}/vala/vapi
 | 
			
		||||
%{_datadir}/vala/vapi/librsvg-2.0.vapi
 | 
			
		||||
%dir %{_datadir}/gtk-doc
 | 
			
		||||
%dir %{_datadir}/gtk-doc/html
 | 
			
		||||
%{_datadir}/gtk-doc/html/rsvg-2.0
 | 
			
		||||
 | 
			
		||||
%files tools
 | 
			
		||||
%{_bindir}/rsvg-convert
 | 
			
		||||
%{_bindir}/rsvg-view-3
 | 
			
		||||
%{_mandir}/man1/rsvg-convert.1*
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
* Wed May 13 2020 Michael Catanzaro <mcatanzaro@redhat.com> - 2.42.7-4
 | 
			
		||||
- Resolves: rhbz#1804519 Add patch for CVE-2019-20446
 | 
			
		||||
 | 
			
		||||
* Thu Dec 06 2018 Josh Stone <jistone@redhat.com> - 2.42.7-2
 | 
			
		||||
- Rebuild with the current rust-toolset
 | 
			
		||||
 | 
			
		||||
* Tue Sep 04 2018 Kalev Lember <klember@redhat.com> - 2.42.7-1
 | 
			
		||||
- Update to 2.42.7
 | 
			
		||||
 | 
			
		||||
* Wed Aug 08 2018 Kalev Lember <klember@redhat.com> - 2.42.6-1
 | 
			
		||||
- Update to 2.42.6
 | 
			
		||||
- Use bundled rust deps
 | 
			
		||||
 | 
			
		||||
* Mon Mar 05 2018 Kalev Lember <klember@redhat.com> - 2.42.3-1
 | 
			
		||||
- Update to 2.42.3
 | 
			
		||||
 | 
			
		||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.42.2-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Fri Feb 02 2018 Kalev Lember <klember@redhat.com> - 2.42.2-1
 | 
			
		||||
- Update to 2.42.2
 | 
			
		||||
 | 
			
		||||
* Wed Jan 31 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.42.1-2
 | 
			
		||||
- Switch to %%ldconfig_scriptlets
 | 
			
		||||
 | 
			
		||||
* Wed Jan 24 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.42.1-1
 | 
			
		||||
- Update to 2.42.1
 | 
			
		||||
 | 
			
		||||
* Sat Dec 16 2017 Kalev Lember <klember@redhat.com> - 2.40.20-1
 | 
			
		||||
- Update to 2.40.20
 | 
			
		||||
 | 
			
		||||
* Mon Oct 09 2017 Kalev Lember <klember@redhat.com> - 2.40.19-1
 | 
			
		||||
- Update to 2.40.19
 | 
			
		||||
 | 
			
		||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.40.18-3
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.40.18-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Thu Jul 20 2017 Kalev Lember <klember@redhat.com> - 2.40.18-1
 | 
			
		||||
- Update to 2.40.18
 | 
			
		||||
 | 
			
		||||
* Tue Apr 11 2017 Kalev Lember <klember@redhat.com> - 2.40.17-1
 | 
			
		||||
- Update to 2.40.17
 | 
			
		||||
- Remove lib64 rpaths
 | 
			
		||||
 | 
			
		||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.40.16-3
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Thu Sep 22 2016 Kalev Lember <klember@redhat.com> - 2.40.16-2
 | 
			
		||||
- BR vala instead of obsolete vala-tools subpackage
 | 
			
		||||
 | 
			
		||||
* Thu Jun 09 2016 Kalev Lember <klember@redhat.com> - 2.40.16-1
 | 
			
		||||
- Update to 2.40.16
 | 
			
		||||
 | 
			
		||||
* Sat Apr 02 2016 David King <amigadave@amigadave.com> - 2.40.15-1
 | 
			
		||||
- Update to 2.40.15
 | 
			
		||||
 | 
			
		||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.40.13-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Fri Jan 08 2016 David King <amigadave@amigadave.com> - 2.40.13-1
 | 
			
		||||
- Update to 2.40.13
 | 
			
		||||
- Fix bogus date in changelog
 | 
			
		||||
 | 
			
		||||
* Wed Dec 02 2015 David King <amigadave@amigadave.com> - 2.40.12-1
 | 
			
		||||
- Update to 2.40.12
 | 
			
		||||
 | 
			
		||||
* Thu Oct 08 2015 Kalev Lember <klember@redhat.com> - 2.40.11-1
 | 
			
		||||
- Update to 2.40.11
 | 
			
		||||
- Drop ancient librsvg3 obsoletes
 | 
			
		||||
 | 
			
		||||
* Sat Aug 08 2015 Kalev Lember <klember@redhat.com> - 2.40.10-1
 | 
			
		||||
- Update to 2.40.10
 | 
			
		||||
 | 
			
		||||
* Wed Aug  5 2015 Matthias Clasen <mclasen@redhat.com> - 2.40.9-3
 | 
			
		||||
- Rely on gdk-pixbuf2 file triggers
 | 
			
		||||
 | 
			
		||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.40.9-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Thu Mar 26 2015 Kalev Lember <kalevlember@gmail.com> - 2.40.9-1
 | 
			
		||||
- Update to 2.40.9
 | 
			
		||||
 | 
			
		||||
* Fri Feb 27 2015 David King <amigadave@amigadave.com> - 2.40.8-1
 | 
			
		||||
- Update to 2.40.8
 | 
			
		||||
 | 
			
		||||
* Mon Feb 16 2015 David King <amigadave@amigadave.com> - 2.40.7-1
 | 
			
		||||
- Update to 2.40.7
 | 
			
		||||
- Use license macro for COPYING and COPYING.LIB
 | 
			
		||||
- Use pkgconfig for BuildRequires
 | 
			
		||||
- Add URL
 | 
			
		||||
 | 
			
		||||
* Wed Dec 03 2014 Richard Hughes <rhughes@redhat.com> - 2.40.6-1
 | 
			
		||||
- Update to 2.40.6
 | 
			
		||||
 | 
			
		||||
* Mon Oct 13 2014 Kalev Lember <kalevlember@gmail.com> - 2.40.5-1
 | 
			
		||||
- Update to 2.40.5
 | 
			
		||||
 | 
			
		||||
* Sun Sep 14 2014 Kalev Lember <kalevlember@gmail.com> - 2.40.4-1
 | 
			
		||||
- Update to 2.40.4
 | 
			
		||||
- Tighten subpackage deps with the _isa macro
 | 
			
		||||
 | 
			
		||||
* Mon Aug 18 2014 Kalev Lember <kalevlember@gmail.com> - 2.40.3-1
 | 
			
		||||
- Update to 2.40.3
 | 
			
		||||
 | 
			
		||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.40.2-4
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Tue Jul 22 2014 Kalev Lember <kalevlember@gmail.com> - 2.40.2-3
 | 
			
		||||
- Rebuilt for gobject-introspection 1.41.4
 | 
			
		||||
 | 
			
		||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.40.2-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Tue Mar 18 2014 Richard Hughes <rhughes@redhat.com> - 2.40.2-1
 | 
			
		||||
- Update to 2.40.2
 | 
			
		||||
 | 
			
		||||
* Mon Nov 25 2013 Richard Hughes <rhughes@redhat.com> - 2.40.1-1
 | 
			
		||||
- Update to 2.40.1
 | 
			
		||||
 | 
			
		||||
* Tue Oct 29 2013 Richard Hughes <rhughes@redhat.com> - 2.40.0-1
 | 
			
		||||
- Update to 2.40.0
 | 
			
		||||
 | 
			
		||||
* Thu Aug 22 2013 Kalev Lember <kalevlember@gmail.com> - 2.39.0-1
 | 
			
		||||
- Update to 2.39.0
 | 
			
		||||
 | 
			
		||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.37.0-4
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Sat May 11 2013 Kalev Lember <kalevlember@gmail.com> - 2.37.0-3
 | 
			
		||||
- Split rsvg-view-3 and rsvg-convert to a -tools subpackage (#915403)
 | 
			
		||||
 | 
			
		||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.37.0-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Tue Jan 15 2013 Matthias Clasen <mclasen@redhat.com> - 2.37.0-1
 | 
			
		||||
- Update to 2.37.0
 | 
			
		||||
 | 
			
		||||
* Tue Oct 16 2012 Kalev Lember <kalevlember@gmail.com> - 2.36.4-1
 | 
			
		||||
- Update to 2.36.4
 | 
			
		||||
 | 
			
		||||
* Sun Sep 23 2012 Kalev Lember <kalevlember@gmail.com> - 2.36.3-1
 | 
			
		||||
- Update to 2.36.3
 | 
			
		||||
- Package the librsvg Vala bindings
 | 
			
		||||
 | 
			
		||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.36.1-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Tue Apr 17 2012 Kalev Lember <kalevlember@gmail.com> - 2.36.1-1
 | 
			
		||||
- Update to 2.36.1
 | 
			
		||||
- Removed unrecognized configure options
 | 
			
		||||
- Include the man page in the rpm
 | 
			
		||||
 | 
			
		||||
* Tue Mar 27 2012 Kalev Lember <kalevlember@gmail.com> - 2.36.0-1
 | 
			
		||||
- Update to 2.36.0
 | 
			
		||||
 | 
			
		||||
* Mon Feb  6 2012 Matthias Clasen <mclasen@redhat.com> - 2.35.2-1
 | 
			
		||||
- Update to 2.35.2
 | 
			
		||||
 | 
			
		||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.35.1-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Tue Dec 20 2011 Matthias Clasen <mclasen@redhat.com> - 2.35.1-1
 | 
			
		||||
- Update to 2.35.1
 | 
			
		||||
 | 
			
		||||
* Sat Dec 10 2011 Hans de Goede <hdegoede@redhat.com> - 2.35.0-3
 | 
			
		||||
- Fix including rsvg.h always causing a deprecated warning, as this breaks
 | 
			
		||||
  apps compiling with -Werror
 | 
			
		||||
 | 
			
		||||
* Fri Nov 25 2011 Daniel Drake <dsd@laptop.org> - 2.35.0-2
 | 
			
		||||
- Build gobject-introspection bindings
 | 
			
		||||
 | 
			
		||||
* Tue Nov 22 2011 Matthias Clasen <mclasen@redhat.com> - 2.35.0-1
 | 
			
		||||
- Update to 2.35.0
 | 
			
		||||
 | 
			
		||||
* Mon Nov  7 2011 Matthias Clasen <mclasen@redhat.com> - 2.34.1-2
 | 
			
		||||
- Rebuild against new libpng
 | 
			
		||||
 | 
			
		||||
* Tue Sep  6 2011 Matthias Clasen <mclasen@redhat.com> - 2.34.1-1
 | 
			
		||||
- Update to 2.34.1
 | 
			
		||||
 | 
			
		||||
* Sun Apr  3 2011 Christopher Aillon <caillon@redhat.com> - 2.34.0-1
 | 
			
		||||
- Update to 2.34.0
 | 
			
		||||
 | 
			
		||||
* Fri Feb 18 2011 Matthias Clasen <mclasen@redhat.com> - 2.32.1-3
 | 
			
		||||
- Fix a crash (#603183)
 | 
			
		||||
 | 
			
		||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.32.1-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Fri Dec  3 2010 Matthias Clasen <mclasen@redhat.com> - 2.32.1-1
 | 
			
		||||
- Update to 2.32.1
 | 
			
		||||
 | 
			
		||||
* Mon Oct 18 2010 Parag Nemade <paragn AT fedoraproject.org> - 2.32.0-2
 | 
			
		||||
- Merge-review cleanup (#226040)
 | 
			
		||||
 | 
			
		||||
* Wed Sep 29 2010 Matthias Clasen <mclasen@redhat.com> 2.32.0-1
 | 
			
		||||
- Update to 2.32.0
 | 
			
		||||
 | 
			
		||||
* Mon Jul 19 2010 Bastien Nocera <bnocera@redhat.com> 2.31.0-2
 | 
			
		||||
- Fix rawhide upgrade path with librsvg3
 | 
			
		||||
 | 
			
		||||
* Fri Jul  2 2010 Matthias Clasen <mclasen@redhat.com> - 2.31.0-1
 | 
			
		||||
- Update to 2.31.0
 | 
			
		||||
 | 
			
		||||
* Fri Jul 02 2010 Adam Tkac <atkac redhat com> - 2.31.0-0.3.20100628git
 | 
			
		||||
- fix crash in rsvg-gobject.c:instance_dispose function
 | 
			
		||||
  (https://bugzilla.gnome.org/show_bug.cgi?id=623383)
 | 
			
		||||
 | 
			
		||||
* Wed Jun 30 2010 Matthias Clasen <mclasen@redhat.com> - 2.31.0-0.2.20100628git
 | 
			
		||||
- Fix the .pc file to require gdk-pixbuf-2.0
 | 
			
		||||
 | 
			
		||||
* Mon Jun 28 2010 Matthias Clasen <mclasen@redhat.com> - 2.31.0-0.1.20100628git
 | 
			
		||||
- Update to a git snapshot that builds against standalone gdk-pixbuf
 | 
			
		||||
- Drop librsvg3 package
 | 
			
		||||
- Drop svg theme engine
 | 
			
		||||
 | 
			
		||||
* Fri Jun 11 2010 Bastien Nocera <bnocera@redhat.com> 2.26.3-3
 | 
			
		||||
- Add missing scriptlets for librsvg3
 | 
			
		||||
- Fix requires for librsvg3-devel package
 | 
			
		||||
 | 
			
		||||
* Fri Jun 11 2010 Bastien Nocera <bnocera@redhat.com> 2.26.3-2
 | 
			
		||||
- Add GTK3 port of the libraries
 | 
			
		||||
 | 
			
		||||
* Sat May  1 2010 Matthias Clasen <mclasen@redhat.com> - 2.26.3-1
 | 
			
		||||
- Update to 2.26.3
 | 
			
		||||
 | 
			
		||||
* Tue Mar 30 2010 Matthias Clasen <mclasen@redhat.com> - 2.26.2-1
 | 
			
		||||
- Update to 2.26.2
 | 
			
		||||
 | 
			
		||||
* Mon Mar 29 2010 Matthias Clasen <mclasen@redhat.com> - 2.26.1-1
 | 
			
		||||
- Update to 2.26.1
 | 
			
		||||
 | 
			
		||||
* Sun Feb 14 2010 Matthias Clasen <mclasen@redhat.com> - 2.26.0-4
 | 
			
		||||
- Add missing libs
 | 
			
		||||
 | 
			
		||||
* Mon Aug 10 2009 Ville Skyttä <ville.skytta@iki.fi> - 2.26.0-3
 | 
			
		||||
- Convert specfile to UTF-8.
 | 
			
		||||
 | 
			
		||||
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.26.0-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Mon Mar 16 2009 Matthias Clasen <mclasen@redhat.com> - 2.26.0-1
 | 
			
		||||
- Update to 2.26.0
 | 
			
		||||
 | 
			
		||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.22.3-2
 | 
			
		||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
 | 
			
		||||
 | 
			
		||||
* Mon Sep 22 2008 Matthias Clasen <mclasen@redhat.com> - 2.22.3-1
 | 
			
		||||
- Update to 2.22.3
 | 
			
		||||
 | 
			
		||||
* Thu Sep 18 2008 Matthias Clasen <mclasen@redhat.com> - 2.22.2-2
 | 
			
		||||
- Plug a memory leak
 | 
			
		||||
 | 
			
		||||
* Tue Mar  4 2008 Matthias Clasen <mclasen@redhat.com> - 2.22.2-1
 | 
			
		||||
- Update to 2.22.2
 | 
			
		||||
 | 
			
		||||
* Sun Feb 24 2008 Matthias Clasen <mclasen@redhat.com> - 2.22.1-1
 | 
			
		||||
- Update to 2.22.1
 | 
			
		||||
 | 
			
		||||
* Thu Feb 21 2008 Matthias Clasen <mclasen@redhat.com> - 2.22.0-1
 | 
			
		||||
- Update to 2.22.0
 | 
			
		||||
 | 
			
		||||
* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.20.0-2
 | 
			
		||||
- Autorebuild for GCC 4.3
 | 
			
		||||
 | 
			
		||||
* Sun Jan 20 2008 Matthias Clasen <mclasen@redhat.com> - 2.20.0-1
 | 
			
		||||
- Update to 2.20.0
 | 
			
		||||
 | 
			
		||||
* Tue Sep 11 2007 Matthias Clasen <mclasen@redhat.com> - 2.18.2-2
 | 
			
		||||
- Plug memory leaks
 | 
			
		||||
 | 
			
		||||
* Mon Sep  3 2007 Matthias Clasen <mclasen@redhat.com> - 2.18.2-1
 | 
			
		||||
- Update to 2.18.2
 | 
			
		||||
 | 
			
		||||
* Mon Sep  3 2007 Matthias Clasen <mclasen@redhat.com> - 2.18.1-1
 | 
			
		||||
- Update to 2.18.1
 | 
			
		||||
 | 
			
		||||
* Thu Aug 23 2007 Adam Jackson <ajax@redhat.com> - 2.18.0-4
 | 
			
		||||
- Rebuild for build ID
 | 
			
		||||
 | 
			
		||||
* Tue Aug  7 2007 Matthias Clasen <mclasen@redhat.com> - 2.18.0-3
 | 
			
		||||
- Update license field
 | 
			
		||||
 | 
			
		||||
* Wed Aug  1 2007 Matthias Clasen <mclasen@redhat.com> - 2.18.0-2
 | 
			
		||||
- Don't let scriptlets fail (#243185)
 | 
			
		||||
 | 
			
		||||
* Fri Jul 27 2007 Matthias Clasen <mclasen@redhat.com> - 2.18.0-1
 | 
			
		||||
- Update to 2.18.0
 | 
			
		||||
 | 
			
		||||
* Sat Nov  4 2006 Matthias Clasen <mclasen@redhat.com> - 2.16.1-1
 | 
			
		||||
- Update to 2.16.1
 | 
			
		||||
 | 
			
		||||
* Tue Sep  5 2006 Matthias Clasen <mclasen@redhat.com> - 2.16.0-2.fc6
 | 
			
		||||
- Fix multilib issues
 | 
			
		||||
 | 
			
		||||
* Thu Aug 31 2006 Matthias Clasen <mclasen@redhat.com> - 2.16.0-1.fc6
 | 
			
		||||
- Update to 2.16.0
 | 
			
		||||
- Require pkgconfig in the -devel package
 | 
			
		||||
 | 
			
		||||
* Thu Aug  3 2006 Matthias Clasen <mclasen@redhat.com> - 2.15.90-1.fc6
 | 
			
		||||
- Update to 2.15.90
 | 
			
		||||
 | 
			
		||||
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.15.0-3.1
 | 
			
		||||
- rebuild
 | 
			
		||||
 | 
			
		||||
* Sun Jun 18 2006 Florian La Roche <laroche@redhat.com>
 | 
			
		||||
- change to separate Requires(post/postun) lines
 | 
			
		||||
 | 
			
		||||
* Mon Jun 12 2006 Bill Nottingham <notting@redhat.com> 2.15.0-2
 | 
			
		||||
- remove libtool, automake14 buildreqs
 | 
			
		||||
 | 
			
		||||
* Wed May 10 2006 Matthias Clasen <mclasen@redhat.com> 2.15.0-1
 | 
			
		||||
- Update to 2.15.0
 | 
			
		||||
- Don't ship static libs
 | 
			
		||||
 | 
			
		||||
* Fri May  5 2006 Matthias Clasen <mclasen@redhat.com> 2.14.3-3
 | 
			
		||||
- Rebuild against new GTK+
 | 
			
		||||
- Require GTK+ 2.9.0
 | 
			
		||||
 | 
			
		||||
* Tue Apr  4 2006 Matthias Clasen <mclasen@redhat.com> 2.14.3-2
 | 
			
		||||
- Update to 2.14.3
 | 
			
		||||
 | 
			
		||||
* Sun Mar 12 2006 Ray Strode <rstrode@redhat.com> 2.14.2-1
 | 
			
		||||
- Update to 2.14.2
 | 
			
		||||
 | 
			
		||||
* Sat Mar 11 2006 Bill Nottingham <notting@redhat.com> 2.14.1-2
 | 
			
		||||
- fix bad libart dep
 | 
			
		||||
 | 
			
		||||
* Tue Feb 28 2006 Matthias Clasen <mclasen@redhat.com> 2.14.1-1
 | 
			
		||||
- Update to 2.14.1
 | 
			
		||||
 | 
			
		||||
* Sat Feb 25 2006 Matthias Clasen <mclasen@redhat.com> 2.14.0-1
 | 
			
		||||
- Update to 2.14.0
 | 
			
		||||
 | 
			
		||||
* Mon Feb 13 2006 Matthias Clasen <mclasen@redhat.com> 2.13.93-1
 | 
			
		||||
- Update to 2.13.93
 | 
			
		||||
 | 
			
		||||
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.13.92-1.1
 | 
			
		||||
- bump again for double-long bug on ppc(64)
 | 
			
		||||
 | 
			
		||||
* Mon Feb  6 2006 Matthias Clasen <mclasen@redhat.com> 2.13.92-1
 | 
			
		||||
- Update to 2.13.92
 | 
			
		||||
 | 
			
		||||
* Fri Jan 13 2006 Matthias Clasen <mclasen@redhat.com> 2.13.5-1
 | 
			
		||||
- Update to 2.13.5
 | 
			
		||||
 | 
			
		||||
* Tue Jan  3 2006 Jesse Keating <jkeating@redhat.com> 2.13.3-4
 | 
			
		||||
- Rebuilt on new gcc
 | 
			
		||||
 | 
			
		||||
* Fri Dec  9 2005 Alexander Larsson <alexl@redhat.com> 2.13.3-3
 | 
			
		||||
- Update dependencies (now cairo only, not libart)
 | 
			
		||||
 | 
			
		||||
* Fri Dec  2 2005 Matthias Clasen <mclasen@redhat.com> - 2.13.3-2
 | 
			
		||||
- Compile with svgz support
 | 
			
		||||
 | 
			
		||||
* Wed Nov 30 2005 Matthias Clasen <mclasen@redhat.com> - 2.13.3-1
 | 
			
		||||
- Update to 2.13.3
 | 
			
		||||
 | 
			
		||||
* Wed Oct 12 2005 Matthias Clasen <mclasen@redhat.com> - 2.12.7-1
 | 
			
		||||
- Newer upstream version
 | 
			
		||||
 | 
			
		||||
* Thu Oct  6 2005 Matthias Clasen <mclasen@redhat.com> - 2.12.5-1
 | 
			
		||||
- New upstream version
 | 
			
		||||
 | 
			
		||||
* Thu Oct  6 2005 Matthias Clasen <mclasen@redhat.com> - 2.12.4-1
 | 
			
		||||
- New upstream version
 | 
			
		||||
 | 
			
		||||
* Thu Sep 29 2005 Matthias Clasen <mclasen@redhat.com> - 2.12.3-1
 | 
			
		||||
- New upstream version
 | 
			
		||||
 | 
			
		||||
* Wed Aug 31 2005 Matthias Clasen <mclasen@redhat.com> - 2.11.1-1
 | 
			
		||||
- New upstream version
 | 
			
		||||
 | 
			
		||||
* Wed Mar  2 2005 Matthias Clasen <mclasen@redhat.com> - 2.9.5-2
 | 
			
		||||
- Rebuild with gcc4
 | 
			
		||||
 | 
			
		||||
* Wed Jan 26 2005 Matthias Clasen <mclasen@redhat.com> - 2.9.5-1
 | 
			
		||||
- update to 2.9.5
 | 
			
		||||
 | 
			
		||||
* Thu Sep 23 2004 Matthias Clasen <mclasen@redhat.com> - 2.8.1-2
 | 
			
		||||
- Must use the same rpm macro for the host triplet as the
 | 
			
		||||
  gtk2 package, otherwise things can fall apart.  (#137676)
 | 
			
		||||
 | 
			
		||||
* Thu Sep 23 2004 Alexander Larsson <alexl@redhat.com> - 2.8.1-1
 | 
			
		||||
- update to 2.8.1
 | 
			
		||||
 | 
			
		||||
* Fri Jul 30 2004 Matthias Clasen <mclasen@redhat.com> - 2.7.2-1
 | 
			
		||||
- Update to 2.7.2
 | 
			
		||||
- Fix up changelog section
 | 
			
		||||
 | 
			
		||||
* Mon Jun 28 2004 Dan Williams <dcbw@redhat.com> - 2.6.4-7
 | 
			
		||||
- Fix usage of "%%{_bindir}/update-gdk-pixbuf-loaders %%{_host}" 
 | 
			
		||||
  to point to right place and architecture
 | 
			
		||||
 | 
			
		||||
* Thu Jun 24 2004 Matthias Clasen <mclasen@redhat.com> 2.6.4-6
 | 
			
		||||
- Properly handle updating of arch-dependent config 
 | 
			
		||||
  files.  (#124483)
 | 
			
		||||
 | 
			
		||||
* Wed Jun 23 2004 Matthias Clasen <mclasen@redhat.com> 2.6.4-5
 | 
			
		||||
- PreReq gtk2 instead of just requiring it  (#90697)
 | 
			
		||||
 | 
			
		||||
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
 | 
			
		||||
- rebuilt
 | 
			
		||||
 | 
			
		||||
* Fri May 21 2004 Matthias Clasen <mclasen@redhat.com> 2.6.4-3
 | 
			
		||||
- rebuild
 | 
			
		||||
 | 
			
		||||
* Mon Apr  5 2004 Warren Togami <wtogami@redhat.com> 2.6.4-2
 | 
			
		||||
- BuildRequires libtool, libgnomeui-devel, there may be more
 | 
			
		||||
- -devel req libcroco-devel
 | 
			
		||||
 | 
			
		||||
* Thu Apr  1 2004 Alex Larsson <alexl@redhat.com> 2.6.4-1
 | 
			
		||||
- update to 2.6.4
 | 
			
		||||
 | 
			
		||||
* Wed Mar 17 2004 Alex Larsson <alexl@redhat.com> 2.6.1-2
 | 
			
		||||
- rebuild to get new gtk bin age
 | 
			
		||||
 | 
			
		||||
* Mon Mar 15 2004 Alex Larsson <alexl@redhat.com> 2.6.1-1
 | 
			
		||||
- update to 2.6.1
 | 
			
		||||
 | 
			
		||||
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
 | 
			
		||||
- rebuilt
 | 
			
		||||
 | 
			
		||||
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
 | 
			
		||||
- rebuilt
 | 
			
		||||
 | 
			
		||||
* Tue Jan 27 2004 Jonathan Blandford <jrb@redhat.com> 2.4.0-3
 | 
			
		||||
- update version
 | 
			
		||||
- Buildrequire libcroco
 | 
			
		||||
 | 
			
		||||
* Fri Oct 24 2003 Alexander Larsson <alexl@redhat.com> 2.4.0-3
 | 
			
		||||
- Fix libcroco in link line. Fixes #107875.
 | 
			
		||||
- Properly require libgsf and libcroco
 | 
			
		||||
 | 
			
		||||
* Tue Oct 21 2003 Florian La Roche <Florian.LaRoche@redhat.de> 2.4.0-2
 | 
			
		||||
- BuildReq libcroco-devel, seems this _can_ get picked up
 | 
			
		||||
 | 
			
		||||
* Mon Sep  8 2003 Jonathan Blandford <jrb@redhat.com> 2.4.0-1
 | 
			
		||||
- bump to 2.4.0
 | 
			
		||||
 | 
			
		||||
* Thu Sep  4 2003 Alexander Larsson <alexl@redhat.com> 2.3.1-3
 | 
			
		||||
- Don't use the epoch, thats implicitly zero and not defined
 | 
			
		||||
 | 
			
		||||
* Thu Sep  4 2003 Alexander Larsson <alexl@redhat.com> 2.3.1-2
 | 
			
		||||
- full version in -devel requires (#102063)
 | 
			
		||||
 | 
			
		||||
* Wed Aug 13 2003 Jonathan Blandford <jrb@redhat.com> 2.3.1-1
 | 
			
		||||
- new version for GNOME 2.4
 | 
			
		||||
 | 
			
		||||
* Fri Aug  8 2003 Alexander Larsson <alexl@redhat.com> 2.2.3-5
 | 
			
		||||
- BuildRequire libgsf-devel
 | 
			
		||||
 | 
			
		||||
* Wed Aug  6 2003 Elliot Lee <sopwith@redhat.com> 2.2.3-4
 | 
			
		||||
- Fix libtool
 | 
			
		||||
 | 
			
		||||
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
 | 
			
		||||
- rebuilt
 | 
			
		||||
 | 
			
		||||
* Tue Apr  8 2003 Matt Wilson <msw@redhat.com> 2.2.3-2
 | 
			
		||||
- use system libtool (#88339)
 | 
			
		||||
 | 
			
		||||
* Wed Feb  5 2003 Alexander Larsson <alexl@redhat.com> 2.2.3-1
 | 
			
		||||
- 2.2.3
 | 
			
		||||
- Moved engine and loaders from devel package
 | 
			
		||||
 | 
			
		||||
* Mon Feb  3 2003 Alexander Larsson <alexl@redhat.com> 2.2.2.1-2
 | 
			
		||||
- Move docs to rpm docdir
 | 
			
		||||
 | 
			
		||||
* Mon Feb  3 2003 Alexander Larsson <alexl@redhat.com> 2.2.2.1-1
 | 
			
		||||
- Update to 2.2.2.1, crash fixes
 | 
			
		||||
 | 
			
		||||
* Fri Jan 31 2003 Alexander Larsson <alexl@redhat.com> 2.2.1-1
 | 
			
		||||
- Update to 2.2.1, fixes crash
 | 
			
		||||
- Removed temporary manpage hack
 | 
			
		||||
 | 
			
		||||
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
 | 
			
		||||
- rebuilt
 | 
			
		||||
 | 
			
		||||
* Tue Jan 21 2003 Alexander Larsson <alexl@redhat.com> 2.2.0-3
 | 
			
		||||
- Manpage were installed in the wrong place
 | 
			
		||||
 | 
			
		||||
* Tue Jan 21 2003 Alexander Larsson <alexl@redhat.com> 2.2.0-2
 | 
			
		||||
- Add manpage
 | 
			
		||||
 | 
			
		||||
* Tue Jan 21 2003 Alexander Larsson <alexl@redhat.com> 2.2.0-1
 | 
			
		||||
- Update to 2.2.0
 | 
			
		||||
 | 
			
		||||
* Fri Jan 17 2003 Alexander Larsson <alexl@redhat.com> 2.1.3-3
 | 
			
		||||
- Require gtk2 2.2.0 for the pixbuf loader (#80857)
 | 
			
		||||
 | 
			
		||||
* Thu Jan 16 2003 Alexander Larsson <alexl@redhat.com> 2.1.3-2
 | 
			
		||||
- own includedir/librsvg-2
 | 
			
		||||
 | 
			
		||||
* Thu Jan  9 2003 Alexander Larsson <alexl@redhat.com> 2.1.3-1
 | 
			
		||||
- update to 2.1.3
 | 
			
		||||
 | 
			
		||||
* Tue Dec 17 2002 Owen Taylor <otaylor@redhat.com>
 | 
			
		||||
- Don't package gdk-pixbuf.loaders, it gets generated 
 | 
			
		||||
  in the %%post
 | 
			
		||||
 | 
			
		||||
* Mon Dec  9 2002 Alexander Larsson <alexl@redhat.com> 2.1.2-1
 | 
			
		||||
- Update to 2.1.2
 | 
			
		||||
 | 
			
		||||
* Sat Jul 27 2002 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- 2.0.1
 | 
			
		||||
 | 
			
		||||
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
 | 
			
		||||
- automated rebuild
 | 
			
		||||
 | 
			
		||||
* Sun May 26 2002 Tim Powers <timp@redhat.com>
 | 
			
		||||
- automated rebuild
 | 
			
		||||
 | 
			
		||||
* Tue May 21 2002 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- rebuild in different environment
 | 
			
		||||
 | 
			
		||||
* Thu May 02 2002 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- rebuild in different environment
 | 
			
		||||
 | 
			
		||||
* Thu Apr 18 2002 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- 1.1.6
 | 
			
		||||
 | 
			
		||||
* Mon Feb 11 2002 Alex Larsson <alexl@redhat.com> 1.1.3-1
 | 
			
		||||
- Update to 1.1.3
 | 
			
		||||
 | 
			
		||||
* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
 | 
			
		||||
- automated rebuild
 | 
			
		||||
 | 
			
		||||
* Wed Jan  2 2002 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- new CVS snap 1.1.0.91
 | 
			
		||||
- remove automake/autoconf calls
 | 
			
		||||
 | 
			
		||||
* Mon Nov 26 2001 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- convert to librsvg2 RPM
 | 
			
		||||
 | 
			
		||||
* Tue Oct 23 2001 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- 1.0.2
 | 
			
		||||
 | 
			
		||||
* Fri Jul 27 2001 Alexander Larsson <alexl@redhat.com>
 | 
			
		||||
- Add a patch that moves the includes to librsvg-1/librsvg
 | 
			
		||||
- in preparation for a later librsvg 2 library.
 | 
			
		||||
 | 
			
		||||
* Tue Jul 24 2001 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- build requires gnome-libs-devel, #49509
 | 
			
		||||
 | 
			
		||||
* Thu Jul 19 2001 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- own /usr/include/librsvg
 | 
			
		||||
 | 
			
		||||
* Wed Jul 18 2001 Akira TAGOH <tagoh@redhat.com> 1.0.0-4
 | 
			
		||||
- fixed the linefeed problem in multibyte environment. (Bug#49310)
 | 
			
		||||
 | 
			
		||||
* Mon Jul 09 2001 Havoc Pennington <hp@redhat.com>
 | 
			
		||||
- put .la file back in package 
 | 
			
		||||
 | 
			
		||||
* Fri Jul  6 2001 Trond Eivind Glomsrød <teg@redhat.com>
 | 
			
		||||
- Put changelog at the end
 | 
			
		||||
- Move .so files to devel subpackage
 | 
			
		||||
- Don't mess with ld.so.conf
 | 
			
		||||
- Don't use %%{prefix}, this isn't a relocatable package
 | 
			
		||||
- Don't define a bad docdir
 | 
			
		||||
- Add BuildRequires
 | 
			
		||||
- Use %%{_tmppath}
 | 
			
		||||
- Don't define name, version etc. on top of the file (why 
 | 
			
		||||
  do so many do that?)
 | 
			
		||||
- s/Copyright/License/
 | 
			
		||||
 | 
			
		||||
* Wed May  9 2001 Jonathan Blandford <jrb@redhat.com>
 | 
			
		||||
- Put into Red Hat Build system
 | 
			
		||||
 | 
			
		||||
* Tue Oct 10 2000 Robin Slomkowski <rslomkow@eazel.com>
 | 
			
		||||
- removed obsoletes from sub packages and added mozilla and 
 | 
			
		||||
  trilobite subpackages
 | 
			
		||||
 | 
			
		||||
* Wed Apr 26 2000 Ramiro Estrugo <ramiro@eazel.com>
 | 
			
		||||
- created this thing
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user