[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#730492: RFH: hdf5



Le 04/12/2013 14:28, Sylvestre Ledru a écrit :
> Adding Julien as C/C because he did most of the work during on the last
> transition.
> 
> Le 03/12/2013 14:42, Gilles Filippini a écrit :
>> Sylvestre Ledru a écrit , Le 03/12/2013 12:07:
>>> On 03/12/2013 11:57, Gilles Filippini wrote:
>>>> Gilles Filippini a écrit , Le 01/12/2013 19:06:
>>>> Is that OK for you?
>>> Sounds good. From the results that you can see, do you see a reason to
>>> dump the soname ?
>>
>> I'm afraid you'll have to give me a hint ;) The attached diff file shows:
>> * a few added symbols to the C library
> Not an issue.
> 
>> * quite some randomly removed / added symbols from the C++ library
>> * and a move of the main part of the H5::H5Object interface to a new
>> H5::H5Location class.
>>
>> I really don't know whether the removed / moved interfaces are related
>> to actual entry points of the C++ library. Can you tell me?
> So, we don't have any changes in the C library. So, a nice transition
> would be a waste of time.
> 
> Last time we checked (which was at least a year ago), we did not have
> library using the HDF5 C++ binding. Maybe that changed since then but if
> it didn't (or just for a couple of library), I would not bother.
> 
> Anyway, we might want to create a dedicated library for the C++ binding.
Julien, on IRC, just pointed me the attached patch.

Sylvestre

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-10-08 15:27:41.000000000 +0200
@@ -1,3 +1,9 @@
+hdf5 (1.8.8-9+lglb1) UNRELEASED; urgency=low
+
+  * Bring back the c++ libs to a separate package.
+
+ -- Julien Cristau <julien.cristau@logilab.fr>  Tue, 08 Oct 2013 15:27:17 +0200
+
 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-10-08 18:11:24.000000000 +0200
@@ -44,11 +44,27 @@
  .
  This package contains debug libraries.
 
+Package: libhdf5-7-cpp
+Section: libs
+Priority: extra
+Architecture: any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+ libhdf5-7 (= ${binary:Version}),
+Description: Hierarchical Data Format 5 (HDF5) - C++ libraries
+ 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 C++ libraries.
+
 Package: libhdf5-dev
 Section: libdevel
 Architecture: any
 Depends: libhdf5-7 (= ${binary:Version}), zlib1g-dev, libjpeg-dev,
- ${misc:Depends}, hdf5-helpers
+ ${misc:Depends}, hdf5-helpers, libhdf5-7-cpp (= ${binary:Version})
 Suggests: libhdf5-doc
 Provides: libhdf5-serial-dev
 Replaces: libhdf5-serial-dev (<< 1.8.8-2)
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-10-08 15:30:14.000000000 +0200
@@ -44,11 +44,27 @@
  .
  This package contains debug libraries.
 
+Package: libhdf5-@SONAME@-cpp
+Section: libs
+Priority: extra
+Architecture: any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+ libhdf5-@SONAME@ (= ${binary:Version}),
+Description: Hierarchical Data Format 5 (HDF5) - C++ libraries
+ 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 C++ libraries.
+
 Package: libhdf5-dev
 Section: libdevel
 Architecture: any
 Depends: libhdf5-@SONAME@ (= ${binary:Version}), zlib1g-dev, libjpeg-dev,
- ${misc:Depends}, hdf5-helpers
+ ${misc:Depends}, hdf5-helpers, libhdf5-@SONAME@-cpp (= ${binary:Version})
 Suggests: libhdf5-doc
 Provides: libhdf5-serial-dev
 Replaces: libhdf5-serial-dev (<< 1.8.8-2)
diff -Nru hdf5-1.8.8/debian/libhdf5-7-cpp.install hdf5-1.8.8/debian/libhdf5-7-cpp.install
--- hdf5-1.8.8/debian/libhdf5-7-cpp.install	1970-01-01 01:00:00.000000000 +0100
+++ hdf5-1.8.8/debian/libhdf5-7-cpp.install	2013-10-08 15:22:58.000000000 +0200
@@ -0,0 +1,2 @@
+usr/lib/libhdf5_cpp.so.7*
+usr/lib/libhdf5_hl_cpp.so.7*
diff -Nru hdf5-1.8.8/debian/rules hdf5-1.8.8/debian/rules
--- hdf5-1.8.8/debian/rules	2012-03-08 11:09:08.000000000 +0100
+++ hdf5-1.8.8/debian/rules	2013-10-08 18:06:33.000000000 +0200
@@ -91,7 +91,7 @@
 		  --with-pthread --enable-linux-lfs --enable-unsupported \
 		  --enable-shared --enable-production=$(USE_PROD) \
 		  --disable-sharedlib-rpath --with-zlib --with-default-api-version=v18
-SERIAL_ONLY_FLAGS = --enable-fortran --enable-threadsafe
+SERIAL_ONLY_FLAGS = --enable-fortran --enable-threadsafe --enable-cxx
 
 configure: configure-stamp-debian configure-stamp \
 	   $(configure_stamp_openmpi) configure-stamp-mpich2
@@ -186,8 +186,9 @@
 	dh_testroot
 	-mkdir debian/build/tmpinst
 	$(MAKE) -C debian/build/ install prefix=$(CURDIR)/debian/build/tmpinst/usr
-	dh_install -p$(serpack) -p$(package)-dev -phdf5-helpers -phdf5-tools \
+	dh_install -p$(serpack) -p$(package)-dev -phdf5-helpers -phdf5-tools -p$(serpack)-cpp \
 		--sourcedir=debian/build/tmpinst
+	find debian/$(serpack)/usr/lib -name '*cpp*' -delete
 
 install-openmpi: build-stamp-openmpi
 	dh_testdir
@@ -235,6 +236,7 @@
 	dh_strip -phdf5-tools
 	dh_strip -phdf5-helpers
 	dh_strip -p$(serpack) --dbg-package=$(serpack)-dbg
+	dh_strip -p$(serpack)-cpp
 	dh_strip -p$(mpich2pack) --dbg-package=$(mpich2pack)-dbg
 ifeq ($(build_openmpi),yes)
 	dh_strip -p$(openmpipack) --dbg-package=$(openmpipack)-dbg
@@ -246,8 +248,10 @@
 endif
 	dh_makeshlibs -p$(mpich2pack) -V $(mpich2pack)
 	dh_makeshlibs -p$(serpack) -V "$(serpack) | $(virtpack)"
+	dh_makeshlibs -p$(serpack)-cpp
 	dh_installdeb $(ARCH_FLAG)
 	dh_shlibdeps -p$(serpack) -L$(serpack) -ldebian/$(serpack)/usr/lib:debian/build/test/.libs
+	dh_shlibdeps -p$(serpack)-cpp -L$(serpack) -ldebian/$(serpack)/usr/lib
 	dh_shlibdeps -phdf5-tools -L$(serpack) -ldebian/$(serpack)/usr/lib:debian/build/test/.libs
 	dh_shlibdeps -phdf5-helpers -L$(serpack) -ldebian/$(serpack)/usr/lib:debian/build/test/.libs
 ifeq ($(build_openmpi),yes)
diff -Nru hdf5-1.8.8/debian/shlibs.in hdf5-1.8.8/debian/shlibs.in
--- hdf5-1.8.8/debian/shlibs.in	2012-02-14 13:37:37.000000000 +0100
+++ hdf5-1.8.8/debian/shlibs.in	2013-10-08 16:16:10.000000000 +0200
@@ -1,8 +1,8 @@
-libhdf5_cpp 7 libhdf5-@SONAME@
+libhdf5_cpp 7 libhdf5-@SONAME@-cpp
 libhdf5_fortran 7 libhdf5-@SONAME@
 libhdf5 7 libhdf5-@SONAME@ | libhdf5-openmpi-@SONAME@ | libhdf5-mpich2-@SONAME@
 libh5test 7 libhdf5-@SONAME@ | libhdf5-openmpi-@SONAME@ | libhdf5-mpich2-@SONAME@
 libhdf5_hl 7 libhdf5-@SONAME@ | libhdf5-openmpi-@SONAME@ | libhdf5-mpich2-@SONAME@
-libhdf5_hl_cpp 7 libhdf5-@SONAME@ | libhdf5-openmpi-@SONAME@ | libhdf5-mpich2-@SONAME@
+libhdf5_hl_cpp 7 libhdf5-@SONAME@-cpp
 libhdf5hl_fortran 7 libhdf5-@SONAME@ | libhdf5-openmpi-@SONAME@ | libhdf5-mpich2-@SONAME@
 

Reply to: