[hdf5] 01/04: New binary packages libhdf5-java and libhdf5-jni

Gilles Filippini pini at debian.org
Tue Nov 29 09:26:49 UTC 2016


This is an automated email from the git hooks/post-receive script.

pini pushed a commit to branch master-1.10
in repository hdf5.

commit 9e3c9302e5b1f0da377bbb69848d97d09cf944ec
Author: Gilles Filippini <pini at debian.org>
Date:   Thu Nov 3 20:38:12 2016 +0100

    New binary packages libhdf5-java and libhdf5-jni
---
 debian/changelog              |  7 +++++++
 debian/control                | 22 +++++++++++++++++++++-
 debian/control.in             | 22 +++++++++++++++++++++-
 debian/libhdf5-doc.doc-base   |  2 +-
 debian/libhdf5-java.jlibs     |  1 +
 debian/libhdf5-jni.install.in |  1 +
 debian/rules                  | 36 ++++++++++++++++++++++++++----------
 7 files changed, 78 insertions(+), 13 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 72cec6f..b87be5f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+hdf5 (1.10.0-patch1+docs-2~exp1) experimental; urgency=medium
+
+  * New binary packages for the java wrapper library which is now
+    integrated into the HDF5 source tree: libhdf5-java and libhdf5-jni
+
+ -- Gilles Filippini <pini at debian.org>  Thu, 03 Nov 2016 20:37:50 +0100
+
 hdf5 (1.10.0-patch1+docs-1) unstable; urgency=medium
 
   * Upload to unstable
diff --git a/debian/control b/debian/control
index 5bf9143..6ca1eb8 100644
--- a/debian/control
+++ b/debian/control
@@ -4,10 +4,11 @@ Priority: optional
 Maintainer: Debian GIS Project <pkg-grass-devel at lists.alioth.debian.org>
 Uploaders: Francesco Paolo Lovergine <frankie at debian.org>,
  Gilles Filippini <pini at debian.org>
-Build-Depends: debhelper (>= 9~), mpi-default-dev, libmpich-dev, zlib1g-dev,
+Build-Depends: debhelper (>= 10~), mpi-default-dev, libmpich-dev, zlib1g-dev,
  libjpeg-dev, gfortran,
  sharutils, chrpath, autotools-dev, automake, dh-autoreconf,
  libaec-dev,
+ default-jdk-headless, javahelper,
 Build-Depends-Indep:
  doxygen, php-cli,
 Standards-Version: 3.9.8
@@ -184,3 +185,22 @@ Depends: libhdf5-dev, ${misc:Depends}
 Description: transitional dummy package
  This package is a transitionnal package from libhdf5-serial-dev to
  libhdf5-dev. It can safely be removed.
+
+Package: libhdf5-java
+Section: java
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${java:Depends}, libhdf5-jni
+Description: Hierarchical Data Format 5 (HDF5) - Java Wrapper Library
+ 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 java wrapper library for HDF5.
+
+Package: libhdf5-jni
+Architecture: any
+Multi-Arch: same
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: native library used by libhdf5-java
+ This package is only useful with libhdf5-java.
diff --git a/debian/control.in b/debian/control.in
index a0e8cba..6585f19 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -4,10 +4,11 @@ Priority: optional
 Maintainer: Debian GIS Project <pkg-grass-devel at lists.alioth.debian.org>
 Uploaders: Francesco Paolo Lovergine <frankie at debian.org>,
  Gilles Filippini <pini at debian.org>
-Build-Depends: debhelper (>= 9~), mpi-default-dev, libmpich-dev, zlib1g-dev,
+Build-Depends: debhelper (>= 10~), mpi-default-dev, libmpich-dev, zlib1g-dev,
  libjpeg-dev, gfortran,
  sharutils, chrpath, autotools-dev, automake, dh-autoreconf,
  libaec-dev,
+ default-jdk-headless, javahelper,
 Build-Depends-Indep:
  doxygen, php-cli,
 Standards-Version: 3.9.8
@@ -184,3 +185,22 @@ Depends: libhdf5-dev, ${misc:Depends}
 Description: transitional dummy package
  This package is a transitionnal package from libhdf5-serial-dev to
  libhdf5-dev. It can safely be removed.
