Hi Gilles, hi Andreas,

On 2021-06-01 14:15:52 +0200, Andreas Beckmann wrote:
> On Tue, 18 May 2021 20:36:23 +0200 Dennis Filder <d.fil...@web.de> wrote:
> > One more observation: Bullseye's gdal-data 3.2.1+dfsg-1 defines a
> > Breaks: libgdal20 (< 2.5.0~), but the libgdal20 in Buster is 2.4.0,
> > and postgresql-11-postgis-2.5 depends on that.  libgdal28 depends on
> > gdal-data (>=3.2.1+dfsg-1).  To me it looks like there's no way to
> > keep postgresql-11-postgis-2.5 around if anything that depends on
> > libgdal28 (postgis, libopencv-imgcodecs4.5, ...) gets installed.
> 
> What would be needed to reintroduce postgresql-11-postgis-2.5 (i.e.
> src:postgis-2.5) (built against bullseye libraries) into bullseye? Probably
> libraries and -dev packages from postgresql-11, too.
> Here I assume that src:postgis-2.5 could be built against gdal 3.2.x and
> that can be used to perform the upgrade to postgis 3.x - is that true?

So here is a different view. At least the hdf5 part of this upgrade
issue could have been avoided if we transitationed to hdf5 1.12 (which
bumps all the SOVERSIONs to 200) for bullseye. Alas, we didn't and it's
too late for that.

So, what if we use the free versions between 103 and 200 to transition
to a Debian-specific version? Attached is a patch that does that. It's
not an optimal solution as we would have a release with a
Debian-specific SOVERSIONs. For good reason, we usually try to avoid
those. So, it would be good for someone more familiar with the users of
hdf5 to check if that would be an issue in this specific case.

I've done a rebuild of the reverse dependencies and they built fine.
Only pbseqlib requires a patch due to its use of d-shlibs. If we want to
do that, we need to act fast as it would require a trip through NEW.

