[DebianGIS-dev] r1673 - packages/libhdf4/trunk/debian

frankie at alioth.debian.org frankie at alioth.debian.org
Thu Jun 26 12:02:36 UTC 2008


Author: frankie
Date: 2008-06-26 12:02:34 +0000 (Thu, 26 Jun 2008)
New Revision: 1673

Added:
   packages/libhdf4/trunk/debian/NEWS
   packages/libhdf4/trunk/debian/libhdf4g-alt-dev.install
   packages/libhdf4/trunk/debian/libhdf4g-alt.install
Modified:
   packages/libhdf4/trunk/debian/README.Debian
   packages/libhdf4/trunk/debian/changelog
   packages/libhdf4/trunk/debian/control
   packages/libhdf4/trunk/debian/control.in
   packages/libhdf4/trunk/debian/rules
Log:
Providing alternative flavor for HDF4.


Added: packages/libhdf4/trunk/debian/NEWS
===================================================================
--- packages/libhdf4/trunk/debian/NEWS	                        (rev 0)
+++ packages/libhdf4/trunk/debian/NEWS	2008-06-26 12:02:34 UTC (rev 1673)
@@ -0,0 +1,12 @@
+libhdf4 (4.2r3-2) experimental; urgency=low
+
+   The HDF4 libraries are now provided in two different flavors. The
+   traditional one is totally back-compatible and provides embedded a
+   partial NetCDF support. The second flavor (the -alt one) changes
+   the NetCDF function names by prefixing them with sd_ and drops
+   Fortran support so that that libraries flavor can be linked along
+   with the NetCDF library. 
+   
+   See README.Debian for major information about that.
+
+ -- Francesco Paolo Lovergine <frankie at debian.org>  Wed, 25 Jun 2008 23:13:21 +0200

Modified: packages/libhdf4/trunk/debian/README.Debian
===================================================================
--- packages/libhdf4/trunk/debian/README.Debian	2008-06-25 11:56:43 UTC (rev 1672)
+++ packages/libhdf4/trunk/debian/README.Debian	2008-06-26 12:02:34 UTC (rev 1673)
@@ -18,5 +18,15 @@
 
 ftp://ftp.hdfgroup.org/HDF/prev-releases/ReleaseFiles
 
+HDF4 libraries provide a partial NetCDF support embedded, which is only
+partially compatible with the original one. Therefore, the libraries
+are distributed in Debian in two different flavors: the standard
+(traditional) one, with embedded NetCDF functions and Fortran support,
+and the -alt one with a non-colliding namespace for the NetCDF
+functions - thanks to the use of an sd_ prefix - that lacks Fortran
+support. The -alt flavor can be used for creating binaries that
+link both HDF4 and NetCDF libraries without collisions or
+malfunctions.
+
 -- Francesco Paolo Lovergine <frankie at debian.org>  Sat Jun 21 00:11:15 CEST 2008
 

