diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6db1f77 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/librsvg-2.42.7.tar.xz diff --git a/.librsvg2.metadata b/.librsvg2.metadata new file mode 100644 index 0000000..e023625 --- /dev/null +++ b/.librsvg2.metadata @@ -0,0 +1 @@ +dd6d47ab7db959ec6dd80739b61bda3b24fc170c SOURCES/librsvg-2.42.7.tar.xz diff --git a/SOURCES/CVE-2019-20446.patch b/SOURCES/CVE-2019-20446.patch new file mode 100644 index 0000000..a1d7500 --- /dev/null +++ b/SOURCES/CVE-2019-20446.patch @@ -0,0 +1,573 @@ +From faec595a1721a2496e9c258917facbb564f85854 Mon Sep 17 00:00:00 2001 +From: 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 `` 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 `` 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 { ++ 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 { + 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; + } + ++ // is an element that is used directly, unlike ++ // , which is used through a fill="url(#...)" ++ // reference. However, will always reference another ++ // element, potentially itself or an ancestor of itself (or ++ // another which references the first one, etc.). So, ++ // we acquire the 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 '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 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +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 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ +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 @@ ++ ++ ++ ++ ++ ++ ++ +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 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +\ 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*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)r0{91`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>f$?1`2;_+E#M0g +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 + diff --git a/SPECS/librsvg2.spec b/SPECS/librsvg2.spec new file mode 100644 index 0000000..12283fd --- /dev/null +++ b/SPECS/librsvg2.spec @@ -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 - 2.42.7-4 +- Resolves: rhbz#1804519 Add patch for CVE-2019-20446 + +* Thu Dec 06 2018 Josh Stone - 2.42.7-2 +- Rebuild with the current rust-toolset + +* Tue Sep 04 2018 Kalev Lember - 2.42.7-1 +- Update to 2.42.7 + +* Wed Aug 08 2018 Kalev Lember - 2.42.6-1 +- Update to 2.42.6 +- Use bundled rust deps + +* Mon Mar 05 2018 Kalev Lember - 2.42.3-1 +- Update to 2.42.3 + +* Wed Feb 07 2018 Fedora Release Engineering - 2.42.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Feb 02 2018 Kalev Lember - 2.42.2-1 +- Update to 2.42.2 + +* Wed Jan 31 2018 Igor Gnatenko - 2.42.1-2 +- Switch to %%ldconfig_scriptlets + +* Wed Jan 24 2018 Igor Gnatenko - 2.42.1-1 +- Update to 2.42.1 + +* Sat Dec 16 2017 Kalev Lember - 2.40.20-1 +- Update to 2.40.20 + +* Mon Oct 09 2017 Kalev Lember - 2.40.19-1 +- Update to 2.40.19 + +* Thu Aug 03 2017 Fedora Release Engineering - 2.40.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2.40.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jul 20 2017 Kalev Lember - 2.40.18-1 +- Update to 2.40.18 + +* Tue Apr 11 2017 Kalev Lember - 2.40.17-1 +- Update to 2.40.17 +- Remove lib64 rpaths + +* Fri Feb 10 2017 Fedora Release Engineering - 2.40.16-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Sep 22 2016 Kalev Lember - 2.40.16-2 +- BR vala instead of obsolete vala-tools subpackage + +* Thu Jun 09 2016 Kalev Lember - 2.40.16-1 +- Update to 2.40.16 + +* Sat Apr 02 2016 David King - 2.40.15-1 +- Update to 2.40.15 + +* Thu Feb 04 2016 Fedora Release Engineering - 2.40.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 08 2016 David King - 2.40.13-1 +- Update to 2.40.13 +- Fix bogus date in changelog + +* Wed Dec 02 2015 David King - 2.40.12-1 +- Update to 2.40.12 + +* Thu Oct 08 2015 Kalev Lember - 2.40.11-1 +- Update to 2.40.11 +- Drop ancient librsvg3 obsoletes + +* Sat Aug 08 2015 Kalev Lember - 2.40.10-1 +- Update to 2.40.10 + +* Wed Aug 5 2015 Matthias Clasen - 2.40.9-3 +- Rely on gdk-pixbuf2 file triggers + +* Wed Jun 17 2015 Fedora Release Engineering - 2.40.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Mar 26 2015 Kalev Lember - 2.40.9-1 +- Update to 2.40.9 + +* Fri Feb 27 2015 David King - 2.40.8-1 +- Update to 2.40.8 + +* Mon Feb 16 2015 David King - 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 - 2.40.6-1 +- Update to 2.40.6 + +* Mon Oct 13 2014 Kalev Lember - 2.40.5-1 +- Update to 2.40.5 + +* Sun Sep 14 2014 Kalev Lember - 2.40.4-1 +- Update to 2.40.4 +- Tighten subpackage deps with the _isa macro + +* Mon Aug 18 2014 Kalev Lember - 2.40.3-1 +- Update to 2.40.3 + +* Sun Aug 17 2014 Fedora Release Engineering - 2.40.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Kalev Lember - 2.40.2-3 +- Rebuilt for gobject-introspection 1.41.4 + +* Sat Jun 07 2014 Fedora Release Engineering - 2.40.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Mar 18 2014 Richard Hughes - 2.40.2-1 +- Update to 2.40.2 + +* Mon Nov 25 2013 Richard Hughes - 2.40.1-1 +- Update to 2.40.1 + +* Tue Oct 29 2013 Richard Hughes - 2.40.0-1 +- Update to 2.40.0 + +* Thu Aug 22 2013 Kalev Lember - 2.39.0-1 +- Update to 2.39.0 + +* Sat Aug 03 2013 Fedora Release Engineering - 2.37.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat May 11 2013 Kalev Lember - 2.37.0-3 +- Split rsvg-view-3 and rsvg-convert to a -tools subpackage (#915403) + +* Thu Feb 14 2013 Fedora Release Engineering - 2.37.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 15 2013 Matthias Clasen - 2.37.0-1 +- Update to 2.37.0 + +* Tue Oct 16 2012 Kalev Lember - 2.36.4-1 +- Update to 2.36.4 + +* Sun Sep 23 2012 Kalev Lember - 2.36.3-1 +- Update to 2.36.3 +- Package the librsvg Vala bindings + +* Thu Jul 19 2012 Fedora Release Engineering - 2.36.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Apr 17 2012 Kalev Lember - 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 - 2.36.0-1 +- Update to 2.36.0 + +* Mon Feb 6 2012 Matthias Clasen - 2.35.2-1 +- Update to 2.35.2 + +* Fri Jan 13 2012 Fedora Release Engineering - 2.35.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 20 2011 Matthias Clasen - 2.35.1-1 +- Update to 2.35.1 + +* Sat Dec 10 2011 Hans de Goede - 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 - 2.35.0-2 +- Build gobject-introspection bindings + +* Tue Nov 22 2011 Matthias Clasen - 2.35.0-1 +- Update to 2.35.0 + +* Mon Nov 7 2011 Matthias Clasen - 2.34.1-2 +- Rebuild against new libpng + +* Tue Sep 6 2011 Matthias Clasen - 2.34.1-1 +- Update to 2.34.1 + +* Sun Apr 3 2011 Christopher Aillon - 2.34.0-1 +- Update to 2.34.0 + +* Fri Feb 18 2011 Matthias Clasen - 2.32.1-3 +- Fix a crash (#603183) + +* Tue Feb 08 2011 Fedora Release Engineering - 2.32.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Dec 3 2010 Matthias Clasen - 2.32.1-1 +- Update to 2.32.1 + +* Mon Oct 18 2010 Parag Nemade - 2.32.0-2 +- Merge-review cleanup (#226040) + +* Wed Sep 29 2010 Matthias Clasen 2.32.0-1 +- Update to 2.32.0 + +* Mon Jul 19 2010 Bastien Nocera 2.31.0-2 +- Fix rawhide upgrade path with librsvg3 + +* Fri Jul 2 2010 Matthias Clasen - 2.31.0-1 +- Update to 2.31.0 + +* Fri Jul 02 2010 Adam Tkac - 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 - 2.31.0-0.2.20100628git +- Fix the .pc file to require gdk-pixbuf-2.0 + +* Mon Jun 28 2010 Matthias Clasen - 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 2.26.3-3 +- Add missing scriptlets for librsvg3 +- Fix requires for librsvg3-devel package + +* Fri Jun 11 2010 Bastien Nocera 2.26.3-2 +- Add GTK3 port of the libraries + +* Sat May 1 2010 Matthias Clasen - 2.26.3-1 +- Update to 2.26.3 + +* Tue Mar 30 2010 Matthias Clasen - 2.26.2-1 +- Update to 2.26.2 + +* Mon Mar 29 2010 Matthias Clasen - 2.26.1-1 +- Update to 2.26.1 + +* Sun Feb 14 2010 Matthias Clasen - 2.26.0-4 +- Add missing libs + +* Mon Aug 10 2009 Ville Skyttä - 2.26.0-3 +- Convert specfile to UTF-8. + +* Sat Jul 25 2009 Fedora Release Engineering - 2.26.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Mar 16 2009 Matthias Clasen - 2.26.0-1 +- Update to 2.26.0 + +* Wed Feb 25 2009 Fedora Release Engineering - 2.22.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Sep 22 2008 Matthias Clasen - 2.22.3-1 +- Update to 2.22.3 + +* Thu Sep 18 2008 Matthias Clasen - 2.22.2-2 +- Plug a memory leak + +* Tue Mar 4 2008 Matthias Clasen - 2.22.2-1 +- Update to 2.22.2 + +* Sun Feb 24 2008 Matthias Clasen - 2.22.1-1 +- Update to 2.22.1 + +* Thu Feb 21 2008 Matthias Clasen - 2.22.0-1 +- Update to 2.22.0 + +* Mon Feb 18 2008 Fedora Release Engineering - 2.20.0-2 +- Autorebuild for GCC 4.3 + +* Sun Jan 20 2008 Matthias Clasen - 2.20.0-1 +- Update to 2.20.0 + +* Tue Sep 11 2007 Matthias Clasen - 2.18.2-2 +- Plug memory leaks + +* Mon Sep 3 2007 Matthias Clasen - 2.18.2-1 +- Update to 2.18.2 + +* Mon Sep 3 2007 Matthias Clasen - 2.18.1-1 +- Update to 2.18.1 + +* Thu Aug 23 2007 Adam Jackson - 2.18.0-4 +- Rebuild for build ID + +* Tue Aug 7 2007 Matthias Clasen - 2.18.0-3 +- Update license field + +* Wed Aug 1 2007 Matthias Clasen - 2.18.0-2 +- Don't let scriptlets fail (#243185) + +* Fri Jul 27 2007 Matthias Clasen - 2.18.0-1 +- Update to 2.18.0 + +* Sat Nov 4 2006 Matthias Clasen - 2.16.1-1 +- Update to 2.16.1 + +* Tue Sep 5 2006 Matthias Clasen - 2.16.0-2.fc6 +- Fix multilib issues + +* Thu Aug 31 2006 Matthias Clasen - 2.16.0-1.fc6 +- Update to 2.16.0 +- Require pkgconfig in the -devel package + +* Thu Aug 3 2006 Matthias Clasen - 2.15.90-1.fc6 +- Update to 2.15.90 + +* Wed Jul 12 2006 Jesse Keating - 2.15.0-3.1 +- rebuild + +* Sun Jun 18 2006 Florian La Roche +- change to separate Requires(post/postun) lines + +* Mon Jun 12 2006 Bill Nottingham 2.15.0-2 +- remove libtool, automake14 buildreqs + +* Wed May 10 2006 Matthias Clasen 2.15.0-1 +- Update to 2.15.0 +- Don't ship static libs + +* Fri May 5 2006 Matthias Clasen 2.14.3-3 +- Rebuild against new GTK+ +- Require GTK+ 2.9.0 + +* Tue Apr 4 2006 Matthias Clasen 2.14.3-2 +- Update to 2.14.3 + +* Sun Mar 12 2006 Ray Strode 2.14.2-1 +- Update to 2.14.2 + +* Sat Mar 11 2006 Bill Nottingham 2.14.1-2 +- fix bad libart dep + +* Tue Feb 28 2006 Matthias Clasen 2.14.1-1 +- Update to 2.14.1 + +* Sat Feb 25 2006 Matthias Clasen 2.14.0-1 +- Update to 2.14.0 + +* Mon Feb 13 2006 Matthias Clasen 2.13.93-1 +- Update to 2.13.93 + +* Fri Feb 10 2006 Jesse Keating - 2.13.92-1.1 +- bump again for double-long bug on ppc(64) + +* Mon Feb 6 2006 Matthias Clasen 2.13.92-1 +- Update to 2.13.92 + +* Fri Jan 13 2006 Matthias Clasen 2.13.5-1 +- Update to 2.13.5 + +* Tue Jan 3 2006 Jesse Keating 2.13.3-4 +- Rebuilt on new gcc + +* Fri Dec 9 2005 Alexander Larsson 2.13.3-3 +- Update dependencies (now cairo only, not libart) + +* Fri Dec 2 2005 Matthias Clasen - 2.13.3-2 +- Compile with svgz support + +* Wed Nov 30 2005 Matthias Clasen - 2.13.3-1 +- Update to 2.13.3 + +* Wed Oct 12 2005 Matthias Clasen - 2.12.7-1 +- Newer upstream version + +* Thu Oct 6 2005 Matthias Clasen - 2.12.5-1 +- New upstream version + +* Thu Oct 6 2005 Matthias Clasen - 2.12.4-1 +- New upstream version + +* Thu Sep 29 2005 Matthias Clasen - 2.12.3-1 +- New upstream version + +* Wed Aug 31 2005 Matthias Clasen - 2.11.1-1 +- New upstream version + +* Wed Mar 2 2005 Matthias Clasen - 2.9.5-2 +- Rebuild with gcc4 + +* Wed Jan 26 2005 Matthias Clasen - 2.9.5-1 +- update to 2.9.5 + +* Thu Sep 23 2004 Matthias Clasen - 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 - 2.8.1-1 +- update to 2.8.1 + +* Fri Jul 30 2004 Matthias Clasen - 2.7.2-1 +- Update to 2.7.2 +- Fix up changelog section + +* Mon Jun 28 2004 Dan Williams - 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 2.6.4-6 +- Properly handle updating of arch-dependent config + files. (#124483) + +* Wed Jun 23 2004 Matthias Clasen 2.6.4-5 +- PreReq gtk2 instead of just requiring it (#90697) + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Fri May 21 2004 Matthias Clasen 2.6.4-3 +- rebuild + +* Mon Apr 5 2004 Warren Togami 2.6.4-2 +- BuildRequires libtool, libgnomeui-devel, there may be more +- -devel req libcroco-devel + +* Thu Apr 1 2004 Alex Larsson 2.6.4-1 +- update to 2.6.4 + +* Wed Mar 17 2004 Alex Larsson 2.6.1-2 +- rebuild to get new gtk bin age + +* Mon Mar 15 2004 Alex Larsson 2.6.1-1 +- update to 2.6.1 + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Jan 27 2004 Jonathan Blandford 2.4.0-3 +- update version +- Buildrequire libcroco + +* Fri Oct 24 2003 Alexander Larsson 2.4.0-3 +- Fix libcroco in link line. Fixes #107875. +- Properly require libgsf and libcroco + +* Tue Oct 21 2003 Florian La Roche 2.4.0-2 +- BuildReq libcroco-devel, seems this _can_ get picked up + +* Mon Sep 8 2003 Jonathan Blandford 2.4.0-1 +- bump to 2.4.0 + +* Thu Sep 4 2003 Alexander Larsson 2.3.1-3 +- Don't use the epoch, thats implicitly zero and not defined + +* Thu Sep 4 2003 Alexander Larsson 2.3.1-2 +- full version in -devel requires (#102063) + +* Wed Aug 13 2003 Jonathan Blandford 2.3.1-1 +- new version for GNOME 2.4 + +* Fri Aug 8 2003 Alexander Larsson 2.2.3-5 +- BuildRequire libgsf-devel + +* Wed Aug 6 2003 Elliot Lee 2.2.3-4 +- Fix libtool + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Tue Apr 8 2003 Matt Wilson 2.2.3-2 +- use system libtool (#88339) + +* Wed Feb 5 2003 Alexander Larsson 2.2.3-1 +- 2.2.3 +- Moved engine and loaders from devel package + +* Mon Feb 3 2003 Alexander Larsson 2.2.2.1-2 +- Move docs to rpm docdir + +* Mon Feb 3 2003 Alexander Larsson 2.2.2.1-1 +- Update to 2.2.2.1, crash fixes + +* Fri Jan 31 2003 Alexander Larsson 2.2.1-1 +- Update to 2.2.1, fixes crash +- Removed temporary manpage hack + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Tue Jan 21 2003 Alexander Larsson 2.2.0-3 +- Manpage were installed in the wrong place + +* Tue Jan 21 2003 Alexander Larsson 2.2.0-2 +- Add manpage + +* Tue Jan 21 2003 Alexander Larsson 2.2.0-1 +- Update to 2.2.0 + +* Fri Jan 17 2003 Alexander Larsson 2.1.3-3 +- Require gtk2 2.2.0 for the pixbuf loader (#80857) + +* Thu Jan 16 2003 Alexander Larsson 2.1.3-2 +- own includedir/librsvg-2 + +* Thu Jan 9 2003 Alexander Larsson 2.1.3-1 +- update to 2.1.3 + +* Tue Dec 17 2002 Owen Taylor +- Don't package gdk-pixbuf.loaders, it gets generated + in the %%post + +* Mon Dec 9 2002 Alexander Larsson 2.1.2-1 +- Update to 2.1.2 + +* Sat Jul 27 2002 Havoc Pennington +- 2.0.1 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Sun May 26 2002 Tim Powers +- automated rebuild + +* Tue May 21 2002 Havoc Pennington +- rebuild in different environment + +* Thu May 02 2002 Havoc Pennington +- rebuild in different environment + +* Thu Apr 18 2002 Havoc Pennington +- 1.1.6 + +* Mon Feb 11 2002 Alex Larsson 1.1.3-1 +- Update to 1.1.3 + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Wed Jan 2 2002 Havoc Pennington +- new CVS snap 1.1.0.91 +- remove automake/autoconf calls + +* Mon Nov 26 2001 Havoc Pennington +- convert to librsvg2 RPM + +* Tue Oct 23 2001 Havoc Pennington +- 1.0.2 + +* Fri Jul 27 2001 Alexander Larsson +- 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 +- build requires gnome-libs-devel, #49509 + +* Thu Jul 19 2001 Havoc Pennington +- own /usr/include/librsvg + +* Wed Jul 18 2001 Akira TAGOH 1.0.0-4 +- fixed the linefeed problem in multibyte environment. (Bug#49310) + +* Mon Jul 09 2001 Havoc Pennington +- put .la file back in package + +* Fri Jul 6 2001 Trond Eivind Glomsrød +- 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 +- Put into Red Hat Build system + +* Tue Oct 10 2000 Robin Slomkowski +- removed obsoletes from sub packages and added mozilla and + trilobite subpackages + +* Wed Apr 26 2000 Ramiro Estrugo +- created this thing +