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