On 08/06/2021 08.27, Andreas Beckmann wrote:
Or, wait, easier: we can reintroduce metapackages libhdf5*-103 depending
on libhdf5*-103-1 and all the other packages containing libraries that
were in the merged package in buster.
I actually like that solution and will try to come up with a patch ;-)
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).
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,18 @@
+hdf5 (1.10.6+repack-2.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Reintroduce libhdf5-103, libhdf5-cpp-103, libhdf5-openmpi-103,
+ libhdf5-mpich-103 as metapackages 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. (Closes: #988722)
+ The metapackages 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.
+ * Add a new 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 (metapackage)
+ 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 metapackage 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 (metapackage)
+ 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 metapackage 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 (metapackage)
+ 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 metapackage 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 (metapackage)
+ 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 metapackage 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 (metapackage)
+ 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 metapackage 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 (metapackage)
+ 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 metapackage 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 (metapackage)
+ 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 metapackage 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 (metapackage)
+ 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 metapackage 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
+ _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
+ _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
+ _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