Hi Andreas

On 2021-06-03 01:41:37 +0200, Andreas Beckmann wrote:
> On 02/06/2021 22.22, Sebastian Ramacher wrote:
> > 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.
> 
> Can we be even more explicit about that and use a SOVERSION like "106deb" ?
> That might be a bit tricky with libtool, though.

Unless somebody knows how to do that with libtool, 103deb or something
similar won't work.

> I think you should only remove Conflicts/Replaces on libhdf5*-103 and
> leave all other there. (Have they been in buster already?)
> 
> You definitively want to have a
>   Breaks: libhdf5-foo-10x(-1)
> in each libhdf5-foo-106 package as we don't want to mix the current
> bullseye packages with your proposed packages

Why though? Adding this Breaks will require us to do a lock step
transition. At this stage of the freeze, I don't want one potential
build failure holding hdf5 back from transitioning to bullseye.

Unless there is a really good reason why they'd be needed, let's avoid
them.

> Wouldn't it be sufficient to rename only the packages where the
> soversion is the same in buster and bullseye?

Yes, but I didn't have this table at hand and some of those SOVERSIONs
are still derived from the same version. For example, all
.*hl_fortran.so have the same SOVERSION.

> I'll try to make a table:
> 
> library                                       buster                  
> bullseye                        proposed soversion
> 
> libhdf5_serial.so.103                 libhdf5-103             libhdf5-103-1   
>                 103deb or 106
> libhdf5_serial_fortran.so.100         libhdf5-103             n/a             
>                 -
> libhdf5_serial_fortran.so.102         n/a                     
> libhdf5-fortran-102             keep
> libhdf5_serial_hl.so.100              libhdf5-103             libhdf5-hl-100  
>                 100deb or 106
> libhdf5_serialhl_fortran.so.100               libhdf5-103             
> libhdf5-hl-fortran-100          100deb or 106
> 
> libhdf5_cpp.so.103                    libhdf5-cpp-103         
> libhdf5-cpp-103-1               103deb or 106
> libhdf5_hl_cpp.so.100                 libhdf5-cpp-103         
> libhdf5-hl-cpp-100              100deb or 106
> 
> libhdf5_mpich.so.103                  libhdf5-mpich-103       
> libhdf5-mpich-103-1             103deb or 106
> libhdf5_mpich_fortran.so.100          libhdf5-mpich-103       n/a             
>                 -
> libhdf5_mpich_fortran.so.102          n/a                     
> libhdf5-mpich-fortran-102       keep
> libhdf5_mpich_hl.so.100                       libhdf5-mpich-103       
> libhdf5-mpich-hl-100            100deb or 106
> libhdf5_mpichhl_fortran.so.100                libhdf5-mpich-103       
> libhdf5-mpich-hl-cpp-100        100deb or 106
> 
> libhdf5_mpich_cpp.so.103              n/a                     
> libhdf5-mpich-cpp-103-1         keep or 103
> libhdf5_mpich_hl_cpp.so.100           n/a                     
> libhdf5-mpich-hl-cpp-100        keep
> 
> libhdf5_openmpi.so.103                        libhdf5-openmpi-103     
> libhdf5-openmpi-103-1           103deb or 106
> libhdf5_openmpi_fortran.so.100                libhdf5-openmpi-103     n/a     
>                         -
> libhdf5_openmpi_fortran.so.102                n/a                     
> libhdf5-openmpi-fortran-102     keep
> libhdf5_openmpi_hl.so.100             libhdf5-openmpi-103     
> libhdf5-openmpi-hl-100          100deb
> libhdf5_openmpihl_fortran.so.100      libhdf5-openmpi-103     
> libhdf5-openmpi-hl-fortran-100  100deb
> 
> libhdf5_openmpi_cpp.so.103            n/a                     
> libhdf5-openmpi-cpp-103-1       keep or 103
> libhdf5_openmpi_hl_cpp.so.100         n/a                     
> libhdf5-openmpi-hl-cpp-100      keep

libhdf5_{serial,mpich,openmpi}_fortran.so.102 can be kept. All the
others can't. Updated patch attached (also with the changes to TOOLS and
JAVA revertred as are not relevant).

> Well, having different sonames for libhdf5_cpp.so and libhdf5_*mpi*_cpp.so
> might be difficult and non-intuitive.

… it's also not possible without touching more parts of the buidl system.

> But at least you don't have to touch libhdf5*-fortran-102 ;-)
> 
> 
> BUT: This would still only solve the co-installability mess of hdf5,
> the gdal problem is still there.

One step after the other :)

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
@@ -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}),
+Depends: libhdf5-106 (= ${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}),
+         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
@@ -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}),
+Depends: libhdf5-openmpi-106 (= ${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}),
+         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
@@ -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}),
+Depends: libhdf5-mpich-106 (= ${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}),
+         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:33:00.000000000 +0200
@@ -0,0 +1,71 @@
+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,24 +39,24 @@
+ ## 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_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
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