+
+Package: libhdf5-java
+Section: java
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${java:Depends}, libhdf5-jni
+Description: Hierarchical Data Format 5 (HDF5) - Java Wrapper Library
+ 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 java wrapper library for HDF5.
+
+Package: libhdf5-jni
+Architecture: any
+Multi-Arch: same
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: native library used by libhdf5-java
+ This package is only useful with libhdf5-java.
diff --git a/debian/libhdf5-doc.doc-base b/debian/libhdf5-doc.doc-base
index 3635b23..52463c7 100644
--- a/debian/libhdf5-doc.doc-base
+++ b/debian/libhdf5-doc.doc-base
@@ -1,7 +1,7 @@
 Document: libhdf5
 Title: HDF5 manual
 Author: National Center for Supercomputing Applications (NCSA)
-Abstract: Hierachical Data Format 5 (HDF5) - Documentation
+Abstract: Hierarchical Data Format 5 (HDF5) - Documentation
  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
diff --git a/debian/libhdf5-java.jlibs b/debian/libhdf5-java.jlibs
new file mode 100644
index 0000000..ea365e7
--- /dev/null
+++ b/debian/libhdf5-java.jlibs
@@ -0,0 +1 @@
+debian/build-serial/java/src/jarhdf5.jar
diff --git a/debian/libhdf5-jni.install.in b/debian/libhdf5-jni.install.in
new file mode 100644
index 0000000..79f9958
--- /dev/null
+++ b/debian/libhdf5-jni.install.in
@@ -0,0 +1 @@
+usr/lib/@MULTIARCH@/jni/libhdf5_java.so usr/lib/@MULTIARCH@/jni
diff --git a/debian/rules b/debian/rules
index eea2244..13d3522 100755
--- a/debian/rules
+++ b/debian/rules
@@ -17,6 +17,7 @@
 
 package = libhdf5
 pkgversion ?= $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')
+upstreamversion ?= $(shell echo $(pkgversion) | sed -r 's/^([0-9\.]*)([-~][^-~+]*)?(\+docs[0-9]*)?-[^-]*$$/\1\2/')
 libversion ?= $(shell echo $(pkgversion) | sed -r 's/^([0-9\.]*)([-~][^-~+]*)?(\+docs[0-9]*)?-[^-]*$$/\1/')
 
 # BEGIN - Get sonames from config/lt_vers.am
@@ -38,6 +39,7 @@ SONAM%:
 # END - Get sonames from config/lt_vers.am
 
 serpack = $(package)-$(SONAME)
+serpackdev = $(package)-dev
 sercpppack = $(package)-cpp-$(SONAME_CXX)
 openmpipack = $(package)-openmpi-$(SONAME)
 mpichpack = $(package)-mpich-$(SONAME)
@@ -100,7 +102,7 @@ CONFIGURE_FLAGS = --prefix=/usr --host=$(DEB_HOST_GNU_TYPE) \
 		  --with-szlib \
 		  --enable-fortran --enable-fortran2003
 FLAVOR_FLAGS = --includedir=\$${prefix}/include/hdf5/$(1) --with-flavor=$(1)
-SERIAL_FLAGS = $(call FLAVOR_FLAGS,serial) --enable-threadsafe --enable-cxx
+SERIAL_FLAGS = $(call FLAVOR_FLAGS,serial) --enable-threadsafe --enable-cxx --enable-java
 OPENMPI_FLAGS = $(call FLAVOR_FLAGS,openmpi) --enable-parallel=yes
 MPICH_FLAGS = $(call FLAVOR_FLAGS,mpich) --enable-parallel=yes
 
