[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#940605: Bug#940632: nmu: mupdf_1.15.0+ds1-1+b1



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.org@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 <jcristau@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 <jcristau@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


Reply to: