[netcdf] 06/08: Fix install paths

Alastair McKinstry mckinstry at moszumanska.debian.org
Thu Feb 18 10:58:36 UTC 2016


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

mckinstry pushed a commit to branch dev-coinstallable
in repository netcdf.

commit a3cdede4aa3f339289ea316e3cd8c8888dfe94c2
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Sat Jan 16 20:35:17 2016 +0000

    Fix install paths
---
 debian/TODO                              |  7 ++++
 debian/changelog                         |  2 +-
 debian/control                           | 32 +++++++++++++++
 debian/libnetcdf-dev.install             |  5 ++-
 debian/libnetcdf-dev.postinst.in         | 10 +++++
 debian/libnetcdf-mpi-dev.install         |  7 +++-
 debian/libnetcdf-mpi-dev.postinst.in     | 10 +++++
 debian/libnetcdf-pnetcdf-dev.install     |  6 +++
 debian/libnetcdf-pnetcdf-dev.postinst.in | 10 +++++
 debian/libnetcdf7-mpi.install            |  2 +-
 debian/libnetcdf7-pnetcdf.install        |  1 +
 debian/libnetcdf7.install                |  2 +-
 debian/rules                             | 67 +++++++++++++++++++++++---------
 13 files changed, 136 insertions(+), 25 deletions(-)

diff --git a/debian/TODO b/debian/TODO
new file mode 100644
index 0000000..79f11af
--- /dev/null
+++ b/debian/TODO
@@ -0,0 +1,7 @@
+* Audit symbols files
+* pkg-config. has_* variables not being set?
+* Test nc-config patch.
+* Add pkg-config files to libaec, 
+
+* CMAKE Config files: HAS_PNETCDF not set correctly. Why?
+
diff --git a/debian/changelog b/debian/changelog
index 68e717a..9374947 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,6 @@
 netcdf (1:4.4.0~rc5-1~exp2) UNRELEASED; urgency=medium
 
-  * Test netcdf-parallel changes
+  * Add mpi, pnetcdf variants of netcdf. Closes: #708638.
 
  -- Alastair McKinstry <mckinstry at debian.org>  Thu, 14 Jan 2016 16:56:32 +0000
 
diff --git a/debian/control b/debian/control
index 15cf353..5b14aee 100644
--- a/debian/control
+++ b/debian/control
@@ -74,6 +74,21 @@ Description: Interface for scientific data access to large binary data
  This package contains the C run-time shared libraries required
  by programs.
 
+Package: libnetcdf7-pnetcdf
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Interface for scientific data access to large binary data
+ NetCDF (network Common Data Form) is an interface for scientific
+ data access and a freely-distributed software library that provides an
+ implementation of the interface.  The netCDF library also defines a
+ machine-independent format for representing scientific data.
+ Together, the interface, library, and format support the creation,
+ access, and sharing of scientific data.
+ .
+ This package contains the C run-time shared libraries required
+ by programs.
+
 Package: libnetcdf-dev
 Architecture: any
 Section: libdevel
@@ -113,6 +128,23 @@ Description: creation, access, and sharing of array-oriented scientific data
  .
  This package provides headers.
 
+Package: libnetcdf-pnetcdf-dev
+Architecture: any
+Section: libdevel
+Depends: libnetcdf-dev(= ${binary:Version}),
+         libnetcdf7-pnetcdf (= ${binary:Version}),
+         ${shlibs:Depends}, ${misc:Depends},
+         pkg-config
+Suggests: netcdf-bin, netcdf-doc
+Description: creation, access, and sharing of array-oriented scientific data
+ NetCDF (network Common Data Form) is a set of interfaces for array-oriented
+ data access and a freely distributed collection of data access libraries for
+ C, Fortran, C++, Java, and other languages. The netCDF libraries support a
+ machine-independent format for representing scientific data. Together, the
+ interfaces, libraries, and format support the creation, access, and sharing of
+ scientific data.
+ .
+ This package provides headers.
 
 Package: netcdf-dbg
 Architecture: any
diff --git a/debian/libnetcdf-dev.install b/debian/libnetcdf-dev.install
index bde9845..888bea7 100644
--- a/debian/libnetcdf-dev.install
+++ b/debian/libnetcdf-dev.install
@@ -1,7 +1,8 @@
 usr/bin/nc-config
 usr/include/*
-usr/lib/*/lib*.so
-usr/lib/*/libnetcdf.settings
+usr/lib/*/netcdf/libnetcdf.so
+#usr/lib/*/netcdf/libnetcdf.a
+usr/lib/*/netcdf/serial
 usr/lib/*/cmake/netCDF
 usr/lib/*/pkgconfig/netcdf-serial.pc
 usr/share/man/man3
diff --git a/debian/libnetcdf-dev.postinst.in b/debian/libnetcdf-dev.postinst.in
new file mode 100644
index 0000000..ffa301c
--- /dev/null
+++ b/debian/libnetcdf-dev.postinst.in
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+update-alternatives \
+        --install /usr/lib/@MULTIARCH@/pkgconfig/netcdf.pc netcdf.pc /usr/lib/@MULTIARCH@/pkgconfig/netcdf-serial.pc 40 \
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libnetcdf-mpi-dev.install b/debian/libnetcdf-mpi-dev.install
index cb292fc..a56f410 100644
--- a/debian/libnetcdf-mpi-dev.install
+++ b/debian/libnetcdf-mpi-dev.install
@@ -1 +1,6 @@
-/usr/lib/*/pkgconfig/*mpi*
+usr/lib/*/pkgconfig/netcdf-mpi.pc
+usr/lib/*/libnetcdf_mpi.so
+#usr/lib/*/libnetcdf_mpi.a
+usr/lib/*/netcdf/mpi
+usr/lib/*/netcdf/mpi/libnetcdf.settings
+usr/lib/*/cmake/netCDF_mpi
diff --git a/debian/libnetcdf-mpi-dev.postinst.in b/debian/libnetcdf-mpi-dev.postinst.in
new file mode 100644
index 0000000..541f07b
--- /dev/null
+++ b/debian/libnetcdf-mpi-dev.postinst.in
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+update-alternatives \
+        --install /usr/lib/@MULTIARCH@/pkgconfig/netcdf.pc netcdf.pc /usr/lib/@MULTIARCH@/pkgconfig/netcdf-mpi.pc 50 \
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libnetcdf-pnetcdf-dev.install b/debian/libnetcdf-pnetcdf-dev.install
new file mode 100644
index 0000000..83982ee
--- /dev/null
+++ b/debian/libnetcdf-pnetcdf-dev.install
@@ -0,0 +1,6 @@
+usr/include/netcdf_par.h
+usr/lib/*/libnetcdf_pnetcdf.so
+#usr/lib/*/libnetcdf_pnetcdf.a
+usr/lib/*/netcdf/pnetcdf
+usr/lib/*/pkgconfig/netcdf-pnetcdf.pc
+usr/lib/*/cmake/netCDF_pnetcdf
diff --git a/debian/libnetcdf-pnetcdf-dev.postinst.in b/debian/libnetcdf-pnetcdf-dev.postinst.in
new file mode 100644
index 0000000..cc10951
--- /dev/null
+++ b/debian/libnetcdf-pnetcdf-dev.postinst.in
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+update-alternatives \
+        --install /usr/lib/@MULTIARCH@/pkgconfig/netcdf.pc netcdf.pc /usr/lib/@MULTIARCH@/pkgconfig/netcdf-pnetcdf.pc 45 \
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libnetcdf7-mpi.install b/debian/libnetcdf7-mpi.install
index 7aaf63c..1281e64 100644
--- a/debian/libnetcdf7-mpi.install
+++ b/debian/libnetcdf7-mpi.install
@@ -1 +1 @@
-/usr/lib/*/lib*mpi*.so.*
+usr/lib/*/libnetcdf_mpi.so.*
diff --git a/debian/libnetcdf7-pnetcdf.install b/debian/libnetcdf7-pnetcdf.install
new file mode 100644
index 0000000..0184785
--- /dev/null
+++ b/debian/libnetcdf7-pnetcdf.install
@@ -0,0 +1 @@
+usr/lib/*/libnetcdf_pnetcdf.so.*
diff --git a/debian/libnetcdf7.install b/debian/libnetcdf7.install
index 3ddde58..bbaec81 100644
--- a/debian/libnetcdf7.install
+++ b/debian/libnetcdf7.install
@@ -1 +1 @@
-usr/lib/*/lib*.so.*
+usr/lib/*/libnetcdf.so.*
diff --git a/debian/rules b/debian/rules
index e1897dd..5a2f403 100755
--- a/debian/rules
+++ b/debian/rules
@@ -30,6 +30,12 @@ override_dh_auto_configure:
 	        -DHDF5_INCLUDE_PATH=$(INCDIR)/hdf5/serial \
 	        -DHDF5_LIBRARY_PATH=$(LIBDIR)/hdf5/serial  \
 		-DLIBLIB_VERSION_SCRIPT=-Wl,--version-script,$(CURDIR)/debian/netcdf-serial.ver
+	dh_auto_configure --builddirectory=build-pnetcdf -- \
+		-DCMAKE_SKIP_RPATH:BOOL=ON \
+		-DENABLE_TESTS:BOOL=ON \
+		-DENABLE_DOXYGEN:BOOL=ON \
+		-DENABLE_PNETCDF=ON \
+		-DCMAKE_C_COMPILER=mpicc 
 	dh_auto_configure --builddirectory=build-mpi --  \
 		-DCMAKE_SKIP_RPATH:BOOL=ON \
 		-DENABLE_PARALLEL_TESTS:BOOL=OFF \
@@ -44,35 +50,58 @@ override_dh_auto_configure:
 
 override_dh_auto_build:
 	$(MAKE) -C build-serial 
+	$(MAKE) -C build-pnetcdf
 	$(MAKE) -C build-mpi
 
 override_dh_auto_clean:
-	rm -rf build-* debian/tmp*
+	rm -rf build-* debian/tmp* debian/*.postinst
 
 override_dh_auto_install:
-	$(MAKE) -C build-serial install DESTDIR=$(CURDIR)/debian/tmp
-	$(MAKE) -C build-mpi install DESTDIR=$(CURDIR)/debian/tmp-mpi
-	# rename files. Merge into debian/tmp
-	mv debian/tmp/$(LIBDIR)/libnetcdf.so.7.3.0 debian/tmp/$(LIBDIR)/libnetcdf_serial.so.7.3.0
-	mv debian/tmp/$(LIBDIR)/libnetcdf.so.7     debian/tmp/$(LIBDIR)/libnetcdf_serial.so.7
-	mv debian/tmp/$(LIBDIR)/libnetcdf.so       debian/tmp/$(LIBDIR)/libnetcdf_serial.so
-	mv debian/tmp-mpi/$(LIBDIR)/libnetcdf.so.7.3.0 debian/tmp/$(LIBDIR)/libnetcdf_mpi.so.7.3.0
-	mv debian/tmp-mpi/$(LIBDIR)/libnetcdf.so.7     debian/tmp/$(LIBDIR)/libnetcdf_mpi.so.7
-	mv debian/tmp-mpi/$(LIBDIR)/libnetcdf.so       debian/tmp/$(LIBDIR)/libnetcdf_mpi.so
-	mv debian/tmp-mpi/$(LIBDIR)/libnetcdf.settings debian/tmp/$(LIBDIR)/libnetcdf_mpi.settings
-	mv debian/tmp-mpi/$(LIBDIR)/cmake/netCDF	debian/tmp/$(LIBDIR)/cmake/netCDF_mpi
-	mv debian/tmp/$(LIBDIR)/pkgconfig/netcdf.pc debian/tmp/$(LIBDIR)/pkgconfig/netcdf-serial.pc
-	sed -e 's/-lnetcdf/-lnetcdf_mpi/' < debian/tmp-mpi/$(LIBDIR)/pkgconfig/netcdf.pc \
-		> debian/tmp/$(LIBDIR)/pkgconfig/netcdf-mpi.pc
+	# install all versions
+	for d in serial mpi pnetcdf ; do \
+		$(MAKE) -C build-$$d install DESTDIR=$(CURDIR)/debian/tmp-$$d ; \
+		mkdir -p debian/tmp/$(LIBDIR)/netcdf/$$d/cmake ; \
+		sed -e 's/-lnetcdf/-lnetcdf_$$d/' < debian/tmp-$$d/$(LIBDIR)/pkgconfig/netcdf.pc \
+			> debian/tmp/$(LIBDIR)/pkgconfig/netcdf-$$d.pc ; \
+		cp debian/tmp-$$d/$(LIBDIR)/libnetcdf.settings debian/tmp/$(LIBDIR)/netcdf/$$d/libnetcdf.settings ; \
+		cp -a debian/tmp-$$d/$(LIBDIR)/cmake/netCDF	debian/tmp/$(LIBDIR)/cmake/netCDF_$$d ; \
+		ln -fs $(LIBDIR)/cmake/netCDF_$$d 	debian/tmp/$(LIBDIR)/netcdf/$$d/cmake/netCDF ; \
+		done
+	# Parallel versions
+	for d in mpi pnetcdf ; do \
+		sed -e 's%@MULTIARCH@%$(DEB_HOST_MULTIARCH)%' < debian/libnetcdf-$$d-dev.postinst.in \
+			> debian/libnetcdf-$$d-dev.postinst ; \
+		mv debian/tmp-$$d/$(LIBDIR)/libnetcdf.so.7.3.0 debian/tmp/$(LIBDIR)/libnetcdf_$$d.so.7.3.0 ; \
+		ln -sf $(LIBDIR)/libnetcdf_$$d.so.7.3.0	debian/tmp/$(LIBDIR)/netcdf/$$d/libnetcdf.so ; \
+		ln -sf libnetcdf_$$d.so.7.3.0 debian/tmp/$(LIBDIR)/libnetcdf_$$d.so.7; \
+		ln -sf libnetcdf_$$d.so.7.3.0 debian/tmp/$(LIBDIR)/libnetcdf_$$d.so;   \
+		dh_link -p libnetcdf-$$d-dev . $(LIBDIR)/netcdf/$$d/lib ;  \
+		dh_link -p libnetcdf-$$d-dev /usr/include $(LIBDIR)/netcdf/$$d/include ; \
+		done
+	# Serial; one-off only
+	mkdir -p debian/tmp/$(LIBDIR)/pkgconfig debian/tmp/$(LIBDIR)/cmake
+	cp -a debian/tmp-serial/$(LIBDIR)/cmake/netCDF	debian/tmp/$(LIBDIR)/cmake/netCDF
+	cp -a debian/tmp-pnetcdf/usr/include debian/tmp/usr
+	cp -a debian/tmp-serial/usr/share debian/tmp/usr
+	cp -a debian/tmp-serial/usr/bin   debian/tmp/usr
+	cp debian/tmp-serial/$(LIBDIR)/libnetcdf.so.7.3.0 debian/tmp/$(LIBDIR)
+	ln -sf libnetcdf.so.7.3.0 debian/tmp/$(LIBDIR)/libnetcdf.so.7
+	ln -sf libnetcdf.so.7.3.0 debian/tmp/$(LIBDIR)/libnetcdf.so
+	ln -sf $(LIBDIR)/libnetcdf.so.7.3.0	debian/tmp/$(LIBDIR)/netcdf/serial/libnetcdf.so 
 	$(RM) debian/tmp/usr/share/doc/netCDF/html/jquery.js
+	sed -e 's%@MULTIARCH@%$(DEB_HOST_MULTIARCH)%' < debian/libnetcdf-dev.postinst.in \
+		> debian/libnetcdf-dev.postinst
 	# Strip RPATH
-	#-find $(CURDIR)/debian/tmp/usr/bin -type f -not -name nc-config -exec chrpath --delete {} \;
-	#-find $(CURDIR)/debian/tmp/usr/lib -type f -name "*.so*" -exec chrpath --delete {} \;
+	-find $(CURDIR)/debian/tmp/usr/bin -type f -not -name nc-config -exec chrpath --delete {} \;
+	-find $(CURDIR)/debian/tmp/usr/lib -type f -name "*.so*" -exec chrpath --delete {} \;
+	dh_link -p libnetcdf-dev .            $(LIBDIR)/netcdf/serial/lib
+	dh_link -p libnetcdf-dev /usr/include $(LIBDIR)/netcdf/serial/include
 
 override_dh_auto_test:
 	ARGS="--output-on-failure" dh_auto_test --max-parallel=1 || echo "Ignoring test failures"
-	#LD_LIBRARY_PATH=$(TOP)/build-serial/liblib $(MAKE) -C build-serial test
-	#LD_LIBRARY_PATH=$(TOP)/build-mpi/liblib    $(MAKE) -C build-mpi test
+	#LD_LIBRARY_PATH=$(CURDIR)/build-serial/liblib $(MAKE) -C build-serial test
+	#LD_LIBRARY_PATH=$(CURDIR)/build-mpi/liblib    $(MAKE) -C build-mpi test
+	#LD_LIBRARY_PATH=$(CURDIR)/build-pnetcdf/liblib    $(MAKE) -C build-pnetcdf test
 
 override_dh_installchangelogs:
 	dh_installchangelogs RELEASE_NOTES.md

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



More information about the Pkg-grass-devel mailing list