On 08/06/2021 13.05, Sebastian Ramacher wrote:
Here it is. Now testing upgrades ...
There were some new symbols ... but they appeared independently of my
changes (I built in bullseye, not sid, in case it does matter).

Tests have not shown any problems. And in combination with patched gdal and friends we have achieved co-installability ;-)

Thanks Andreas! Once that tests are done and the packages was uploaded,
please let me know so that I can add the appropriate hints on the
release team side.

FWIW, the symbol is a template instantiation of a function from the
standard library and should be marked as optional.

Attached is a new version of the patch. Some wording was tweaked and 'optional' added.

The new packages are still available as cruft in sid, so we should be able to avoid NEW.

Gilles, do you want to do the upload or shall I NMU it?

I'll now reupload libaec with the recently added Breaks dropped, since they are no longer needed ;-)

Andreas
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-08 08:57:04.000000000 +0200
@@ -1,3 +1,17 @@
+hdf5 (1.10.6+repack-3) UNRELEASED; urgency=medium
+
+  * Reintroduce libhdf5-103, libhdf5-cpp-103, libhdf5-openmpi-103,
+    libhdf5-mpich-103 as transitional packages depending on the individual
+    library packages that were bundled under these names in buster. This is a
+    workaround for upgrade issues caused by libhdf5-103 (in buster) and
+    libhdf5-103-1 (in bullseye) not being co-installable.  The transitional
+    packages cannot depend on libhdf5{,-openmpi,-mpich}-fortran100 because
+    these had the SOVERSION bumped from 100 to 102, but luckily there are no
+    known users of these libraries in buster.  (See #988722)
+  * Add a new optional symbol to libhdf5*-cpp-103-1.symbols.
+
+ -- Andreas Beckmann <a...@debian.org>  Tue, 08 Jun 2021 08:57:04 +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-08 08:57:04.000000000 +0200
@@ -28,8 +28,8 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-103
-Replaces: libhdf5-103
+Breaks: libhdf5-103 (<< 1.10.5)
+Replaces: libhdf5-103 (<< 1.10.5)
 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
@@ -88,14 +88,35 @@
  This package contains the high level Fortran API runtime files for serial
  platforms.
 
+Package: libhdf5-103
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: libhdf5-103-1 (= ${binary:Version}),
+#        libhdf5-fortran-102 (= ${binary:Version}),
+         libhdf5-hl-100 (= ${binary:Version}),
+         libhdf5-hl-fortran-100 (= ${binary:Version}),
+         ${misc:Depends}
+Description: HDF5 C runtime files - serial version (transitional package)
+ Hierarchical Data Format 5 (HDF5) is a file format and library for
+ storing scientific data.  HDF5 was designed and implemented to address
+ the deficiencies of HDF4.x. It has a more powerful and flexible data
+ model, supports files larger than 2 GB, and supports parallel I/O.
+ .
+ This package contains the C runtime files for serial platforms.
+ .
+ This transitional package helps upgrading from the single package bundling
+ multiple libraries in buster to the individiual library packages in
+ bullseye. It can be safely removed.
+
 Package: libhdf5-cpp-103-1
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-cpp-103
-Replaces: libhdf5-cpp-103
+Breaks: libhdf5-cpp-103 (<< 1.10.5)
+Replaces: libhdf5-cpp-103 (<< 1.10.5)
 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
@@ -122,6 +143,25 @@
  This package contains the high level C++ API runtime files for serial
  platforms.
 
+Package: libhdf5-cpp-103
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: libhdf5-cpp-103-1 (= ${binary:Version}),
+         libhdf5-hl-cpp-100 (= ${binary:Version}),
+         ${misc:Depends}
+Description: HDF5 - C++ runtime files - serial version (transitional package)
+ Hierarchical Data Format 5 (HDF5) is a file format and library for
+ storing scientific data.  HDF5 was designed and implemented to address
+ the deficiencies of HDF4.x. It has a more powerful and flexible data
+ model, supports files larger than 2 GB, and supports parallel I/O.
+ .
+ This package contains the C++ runtime files for serial platforms.
+ .
+ This transitional package helps upgrading from the single package bundling
+ multiple libraries in buster to the individiual library packages in
+ bullseye. It can be safely removed.
+
 Package: libhdf5-dev
 Architecture: any
 Section: libdevel
@@ -155,8 +195,8 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-openmpi-103
-Replaces: libhdf5-openmpi-103
+Breaks: libhdf5-openmpi-103 (<< 1.10.5)
+Replaces: libhdf5-openmpi-103 (<< 1.10.5)
 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
@@ -215,14 +255,35 @@
  This package contains the high level Fortran API runtime files for openmpi
  platforms.
 
+Package: libhdf5-openmpi-103
+Architecture: any
+Multi-Arch: same
+Section: libs
+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}),
+         ${misc:Depends}
+Description: HDF5 - C runtime files - OpenMPI version (transitional package)
+ Hierarchical Data Format 5 (HDF5) is a file format and library for
+ storing scientific data.  HDF5 was designed and implemented to address
+ the deficiencies of HDF4.x. It has a more powerful and flexible data
+ model, supports files larger than 2 GB, and supports parallel I/O.
+ .
+ This package contains the C runtime files for use with OpenMPI.
+ .
+ This transitional package helps upgrading from the single package bundling
+ multiple libraries in buster to the individiual library packages in
+ bullseye. It can be safely removed.
+
 Package: libhdf5-openmpi-cpp-103-1
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-openmpi-cpp-103
-Replaces: libhdf5-openmpi-cpp-103
+Breaks: libhdf5-openmpi-cpp-103 (<< 1.10.5)
+Replaces: libhdf5-openmpi-cpp-103 (<< 1.10.5)
 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
