On Wed, 13 Mar 2019 at 08:55:29 +0000, Simon McVittie wrote:
> As discussed with jmw at the Cambridge BSP, libdmtx0a has broken ABI
> without changing its SONAME (#908815).
...
> Only a few packages are affected:
> 
> dmtx-utils: dmtx-utils
> openrpt: libopenrpt1v5
>          openrpt
> postbooks: postbooks
> prison-kf5: libkf5prison5
> visp: libvisp-detection3.1

I've uploaded libdmtx/0.7.5-2.2; please unblock it (debdiff attached)
and schedule binNMUs as appropriate. I think this might be the right
incantation:

unblock libdmtx/0.7.5-2.2

and

nmu dmtx-utils_0.7.6-1.1 openrpt_3.3.14-2 prison-kf5_5.54.0-1 visp_3.1.0-2 . 
ANY . -m 'Rebuild against libdmtx0b'
dw dmtx-utils_0.7.6-1.1 openrpt_3.3.14-2 prison-kf5_5.54.0-1 visp_3.1.0-2 . ANY 
. -m 'libdmtx-dev (>= 0.7.5-2.2)'
nmu postbooks_4.11.3-2 . ANY . -m 'Rebuild against libdmtx0b'
dw postbooks_4.11.3-2 . ANY . -m 'libopenrpt-dev (>= 3.3.14-2+b1)'

libdmtx does still have a RC bug regarding an inconsistent d/copyright,
opened after its excursion through the NEW queue (#926646); but only the
maintainer can fix that one, and IMO a buster-ignore might be appropriate.

Thanks,
    smcv
diffstat for libdmtx-0.7.5 libdmtx-0.7.5

 changelog               |   19 +++++++++++
 control                 |    7 ++--
 libdmtx-dev.maintscript |    2 -
 libdmtx0a.docs          |    6 ---
 libdmtx0a.install       |    1 
 libdmtx0a.symbols       |   81 ------------------------------------------------
 libdmtx0b.docs          |    6 +++
 libdmtx0b.install       |    1 
 libdmtx0b.symbols       |   81 ++++++++++++++++++++++++++++++++++++++++++++++++
 rules                   |    2 -
 10 files changed, 113 insertions(+), 93 deletions(-)

diff -Nru libdmtx-0.7.5/debian/changelog libdmtx-0.7.5/debian/changelog
--- libdmtx-0.7.5/debian/changelog      2018-11-21 07:29:23.000000000 +0000
+++ libdmtx-0.7.5/debian/changelog      2019-04-12 20:26:32.000000000 +0100
@@ -1,3 +1,22 @@
+libdmtx (0.7.5-2.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Upload libdmtx0b to unstable
+
+ -- Simon McVittie <s...@debian.org>  Fri, 12 Apr 2019 20:26:32 +0100
+
+libdmtx (0.7.5-2.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename shared library package to libdmtx0b, due to another ABI
+    break without a corresponding SONAME update (in 0.7.5-1).
+    Add Conflicts/Replaces on libdmtx0a, and add missing Replaces on
+    libdmtx0 while I'm there. (Closes: #908815)
+  * Release to experimental for now, to wait for NEW processing and stage
+    the transition.
+
+ -- Simon McVittie <s...@debian.org>  Sun, 10 Mar 2019 17:13:33 +0000
+
 libdmtx (0.7.5-2) unstable; urgency=low
 
   * Proper fix for simple_test compiler warnings.
diff -Nru libdmtx-0.7.5/debian/control libdmtx-0.7.5/debian/control
--- libdmtx-0.7.5/debian/control        2018-11-21 07:29:23.000000000 +0000
+++ libdmtx-0.7.5/debian/control        2019-04-12 20:26:32.000000000 +0100
@@ -6,12 +6,13 @@
 Standards-Version: 4.2.1
 Homepage: http://libdmtx.sourceforge.net
 
-Package: libdmtx0a
+Package: libdmtx0b
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: libdmtx0
+Conflicts: libdmtx0, libdmtx0a
+Replaces: libdmtx0, libdmtx0a
 Description: Data Matrix barcodes (runtime library)
  Libdmtx is a library for reading and writing Data Matrix 2D barcodes,
  two-dimensional symbols that hold a dense pattern of data with built-in error
@@ -24,7 +25,7 @@
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
-Depends: ${shlibs:Depends}, ${misc:Depends}, libdmtx0a (= ${binary:Version})
+Depends: ${shlibs:Depends}, ${misc:Depends}, libdmtx0b (= ${binary:Version})
 Description: Data Matrix barcodes (development files and static libraries)
  Libdmtx is a library for reading and writing Data Matrix 2D barcodes,
  two-dimensional symbols that hold a dense pattern of data with built-in error
diff -Nru libdmtx-0.7.5/debian/libdmtx0a.docs 
libdmtx-0.7.5/debian/libdmtx0a.docs
--- libdmtx-0.7.5/debian/libdmtx0a.docs 2018-08-08 21:03:35.000000000 +0100
+++ libdmtx-0.7.5/debian/libdmtx0a.docs 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-AUTHORS
-KNOWNBUG
-NEWS
-README
-README.linux
-TODO
diff -Nru libdmtx-0.7.5/debian/libdmtx0a.install 
libdmtx-0.7.5/debian/libdmtx0a.install
--- libdmtx-0.7.5/debian/libdmtx0a.install      2012-03-06 01:55:08.000000000 
+0000
+++ libdmtx-0.7.5/debian/libdmtx0a.install      1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-usr/lib/*/libdmtx.so.*
diff -Nru libdmtx-0.7.5/debian/libdmtx0a.symbols 
libdmtx-0.7.5/debian/libdmtx0a.symbols
--- libdmtx-0.7.5/debian/libdmtx0a.symbols      2018-11-21 07:29:23.000000000 
+0000
+++ libdmtx-0.7.5/debian/libdmtx0a.symbols      1970-01-01 01:00:00.000000000 
+0100
@@ -1,81 +0,0 @@
-libdmtx.so.0 libdmtx0a #MINVER#
-*Build-Depends-Package: libdmtx-dev
- dmtxByteListBuild@Base 0.7.4
- dmtxByteListClear@Base 0.7.4
- dmtxByteListCopy@Base 0.7.4
- dmtxByteListHasCapacity@Base 0.7.4
- dmtxByteListInit@Base 0.7.4
- dmtxByteListPop@Base 0.7.4
- dmtxByteListPrint@Base 0.7.4
- dmtxByteListPush@Base 0.7.4
- dmtxDecodeCreate@Base 0.7.0
- dmtxDecodeCreateDiagnostic@Base 0.7.0
- dmtxDecodeDestroy@Base 0.7.0
- dmtxDecodeGetCache@Base 0.7.0
- dmtxDecodeGetPixelValue@Base 0.7.0
- dmtxDecodeGetProp@Base 0.7.0
- dmtxDecodeMatrixRegion@Base 0.5.1
- dmtxDecodeMosaicRegion@Base 0.5.1
- dmtxDecodePopulatedArray@Base 0.7.5
- dmtxDecodeSetProp@Base 0.5.2
- dmtxDistanceAlongRay2@Base 0.5.1
- dmtxDistanceFromRay2@Base 0.5.1
- dmtxEncodeCreate@Base 0.7.0
- dmtxEncodeDataMatrix@Base 0.5.1
- dmtxEncodeDataMosaic@Base 0.5.1
- dmtxEncodeDestroy@Base 0.7.0
- dmtxEncodeGetProp@Base 0.7.0
- dmtxEncodeSetProp@Base 0.7.0
- dmtxGetBlockDataSize@Base 0.5.2
- dmtxGetSymbolAttribute@Base 0.5.1
- dmtxImageContainsFloat@Base 0.5.2
- dmtxImageContainsInt@Base 0.5.2
- dmtxImageCreate@Base 0.7.0
- dmtxImageDestroy@Base 0.7.0
- dmtxImageGetByteOffset@Base 0.7.0
- dmtxImageGetPixelValue@Base 0.7.0
- dmtxImageGetProp@Base 0.5.2
- dmtxImageSetChannel@Base 0.7.0
- dmtxImageSetPixelValue@Base 0.7.0
- dmtxImageSetProp@Base 0.5.2
- dmtxMatrix3Copy@Base 0.5.1
- dmtxMatrix3Identity@Base 0.5.1
- dmtxMatrix3LineSkewSide@Base 0.5.1
- dmtxMatrix3LineSkewSideInv@Base 0.5.1
- dmtxMatrix3LineSkewTop@Base 0.5.1
- dmtxMatrix3LineSkewTopInv@Base 0.5.1
- dmtxMatrix3Multiply@Base 0.5.1
- dmtxMatrix3MultiplyBy@Base 0.5.1
- dmtxMatrix3Print@Base 0.5.1
- dmtxMatrix3Rotate@Base 0.5.1
- dmtxMatrix3Scale@Base 0.5.1
- dmtxMatrix3Shear@Base 0.5.1
- dmtxMatrix3Translate@Base 0.5.1
- dmtxMatrix3VMultiply@Base 0.5.1
- dmtxMatrix3VMultiplyBy@Base 0.5.1
- dmtxMessageCreate@Base 0.7.0
- dmtxMessageDestroy@Base 0.7.0
- dmtxPointAlongRay2@Base 0.5.1
- dmtxRay2Intersect@Base 0.5.1
- dmtxRegionCreate@Base 0.7.0
- dmtxRegionDestroy@Base 0.7.0
- dmtxRegionFindNext@Base 0.7.0
- dmtxRegionScanPixel@Base 0.6.0
- dmtxRegionUpdateCorners@Base 0.6.0
- dmtxRegionUpdateXfrms@Base 0.6.0
- dmtxSymbolModuleStatus@Base 0.5.1
- dmtxTimeAdd@Base 0.5.1
- dmtxTimeExceeded@Base 0.5.1
- dmtxTimeNow@Base 0.5.1
- dmtxVector2Add@Base 0.5.1
- dmtxVector2AddTo@Base 0.5.1
- dmtxVector2Cross@Base 0.5.1
- dmtxVector2Dot@Base 0.5.1
- dmtxVector2Mag@Base 0.5.1
- dmtxVector2Norm@Base 0.5.1
- dmtxVector2Scale@Base 0.5.1
- dmtxVector2ScaleBy@Base 0.5.1
- dmtxVector2Sub@Base 0.5.1
- dmtxVector2SubFrom@Base 0.5.1
- dmtxVersion@Base 0.5.1
- getSizeIdxFromSymbolDimension@Base 0.7.5
diff -Nru libdmtx-0.7.5/debian/libdmtx0b.docs 
libdmtx-0.7.5/debian/libdmtx0b.docs
--- libdmtx-0.7.5/debian/libdmtx0b.docs 1970-01-01 01:00:00.000000000 +0100
+++ libdmtx-0.7.5/debian/libdmtx0b.docs 2019-04-12 20:26:32.000000000 +0100
@@ -0,0 +1,6 @@
+AUTHORS
+KNOWNBUG
+NEWS
+README
+README.linux
+TODO
diff -Nru libdmtx-0.7.5/debian/libdmtx0b.install 
libdmtx-0.7.5/debian/libdmtx0b.install
--- libdmtx-0.7.5/debian/libdmtx0b.install      1970-01-01 01:00:00.000000000 
+0100
+++ libdmtx-0.7.5/debian/libdmtx0b.install      2019-04-12 20:26:32.000000000 
+0100
@@ -0,0 +1 @@
+usr/lib/*/libdmtx.so.*
diff -Nru libdmtx-0.7.5/debian/libdmtx0b.symbols 
libdmtx-0.7.5/debian/libdmtx0b.symbols
--- libdmtx-0.7.5/debian/libdmtx0b.symbols      1970-01-01 01:00:00.000000000 
+0100
+++ libdmtx-0.7.5/debian/libdmtx0b.symbols      2019-04-12 20:26:32.000000000 
+0100
@@ -0,0 +1,81 @@
+libdmtx.so.0 libdmtx0b #MINVER#
+*Build-Depends-Package: libdmtx-dev
+ dmtxByteListBuild@Base 0.7.4
+ dmtxByteListClear@Base 0.7.4
+ dmtxByteListCopy@Base 0.7.4
+ dmtxByteListHasCapacity@Base 0.7.4
+ dmtxByteListInit@Base 0.7.4
+ dmtxByteListPop@Base 0.7.4
+ dmtxByteListPrint@Base 0.7.4
+ dmtxByteListPush@Base 0.7.4
+ dmtxDecodeCreate@Base 0.7.0
+ dmtxDecodeCreateDiagnostic@Base 0.7.0
+ dmtxDecodeDestroy@Base 0.7.0
+ dmtxDecodeGetCache@Base 0.7.0
+ dmtxDecodeGetPixelValue@Base 0.7.0
+ dmtxDecodeGetProp@Base 0.7.0
+ dmtxDecodeMatrixRegion@Base 0.5.1
+ dmtxDecodeMosaicRegion@Base 0.5.1
+ dmtxDecodePopulatedArray@Base 0.7.5
+ dmtxDecodeSetProp@Base 0.5.2
+ dmtxDistanceAlongRay2@Base 0.5.1
+ dmtxDistanceFromRay2@Base 0.5.1
+ dmtxEncodeCreate@Base 0.7.0
+ dmtxEncodeDataMatrix@Base 0.5.1
+ dmtxEncodeDataMosaic@Base 0.5.1
+ dmtxEncodeDestroy@Base 0.7.0
+ dmtxEncodeGetProp@Base 0.7.0
+ dmtxEncodeSetProp@Base 0.7.0
+ dmtxGetBlockDataSize@Base 0.5.2
+ dmtxGetSymbolAttribute@Base 0.5.1
+ dmtxImageContainsFloat@Base 0.5.2
+ dmtxImageContainsInt@Base 0.5.2
+ dmtxImageCreate@Base 0.7.0
+ dmtxImageDestroy@Base 0.7.0
+ dmtxImageGetByteOffset@Base 0.7.0
+ dmtxImageGetPixelValue@Base 0.7.0
+ dmtxImageGetProp@Base 0.5.2
+ dmtxImageSetChannel@Base 0.7.0
+ dmtxImageSetPixelValue@Base 0.7.0
+ dmtxImageSetProp@Base 0.5.2
+ dmtxMatrix3Copy@Base 0.5.1
+ dmtxMatrix3Identity@Base 0.5.1
+ dmtxMatrix3LineSkewSide@Base 0.5.1
+ dmtxMatrix3LineSkewSideInv@Base 0.5.1
+ dmtxMatrix3LineSkewTop@Base 0.5.1
+ dmtxMatrix3LineSkewTopInv@Base 0.5.1
+ dmtxMatrix3Multiply@Base 0.5.1
+ dmtxMatrix3MultiplyBy@Base 0.5.1
+ dmtxMatrix3Print@Base 0.5.1
+ dmtxMatrix3Rotate@Base 0.5.1
+ dmtxMatrix3Scale@Base 0.5.1
+ dmtxMatrix3Shear@Base 0.5.1
+ dmtxMatrix3Translate@Base 0.5.1
+ dmtxMatrix3VMultiply@Base 0.5.1
+ dmtxMatrix3VMultiplyBy@Base 0.5.1
+ dmtxMessageCreate@Base 0.7.0
+ dmtxMessageDestroy@Base 0.7.0
+ dmtxPointAlongRay2@Base 0.5.1
+ dmtxRay2Intersect@Base 0.5.1
+ dmtxRegionCreate@Base 0.7.0
+ dmtxRegionDestroy@Base 0.7.0
+ dmtxRegionFindNext@Base 0.7.0
+ dmtxRegionScanPixel@Base 0.6.0
+ dmtxRegionUpdateCorners@Base 0.6.0
+ dmtxRegionUpdateXfrms@Base 0.6.0
+ dmtxSymbolModuleStatus@Base 0.5.1
+ dmtxTimeAdd@Base 0.5.1
+ dmtxTimeExceeded@Base 0.5.1
+ dmtxTimeNow@Base 0.5.1
+ dmtxVector2Add@Base 0.5.1
+ dmtxVector2AddTo@Base 0.5.1
+ dmtxVector2Cross@Base 0.5.1
+ dmtxVector2Dot@Base 0.5.1
+ dmtxVector2Mag@Base 0.5.1
+ dmtxVector2Norm@Base 0.5.1
+ dmtxVector2Scale@Base 0.5.1
+ dmtxVector2ScaleBy@Base 0.5.1
+ dmtxVector2Sub@Base 0.5.1
+ dmtxVector2SubFrom@Base 0.5.1
+ dmtxVersion@Base 0.5.1
+ getSizeIdxFromSymbolDimension@Base 0.7.5
diff -Nru libdmtx-0.7.5/debian/libdmtx-dev.maintscript 
libdmtx-0.7.5/debian/libdmtx-dev.maintscript
--- libdmtx-0.7.5/debian/libdmtx-dev.maintscript        2018-11-21 
07:29:23.000000000 +0000
+++ libdmtx-0.7.5/debian/libdmtx-dev.maintscript        2019-04-12 
20:26:32.000000000 +0100
@@ -1 +1 @@
-dir_to_symlink    /usr/share/doc/libdmtx-dev    libdmtx0a    0.7.5-2~
+dir_to_symlink    /usr/share/doc/libdmtx-dev    libdmtx0b    0.7.5-2.1~
diff -Nru libdmtx-0.7.5/debian/rules libdmtx-0.7.5/debian/rules
--- libdmtx-0.7.5/debian/rules  2018-08-08 21:33:00.000000000 +0100
+++ libdmtx-0.7.5/debian/rules  2019-04-12 20:26:32.000000000 +0100
@@ -3,6 +3,6 @@
 export DH_OPTIONS
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 override_dh_installdocs:
-       dh_installdocs --link-doc=libdmtx0a
+       dh_installdocs --link-doc=libdmtx0b
 %:
        dh $@

Reply via email to