@@ -134,7 +136,7 @@ DEBIAN_OUT := $(shell \
 
 
 # Informative target
-info: VARIABLES := package pkgversion libversion $(foreach interface,$(INTERFACES),SONAME$(istr))
+info: VARIABLES := package pkgversion upstreamversion libversion $(foreach interface,$(INTERFACES),SONAME$(istr))
 info: VARIABLES += FLAVORS DH_OPTIONS DEBIAN_OUT
 info:
 	@$(foreach var,$(VARIABLES), echo "$(shell printf "%30s" "$(var)") = $($(var))" &&) true
@@ -175,7 +177,7 @@ $(foreach flavor,$(FLAVORS),$(eval $(call helper_flavor_rule,$(flavor),$(flavorp
 
 
 %:
-	dh $@
+	dh $@ --with javahelper
 
 override_dh_auto_clean: debian/control
 	rm -fr $(DEBIAN_OUT)
@@ -211,15 +213,22 @@ override_dh_auto_build-arch: $(foreach flavor,$(FLAVORS),build_$(flavor))
 override_dh_auto_test:
 
 install_%: flavor = $(patsubst install_%,%,$@)
-install_%: builddir = debian/build-$(flavor)
+install_%: builddir = $(CURDIR)/debian/build-$(flavor)
 install_%: destdir = $(builddir)/tmpinst
+install_%: destdir_jni = $(builddir)/tmpinst-jni
 install_%:
 	dh_auto_install --builddirectory=$(builddir) --destdir=$(destdir)
 	chrpath -d $(destdir)/usr/lib/*/libhdf5*so*
 
+override_dh_auto_install-arch: serial_builddir = $(CURDIR)/debian/build-serial
+override_dh_auto_install-arch: serial_destdir = $(serial_builddir)/tmpinst
 override_dh_auto_install-arch: $(foreach flavor,$(FLAVORS),install_$(flavor))
+	dh_auto_install --builddirectory=$(serial_builddir)/java/src/jni --destdir=$(serial_destdir)
+	jnilib=$(serial_destdir)/usr/lib/$(DEB_HOST_MULTIARCH)/libhdf5_java.so && \
+	install -D $(serial_destdir)/usr/lib/$(DEB_HOST_MULTIARCH)/libhdf5_java.so \
+		$(serial_destdir)/usr/lib/$(DEB_HOST_MULTIARCH)/jni/libhdf5_java.so
 
-PACKAGES_serial := $(serpack) $(package)-dev hdf5-helpers hdf5-tools $(sercpppack)
+PACKAGES_serial := $(serpack) $(package)-dev hdf5-helpers hdf5-tools $(sercpppack) libhdf5-java libhdf5-jni
 PACKAGES_openmpi := $(openmpipack) $(package)-openmpi-dev
 PACKAGES_mpich := $(mpichpack) $(package)-mpich-dev
 
@@ -241,11 +250,18 @@ endef
 
 override_dh_install-arch: $(foreach flavor,$(FLAVORS),dh_install_$(flavor))
 	find debian/$(serpack)/usr/lib -name '*cpp*' -delete
+	rm -f debian/$(serpackdev)/usr/lib/$(DEB_HOST_MULTIARCH)/libhdf5_java*
 
 override_dh_makeshlibs:
 	DPKG_GENSYMBOLS_CHECK_LEVEL=0 dh_makeshlibs -- -v$(libversion)
 	echo "hdf5-mpi-dev=libhdf5-$(DEFAULT_MPI)-dev" >> debian/libhdf5-mpi-dev.substvars
 
+override_dh_shlibdeps:
+	# Workaround for #842881; this forces /usr/lib/$(DEB_HOST_MULTIARCH)
+	# before /usr/lib in the search path, so that the right
+	# libmpich.so.12 is matched first
+	dh_shlibdeps -l/usr/lib/$(DEB_HOST_MULTIARCH)
+
 build_doc:
 	echo "builddeps:Built-Using=doxygen (= $$(dpkg-query -W -f='$${source:Version}' doxygen))" >>debian/libhdf5-doc.substvars
 	# Upgrade the doxygen configuration file
@@ -256,8 +272,8 @@ build_doc:
 	rm -rf html/cpplus_RM
 	mv c++/src/cpplus_RM html/cpplus_RM
 
-install_doc: HTML_DIR := debian/$(package)-doc/usr/share/doc/$(package)-doc/html
-install_doc:
+dh_install_doc: HTML_DIR := debian/$(package)-doc/usr/share/doc/$(package)-doc/html
+dh_install_doc:
 	dh_install -p$(package)-doc -X Dependencies -X Makefile.in -X CppUserNotes.doc
 	# process php in html files
 	find "$(HTML_DIR)"/ -type f -iname '*.html' \
@@ -265,9 +281,9 @@ install_doc:
 	  -exec mv "{}.new" "{}" \;
 
 override_dh_auto_build-indep: build_doc
-override_dh_auto_install-indep: install_doc
-override_dh_install-indep: dh_install_serial
-
+override_dh_auto_install-indep:
+	mv debian/build-serial/java/src/jarhdf5-$(upstreamversion).jar debian/build-serial/java/src/jarhdf5.jar
+override_dh_install-indep: dh_install_serial dh_install_doc
 
 override_dh_installchangelogs:
 	dh_installchangelogs -k release_docs/RELEASE.txt

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/hdf5.git



More information about the Pkg-grass-devel mailing list