@@ -286,8 +347,8 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-mpich-103
-Replaces: libhdf5-mpich-103
+Breaks: libhdf5-mpich-103 (<< 1.10.5)
+Replaces: libhdf5-mpich-103 (<< 1.10.5)
 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
@@ -346,14 +407,35 @@
  This package contains the high level Fortran API runtime files for mpich
  platforms.
 
+Package: libhdf5-mpich-103
+Architecture: any
+Multi-Arch: same
+Section: libs
+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}),
+         ${misc:Depends}
+Description: HDF5 - C runtime files - MPICH2 version (transitional package)
+ Hierarchical Data Format 5 (HDF5) is a file format and library for
+ storing scientific data.  HDF5 was designed and implemented to address
+ the deficiencies of HDF4.x. It has a more powerful and flexible data
+ model, supports files larger than 2 GB, and supports parallel I/O.
+ .
+ This package contains the C runtime files for use with MPICH2.
+ .
+ This transitional package helps upgrading from the single package bundling
+ multiple libraries in buster to the individiual library packages in
+ bullseye. It can be safely removed.
+
 Package: libhdf5-mpich-cpp-103-1
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-mpich-cpp-103
-Replaces: libhdf5-mpich-cpp-103
+Breaks: libhdf5-mpich-cpp-103 (<< 1.10.5)
+Replaces: libhdf5-mpich-cpp-103 (<< 1.10.5)
 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
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-06-08 08:57:04.000000000 +0200
@@ -28,8 +28,8 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-@SONAME@
-Replaces: libhdf5-@SONAME@
+Breaks: libhdf5-@SONAME@ (<< 1.10.5)
+Replaces: libhdf5-@SONAME@ (<< 1.10.5)
 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
@@ -88,14 +88,35 @@
  This package contains the high level Fortran API runtime files for serial
  platforms.
 
+Package: libhdf5-@SONAME@
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: libhdf5-@SONAME@@EXT@ (= ${binary:Version}),
+#        libhdf5-fortran-@SONAME_F@ (= ${binary:Version}),
+         libhdf5-hl-@SONAME_HL@ (= ${binary:Version}),
+         libhdf5-hl-fortran-@SONAME_HL_F@ (= ${binary:Version}),
+         ${misc:Depends}
+Description: HDF5 C runtime files - serial version (transitional package)
+ Hierarchical Data Format 5 (HDF5) is a file format and library for
+ storing scientific data.  HDF5 was designed and implemented to address
+ the deficiencies of HDF4.x. It has a more powerful and flexible data
+ model, supports files larger than 2 GB, and supports parallel I/O.
+ .
+ This package contains the C runtime files for serial platforms.
+ .
+ This transitional package helps upgrading from the single package bundling
+ multiple libraries in buster to the individiual library packages in
+ bullseye. It can be safely removed.
+
 Package: libhdf5-cpp-@SONAME_CXX@@EXT@
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-cpp-@SONAME_CXX@
-Replaces: libhdf5-cpp-@SONAME_CXX@
+Breaks: libhdf5-cpp-@SONAME_CXX@ (<< 1.10.5)
+Replaces: libhdf5-cpp-@SONAME_CXX@ (<< 1.10.5)
 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
@@ -122,6 +143,25 @@
  This package contains the high level C++ API runtime files for serial
  platforms.
 
