Control: tag -1 + patch On Wed, Sep 18, 2019 at 12:01:04PM +0200, Julien Cristau wrote: > Control: severity 940605 serious > Control: retitle 940605 jbig2dec: ABI breakage without SONAME and package > name change > > On Wed, Sep 18, 2019 at 08:22:49AM +0200, Jonas Smedegaard wrote: > > Package: release.debian.org > > Severity: normal > > User: release.debian....@packages.debian.org > > Usertags: binnmu > > > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA512 > > > > Hi release team, > > > > Due to libjbig2dec0 upstream API being unstable, and a new release of > > libjbig2dec0 introduced a new symbol, mupdf needs a bunNMU to catch up. > > libjbig2dec0 tracks symbols changes, so a simple rebuild should properly > > tighten dependency to only the new API. > > > > Please rebuild mupdf against libjbig2dec0 0.16+20190905-2 to bump its > > dependency on libjbig2dec0. > > > NAK. jbig2dec's symbols file diff includes this gem: > > - jbig2_ctx_new@Base 0.11 > > This is broken. It means jbig2_ctx_new, previously part of the ABI > surface, is no longer exported. That needs to be fixed, either by > bringing it back or by bumping SONAME and library package name. > The former seems easier.
Cheers, Julien
>From 66749851a073946c4a4c45f087eafe3456947c62 Mon Sep 17 00:00:00 2001 From: Julien Cristau <jcris...@debian.org> Date: Thu, 19 Sep 2019 12:03:07 +0200 Subject: [PATCH] Restore ABI compatibility (closes: #940605) --- debian/changelog | 7 +++++++ debian/libjbig2dec0.symbols | 1 + debian/patches/1002_abi_compat.patch | 18 ++++++++++++++++++ debian/patches/series | 1 + 4 files changed, 27 insertions(+) create mode 100644 debian/patches/1002_abi_compat.patch diff --git a/debian/changelog b/debian/changelog index f65ce86..2d6583d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +jbig2dec (0.16+20190905-2.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Restore ABI compatibility (closes: #940605) + + -- Julien Cristau <jcris...@debian.org> Thu, 19 Sep 2019 11:56:17 +0200 + jbig2dec (0.16+20190905-2) unstable; urgency=medium * Fix have libjbig2dec0-dev depend on pkg-config diff --git a/debian/libjbig2dec0.symbols b/debian/libjbig2dec0.symbols index 4047c0e..c89abd1 100644 --- a/debian/libjbig2dec0.symbols +++ b/debian/libjbig2dec0.symbols @@ -11,6 +11,7 @@ libjbig2dec.so.0 libjbig2dec0 #MINVER# (optional=privatelib)jbig2_build_huffman_table@Base 0.11 jbig2_complete_page@Base 0.11 jbig2_ctx_free@Base 0.15+20190209 + jbig2_ctx_new@Base 0.11 jbig2_ctx_new_imp@Base 0.16+20190905 jbig2_data_in@Base 0.11 (optional=privatelib)jbig2_decode_generic_mmr@Base 0.11 diff --git a/debian/patches/1002_abi_compat.patch b/debian/patches/1002_abi_compat.patch new file mode 100644 index 0000000..b3bfb28 --- /dev/null +++ b/debian/patches/1002_abi_compat.patch @@ -0,0 +1,18 @@ +diff --git a/jbig2.c b/jbig2.c +index 97018ea..17ffd72 100644 +--- a/jbig2.c ++++ b/jbig2.c +@@ -99,6 +99,13 @@ jbig2_error(Jbig2Ctx *ctx, Jbig2Severity severity, int32_t segment_number, const + return -1; + } + ++#undef jbig2_ctx_new ++Jbig2Ctx * ++jbig2_ctx_new(Jbig2Allocator *allocator, Jbig2Options options, Jbig2GlobalCtx *global_ctx, Jbig2ErrorCallback error_callback, void *error_callback_data) ++{ ++ return jbig2_ctx_new_imp((allocator), (options), (global_ctx), (error_callback), (error_callback_data), JBIG2_VERSION_MAJOR, JBIG2_VERSION_MINOR); ++} ++ + Jbig2Ctx * + jbig2_ctx_new_imp(Jbig2Allocator *allocator, Jbig2Options options, Jbig2GlobalCtx *global_ctx, Jbig2ErrorCallback error_callback, void *error_callback_data, int jbig2_version_major, int jbig2_version_minor) + { diff --git a/debian/patches/series b/debian/patches/series index 38452ba..1fdac8a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ 1001_ignore_python_test.patch +1002_abi_compat.patch 1004_extract_infile_from_autogen-sh.patch 2001_disable_memento.patch -- 2.23.0