[xdmf] 24/38: [WIP]: Test install

Alastair McKinstry mckinstry at moszumanska.debian.org
Thu Apr 13 15:16:36 UTC 2017


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

mckinstry pushed a commit to branch debian/master
in repository xdmf.

commit 677c7108f7926dbf48c941d9d6956ef3f55348dc
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Sat Aug 20 18:57:40 2016 +0100

    [WIP]: Test install
---
 debian/{libxdmf2.docs => libxdmf-dev.docs}    |  1 -
 debian/libxdmf-dev.examples                   |  1 +
 debian/{libxdmf2.install => libxdmf3.install} |  0
 debian/libxmdf-dev.docs                       |  2 -
 debian/python-xdmf.examples                   |  1 -
 debian/python3-xdmf.install                   |  1 +
 debian/rules                                  | 99 ++++++++++++++++-----------
 7 files changed, 62 insertions(+), 43 deletions(-)

diff --git a/debian/libxdmf2.docs b/debian/libxdmf-dev.docs
similarity index 57%
rename from debian/libxdmf2.docs
rename to debian/libxdmf-dev.docs
index eb245b1..34081f3 100644
--- a/debian/libxdmf2.docs
+++ b/debian/libxdmf-dev.docs
@@ -1,2 +1 @@
-debian/TODO.txt
 debian/README.sources
diff --git a/debian/libxdmf-dev.examples b/debian/libxdmf-dev.examples
index 06f9936..b27bdf2 100644
--- a/debian/libxdmf-dev.examples
+++ b/debian/libxdmf-dev.examples
@@ -1,2 +1,3 @@
 Examples/Cxx
 Examples/Data