+Package: libhdf5-cpp-@SONAME_CXX@
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: libhdf5-cpp-@SONAME_CXX@@EXT@ (= ${binary:Version}),
+         libhdf5-hl-cpp-@SONAME_HL_CXX@ (= ${binary:Version}),
+         ${misc:Depends}
+Description: HDF5 - C++ runtime files - serial version (transitional package)
+ Hierarchical Data Format 5 (HDF5) is a file format and library for
+ storing scientific data.  HDF5 was designed and implemented to address
+ the deficiencies of HDF4.x. It has a more powerful and flexible data
+ model, supports files larger than 2 GB, and supports parallel I/O.
+ .
+ This package contains the C++ runtime files for serial platforms.
+ .
+ This transitional package helps upgrading from the single package bundling
+ multiple libraries in buster to the individiual library packages in
+ bullseye. It can be safely removed.
+
 Package: libhdf5-dev
 Architecture: any
 Section: libdevel
@@ -155,8 +195,8 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-openmpi-@SONAME@
-Replaces: libhdf5-openmpi-@SONAME@
+Breaks: libhdf5-openmpi-@SONAME@ (<< 1.10.5)
+Replaces: libhdf5-openmpi-@SONAME@ (<< 1.10.5)
 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
@@ -215,14 +255,35 @@
  This package contains the high level Fortran API runtime files for openmpi
  platforms.
 
+Package: libhdf5-openmpi-@SONAME@
+Architecture: @OMPIARCHS@
+Multi-Arch: same
+Section: libs
+Depends: libhdf5-openmpi-@SONAME@@EXT@ (= ${binary:Version}),
+#        libhdf5-openmpi-fortran-@SONAME_F@ (= ${binary:Version}),
+         libhdf5-openmpi-hl-@SONAME_HL@ (= ${binary:Version}),
+         libhdf5-openmpi-hl-fortran-@SONAME_HL_F@ (= ${binary:Version}),
+         ${misc:Depends}
+Description: HDF5 - C runtime files - OpenMPI version (transitional package)
+ Hierarchical Data Format 5 (HDF5) is a file format and library for
+ storing scientific data.  HDF5 was designed and implemented to address
+ the deficiencies of HDF4.x. It has a more powerful and flexible data
+ model, supports files larger than 2 GB, and supports parallel I/O.
+ .
+ This package contains the C runtime files for use with OpenMPI.
+ .
+ This transitional package helps upgrading from the single package bundling
+ multiple libraries in buster to the individiual library packages in
+ bullseye. It can be safely removed.
+
 Package: libhdf5-openmpi-cpp-@SONAME_CXX@@EXT@
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-openmpi-cpp-@SONAME_CXX@
-Replaces: libhdf5-openmpi-cpp-@SONAME_CXX@
+Breaks: libhdf5-openmpi-cpp-@SONAME_CXX@ (<< 1.10.5)
+Replaces: libhdf5-openmpi-cpp-@SONAME_CXX@ (<< 1.10.5)
 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
@@ -286,8 +347,8 @@
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libhdf5-mpich-@SONAME@
-Replaces: libhdf5-mpich-@SONAME@
+Breaks: libhdf5-mpich-@SONAME@ (<< 1.10.5)
+Replaces: libhdf5-mpich-@SONAME@ (<< 1.10.5)
 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
@@ -346,14 +407,35 @@
  This package contains the high level Fortran API runtime files for mpich
  platforms.
 
+Package: libhdf5-mpich-@SONAME@
+Architecture: @MPICHARCHS@
+Multi-Arch: same
+Section: libs
+Depends: libhdf5-mpich-@SONAME@@EXT@ (= ${binary:Version}),
+#        libhdf5-mpich-fortran-@SONAME_F@ (= ${binary:Version}),
+         libhdf5-mpich-hl-@SONAME_HL@ (= ${binary:Version}),
+         libhdf5-mpich-hl-fortran-@SONAME_HL_F@ (= ${binary:Version}),
+         ${misc:Depends}
+Description: HDF5 - C runtime files - MPICH2 version (transitional package)
+ Hierarchical Data Format 5 (HDF5) is a file format and library for
+ storing scientific data.  HDF5 was designed and implemented to address
+ the deficiencies of HDF4.x. It has a more powerful and flexible data
+ model, supports files larger than 2 GB, and supports parallel I/O.
+ .
+ This package contains the C runtime files for use with MPICH2.
+ .
+ This transitional package helps upgrading from the single package bundling
+ multiple libraries in buster to the individiual library packages in
+ bullseye. It can be safely removed.
+
 Package: libhdf5-mpich-cpp-@SONAME_CXX@@EXT@
 Architecture: any
 Multi-Arch: same
 Section: libs
 Depends: ${shlibs:Depends},
          ${misc:Depends}