Cheers
-- 
Sebastian Ramacher
diff -Nru hdf5-1.10.6+repack/debian/changelog 
hdf5-1.10.6+repack/debian/changelog
--- hdf5-1.10.6+repack/debian/changelog 2020-04-24 20:00:42.000000000 +0200
+++ hdf5-1.10.6+repack/debian/changelog 2021-06-02 21:33:00.000000000 +0200
@@ -1,3 +1,12 @@
+hdf5 (1.10.6+repack-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Bump SONAME to Debian specific version (106)
+    This is a workaround for upgrade issues caused by libhdf5-103 (in buster)
+    and libhdf5-103-1 (in bullseye) not being co-installable. (Closes: #988722)
+
+ -- Sebastian Ramacher <sramac...@debian.org>  Wed, 02 Jun 2021 21:33:00 +0200
+
 hdf5 (1.10.6+repack-2) unstable; urgency=medium
 
   * Default plugindir per flavor
diff -Nru hdf5-1.10.6+repack/debian/control hdf5-1.10.6+repack/debian/control
--- hdf5-1.10.6+repack/debian/control   2020-04-24 20:00:42.000000000 +0200
+++ hdf5-1.10.6+repack/debian/control   2021-06-02 21:33:00.000000000 +0200
@@ -21,15 +21,13 @@
 Vcs-Git: https://salsa.debian.org/debian/hdf5.git
 Homepage: http://hdfgroup.org/HDF5/
 
-Package: libhdf5-103-1
+Package: libhdf5-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-103
-Replaces: libhdf5-103
 Description: HDF5 C runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -38,7 +36,7 @@
  .
  This package contains the C runtime files for serial platforms.
 
-Package: libhdf5-fortran-102
+Package: libhdf5-fortran-106
 Architecture: any
 Multi-Arch: same
 Section: libs
@@ -53,15 +51,13 @@
  .
  This package contains the Fortran runtime files for serial platforms.
 
-Package: libhdf5-hl-100
+Package: libhdf5-hl-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-100, libhdf5-101, libhdf5-102, libhdf5-103 (<< 1.10.5)
-replaces: libhdf5-100, libhdf5-101, libhdf5-102, libhdf5-103 (<< 1.10.5)
 Description: HDF5 High Level runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -70,15 +66,13 @@
  .
  This package contains the high level C API runtime files for serial platforms.
 
-Package: libhdf5-hl-fortran-100
+Package: libhdf5-hl-fortran-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-100, libhdf5-101, libhdf5-102, libhdf5-103 (<< 1.10.5)
-replaces: libhdf5-100, libhdf5-101, libhdf5-102, libhdf5-103 (<< 1.10.5)
 Description: HDF5 High Level Fortran runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -88,14 +82,12 @@
  This package contains the high level Fortran API runtime files for serial
  platforms.
 
-Package: libhdf5-cpp-103-1
+Package: libhdf5-cpp-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-cpp-103
-Replaces: libhdf5-cpp-103
 Description: HDF5 - C++ runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -104,15 +96,13 @@
  .
  This package contains the C++ runtime files for serial platforms.
 
-Package: libhdf5-hl-cpp-100
+Package: libhdf5-hl-cpp-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
-Replaces: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
 Description: HDF5 High Level C++ runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -125,12 +115,12 @@
 Package: libhdf5-dev
 Architecture: any
 Section: libdevel
-Depends: libhdf5-103-1 (= ${binary:Version}),
-         libhdf5-fortran-102 (= ${binary:Version}),
-         libhdf5-hl-100 (= ${binary:Version}),
-         libhdf5-hl-fortran-100 (= ${binary:Version}),
-         libhdf5-cpp-103-1 (= ${binary:Version}),
-         libhdf5-hl-cpp-100 (= ${binary:Version}),
+Depends: libhdf5-106 (= ${binary:Version}),
+         libhdf5-fortran-106 (= ${binary:Version}),
+         libhdf5-hl-106 (= ${binary:Version}),
+         libhdf5-hl-fortran-106 (= ${binary:Version}),
+         libhdf5-cpp-106 (= ${binary:Version}),
+         libhdf5-hl-cpp-106 (= ${binary:Version}),
          zlib1g-dev,
          libjpeg-dev,
          libaec-dev,
@@ -148,15 +138,13 @@
  .
  This package contains development files for serial platforms.
 
-Package: libhdf5-openmpi-103-1
+Package: libhdf5-openmpi-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-openmpi-103
-Replaces: libhdf5-openmpi-103
 Description: HDF5 - C runtime files - OpenMPI version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -165,7 +153,7 @@
  .
  This package contains the C runtime files for use with OpenMPI.
 
-Package: libhdf5-openmpi-fortran-102
+Package: libhdf5-openmpi-fortran-106
 Architecture: any
 Multi-Arch: same
 Section: libs
@@ -180,15 +168,13 @@
  .
  This package contains the Fortran runtime files for openmpi platforms.
 
-Package: libhdf5-openmpi-hl-100
+Package: libhdf5-openmpi-hl-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-openmpi-100, libhdf5-openmpi-101, libhdf5-openmpi-102, 
libhdf5-openmpi-103 (<< 1.10.5)
-replaces: libhdf5-openmpi-100, libhdf5-openmpi-101, libhdf5-openmpi-102, 
libhdf5-openmpi-103 (<< 1.10.5)
 Description: HDF5 High Level runtime files - OpenMPI version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -197,15 +183,13 @@
  .
  This package contains the high level C API runtime files for openmpi 
platforms.
 
-Package: libhdf5-openmpi-hl-fortran-100
+Package: libhdf5-openmpi-hl-fortran-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-openmpi-100, libhdf5-openmpi-101, libhdf5-openmpi-102, 
libhdf5-openmpi-103 (<< 1.10.5)
-replaces: libhdf5-openmpi-100, libhdf5-openmpi-101, libhdf5-openmpi-102, 
libhdf5-openmpi-103 (<< 1.10.5)
 Description: HDF5 High Level Fortran runtime files - OpenMPI version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -215,14 +199,12 @@
  This package contains the high level Fortran API runtime files for openmpi
  platforms.
 
-Package: libhdf5-openmpi-cpp-103-1
+Package: libhdf5-openmpi-cpp-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-openmpi-cpp-103
-Replaces: libhdf5-openmpi-cpp-103
 Description: HDF5 - C++ runtime files - OpenMPI version - unsupported
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -234,15 +216,13 @@
  Warning: C++ with parallel HDF5 is not supported upstream. Use this
  feature at your own risks.
 
-Package: libhdf5-openmpi-hl-cpp-100
+Package: libhdf5-openmpi-hl-cpp-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
-Replaces: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
 Description: HDF5 High Level C++ runtime files - OpenMPI version - unsupported
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -258,12 +238,12 @@
 Package: libhdf5-openmpi-dev
 Architecture: any
 Section: libdevel
-Depends: libhdf5-openmpi-103-1 (= ${binary:Version}),
-         libhdf5-openmpi-fortran-102 (= ${binary:Version}),
-         libhdf5-openmpi-hl-100 (= ${binary:Version}),
-         libhdf5-openmpi-hl-fortran-100 (= ${binary:Version}),
-         libhdf5-openmpi-cpp-103-1 (= ${binary:Version}),
-         libhdf5-openmpi-hl-cpp-100 (= ${binary:Version}),
+Depends: libhdf5-openmpi-106 (= ${binary:Version}),
+         libhdf5-openmpi-fortran-106 (= ${binary:Version}),
+         libhdf5-openmpi-hl-106 (= ${binary:Version}),
+         libhdf5-openmpi-hl-fortran-106 (= ${binary:Version}),
+         libhdf5-openmpi-cpp-106 (= ${binary:Version}),
+         libhdf5-openmpi-hl-cpp-106 (= ${binary:Version}),
          zlib1g-dev,
          libaec-dev,
          libjpeg-dev,
@@ -279,15 +259,13 @@
  .
  This package contains development files for use with OpenMPI.
 
-Package: libhdf5-mpich-103-1
+Package: libhdf5-mpich-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-mpich-103
-Replaces: libhdf5-mpich-103
 Description: HDF5 - C runtime files - MPICH2 version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -296,7 +274,7 @@
  .
  This package contains the C runtime files for use with MPICH2.
 
-Package: libhdf5-mpich-fortran-102
+Package: libhdf5-mpich-fortran-106
 Architecture: any
 Multi-Arch: same
 Section: libs
@@ -311,15 +289,13 @@
  .
  This package contains the Fortran runtime files for mpich platforms.
 
-Package: libhdf5-mpich-hl-100
+Package: libhdf5-mpich-hl-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-mpich-100, libhdf5-mpich-101, libhdf5-mpich-102, 
libhdf5-mpich-103 (<< 1.10.5)
-replaces: libhdf5-mpich-100, libhdf5-mpich-101, libhdf5-mpich-102, 
libhdf5-mpich-103 (<< 1.10.5)
 Description: HDF5 High Level runtime files - MPICH2 version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -328,15 +304,13 @@
  .
  This package contains the high level C API runtime files for mpich platforms.
 
-Package: libhdf5-mpich-hl-fortran-100
+Package: libhdf5-mpich-hl-fortran-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-mpich-100, libhdf5-mpich-101, libhdf5-mpich-102, 
libhdf5-mpich-103 (<< 1.10.5)
-replaces: libhdf5-mpich-100, libhdf5-mpich-101, libhdf5-mpich-102, 
libhdf5-mpich-103 (<< 1.10.5)
 Description: HDF5 High Level Fortran runtime files - MPICH2 version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -346,14 +320,12 @@
  This package contains the high level Fortran API runtime files for mpich
  platforms.
 
-Package: libhdf5-mpich-cpp-103-1
+Package: libhdf5-mpich-cpp-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-mpich-cpp-103
-Replaces: libhdf5-mpich-cpp-103
 Description: HDF5 - C++ runtime files - MPICH2 version - unsupported
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -365,15 +337,13 @@
  Warning: C++ with parallel HDF5 is not supported upstream. Use this
  feature at your own risks.
 
-Package: libhdf5-mpich-hl-cpp-100
+Package: libhdf5-mpich-hl-cpp-106
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
-Replaces: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
 Description: HDF5 High Level C++ runtime files - MPICH2 version - unsupported
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -389,12 +359,12 @@
 Package: libhdf5-mpich-dev
 Architecture: any
 Section: libdevel
-Depends: libhdf5-mpich-103-1 (= ${binary:Version}),
-         libhdf5-mpich-fortran-102 (= ${binary:Version}),
-         libhdf5-mpich-hl-100 (= ${binary:Version}),
-         libhdf5-mpich-hl-fortran-100 (= ${binary:Version}),
-         libhdf5-mpich-cpp-103-1 (= ${binary:Version}),
-         libhdf5-mpich-hl-cpp-100 (= ${binary:Version}),
+Depends: libhdf5-mpich-106 (= ${binary:Version}),
+         libhdf5-mpich-fortran-106 (= ${binary:Version}),
+         libhdf5-mpich-hl-106 (= ${binary:Version}),
+         libhdf5-mpich-hl-fortran-106 (= ${binary:Version}),
+         libhdf5-mpich-cpp-106 (= ${binary:Version}),
+         libhdf5-mpich-hl-cpp-106 (= ${binary:Version}),
          zlib1g-dev,
          libaec-dev,
          libjpeg-dev,
diff -Nru hdf5-1.10.6+repack/debian/control.in 
hdf5-1.10.6+repack/debian/control.in
--- hdf5-1.10.6+repack/debian/control.in        2020-04-24 19:10:36.000000000 
+0200
+++ hdf5-1.10.6+repack/debian/control.in        2021-05-30 20:41:49.000000000 
+0200
@@ -28,8 +28,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-@SONAME@
-Replaces: libhdf5-@SONAME@
 Description: HDF5 C runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -60,8 +58,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-100, libhdf5-101, libhdf5-102, libhdf5-103 (<< 1.10.5)
-replaces: libhdf5-100, libhdf5-101, libhdf5-102, libhdf5-103 (<< 1.10.5)
 Description: HDF5 High Level runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -77,8 +73,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-100, libhdf5-101, libhdf5-102, libhdf5-103 (<< 1.10.5)
-replaces: libhdf5-100, libhdf5-101, libhdf5-102, libhdf5-103 (<< 1.10.5)
 Description: HDF5 High Level Fortran runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -94,8 +88,6 @@
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-cpp-@SONAME_CXX@
-Replaces: libhdf5-cpp-@SONAME_CXX@
 Description: HDF5 - C++ runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -111,8 +103,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
-Replaces: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
 Description: HDF5 High Level C++ runtime files - serial version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -155,8 +145,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-openmpi-@SONAME@
-Replaces: libhdf5-openmpi-@SONAME@
 Description: HDF5 - C runtime files - OpenMPI version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -187,8 +175,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-openmpi-100, libhdf5-openmpi-101, libhdf5-openmpi-102, 
libhdf5-openmpi-103 (<< 1.10.5)
-replaces: libhdf5-openmpi-100, libhdf5-openmpi-101, libhdf5-openmpi-102, 
libhdf5-openmpi-103 (<< 1.10.5)
 Description: HDF5 High Level runtime files - OpenMPI version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -204,8 +190,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-openmpi-100, libhdf5-openmpi-101, libhdf5-openmpi-102, 
libhdf5-openmpi-103 (<< 1.10.5)
-replaces: libhdf5-openmpi-100, libhdf5-openmpi-101, libhdf5-openmpi-102, 
libhdf5-openmpi-103 (<< 1.10.5)
 Description: HDF5 High Level Fortran runtime files - OpenMPI version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -221,8 +205,6 @@
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-openmpi-cpp-@SONAME_CXX@
-Replaces: libhdf5-openmpi-cpp-@SONAME_CXX@
 Description: HDF5 - C++ runtime files - OpenMPI version - unsupported
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -241,8 +223,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
-Replaces: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
 Description: HDF5 High Level C++ runtime files - OpenMPI version - unsupported
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -286,8 +266,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-mpich-@SONAME@
-Replaces: libhdf5-mpich-@SONAME@
 Description: HDF5 - C runtime files - MPICH2 version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -318,8 +296,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-mpich-100, libhdf5-mpich-101, libhdf5-mpich-102, 
libhdf5-mpich-103 (<< 1.10.5)
-replaces: libhdf5-mpich-100, libhdf5-mpich-101, libhdf5-mpich-102, 
libhdf5-mpich-103 (<< 1.10.5)
 Description: HDF5 High Level runtime files - MPICH2 version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -335,8 +311,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-mpich-100, libhdf5-mpich-101, libhdf5-mpich-102, 
libhdf5-mpich-103 (<< 1.10.5)
-replaces: libhdf5-mpich-100, libhdf5-mpich-101, libhdf5-mpich-102, 
libhdf5-mpich-103 (<< 1.10.5)
 Description: HDF5 High Level Fortran runtime files - MPICH2 version
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -352,8 +326,6 @@
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-mpich-cpp-@SONAME_CXX@
-Replaces: libhdf5-mpich-cpp-@SONAME_CXX@
 Description: HDF5 - C++ runtime files - MPICH2 version - unsupported
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
@@ -372,8 +344,6 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
-Replaces: libhdf5-cpp-100, libhdf5-cpp-101, libhdf5-cpp-102, libhdf5-cpp-103 
(<< 1.10.5)
 Description: HDF5 High Level C++ runtime files - MPICH2 version - unsupported
  Hierarchical Data Format 5 (HDF5) is a file format and library for
  storing scientific data.  HDF5 was designed and implemented to address
diff -Nru hdf5-1.10.6+repack/debian/patches/bump-soname.patch 
hdf5-1.10.6+repack/debian/patches/bump-soname.patch
--- hdf5-1.10.6+repack/debian/patches/bump-soname.patch 1970-01-01 
01:00:00.000000000 +0100
+++ hdf5-1.10.6+repack/debian/patches/bump-soname.patch 2021-06-02 
21:32:47.000000000 +0200
@@ -0,0 +1,87 @@
+Description: Bump SONAME as if there was a SONAME bump
+ In the 1.10.x series, the SOVERSIONs started of at 100 for all libraries
+ and the different libraries were bundled in a small set of binary
+ packages. As new versions were released, the SOVERSIONs were no longer
+ synced, causing the libraries to have out-of-sync SOVERSIONs. This
+ caused libhdf5-103 to include libhdf5_serial.so.103,
+ libhdf5_serial_fortran.so.100, libhdf5_serial_hl.so.100, and
+ libhdf5_serialhl_fortran.so.100.
+ .
+ The transition to libhdf5-103-1 tried to fix the situation by moving
+ all libraries to separate binary packages that have appropriate
+ Breaks+Replaces relations. Since libhdf-103 is in buster and libhdf-103
+ and libhdf-103-1 are not co-installabe, the transition has to be
+ performed in lock step. Unfortunately, this causes upgrade issues like
+ #988722 which render upgrades of postgis clusters impossible.
+ .
+ As a workaround, we bump all SOVERSIONs to a Debian-specific version
+ (106) which was not used before in Debian. Note that the next upstream
+ release (1.12) bumps all of them to 200 and the patch can simply be
+ removed when transitiong to the 1.12 series.
+
+--- a/config/lt_vers.am
++++ b/config/lt_vers.am
+@@ -16,9 +16,9 @@
+ ## See libtool versioning documentation online.
+ ## After making changes, run bin/reconfigure to update other configure related
+ ## files like Makefile.in.
+-LT_VERS_INTERFACE = 105
++LT_VERS_INTERFACE = 106
+ LT_VERS_REVISION = 0
+-LT_VERS_AGE = 2
++LT_VERS_AGE = 0
+ 
+ ## If the API changes *at all*, increment LT_VERS_INTERFACE and
+ ## reset LT_VERS_REVISION to 0.
+@@ -39,31 +39,31 @@
+ ## the effects of the H5_V1_x_COMPAT flag.
+ ##
+ ## Version numbers for wrapper shared library files.
+-LT_CXX_VERS_INTERFACE = 105
++LT_CXX_VERS_INTERFACE = 106
+ LT_CXX_VERS_REVISION = 0
+-LT_CXX_VERS_AGE = 2
++LT_CXX_VERS_AGE = 0
+ 
+-LT_F_VERS_INTERFACE = 102
+-LT_F_VERS_REVISION = 1
++LT_F_VERS_INTERFACE = 106
++LT_F_VERS_REVISION = 0
+ LT_F_VERS_AGE = 0
+ 
+-LT_HL_VERS_INTERFACE = 101
+-LT_HL_VERS_REVISION = 3
+-LT_HL_VERS_AGE = 1
+-
+-LT_HL_CXX_VERS_INTERFACE = 101
+-LT_HL_CXX_VERS_REVISION = 4
+-LT_HL_CXX_VERS_AGE = 1
++LT_HL_VERS_INTERFACE = 106
++LT_HL_VERS_REVISION = 0
++LT_HL_VERS_AGE = 0
++
++LT_HL_CXX_VERS_INTERFACE = 106
++LT_HL_CXX_VERS_REVISION = 0
++LT_HL_CXX_VERS_AGE = 0
+ 
+-LT_HL_F_VERS_INTERFACE = 100
+-LT_HL_F_VERS_REVISION = 5
++LT_HL_F_VERS_INTERFACE = 106
++LT_HL_F_VERS_REVISION = 0
+ LT_HL_F_VERS_AGE = 0
+ 
+-LT_JAVA_VERS_INTERFACE = 104
+-LT_JAVA_VERS_REVISION = 1
+-LT_JAVA_VERS_AGE = 4
+-
+-LT_TOOLS_VERS_INTERFACE = 101
+-LT_TOOLS_VERS_REVISION = 3
+-LT_TOOLS_VERS_AGE = 1
++LT_JAVA_VERS_INTERFACE = 106
++LT_JAVA_VERS_REVISION = 0
++LT_JAVA_VERS_AGE = 0
++
++LT_TOOLS_VERS_INTERFACE = 106
++LT_TOOLS_VERS_REVISION = 0
++LT_TOOLS_VERS_AGE = 0
+ 
diff -Nru hdf5-1.10.6+repack/debian/patches/series 
hdf5-1.10.6+repack/debian/patches/series
--- hdf5-1.10.6+repack/debian/patches/series    2020-04-24 19:10:36.000000000 
+0200
+++ hdf5-1.10.6+repack/debian/patches/series    2021-05-30 19:19:13.000000000 
+0200
@@ -4,3 +4,4 @@
 relax-version-check.patch
 fix-unaligned-accesses.patch
 reproducibility.patch
+bump-soname.patch
diff -Nru hdf5-1.10.6+repack/debian/rules hdf5-1.10.6+repack/debian/rules
--- hdf5-1.10.6+repack/debian/rules     2020-04-24 19:19:54.000000000 +0200
+++ hdf5-1.10.6+repack/debian/rules     2021-05-30 19:19:57.000000000 +0200
@@ -14,7 +14,7 @@
 libversion ?= $(shell echo $(pkgversion) | sed -r 
's/^([0-9\.]*)([-~][^-~+]*)?(\+repack[0-9]*)?-[^-]*$$/\1/')
 
 # Pkg name extension to force  transition
-EXT := -1
+EXT :=
 
 # BEGIN - Get sonames from config/lt_vers.am
 include config/lt_vers.am

Attachment: signature.asc
Description: PGP signature

Reply via email to