+Examples/Python
diff --git a/debian/libxdmf2.install b/debian/libxdmf3.install
similarity index 100%
rename from debian/libxdmf2.install
rename to debian/libxdmf3.install
diff --git a/debian/libxmdf-dev.docs b/debian/libxmdf-dev.docs
deleted file mode 100644
index eb245b1..0000000
--- a/debian/libxmdf-dev.docs
+++ /dev/null
@@ -1,2 +0,0 @@
-debian/TODO.txt
-debian/README.sources
diff --git a/debian/python-xdmf.examples b/debian/python-xdmf.examples
deleted file mode 100644
index 6afbf54..0000000
--- a/debian/python-xdmf.examples
+++ /dev/null
@@ -1 +0,0 @@
-Examples/Python/*
diff --git a/debian/python3-xdmf.install b/debian/python3-xdmf.install
new file mode 100644
index 0000000..4606faa
--- /dev/null
+++ b/debian/python3-xdmf.install
@@ -0,0 +1 @@
+usr/lib/python3*
diff --git a/debian/rules b/debian/rules
index 7ef6bd7..a8f09af 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,69 +11,90 @@ include /usr/share/mpi-default-dev/debian_defaults
 MPI:=$(ARCH_DEFAULT_MPI_IMPL)
 
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
-TMPDIR=debian/tmp
+TMPDIR=$(CURDIR)/debian/tmp
 LIBDIR=/usr/lib/${DEB_HOST_MULTIARCH}
-PY2:=$(shall pyversions -s)
+PY2:=$(shell pyversions -s)
 PY3:=$(shell py3versions -s)m
 
-# FIXME: Pass different CXXFLAGS to different builds
-# CXXFLAGS:= -I/usr/include/${PYVER} ${CXXFLAGS} 
+CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) -fPIC
+
+BUILD_DIRS:= debian/build-mpi-py2 debian/build-serial-py2 debian/build-mpi-py3 debian/build-serial-py3
 
 CMAKE_FLAGS:= -DXDMF_SYSTEM_ZLIB=ON -DXDMF_SYSTEM_LIBXML2=ON -DXDMF_USE_BZIP2=ON -DXDMF_USE_GZIP=ON \
 		-DXDMF_SYSTEM_HDF5=ON \
 		-DXDMF_USE_RPATH=OFF \
+		-DXDMF_BUILD_UTILS=ON \
 		-DCMAKE_INSTALL_PREFIX=/usr \
 		-DXDMF_WRAP_PYTHON=ON \
+		-DXDMF_REGENERATE_WRAPPERS=ON \
 		-DGZSTREAM_LIBRARY=/usr/lib/$(DEB_HOST_MULTIARCH)/libgzstream.so \
 		-DBUILD_SHARED_LIBS=TRUE
 
 override_dh_auto_configure:
-	mkdir -p debian/build-mpi-2 debian/build-serial-2 debian/build-mpi-3 debian/build-serial-3
-	(cd debian/build-serial-2 &&  \
+	mkdir -p $(BUILD_DIRS)
+	(cd debian/build-serial-py2 &&  \
 		HDF5_ROOT=$(LIBDIR)/hdf5/serial cmake ../.. \
 		$(CMAKE_FLAGS) \
- 		-DPYTHON_INCLUDE_PATH=/usr/include/${PY2} \
+ 		-DPYTHON_INCLUDE_PATH=/usr/include/$(PY2) \
 		-DPYTHON_LIBRARY=$(LIBDIR)/lib$(PY2).so \
-		-DXDMF_BUILD_MPI=OFF \
-		-DXDMF_SYSTEM_HDF5_IS_PARALLEL=OFF \
-		-DHDF5_ROOT=$(HDF5_ROOT) )
-	(cd debian/build-mpi-3 && cmake ../.. \
+		-DXDMF_BUILD_MPI=OFF -DXDMF_SYSTEM_HDF5_IS_PARALLEL=OFF \
+		-DHDF5_ROOT=$(LIBDIR)/hdf5/serial )
+	(cd debian/build-serial-py3 &&  \
+		HDF5_ROOT=$(LIBDIR)/hdf5/serial cmake ../.. \
+		$(CMAKE_FLAGS) \
+ 		-DPYTHON_INCLUDE_PATH=/usr/include/$(PY3) \
+		-DPYTHON_LIBRARY=$(LIBDIR)/lib$(PY3).so \
+		-DXDMF_BUILD_MPI=OFF -DXDMF_SYSTEM_HDF5_IS_PARALLEL=OFF \
+		-DHDF5_ROOT=$(LIBDIR)/hdf5/serial )
+	(cd debian/build-mpi-py2 && \
 		HDF5_ROOT=$(LIBDIR)/hdf5/$(MPI) cmake ../.. \
 		$(CMAKE_FLAGS) \
- 		-DPYTHON_INCLUDE_PATH=/usr/include/${PY3} \
+ 		-DPYTHON_INCLUDE_PATH=/usr/include/$(PY2) \
+		-DPYTHON_LIBRARY=$(LIBDIR)/lib$(PY2).so \
+		-DXDMF_BUILD_MPI=ON  -DXDMF_SYSTEM_HDF5_IS_PARALLEL=ON \
+		-DHDF5_ROOT=$(LIBDIR)/hdf5/$(MPI) )
+	(cd debian/build-mpi-py3 && \
+		HDF5_ROOT=$(LIBDIR)/hdf5/$(MPI) cmake ../.. \
+		$(CMAKE_FLAGS) \
+ 		-DPYTHON_INCLUDE_PATH=/usr/include/$(PY3) \
 		-DPYTHON_LIBRARY=$(LIBDIR)/lib$(PY3).so \
-		-DXDMF_BUILD_MPI=ON \
-		-DXDMF_SYSTEM_HDF5_IS_PARALLEL=ON \
-		-DHDF5_ROOT=$(HDF5_ROOT) )
-
+		-DXDMF_BUILD_MPI=ON  -DXDMF_SYSTEM_HDF5_IS_PARALLEL=ON \
+		-DHDF5_ROOT=$(LIBDIR)/hdf5/$(MPI) )
 
 override_dh_auto_build:
-	$(MAKE) -C debian/build-serial-2
-	$(MAKE) -C debian/build-mpi-3
-
-# -DXDMF_SYSTEM_HDF5=ON -DXDMF_SYSTEM_HDF5_IS_PARALLEL=ON \
+	for p in $(BUILD_DIRS) ; do \
+		$(MAKE) -C $$p ; done
 
-# later, add -DXDMF_BUILD_UTILS=ON CMAKE_C_FLAGS_RELEASE="-O3 -NDEBUG" CMAKE_EXE_LINKER_FLAGS
-# CMAKE_MODULE_LINKER_FLAGS_RELEASE
+override_dh_auto_test:
+	@echo "Ignore; no tests present"
 
 override_dh_auto_install:
-	dh_auto_install
-	# dh_install can't rename, so do it manually.
-	mkdir -p $(TMPDIR)/$(LIBDIR)
-	mv $(TMPDIR)/usr/lib/libXdmf.so.3	      $(TMPDIR)/$(LIBDIR)/libXdmf.so.3.0
-	mkdir -p $(TMPDIR)/$(LIBDIR)/cmake
-	mv $(TMPDIR)/usr/lib/XdmfCMake	$(TMPDIR)/$(LIBDIR)/cmake
-	# Fix perms.
-	find Examples -type f -exec chmod -x {} \;
-	dh_link -p libxdmf-dev $(LIBDIR)/libXdmf.so.3.0	 $(LIBDIR)/libXdmf.so
-	dh_link -p libxdmf2 $(LIBDIR)/libXdmf.so.3.0	 $(LIBDIR)/libXdmf.so.3
-	# https://bugs.launchpad.net/ubuntu/+source/xdmf/+bug/1154071
-	sed -e 's%@ARCH@%$(DEB_HOST_MULTIARCH)%' < debian/cmake.patch.in > debian/cmake.patch
-	(cd $(TMPDIR)/$(LIBDIR)/cmake/XdmfCMake && patch < ../../../../../../cmake.patch )
+	# Assemble something workable from the 4 install dirs.
+	$(MAKE) -C debian/build-mpi-py3 install DESTDIR=$(TMPDIR)
+	# Add the (non-default) serial cases into a NoMpi subdirectory
+	mkdir -p $(TMPDIR)/usr/lib/$(PY3)/xdmf/NoMpi $(TMPDIR)/usr/lib/$(PY2)/xdmf/NoMpi
+	# standard shared libs into {serial,$MPI} directories as elswehere
+	mkdir -p $(TMPDIR)/$(LIBDIR)/xdmf/serial $(TMPDIR)/$(LIBDIR)/xdmf/$(MPI)
+	mv $(TMPDIR)/usr/lib/lib*	$(TMPDIR)/$(LIBDIR)/xdmf/$(MPI)
+	cp debian/build-serial-py3/lib*.so debian/build-serial-py3/lib*.a $(TMPDIR)/$(LIBDIR)/xdmf/serial
+	mv $(TMPDIR)/usr/lib/python/* $(TMPDIR)/usr/lib/$(PY3)/xdmf
+	cp $(TMPDIR)/usr/lib/$(PY3)/xdmf/*.py $(TMPDIR)/usr/lib/$(PY2)/xdmf
+	cp debian/build-mpi-py2/_*.so    $(TMPDIR)/usr/lib/$(PY2)/xdmf
+	cp debian/build-serial-py2/_*.so $(TMPDIR)/usr/lib/$(PY2)/xdmf/NoMpi
+	cp debian/build-serial-py3/_*.so $(TMPDIR)/usr/lib/$(PY3)/xdmf/NoMpi
+	
+	#mv $(TMPDIR)/usr/lib/libXdmf.so.3	      $(TMPDIR)/$(LIBDIR)/libXdmf.so.3.0
+	#mkdir -p $(TMPDIR)/$(LIBDIR)/cmake
+	#mv $(TMPDIR)/usr/lib/XdmfCMake	$(TMPDIR)/$(LIBDIR)/cmake
+	## Fix perms.
+	#find Examples -type f -exec chmod -x {} \;
+	#dh_link -p libxdmf-dev $(LIBDIR)/libXdmf.so.3.0	 $(LIBDIR)/libXdmf.so
+	#dh_link -p libxdmf2 $(LIBDIR)/libXdmf.so.3.0	 $(LIBDIR)/libXdmf.so.3
+	## https://bugs.launchpad.net/ubuntu/+source/xdmf/+bug/1154071
+	#sed -e 's%@ARCH@%$(DEB_HOST_MULTIARCH)%' < debian/cmake.patch.in > debian/cmake.patch
+	#(cd $(TMPDIR)/$(LIBDIR)/cmake/XdmfCMake && patch < ../../../../../../cmake.patch )
 
 override_dh_auto_clean:
 	dh_auto_clean
-	rm -f debian/cmake.patch
-	rm -rf debian/build-*
-	rm -f libsrc/gzstream*
-	-find . -name CVS -exec rm -rf {} \;
+	rm -f debian/cmake.patch libsrc/gzstream
+	rm -rf $(BUILD_DIRS)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/xdmf.git



More information about the debian-science-commits mailing list