Followup-For: Bug #667599
Control: tag -1 patch

Hi,

after having tested a lot of modifications, I think I found a solution
that provides smoother hdf5 upgrade paths from squeeze.

As that is primarily an apt bug in squeeze, we need to work around it
somehow.

I'm not sure if this also solves the issue switching from mpi to serial
variant during upgrades.


Andreas
diffstat for hdf5-1.8.8 hdf5-1.8.8

 changelog  |   21 +++++++++++++++++++++
 control    |   43 ++++++++++++++++++++++++++++---------------
 control.in |   43 ++++++++++++++++++++++++++++---------------
 3 files changed, 77 insertions(+), 30 deletions(-)

diff -Nru hdf5-1.8.8/debian/changelog hdf5-1.8.8/debian/changelog
--- hdf5-1.8.8/debian/changelog	2012-03-08 11:09:55.000000000 +0100
+++ hdf5-1.8.8/debian/changelog	2013-02-25 11:26:57.000000000 +0100
@@ -1,3 +1,24 @@
+hdf5 (1.8.8-9.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Remove unneded Conflicts/Replaces/Provides to help apt finding a proper
+    upgrade path. Suggested by Margarita Manterola.  (Closes: #667599)
+    - Drop Conflicts/Provides: libhdf5-@MAJOR_VERSION@.
+    - Drop Conflicts/Replaces: libhdf5-1.8.4, libhdf5-*-1.8.4. The library
+      packages from squeeze are co-installable without file conflicts.
+  * libhdf5{,-mpich2,-openmpi}-7: Add Breaks: libnetcdf6 (<< 1:4.1.1-7~) to
+    ease upgrades from squeeze. Apt (the squeeze version) may assign
+    priorities that cause a precedence of libhdf5-7 > libnetcdf6 > libnetcdfc7
+    resulting in netcdf not being upgraded in some upgrade paths.
+  * libhdf5{,-mpich2,-openmpi}-dev: Add unversioned Conflicts: libjpeg62-dev
+    to "fix" the libjpeg-dev transition on some upgrade paths by preventing
+    apt from holding back libjpeg62-dev/squeeze (to satisfy Depends:
+    libjpeg-dev) instead of installing libjpeg8-dev/wheezy and removing
+    libjpeg62-dev. Versioned Breaks/Conflicts did not achieve this, causing
+    the hdf5 stack not being upgraded in some cases.
+
+ -- Andreas Beckmann <a...@debian.org>  Mon, 25 Feb 2013 11:26:57 +0100
+
 hdf5 (1.8.8-9) unstable; urgency=low
 
   * Force the dependency on the serpack for hdf5-tools & hdf5-helpers.
diff -Nru hdf5-1.8.8/debian/control hdf5-1.8.8/debian/control
--- hdf5-1.8.8/debian/control	2012-03-08 11:18:22.000000000 +0100
+++ hdf5-1.8.8/debian/control	2013-02-25 11:29:07.000000000 +0100
@@ -17,11 +17,15 @@
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: libhdf5-7, libhdf5-1.8,
- libhdf5-1.8.4, libhdf5-serial-1.8.4, libhdf5-1.8.6, libhdf5-serial-1.8.6,
+Conflicts: libhdf5-7,
+ libhdf5-1.8.6, libhdf5-serial-1.8.6,
  libhdf5-1.8.7, libhdf5-serial-1.8.7
-Provides: libhdf5-7, libhdf5-1.8
-Replaces: libhdf5-1.8.4, libhdf5-serial-1.8.4, libhdf5-1.8.6, libhdf5-serial-1.8.6, libhdf5-1.8.7, libhdf5-serial-1.8.7
+Provides: libhdf5-7,
+Replaces:
+ libhdf5-1.8.6, libhdf5-serial-1.8.6,
+ libhdf5-1.8.7, libhdf5-serial-1.8.7
+Breaks:
+ libnetcdf6 (<< 1:4.1.1-7~),
 Description: Hierarchical Data Format 5 (HDF5) - runtime files - serial version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -52,7 +56,8 @@
 Suggests: libhdf5-doc
 Provides: libhdf5-serial-dev
 Replaces: libhdf5-serial-dev (<< 1.8.8-2)
-Conflicts: libhdf5-serial-dev (<< 1.8.8-2)
+Conflicts: libhdf5-serial-dev (<< 1.8.8-2),
+ libjpeg62-dev,
 Description: Hierarchical Data Format 5 (HDF5) - development files - serial version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -78,12 +83,15 @@
 Priority: extra
 Architecture: alpha armel armhf amd64 i386 ia64 powerpc sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: libhdf5-7, libhdf5-1.8,
- libhdf5-1.8.4, libhdf5-openmpi-1.8.4, libhdf5-1.8.6, libhdf5-openmpi-1.8.6,
+Conflicts: libhdf5-7,
+ libhdf5-1.8.6, libhdf5-openmpi-1.8.6,
  libhdf5-1.8.7, libhdf5-openmpi-1.8.7
-Provides: libhdf5-7, libhdf5-1.8
-Replaces: libhdf5-1.8.4, libhdf5-openmpi-1.8.4, libhdf5-1.8.6, libhdf5-openmpi-1.8.6,
+Provides: libhdf5-7,
+Replaces:
+ libhdf5-1.8.6, libhdf5-openmpi-1.8.6,
  libhdf5-1.8.7, libhdf5-openmpi-1.8.7
+Breaks:
+ libnetcdf6 (<< 1:4.1.1-7~),
 Description: Hierarchical Data Format 5 (HDF5) - runtime files - OpenMPI version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -98,7 +106,8 @@
 Architecture: alpha armel armhf amd64 i386 ia64 powerpc sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386
 Depends: libhdf5-openmpi-7 (= ${binary:Version}), zlib1g-dev,
  libjpeg-dev, libopenmpi-dev, ${misc:Depends}, hdf5-helpers
-Conflicts: libhdf5-dev
+Conflicts: libhdf5-dev,
+ libjpeg62-dev,
 Provides: libhdf5-dev
 Suggests: libhdf5-doc
 Description: Hierarchical Data Format 5 (HDF5) - development files - OpenMPI version
@@ -128,12 +137,15 @@
 Priority: extra
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: libhdf5-7, libhdf5-1.8, 
- libhdf5-1.8.4,  libhdf5-mpich2-1.8.4, libhdf5-1.8.6,  libhdf5-mpich2-1.8.6,
+Conflicts: libhdf5-7,
+ libhdf5-1.8.6, libhdf5-mpich2-1.8.6,
  libhdf5-1.8.7, libhdf5-mpich2-1.8.7
-Provides: libhdf5-7, libhdf5-1.8
-Replaces: libhdf5-1.8.4, libhdf5-mpich2-1.8.4, libhdf5-1.8.6, libhdf5-mpich2-1.8.6,
+Provides: libhdf5-7,
+Replaces:
+ libhdf5-1.8.6, libhdf5-mpich2-1.8.6,
  libhdf5-1.8.7, libhdf5-mpich2-1.8.7
+Breaks:
+ libnetcdf6 (<< 1:4.1.1-7~),
 Description: Hierarchical Data Format 5 (HDF5) - runtime files - MPICH2 version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -149,7 +161,8 @@
 Architecture: any
 Depends: libhdf5-mpich2-7 (= ${binary:Version}), zlib1g-dev,
  libjpeg-dev, libmpich2-dev, ${misc:Depends}, hdf5-helpers
-Conflicts: libhdf5-dev
+Conflicts: libhdf5-dev,
+ libjpeg62-dev,
 Provides: libhdf5-dev
 Suggests: libhdf5-doc
 Description: Hierarchical Data Format 5 (HDF5) - development files - MPICH2 version
diff -Nru hdf5-1.8.8/debian/control.in hdf5-1.8.8/debian/control.in
--- hdf5-1.8.8/debian/control.in	2012-03-08 10:33:48.000000000 +0100
+++ hdf5-1.8.8/debian/control.in	2013-02-24 22:10:17.000000000 +0100
@@ -17,11 +17,15 @@
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: libhdf5-@SONAME@, libhdf5-@MAJOR_VERSION@,
- libhdf5-1.8.4, libhdf5-serial-1.8.4, libhdf5-1.8.6, libhdf5-serial-1.8.6,
+Conflicts: libhdf5-@SONAME@,
+ libhdf5-1.8.6, libhdf5-serial-1.8.6,
  libhdf5-1.8.7, libhdf5-serial-1.8.7
-Provides: libhdf5-@SONAME@, libhdf5-@MAJOR_VERSION@
-Replaces: libhdf5-1.8.4, libhdf5-serial-1.8.4, libhdf5-1.8.6, libhdf5-serial-1.8.6, libhdf5-1.8.7, libhdf5-serial-1.8.7
+Provides: libhdf5-@SONAME@,
+Replaces:
+ libhdf5-1.8.6, libhdf5-serial-1.8.6,
+ libhdf5-1.8.7, libhdf5-serial-1.8.7
+Breaks:
+ libnetcdf6 (<< 1:4.1.1-7~),
 Description: Hierarchical Data Format 5 (HDF5) - runtime files - serial version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -52,7 +56,8 @@
 Suggests: libhdf5-doc
 Provides: libhdf5-serial-dev
 Replaces: libhdf5-serial-dev (<< 1.8.8-2)
-Conflicts: libhdf5-serial-dev (<< 1.8.8-2)
+Conflicts: libhdf5-serial-dev (<< 1.8.8-2),
+ libjpeg62-dev,
 Description: Hierarchical Data Format 5 (HDF5) - development files - serial version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -78,12 +83,15 @@
 Priority: extra
 Architecture: @ARCHS@
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: libhdf5-@SONAME@, libhdf5-@MAJOR_VERSION@,
- libhdf5-1.8.4, libhdf5-openmpi-1.8.4, libhdf5-1.8.6, libhdf5-openmpi-1.8.6,
+Conflicts: libhdf5-@SONAME@,
+ libhdf5-1.8.6, libhdf5-openmpi-1.8.6,
  libhdf5-1.8.7, libhdf5-openmpi-1.8.7
-Provides: libhdf5-@SONAME@, libhdf5-@MAJOR_VERSION@
-Replaces: libhdf5-1.8.4, libhdf5-openmpi-1.8.4, libhdf5-1.8.6, libhdf5-openmpi-1.8.6,
+Provides: libhdf5-@SONAME@,
+Replaces:
+ libhdf5-1.8.6, libhdf5-openmpi-1.8.6,
  libhdf5-1.8.7, libhdf5-openmpi-1.8.7
+Breaks:
+ libnetcdf6 (<< 1:4.1.1-7~),
 Description: Hierarchical Data Format 5 (HDF5) - runtime files - OpenMPI version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -98,7 +106,8 @@
 Architecture: @ARCHS@
 Depends: libhdf5-openmpi-@SONAME@ (= ${binary:Version}), zlib1g-dev,
  libjpeg-dev, libopenmpi-dev, ${misc:Depends}, hdf5-helpers
-Conflicts: libhdf5-dev
+Conflicts: libhdf5-dev,
+ libjpeg62-dev,
 Provides: libhdf5-dev
 Suggests: libhdf5-doc
 Description: Hierarchical Data Format 5 (HDF5) - development files - OpenMPI version
@@ -128,12 +137,15 @@
 Priority: extra
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Conflicts: libhdf5-@SONAME@, libhdf5-@MAJOR_VERSION@, 
- libhdf5-1.8.4,  libhdf5-mpich2-1.8.4, libhdf5-1.8.6,  libhdf5-mpich2-1.8.6,
+Conflicts: libhdf5-@SONAME@,
+ libhdf5-1.8.6, libhdf5-mpich2-1.8.6,
  libhdf5-1.8.7, libhdf5-mpich2-1.8.7
-Provides: libhdf5-@SONAME@, libhdf5-@MAJOR_VERSION@
-Replaces: libhdf5-1.8.4, libhdf5-mpich2-1.8.4, libhdf5-1.8.6, libhdf5-mpich2-1.8.6,
+Provides: libhdf5-@SONAME@,
+Replaces:
+ libhdf5-1.8.6, libhdf5-mpich2-1.8.6,
  libhdf5-1.8.7, libhdf5-mpich2-1.8.7
+Breaks:
+ libnetcdf6 (<< 1:4.1.1-7~),
 Description: Hierarchical Data Format 5 (HDF5) - runtime files - MPICH2 version
  HDF5 is a file format and library for storing scientific data. 
  HDF5 was designed and implemented to address the deficiencies of
@@ -149,7 +161,8 @@
 Architecture: any
 Depends: libhdf5-mpich2-@SONAME@ (= ${binary:Version}), zlib1g-dev,
  libjpeg-dev, libmpich2-dev, ${misc:Depends}, hdf5-helpers
-Conflicts: libhdf5-dev
+Conflicts: libhdf5-dev,
+ libjpeg62-dev,
 Provides: libhdf5-dev
 Suggests: libhdf5-doc
 Description: Hierarchical Data Format 5 (HDF5) - development files - MPICH2 version

Reply via email to