-Breaks: libhdf5-mpich-cpp-@SONAME_CXX@
-Replaces: libhdf5-mpich-cpp-@SONAME_CXX@
+Breaks: libhdf5-mpich-cpp-@SONAME_CXX@ (<< 1.10.5)
+Replaces: libhdf5-mpich-cpp-@SONAME_CXX@ (<< 1.10.5)
 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
diff -Nru hdf5-1.10.6+repack/debian/libhdf5-cpp-103-1.symbols hdf5-1.10.6+repack/debian/libhdf5-cpp-103-1.symbols
--- hdf5-1.10.6+repack/debian/libhdf5-cpp-103-1.symbols	2020-04-24 19:10:36.000000000 +0200
+++ hdf5-1.10.6+repack/debian/libhdf5-cpp-103-1.symbols	2021-06-08 08:57:04.000000000 +0200
@@ -1055,6 +1055,7 @@
  HDF5_SERIAL_1.8.7@HDF5_SERIAL_1.8.7 1.10.5
  HDF5_SERIAL_1.8.8@HDF5_SERIAL_1.8.8 1.10.5
  HDF5_SERIAL_1.8.9@HDF5_SERIAL_1.8.9 1.10.5
+ (optional)_ZNKSt5ctypeIcE8do_widenEc@Base 1.10.6
  (optional|c++)"non-virtual thunk to H5::Attribute::close()@HDF5_CPP_1.8.11" 1.10.5
  (optional|c++)"non-virtual thunk to H5::Attribute::fromClass[abi:cxx11]() const@HDF5_CPP_1.10.1" 1.10.5
  (optional|c++)"non-virtual thunk to H5::Attribute::getId() const@HDF5_CPP_1.8.9" 1.10.5
diff -Nru hdf5-1.10.6+repack/debian/libhdf5-mpich-cpp-103-1.symbols hdf5-1.10.6+repack/debian/libhdf5-mpich-cpp-103-1.symbols
--- hdf5-1.10.6+repack/debian/libhdf5-mpich-cpp-103-1.symbols	2020-04-24 19:10:36.000000000 +0200
+++ hdf5-1.10.6+repack/debian/libhdf5-mpich-cpp-103-1.symbols	2021-06-08 08:57:04.000000000 +0200
@@ -1055,6 +1055,7 @@
  HDF5_MPI_1.8.7@HDF5_MPI_1.8.7 1.10.5
  HDF5_MPI_1.8.8@HDF5_MPI_1.8.8 1.10.5
  HDF5_MPI_1.8.9@HDF5_MPI_1.8.9 1.10.5
+ (optional)_ZNKSt5ctypeIcE8do_widenEc@Base 1.10.6
  (optional|c++)"non-virtual thunk to H5::Attribute::close()@HDF5_CPP_MPI_1.8.11" 1.10.5
  (optional|c++)"non-virtual thunk to H5::Attribute::fromClass[abi:cxx11]() const@HDF5_CPP_MPI_1.10.1" 1.10.5
  (optional|c++)"non-virtual thunk to H5::Attribute::getId() const@HDF5_CPP_MPI_1.8.9" 1.10.5
diff -Nru hdf5-1.10.6+repack/debian/libhdf5-openmpi-cpp-103-1.symbols hdf5-1.10.6+repack/debian/libhdf5-openmpi-cpp-103-1.symbols
--- hdf5-1.10.6+repack/debian/libhdf5-openmpi-cpp-103-1.symbols	2020-04-24 19:10:36.000000000 +0200
+++ hdf5-1.10.6+repack/debian/libhdf5-openmpi-cpp-103-1.symbols	2021-06-08 08:57:04.000000000 +0200
@@ -1243,6 +1243,7 @@
 #MISSING: 1.10.6# (optional|c++)"MPI::Win::Unlock(int) const@HDF5_CPP_MPI_1.10.5" 1.10.5
 #MISSING: 1.10.6# (optional|c++)"MPI::Win::Wait() const@HDF5_CPP_MPI_1.10.5" 1.10.5
 #MISSING: 1.10.6# (optional|c++)"MPI::Win::~Win()@HDF5_CPP_MPI_1.10.5" 1.10.5
+ (optional)_ZNKSt5ctypeIcE8do_widenEc@Base 1.10.6
  (optional|c++)"non-virtual thunk to H5::Attribute::close()@HDF5_CPP_MPI_1.8.11" 1.10.5
  (optional|c++)"non-virtual thunk to H5::Attribute::fromClass[abi:cxx11]() const@HDF5_CPP_MPI_1.10.1" 1.10.5
  (optional|c++)"non-virtual thunk to H5::Attribute::getId() const@HDF5_CPP_MPI_1.8.9" 1.10.5

Reply via email to