diff -Nru cairo-1.15.10/debian/changelog cairo-1.15.10/debian/changelog --- cairo-1.15.10/debian/changelog 2018-02-02 19:39:52.000000000 +0000 +++ cairo-1.15.10/debian/changelog 2018-02-25 13:01:14.000000000 +0000 @@ -1,3 +1,13 @@ +cairo (1.15.10-2) unstable; urgency=medium + + * Cherry-pick 0005-Revert-fix-warning-variable-X.patch: + Fix libcairo-perl autopkgtest regression. Thanks Niko Tyni + for identifying the fix. (Closes: #889471) + * Mark libcairo2-dev as Multi-Arch: same (Closes: #689122) and + libcairo2-doc as Multi-Arch: foreign (Closes: #884167) + + -- Jeremy Bicha Sun, 25 Feb 2018 08:01:14 -0500 + cairo (1.15.10-1) unstable; urgency=medium * New upstream snapshot release diff -Nru cairo-1.15.10/debian/control cairo-1.15.10/debian/control --- cairo-1.15.10/debian/control 2018-02-02 19:39:52.000000000 +0000 +++ cairo-1.15.10/debian/control 2018-02-25 13:01:14.000000000 +0000 @@ -60,6 +60,7 @@ Package: libcairo2-dev Section: libdevel Architecture: any +Multi-Arch: same Depends: libcairo2 (= ${binary:Version}), libcairo-gobject2 (= ${binary:Version}), libcairo-script-interpreter2 (= ${binary:Version}), @@ -89,6 +90,7 @@ Package: libcairo2-doc Section: doc Architecture: all +Multi-Arch: foreign Depends: ${misc:Depends} Recommends: lynx | www-browser Description: Documentation for the Cairo Multi-platform 2D graphics library diff -Nru cairo-1.15.10/debian/control.in cairo-1.15.10/debian/control.in --- cairo-1.15.10/debian/control.in 2018-02-02 19:39:52.000000000 +0000 +++ cairo-1.15.10/debian/control.in 2018-02-25 13:01:14.000000000 +0000 @@ -56,6 +56,7 @@ Package: libcairo2-dev Section: libdevel Architecture: any +Multi-Arch: same Depends: libcairo2 (= ${binary:Version}), libcairo-gobject2 (= ${binary:Version}), libcairo-script-interpreter2 (= ${binary:Version}), @@ -85,6 +86,7 @@ Package: libcairo2-doc Section: doc Architecture: all +Multi-Arch: foreign Depends: ${misc:Depends} Recommends: lynx | www-browser Description: Documentation for the Cairo Multi-platform 2D graphics library diff -Nru cairo-1.15.10/debian/patches/0005-Revert-fix-warning-variable-X.patch cairo-1.15.10/debian/patches/0005-Revert-fix-warning-variable-X.patch --- cairo-1.15.10/debian/patches/0005-Revert-fix-warning-variable-X.patch 1970-01-01 00:00:00.000000000 +0000 +++ cairo-1.15.10/debian/patches/0005-Revert-fix-warning-variable-X.patch 2018-02-25 13:01:14.000000000 +0000 @@ -0,0 +1,92 @@ +From: Uli Schlachter +Date: Sat, 23 Dec 2017 13:04:59 +0100 +Subject: Revert "fix warning: variable X might be clobbered by 'longjmp'" + +This reverts commit b092b63119cbfe3cb4bc786eee81630998996acf which +introduced a wrapper function around setjmp(). To quote from man setjmp: + + If the function which called setjmp() returns before longjmp() is + called, the behavior is undefined. Some kind of subtle or unsubtle + chaos is sure to result. + +Since after the above commit setjmp() is called from the wrapper +function, the result might or might not work, depending on compiler +settings. If the setjmp() wrapper is not inlined, then the state of the +stack after longjmp() will likely be garbage. +--- + src/cairo-bentley-ottmann-rectangular.c | 8 +------- + src/cairo-png.c | 17 ++++++----------- + 2 files changed, 7 insertions(+), 18 deletions(-) + +diff --git a/src/cairo-bentley-ottmann-rectangular.c b/src/cairo-bentley-ottmann-rectangular.c +index 15688c7..29f902c 100644 +--- a/src/cairo-bentley-ottmann-rectangular.c ++++ b/src/cairo-bentley-ottmann-rectangular.c +@@ -593,12 +593,6 @@ sweep_line_insert (sweep_line_t *sweep, rectangle_t *rectangle) + pqueue_push (sweep, rectangle); + } + +-static int +-sweep_line_setjmp (sweep_line_t *sweep_line) +-{ +- return setjmp (sweep_line->unwind); +-} +- + static cairo_status_t + _cairo_bentley_ottmann_tessellate_rectangular (rectangle_t **rectangles, + int num_rectangles, +@@ -615,7 +609,7 @@ _cairo_bentley_ottmann_tessellate_rectangular (rectangle_t **rectangles, + rectangles, num_rectangles, + fill_rule, + do_traps, container); +- if ((status = sweep_line_setjmp (&sweep_line))) ++ if ((status = setjmp (sweep_line.unwind))) + return status; + + rectangle = rectangle_pop_start (&sweep_line); +diff --git a/src/cairo-png.c b/src/cairo-png.c +index fe23fcf..596b506 100644 +--- a/src/cairo-png.c ++++ b/src/cairo-png.c +@@ -158,14 +158,6 @@ png_simple_warning_callback (png_structp png, + */ + } + +-static int +-png_setjmp (png_struct *png) +-{ +-#ifdef PNG_SETJMP_SUPPORTED +- return setjmp (png_jmpbuf (png)); +-#endif +- return 0; +-} + + /* Starting with libpng-1.2.30, we must explicitly specify an output_flush_fn. + * Otherwise, we will segfault if we are writing to a stream. */ +@@ -237,8 +229,10 @@ write_png (cairo_surface_t *surface, + goto BAIL4; + } + +- if (png_setjmp (png)) ++#ifdef PNG_SETJMP_SUPPORTED ++ if (setjmp (png_jmpbuf (png))) + goto BAIL4; ++#endif + + png_set_write_fn (png, closure, write_func, png_simple_output_flush_fn); + +@@ -584,11 +578,12 @@ read_png (struct png_read_closure_t *png_closure) + png_set_read_fn (png, png_closure, stream_read_func); + + status = CAIRO_STATUS_SUCCESS; +- +- if (png_setjmp (png)) { ++#ifdef PNG_SETJMP_SUPPORTED ++ if (setjmp (png_jmpbuf (png))) { + surface = _cairo_surface_create_in_error (status); + goto BAIL; + } ++#endif + + png_read_info (png, info); + diff -Nru cairo-1.15.10/debian/patches/series cairo-1.15.10/debian/patches/series --- cairo-1.15.10/debian/patches/series 2018-02-02 19:39:52.000000000 +0000 +++ cairo-1.15.10/debian/patches/series 2018-02-25 13:01:14.000000000 +0000 @@ -2,3 +2,4 @@ 02_am-maintainer-mode.patch 03_export-symbols.patch 06_hurd-map-noreserve.patch +0005-Revert-fix-warning-variable-X.patch diff -Nru cairo-1.15.10/debian/rules cairo-1.15.10/debian/rules --- cairo-1.15.10/debian/rules 2018-02-02 19:39:52.000000000 +0000 +++ cairo-1.15.10/debian/rules 2018-02-25 13:01:14.000000000 +0000 @@ -61,6 +61,9 @@ override_dh_auto_clean: rm -rf debian/install/ debian/build/ +override_dh_auto_test: + -dh_auto_test --builddirectory=debian/build/deb + override_dh_strip: dh_strip -plibcairo2-udeb -pcairo-perf-utils dh_strip --remaining-packages --dbgsym-migration="libcairo2-dbg (<< 1.14.8-1~)"