Modified: packages/libhdf4/trunk/debian/changelog
===================================================================
--- packages/libhdf4/trunk/debian/changelog	2008-06-25 11:56:43 UTC (rev 1672)
+++ packages/libhdf4/trunk/debian/changelog	2008-06-26 12:02:34 UTC (rev 1673)
@@ -1,3 +1,22 @@
+libhdf4 (4.2r3-2) experimental; urgency=low
+
+  * Introduced new libhdf4g-alt and libhdf4g-alt-dev packages. See
+    README.Debian for an explanation of the new flavors of the HDF4
+    libraries. Also introduced new SONAMES which correspond to the new
+    libraries. The new -dev package should be used as alternative
+    to the traditional one, mainly for GDAL use, but not exclusively.
+    Note that the two -dev packages are alternative because it is
+    not expected that people use both at the same time.
+    (closes: #488086)
+  * Now libraries are compiled with two different sets of arguments
+    to produce the standard and -alt flavors.
+  * Fixed comments in changelog.
+  * Added Vcs-* fields to debian/control.in.
+  * Synchronized control.in.
+  * Added a NEWS.Debian file.
+
+ -- Francesco Paolo Lovergine <frankie at debian.org>  Wed, 25 Jun 2008 22:42:43 +0200
+
 libhdf4 (4.2r3-1) experimental; urgency=low
 
   The "The long way towards the 3rd millennium!" release.
@@ -28,12 +47,10 @@
   * Debhelper compatibility set to 5.
   * Added a README.source to explain differences introduced into
     upstream sources to support Debian way of life.
-  * Moved to use modern ${binary:Version} in debian/control.
-  * Introduced Homepage field in debian/control.
-  * Added Vcs-* fields to debian/control.
+  * Moved to use modern ${binary:Version} in debian/control.in.
+  * Introduced Homepage field in debian/control.in.
   * Policy bumped to 3.8.0.
   * Added dephelper hooks to libhdf4-doc.{prerm|postinst} scripts.
-  * Added a lintian override file debian/lintian about library source name.
   * New sections used for doc-base headers used in libhdf4g-doc.
   * Removed obsolete groff build-dep.
 

Modified: packages/libhdf4/trunk/debian/control
===================================================================
--- packages/libhdf4/trunk/debian/control	2008-06-25 11:56:43 UTC (rev 1672)
+++ packages/libhdf4/trunk/debian/control	2008-06-26 12:02:34 UTC (rev 1673)
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Debian GIS Project <pkg-grass-devel at lists.alioth.debian.org>
 Uploaders: Francesco Paolo Lovergine <frankie at debian.org>
-Build-depends: debhelper (>=5.0), gfortran, sharutils, libjpeg62-dev, zlib1g-dev, bison, flex, autotools-dev, quilt
+Build-depends: debhelper (>=5.0), gfortran, sharutils, libjpeg62-dev, zlib1g-dev, bison, flex, groff, autotools-dev, quilt
 Standards-Version: 3.8.0
 Homepage: http://www.hdfgroup.com/
 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-grass/packages/libhdf4/trunk
@@ -49,7 +49,7 @@
  HDF files.
 
 Package: libhdf4g-dev
-Section: libdevel
+Section: devel
 Priority: optional
 Architecture: any
 Depends: libhdf4g (= ${binary:Version}), zlib1g-dev, libjpeg62-dev
@@ -81,3 +81,42 @@
  .
  This package contains user guide and reference manual for HDF format
  and API
+
+Package: libhdf4g-alt
+Section: libs
+Priority: optional
+Architecture: any
+Depends: ${shlibs:Depends}
+Suggests: libhdf4g-doc, libhdf4g-alt-dev, hdf4-tools, libnetcdf4
+Description: The Hierarchical Data Format library -- library package
+ HDF is a multi-object file format for storing and transferring
+ graphical and numerical data mainly used in scientific computing. HDF
+ supports several different data models, including multidimensional
+ arrays, raster images, and tables. Each defines a specific aggregate
+ data type and provides an API for reading, writing, and organizing the
+ data and metadata. New data models can be added by the HDF developers
+ or users.
+ .
+ This package contains the HDF run-time libraries which do not
+ collide with the NetCDF library namespace. Fortran functions
+ are missing in this flavor of the library set.
+
+Package: libhdf4g-alt-dev
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: libhdf4g-alt (= ${binary:Version}), zlib1g-dev, libjpeg62-dev, libnetcdf-dev
+Replaces: libhdf4g-dev
+Conflicts: libhdf4g-dev
+Description: The Hierarchical Data Format library -- development package
+ HDF is a multi-object file format for storing and transferring
+ graphical and numerical data mainly used in scientific computing. HDF
+ supports several different data models, including multidimensional
+ arrays, raster images, and tables.
+ Each defines a specific aggregate data type and provides an API for
+ reading, writing, and organizing the data and metadata. New data models
+ can be added by the HDF developers or users.
+ .
+ This package contains development stuff, including files and static 
+ library for the HDF package in the flavor compatible with the
+ NetCDF library.

Modified: packages/libhdf4/trunk/debian/control.in
===================================================================
--- packages/libhdf4/trunk/debian/control.in	2008-06-25 11:56:43 UTC (rev 1672)
+++ packages/libhdf4/trunk/debian/control.in	2008-06-26 12:02:34 UTC (rev 1673)
@@ -6,6 +6,8 @@
 Build-depends: debhelper (>=5.0), gfortran, sharutils, libjpeg62-dev, zlib1g-dev, bison, flex, groff, autotools-dev, quilt
 Standards-Version: 3.8.0
 Homepage: http://www.hdfgroup.com/
+Vcs-Browser: http://svn.debian.org/viewsvn/pkg-grass/packages/libhdf4/trunk
+Vcs-Svn: svn://svn.debian.org/svn/pkg-grass/packages/libhdf4/trunk
 
 Package: @PACKAGE@
 Section: libs
@@ -79,3 +81,42 @@
  .
  This package contains user guide and reference manual for HDF format
  and API
+
+Package: @PACKAGE at -alt
+Section: libs
+Priority: optional
+Architecture: any
+Depends: ${shlibs:Depends}
+Suggests: @PACKAGE at -doc, @PACKAGE at -alt-dev, hdf4-tools, libnetcdf4
+Description: The Hierarchical Data Format library -- library package
+ HDF is a multi-object file format for storing and transferring
+ graphical and numerical data mainly used in scientific computing. HDF
+ supports several different data models, including multidimensional
+ arrays, raster images, and tables. Each defines a specific aggregate
+ data type and provides an API for reading, writing, and organizing the
+ data and metadata. New data models can be added by the HDF developers
+ or users.
+ .
+ This package contains the HDF run-time libraries which do not
+ collide with the NetCDF library namespace. Fortran functions
+ are missing in this flavor of the library set.
+
+Package: @PACKAGE at -alt-dev
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: @PACKAGE at -alt (= ${binary:Version}), zlib1g-dev, libjpeg62-dev, libnetcdf-dev
+Replaces: @PACKAGE at -dev
+Conflicts: @PACKAGE at -dev
+Description: The Hierarchical Data Format library -- development package
+ HDF is a multi-object file format for storing and transferring
+ graphical and numerical data mainly used in scientific computing. HDF
+ supports several different data models, including multidimensional
+ arrays, raster images, and tables.
+ Each defines a specific aggregate data type and provides an API for
+ reading, writing, and organizing the data and metadata. New data models
+ can be added by the HDF developers or users.
+ .
+ This package contains development stuff, including files and static 
+ library for the HDF package in the flavor compatible with the
+ NetCDF library.

Added: packages/libhdf4/trunk/debian/libhdf4g-alt-dev.install
===================================================================
--- packages/libhdf4/trunk/debian/libhdf4g-alt-dev.install	                        (rev 0)
+++ packages/libhdf4/trunk/debian/libhdf4g-alt-dev.install	2008-06-26 12:02:34 UTC (rev 1673)
@@ -0,0 +1,4 @@
+usr/lib-alt/lib*.a  usr/lib
+usr/lib-alt/lib*.so usr/lib
+usr/include-alt/hdf usr/include
+usr/share/man/man1/hdf.3 usr/share/man/man3

Added: packages/libhdf4/trunk/debian/libhdf4g-alt.install
===================================================================
--- packages/libhdf4/trunk/debian/libhdf4g-alt.install	                        (rev 0)
+++ packages/libhdf4/trunk/debian/libhdf4g-alt.install	2008-06-26 12:02:34 UTC (rev 1673)
@@ -0,0 +1 @@
+usr/lib-alt/lib*.so.4* usr/lib

Modified: packages/libhdf4/trunk/debian/rules
===================================================================
--- packages/libhdf4/trunk/debian/rules	2008-06-25 11:56:43 UTC (rev 1672)
+++ packages/libhdf4/trunk/debian/rules	2008-06-26 12:02:34 UTC (rev 1673)
@@ -9,8 +9,11 @@
 ARCHIVE	:= upstream/HDF$(RELEASE).tar.gz
 PACKAGE := libhdf4g
 DESTDIR	:= $(CURDIR)/debian/tmp
+DESTDIR_ALT	:= $(CURDIR)/debian/tmp-alt
 
 F77     := gfortran
+CC	:= gcc
+CXX	:= g++
 LIBS    := -ljpeg -lz -lm 
 
 ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
@@ -53,28 +56,49 @@
 stamps/unpack-stamp: 
 	dh_testdir
 	tar xzf $(ARCHIVE) 
+	cp -a HDF$(RELEASE) HDF4_ALT
 	mkdir -p stamps
 	touch $@
 
 stamps/patch-stamp:	stamps/unpack-stamp
 	dh_testdir
-	ln -sf HDF$(RELEASE) HDF4
+	rm -f HDF4 && ln -sf HDF$(RELEASE) HDF4
+	# create alternative patches on fly
+	cp -a debian/patches debian/patches-alt
+	sed -e 's/libdf\.so/libdf_alt.so/g' \
+	    -e 's/libmfhdf\.so/libmfhdf_alt.so/g' \
+	    debian/patches/shared >debian/patches-alt/shared
 	QUILT_PATCH_OPTS="-p1" QUILT_PATCHES=debian/patches quilt push -a --color=auto || [ $$? = 2 ]
+	mv -f .pc .pc1
+	rm -f HDF4 && ln -sf HDF4_ALT HDF4 
+	QUILT_PATCH_OPTS="-p1" QUILT_PATCHES=debian/patches-alt quilt push -a --color=auto || [ $$? = 2 ]
+	mv -f .pc .pc2
 	touch $@
 
 unpatch:
 	dh_testdir
+	rm -f HDF4 && ln -sf HDF$(RELEASE) HDF4
+	mv -f .pc1 .pc 
 	QUILT_PATCH_OPTS="-p1" QUILT_PATCHES=debian/patches quilt pop -a || true
-	rm -rf stamps/patch-stamp HDF4 .pc
+	mv -f .pc .pc1
+	rm -rf HDF4 && ln -sf HDF4_ALT HDF4 && mv .pc2 .pc
+	QUILT_PATCH_OPTS="-p1" QUILT_PATCHES=debian/patches-alt quilt pop -a || true
+	mv -f .pc .pc2
+	rm -rf $(CURDIR)/stamps/patch-stamp HDF4 .pc .pc1 .pc2 debian/patches-alt
 
-
-
-
 stamps/build-arch-stamp: stamps/patch-stamp
 	dh_testdir
-	cd HDF4 && F77="$(F77)" ./configure --prefix=/usr --includedir=/usr/include/hdf
-	TESTS_ENVIRONMENT="LD_LIBRARY_PATH=/usr/lib:$(CURDIR)/HDF4/hdf/src:$(CURDIR)/HDF4/mfhdf/libsrc" \
-			$(MAKE) -C HDF4 F77="$(F77)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)"
+	rm -f HDF4 && ln -sf HDF$(RELEASE) HDF4
+	cd HDF4 && F77="$(F77)" CC="$(CC)" CXX="$(CXX)" ./configure --prefix=/usr --includedir=/usr/include/hdf
+	TESTS_ENVIRONMENT="LD_LIBRARY_PATH=$(CURDIR)/HDF4/hdf/src:$(CURDIR)/HDF4/mfhdf/libsrci:/usr/lib" \
+			$(MAKE) -C HDF4 F77="$(F77)"  CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" \
+			                LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)"
+	# build a netcdf compatible flavor, without fortran functions.
+	cd HDF4_ALT && CC="$(CC)" CXX="$(CXX)" ./configure --prefix=/usr --includedir=/usr/include/hdf --disable-netcdf \
+			      				      --disable-fortran
+	TESTS_ENVIRONMENT="LD_LIBRARY_PATH=$(CURDIR)/HDF4_ALT/hdf/src:$(CURDIR)/HDF4_ALT/mfhdf/libsrc:/usr/lib" \
+			$(MAKE) -C HDF4_ALT  CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" \
+			                LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)"
 	touch $@
 
 stamps/build-indep-stamp: stamps/patch-stamp
@@ -99,9 +123,14 @@
 	dh_testdir
 	dh_testroot
 	
+	rm -f HDF4 && ln -sf HDF$(RELEASE) HDF4
 	$(MAKE) -C HDF4 install DESTDIR=$(DESTDIR) 
 	sed -e "s/^\.TH HDF 1/\.TH HDF 3/"  $(DESTDIR)/usr/share/man/man1/hdf.1 >$(DESTDIR)/usr/share/man/man1/hdf.3
 	rm -f $(DESTDIR)/usr/share/man/man1/hdf.1
+	$(MAKE) -C HDF4_ALT install DESTDIR=$(DESTDIR_ALT) 
+	cd $(DESTDIR_ALT)/usr/lib && mv libdf.a libdf_alt.a && mv libmfhdf.a libmfhd_alt.a
+	mv $(DESTDIR_ALT)/usr/lib $(DESTDIR)/usr/lib-alt
+	mv $(DESTDIR_ALT)/usr/include $(DESTDIR)/usr/include-alt
 	
 	touch $@
 
@@ -149,7 +178,7 @@
 clean: debian/control
 	dh_testdir
 	dh_testroot
-	rm -rf stamps HDF$(RELEASE) HDF4 .pc 
+	rm -rf stamps HDF$(RELEASE) HDF4 HDF4_ALT .pc .pc1 .pc2 debian/patches-alt $(DESTDIR_ALT)
 	rm -f patches
 	dh_clean
 




More information about the Pkg-grass-devel mailing list