[slepc] 02/02: rework build in debian/rules
Drew Parsons
dparsons at moszumanska.debian.org
Sun Oct 11 18:13:48 UTC 2015
This is an automated email from the git hooks/post-receive script.
dparsons pushed a commit to branch master
in repository slepc.
commit c3776a5d3583349a3fedbd3205790551c93d7c10
Author: Drew Parsons <dparsons at debian.org>
Date: Mon Oct 12 02:07:58 2015 +0800
rework build in debian/rules
SLEPc does not use a SLEPC_ARCH, unlike PETSc with PETSC_ARCH. It
therefore doesn't retain context for different configurations, i.e.
has no mechanism for choosing a preferred installed-x86_64-linux-gnu-*
directory.
We therefore cannot run configure/build/test/install as separate
targets. They have to be done for one configuration all at once.
SLEPc places tests after install (tests fail for configuration with
complex numbers).
---
debian/compat | 2 +-
debian/libslepc-complex-3.6.1-dbg.postinst | 21 +
debian/libslepc-complex-3.6.1-dbg.prerm | 14 +
debian/libslepc-complex-3.6.1-dev.postinst | 21 +
debian/libslepc-complex-3.6.1-dev.prerm | 14 +
debian/libslepc-complex-3.6.postinst | 18 +
debian/libslepc-complex-3.6.prerm | 13 +
debian/libslepc3.4.2-dev.postinst.in | 11 -
debian/libslepc3.4.2-dev.prerm.in | 8 -
debian/libslepc3.6.1-dbg.postinst | 21 +
debian/libslepc3.6.1-dbg.prerm | 14 +
debian/libslepc3.6.1-dev.postinst | 21 +
debian/libslepc3.6.1-dev.prerm | 14 +
debian/libslepc3.6.postinst | 18 +
debian/libslepc3.6.prerm | 13 +
debian/rules | 473 ++++++++++-----------
.../{slepc3.4.2-doc.docs => slepc3.6.1-doc.docs} | 0
debian/source/format | 1 +
debian/source/lintian-overrides | 3 +
19 files changed, 435 insertions(+), 265 deletions(-)
diff --git a/debian/compat b/debian/compat
index 7f8f011..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-7
+9
diff --git a/debian/libslepc-complex-3.6.1-dbg.postinst b/debian/libslepc-complex-3.6.1-dbg.postinst
new file mode 100644
index 0000000..75c16bd
--- /dev/null
+++ b/debian/libslepc-complex-3.6.1-dbg.postinst
@@ -0,0 +1,21 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_ARCH=${DEB_HOST_MULTIARCH}
+SLEPC_DEBUG_ARCH=${SLEPC_ARCH}-complex-debug
+SLEPC_VERSION_NUMBER=$( echo ${SLEPC_VERSION} | sed "s/\.//g" )
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+update-alternatives --install /usr/lib/slepc slepc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH} ${SLEPC_VERSION_NUMBER}33 \
+ --slave /usr/lib/libslepc.so libslepc.so /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/lib/libslepc_complex.so.${SLEPC_VERSION} \
+ --slave /usr/lib/${DEB_HOST_MULTIARCH}/libslepc.so libslepc.so.multiarch /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/lib/libslepc_complex.so.${SLEPC_VERSION} \
+ --slave /usr/include/slepc slepcinclude /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/include \
+ --slave /usr/lib/pkgconfig/SLEPc.pc SLEPc.pc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/lib/pkgconfig/SLEPc.pc \
+ --slave /usr/share/octave/site/m/slepc slepc-octave /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/share/slepc/matlab
+fi
+
+
+#DEBHELPER#
diff --git a/debian/libslepc-complex-3.6.1-dbg.prerm b/debian/libslepc-complex-3.6.1-dbg.prerm
new file mode 100644
index 0000000..14d9826
--- /dev/null
+++ b/debian/libslepc-complex-3.6.1-dbg.prerm
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_ARCH=${DEB_HOST_MULTIARCH}
+SLEPC_DEBUG_ARCH=${SLEPC_ARCH}-complex-debug
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+ update-alternatives --remove slepc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}
+fi
+
+#DEBHELPER#
diff --git a/debian/libslepc-complex-3.6.1-dev.postinst b/debian/libslepc-complex-3.6.1-dev.postinst
new file mode 100644
index 0000000..c4285fd
--- /dev/null
+++ b/debian/libslepc-complex-3.6.1-dev.postinst
@@ -0,0 +1,21 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_ARCH=${DEB_HOST_MULTIARCH}
+SLEPC_COMPLEX_ARCH=${SLEPC_ARCH}-complex
+SLEPC_VERSION_NUMBER=$( echo ${SLEPC_VERSION} | sed "s/\.//g" )
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+update-alternatives --install /usr/lib/slepc slepc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_COMPLEX_ARCH} ${SLEPC_VERSION_NUMBER}73 \
+ --slave /usr/lib/libslepc.so libslepc.so /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_complex.so.${SLEPC_VERSION} \
+ --slave /usr/lib/${DEB_HOST_MULTIARCH}/libslepc.so libslepc.so.multiarch /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_complex.so.${SLEPC_VERSION} \
+ --slave /usr/include/slepc slepcinclude /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_COMPLEX_ARCH}/include \
+ --slave /usr/lib/pkgconfig/SLEPc.pc SLEPc.pc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_COMPLEX_ARCH}/lib/pkgconfig/SLEPc.pc \
+ --slave /usr/share/octave/site/m/slepc slepc-octave /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_COMPLEX_ARCH}/share/slepc/matlab
+fi
+
+
+#DEBHELPER#
diff --git a/debian/libslepc-complex-3.6.1-dev.prerm b/debian/libslepc-complex-3.6.1-dev.prerm
new file mode 100644
index 0000000..a573dc1
--- /dev/null
+++ b/debian/libslepc-complex-3.6.1-dev.prerm
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_ARCH=${DEB_HOST_MULTIARCH}
+SLEPC_COMPLEX_ARCH=${SLEPC_ARCH}-complex
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+ update-alternatives --remove slepc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_COMPLEX_ARCH}
+fi
+
+#DEBHELPER#
diff --git a/debian/libslepc-complex-3.6.postinst b/debian/libslepc-complex-3.6.postinst
new file mode 100644
index 0000000..6107f1b
--- /dev/null
+++ b/debian/libslepc-complex-3.6.postinst
@@ -0,0 +1,18 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_VERSION_NUMBER=$( echo ${SLEPC_VERSION} | sed "s/\.//g" )
+
+# use only major.minor as general soname (rather than major.minor.patch.build)
+SONAME=$( echo ${SLEPC_VERSION} | awk 'BEGIN { FS="."}; {print $1"."$2 }' )
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+ update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libslepc.so.${SONAME} libslepc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_complex.so.${SLEPC_VERSION_NUMBER} ${SLEPC_VERSION}73 \
+ --slave /usr/lib/${DEB_HOST_MULTIARCH}/libslepc.so.${SLEPC_VERSION} libslepc.so.${SLEPC_VERSION} /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_complex.so.${SLEPC_VERSION}
+fi
+
+
+#DEBHELPER#
diff --git a/debian/libslepc-complex-3.6.prerm b/debian/libslepc-complex-3.6.prerm
new file mode 100644
index 0000000..a12f050
--- /dev/null
+++ b/debian/libslepc-complex-3.6.prerm
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+SLEPC_VERSION=__SLEPC_VERSION__
+# use only major.minor as general soname (rather than major.minor.patch.build)
+SONAME=$( echo ${SLEPC_VERSION} | awk 'BEGIN { FS="."}; {print $1"."$2 }' )
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+ update-alternatives --remove libslepc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_complex.so.${SLEPC_VERSION}
+fi
+
+#DEBHELPER#
diff --git a/debian/libslepc3.4.2-dev.postinst.in b/debian/libslepc3.4.2-dev.postinst.in
deleted file mode 100644
index 618b75d..0000000
--- a/debian/libslepc3.4.2-dev.postinst.in
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh -e
-
-# Make alternatives links
-if [ "$1" = "configure" ]; then
-update-alternatives --install /usr/lib/slepc slepc /usr/lib/slepcdir/slepc_ver 3420 \
- --slave /usr/include/slepc slepcinclude /usr/lib/slepcdir/slepc_ver/include \
- --slave /usr/lib/libslepc.a libslepc.a /usr/lib/slepcdir/slepc_ver/lib/libO/libslepc.a \
- --slave /usr/lib/libslepc.so libslepc.so /usr/lib/libslepc.so.slepc_ver
-fi
-
-#DEBHELPER#
diff --git a/debian/libslepc3.4.2-dev.prerm.in b/debian/libslepc3.4.2-dev.prerm.in
deleted file mode 100644
index c58baa5..0000000
--- a/debian/libslepc3.4.2-dev.prerm.in
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh -e
-
-# Remove alternatives links
-if [ "$1" = "remove" ]; then
- update-alternatives --remove slepc /usr/lib/slepcdir/slepc_ver
-fi
-
-#DEBHELPER#
diff --git a/debian/libslepc3.6.1-dbg.postinst b/debian/libslepc3.6.1-dbg.postinst
new file mode 100644
index 0000000..63b9ecf
--- /dev/null
+++ b/debian/libslepc3.6.1-dbg.postinst
@@ -0,0 +1,21 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_ARCH=${DEB_HOST_MULTIARCH}
+SLEPC_DEBUG_ARCH=${SLEPC_ARCH}-real-debug
+SLEPC_VERSION_NUMBER=$( echo ${SLEPC_VERSION} | sed "s/\.//g" )
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+update-alternatives --install /usr/lib/slepc slepc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH} ${SLEPC_VERSION_NUMBER}37 \
+ --slave /usr/lib/libslepc.so libslepc.so /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/lib/libslepc_real.so.${SLEPC_VERSION} \
+ --slave /usr/lib/${DEB_HOST_MULTIARCH}/libslepc.so libslepc.so.multiarch /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/lib/libslepc_real.so.${SLEPC_VERSION} \
+ --slave /usr/include/slepc slepcinclude /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/include \
+ --slave /usr/lib/pkgconfig/SLEPc.pc SLEPc.pc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/lib/pkgconfig/SLEPc.pc \
+ --slave /usr/share/octave/site/m/slepc slepc-octave /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}/share/slepc/matlab
+fi
+
+
+#DEBHELPER#
diff --git a/debian/libslepc3.6.1-dbg.prerm b/debian/libslepc3.6.1-dbg.prerm
new file mode 100644
index 0000000..4a0b9a3
--- /dev/null
+++ b/debian/libslepc3.6.1-dbg.prerm
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_ARCH=${DEB_HOST_MULTIARCH}
+SLEPC_DEBUG_ARCH=${SLEPC_ARCH}-real-debug
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+ update-alternatives --remove slepc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_DEBUG_ARCH}
+fi
+
+#DEBHELPER#
diff --git a/debian/libslepc3.6.1-dev.postinst b/debian/libslepc3.6.1-dev.postinst
new file mode 100644
index 0000000..6822b2f
--- /dev/null
+++ b/debian/libslepc3.6.1-dev.postinst
@@ -0,0 +1,21 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_ARCH=${DEB_HOST_MULTIARCH}
+SLEPC_REAL_ARCH=${SLEPC_ARCH}-real
+SLEPC_VERSION_NUMBER=$( echo ${SLEPC_VERSION} | sed "s/\.//g" )
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+update-alternatives --install /usr/lib/slepc slepc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_REAL_ARCH} ${SLEPC_VERSION_NUMBER}77 \
+ --slave /usr/lib/libslepc.so libslepc.so /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_real.so.${SLEPC_VERSION} \
+ --slave /usr/lib/${DEB_HOST_MULTIARCH}/libslepc.so libslepc.so.multiarch /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_real.so.${SLEPC_VERSION} \
+ --slave /usr/include/slepc slepcinclude /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_REAL_ARCH}/include \
+ --slave /usr/lib/pkgconfig/SLEPc.pc SLEPc.pc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_REAL_ARCH}/lib/pkgconfig/SLEPc.pc \
+ --slave /usr/share/octave/site/m/slepc slepc-octave /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_REAL_ARCH}/share/slepc/matlab
+fi
+
+
+#DEBHELPER#
diff --git a/debian/libslepc3.6.1-dev.prerm b/debian/libslepc3.6.1-dev.prerm
new file mode 100644
index 0000000..0e2b604
--- /dev/null
+++ b/debian/libslepc3.6.1-dev.prerm
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_ARCH=${DEB_HOST_MULTIARCH}
+SLEPC_REAL_ARCH=${SLEPC_ARCH}-real
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+ update-alternatives --remove slepc /usr/lib/slepcdir/${SLEPC_VERSION}/${SLEPC_REAL_ARCH}
+fi
+
+#DEBHELPER#
diff --git a/debian/libslepc3.6.postinst b/debian/libslepc3.6.postinst
new file mode 100644
index 0000000..f80a77b
--- /dev/null
+++ b/debian/libslepc3.6.postinst
@@ -0,0 +1,18 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+
+SLEPC_VERSION=__SLEPC_VERSION__
+SLEPC_VERSION_NUMBER=$( echo ${SLEPC_VERSION} | sed "s/\.//g" )
+
+# use only major.minor as general soname (rather than major.minor.patch.build)
+SONAME=$( echo ${SLEPC_VERSION} | awk 'BEGIN { FS="."}; {print $1"."$2 }' )
+
+# Make alternatives links
+if [ "$1" = "configure" ]; then
+ update-alternatives --install /usr/lib/${DEB_HOST_MULTIARCH}/libslepc.so.${SONAME} libslepc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_real.so.${SLEPC_VERSION} ${SLEPC_VERSION_NUMBER}77 \
+ --slave /usr/lib/${DEB_HOST_MULTIARCH}/libslepc.so.${SLEPC_VERSION} libslepc.so.${SLEPC_VERSION} /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_real.so.${SLEPC_VERSION}
+fi
+
+
+#DEBHELPER#
diff --git a/debian/libslepc3.6.prerm b/debian/libslepc3.6.prerm
new file mode 100644
index 0000000..86201af
--- /dev/null
+++ b/debian/libslepc3.6.prerm
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+
+DEB_HOST_MULTIARCH=__DEB_HOST_MULTIARCH__
+SLEPC_VERSION=__SLEPC_VERSION__
+# use only major.minor as general soname (rather than major.minor.patch.build)
+SONAME=$( echo ${SLEPC_VERSION} | awk 'BEGIN { FS="."}; {print $1"."$2 }' )
+
+# Remove alternatives links
+if [ "$1" = "remove" ]; then
+ update-alternatives --remove libslepc.so.${SONAME} /usr/lib/${DEB_HOST_MULTIARCH}/libslepc_real.so.${SLEPC_VERSION}
+fi
+
+#DEBHELPER#
diff --git a/debian/rules b/debian/rules
index b58ff6d..88fd2a1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,261 +1,244 @@
#!/usr/bin/make -f
-# Sample debian/rules file - for GNU Hello (1.3).
-# Copyright 1994,1995 by Ian Jackson.
-# I hereby give you perpetual unlimited permission to copy,
-# modify and relicense this file, provided that you do not remove
-# my name from the file itself. (I assert my moral right of
-# paternity under the Copyright, Designs and Patents Act 1988.)
-# This file may have to be extensively modified
-
-# This file is strongly based on debian/rules from the Debian PETSc package
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
+# See debhelper(7) (uncomment to enable)
+# output every command that modifies files on the build system.
+#export DH_VERBOSE = 1
+
+# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/default.mk
+
+# see FEATURE AREAS in dpkg-buildflags(1)
+#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+# see ENVIRONMENT in dpkg-buildflags(1)
+# package maintainers to append CFLAGS
+#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
+# package maintainers to append LDFLAGS
+#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+
+# Overriding this with "contrib" attempts to link with parmetis (unimplemented).
+DEBIAN_DIST=main
+
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+# On Alpha, override this with debian/rules SLEPC_ARCH=linux_alpha_dec binary
+# to build PETSc libs with the Compaq compilers, though that requires at least:
+# libots, cpml-ev(5|6), cxml-ev(5|6), cfal and ccc.
+# Note that only arch-dependent .debs are generated when you do this.
+PETSC_ARCH=$(DEB_HOST_MULTIARCH)
+SLEPC_ARCH=$(PETSC_ARCH)
+
+# This defines the MPI implementation to use. The easiest way to override this
+# default is to specify while building, e.g. debian/rules SLEPC_MPI=lam binary.
+# Again, only arch-dependent .debs are generated when you do this.
+# Note that as of PETSc 2.3.0 this only specifies the name of the PETSc
+# packages, the implementation is chosen by BuildSystem according to what's
+# available at build time.
+include /usr/share/mpi-default-dev/debian_defaults
+SLEPC_MPI=$(ARCH_DEFAULT_MPI_IMPL)
+SLEPC_MPI_DIR=/usr/lib/$(SLEPC_MPI)
+
+# facilitate build-time testing (invoking OpenMPI) when building in a chroot (pbuilder or sbuild)
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+SLEPC_HDF5_FLAGS=$(shell if [ -e /usr/lib/libhdf5.so ]; then echo "--with-hdf5=1 --with-hdf5-dir=/usr"; fi)
+
+SLEPC_BUILD_DIR=$(SLEPC_ARCH)-real
+SLEPC_DEBUG_BUILD_DIR=$(SLEPC_ARCH)-real-debug
+SLEPC_COMPLEX_BUILD_DIR=$(SLEPC_ARCH)-complex
+SLEPC_COMPLEX_DEBUG_BUILD_DIR=$(SLEPC_ARCH)-complex-debug
# SLEPC_VERSION is used for the package names, library sonames, and
# /usr/lib/slepcdir subdirectory names.
-SLEPC_VERSION=3.4.2
+SLEPC_VERSION=3.6.1$(SLEPC_EXT)
+# use only major.minor as general soname (rather than major.minor.patch.build)
+SLEPC_SONAME_VERSION=$(shell echo $(SLEPC_VERSION) | awk 'BEGIN { FS="."}; {print $$1"."$$2 }')
# SLEPC_NAME is the install dir under /usr/lib and the base for package names
+SLEPC_SONAME=slepc$(SLEPC_SONAME_VERSION)
SLEPC_NAME=slepc$(SLEPC_VERSION)
-
-# PETSC_ARCH is the architecture that PETSc was configured on.
-PETSC_ARCH=$(DEB_BUILD_GNU_SYSTEM)
-
-# PETSC_DIR is the location of PETSc.
-PETSC_DIR=/usr/lib/petsc
-
-# These files need to be customized based on architecture and/or version.
-# See the binary arch target for how they are generated.
-ARCH_GENERATED_FILES=debian/lib$(SLEPC_NAME)-dev.postinst \
- debian/lib$(SLEPC_NAME)-dev.prerm
-
-export CPPFLAGS=-I/usr/include/petsc
-
-clean:
- dh_testdir
- if [ -f TAGS.backup ]; then mv -f TAGS.backup TAGS; fi
- dh_quilt_unpatch
- dh_clean -XTAGS
- -rm -f build* install* $(ARCH_GENERATED_FILES)
-# -$(MAKE) PETSC_ARCH=$(PETSC_ARCH)-c-debug PETSC_DIR=$(PETSC_DIR) \
-# SLEPC_DIR=$(CURDIR) allclean
-# -$(MAKE) PETSC_ARCH=$(PETSC_ARCH)-c-opt PETSC_DIR=$(PETSC_DIR) \
-# SLEPC_DIR=$(CURDIR) allclean
-# These probably should be removed by `make clean' but aren't
- -rm -f `find . -name \*.pyc -print`
- -rm -rf $(PETSC_ARCH)-c-debug $(PETSC_ARCH)-c-opt
- -rm -rf lib debian/extemp
-
-build-indep:
-# We have nothing to do by default.
- dh_quilt_patch
- touch $@
-
-# With debugging=1, only static libraries are generated.
-# Build optimized libs second so files are consistent with optimized.
-build-arch:
- dh_quilt_patch
- PETSC_ARCH=$(PETSC_ARCH)-c-debug PETSC_DIR=$(PETSC_DIR) \
- SLEPC_DIR=$(CURDIR) ./configure --with-arpack-dir=/usr/lib/debug/usr/lib \
- --with-arpack-flags=-lparpack,-larpack
- make PETSC_ARCH=$(PETSC_ARCH)-c-debug PETSC_DIR=$(PETSC_DIR) \
- SLEPC_INSTALL_DIR=/usr/lib/slepcdir/$(SLEPC_VERSION) \
- SL_LINKER_SUFFIX_VERSIONED="so.$(SLEPC_VERSION)" \
- SLEPC_DIR=$(CURDIR)
- PETSC_ARCH=$(PETSC_ARCH)-c-opt PETSC_DIR=$(PETSC_DIR) \
- SLEPC_DIR=$(CURDIR) ./configure --with-arpack-dir=/usr/lib \
- --with-arpack-flags=-lparpack,-larpack
- make PETSC_ARCH=$(PETSC_ARCH)-c-opt PETSC_DIR=$(PETSC_DIR) \
- SLEPC_INSTALL_DIR=/usr/lib/slepcdir/$(SLEPC_VERSION) \
- SL_LINKER_SUFFIX_VERSIONED="so.$(SLEPC_VERSION)" \
- SLEPC_DIR=$(CURDIR)
- touch $@
-
-build: build-arch build-indep
- touch $@
-
-install-arch: build-arch
-# Install conf in PETSC_DIR
- install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/conf
- for cfile in `ls conf`; do \
- grep -v top_builddir conf/$$cfile | \
- sed "s/`echo $(CURDIR) | sed s/\\\\//\\\\\\\\\\\\//g`/\/usr\/lib\/slepcdir\/$(SLEPC_VERSION)/g" > \
- debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/conf/$$cfile ; \
- done
-# Install PETSC_ARCH/conf and PETSC_ARCH/include files in SLEPC_DIR/PETSC_ARCH/;
-# replace this dir with install dir, and remove top_builddir
- install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/conf
- for cfile in `ls $(PETSC_ARCH)-c-opt/conf`; do \
- grep -v top_builddir $(PETSC_ARCH)-c-opt/conf/$$cfile | \
- sed "s/`echo $(CURDIR) | sed s/\\\\//\\\\\\\\\\\\//g`/\/usr\/lib\/slepcdir\/$(SLEPC_VERSION)/g" > \
- debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/conf/$$cfile ; \
- done
- rm -f debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/conf/*.py
- cp -a $(PETSC_ARCH)-c-opt/include debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/
-# Now conf and include for the -dbg package
- install -d debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/conf
- for cfile in `ls $(PETSC_ARCH)-c-debug/conf`; do \
- grep -v top_builddir $(PETSC_ARCH)-c-debug/conf/$$cfile | \
- sed "s/`echo $(CURDIR) | sed s/\\\\//\\\\\\\\\\\\//g`/\/usr\/lib\/slepcdir\/$(SLEPC_VERSION)/g" > \
- debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/conf/$$cfile ; \
- done
- rm -f debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/conf/*.py
- cp -a $(PETSC_ARCH)-c-debug/include debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/
-# Install headers in SLEPC_DIR/include
- install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/finclude
- cp -p include/*.h \
- debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include
- cp -p include/finclude/*.h include/finclude/*.h90 \
- debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/finclude
- install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/slepc-private
- cp -p include/slepc-private/*.h \
- debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/slepc-private
- cd debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include && \
- ln -s ../$(PETSC_ARCH)-c-opt/include/*.h .
- install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/src/eps/impls/blopex
- sed "s/..\/src/src/" < src/eps/impls/external/blopex/slepc-interface.h > \
- debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/src/eps/impls/blopex/slepc-interface.h
- install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/src/eps/impls/arpack
- cp -p src/eps/impls/external/arpack/arpackp.h \
- debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/include/src/eps/impls/arpack
-# Install libs in SLEPC_DIR, move shared libs to /usr/lib and symlink
- install -d debian/lib$(SLEPC_NAME)/usr/lib
- cp -a $(PETSC_ARCH)-c-opt/lib debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/
- cp -a $(PETSC_ARCH)-c-debug/lib debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-debug/
- for LIB in `cd $(PETSC_ARCH)-c-opt/lib && ls *.so.*` ; \
- do \
- mv debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/lib/$$LIB \
- debian/lib$(SLEPC_NAME)/usr/lib/$$LIB ; \
- ln -s ../../../../$$LIB \
- debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/$(PETSC_ARCH)-c-opt/lib/$$LIB ; \
- done
-# Make legacy symlinks including C++
- install -d debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/lib
- ln -s ../$(PETSC_ARCH)-c-opt/lib debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/lib/libO
- ln -s ../$(PETSC_ARCH)-c-opt/lib debian/lib$(SLEPC_NAME)-dev/usr/lib/slepcdir/$(SLEPC_VERSION)/lib/libO_c++
- install -d debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/lib
- ln -s ../$(PETSC_ARCH)-c-debug/lib debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/lib/libg
- ln -s ../$(PETSC_ARCH)-c-debug/lib debian/lib$(SLEPC_NAME)-dbg/usr/lib/slepcdir/$(SLEPC_VERSION)/lib/libg_c++
- touch install-arch
-
-# Depends on install-arch because it creates SLEPC_DIR
-install-indep: build-indep install-arch
-ifeq ($(SLEPC_VERSION),3.4.2)
-# Install header documentation in -doc/include
- install -d debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include/finclude
- cp -p include/*.html \
- debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include
- cp -p include/finclude/*.html \
- debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include/finclude
- install -d debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include/slepc-private
- cp -p include/slepc-private/*.html \
- debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/include/slepc-private
- for HEADERDOC in `cd debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/ && find include -name \*.h.html -print | sed s/.h.html/.h/`; \
- do \
- dh_link -p$(SLEPC_NAME)-doc \
- usr/lib/slepcdir/$(SLEPC_VERSION)/$$HEADERDOC \
- usr/share/doc/$(SLEPC_NAME)-doc/$$HEADERDOC; \
+SLEPC_COMPLEX_SONAME=slepc-complex-$(SLEPC_SONAME_VERSION)
+SLEPC_COMPLEX_NAME=slepc-complex-$(SLEPC_VERSION)
+
+# debian binary package names
+SLEPC_DEV_PACKAGE=$(SLEPC_NAME)-dev
+SLEPC_VERSIONED_DEV_PACKAGE=lib$(SLEPC_NAME)-dev
+SLEPC_VERSIONED_PACKAGE=lib$(SLEPC_SONAME)
+SLEPC_DEBUG_PACKAGE=lib$(SLEPC_NAME)-dbg
+SLEPC_DOC_PACKAGE=$(SLEPC_NAME)-doc
+SLEPC_COMPLEX_VERSIONED_DEV_PACKAGE=lib$(SLEPC_COMPLEX_NAME)-dev
+SLEPC_COMPLEX_VERSIONED_PACKAGE=lib$(SLEPC_COMPLEX_SONAME)
+SLEPC_COMPLEX_DEBUG_PACKAGE=lib$(SLEPC_COMPLEX_NAME)-dbg
+
+# install into /usr/lib/slepcdir rather than /usr/lib/slepc
+# to allow /usr/lib/slepc to be configured by alternatives
+SLEPC_DIR_PREFIX=/usr/lib/slepcdir/$(SLEPC_VERSION)/$(SLEPC_ARCH)-real
+SLEPC_DIR_DEBUG_PREFIX=/usr/lib/slepcdir/$(SLEPC_VERSION)/$(SLEPC_ARCH)-real-debug
+SLEPC_COMPLEX_DIR_PREFIX=/usr/lib/slepcdir/$(SLEPC_VERSION)/$(SLEPC_ARCH)-complex
+SLEPC_COMPLEX_DEBUG_DIR_PREFIX=/usr/lib/slepcdir/$(SLEPC_VERSION)/$(SLEPC_ARCH)-complex-debug
+
+PACKAGE_INSTALL_BASEDIR=debian/tmp/$(SLEPC_NAME)-real
+PACKAGE_INSTALL_DIR=$(PACKAGE_INSTALL_BASEDIR)/$(SLEPC_DIR_PREFIX)
+PACKAGE_DEBUG_INSTALL_BASEDIR=debian/tmp/$(SLEPC_NAME)-real-debug
+PACKAGE_DEBUG_INSTALL_DIR=$(PACKAGE_DEBUG_INSTALL_BASEDIR)/$(SLEPC_DIR_DEBUG_PREFIX)
+PACKAGE_COMPLEX_INSTALL_BASEDIR=debian/tmp/$(SLEPC_NAME)-complex
+PACKAGE_COMPLEX_INSTALL_DIR=$(PACKAGE_COMPLEX_INSTALL_BASEDIR)/$(SLEPC_COMPLEX_DIR_PREFIX)
+PACKAGE_COMPLEX_DEBUG_INSTALL_BASEDIR=debian/tmp/$(SLEPC_NAME)-complex-debug
+PACKAGE_COMPLEX_DEBUG_INSTALL_DIR=$(PACKAGE_COMPLEX_DEBUG_INSTALL_BASEDIR)/$(SLEPC_COMPLEX_DEBUG_DIR_PREFIX)
+
+PETSC_VERSION=3.6.2
+PETSC_DIR=/usr/lib/petscdir/$(PETSC_VERSION)
+PETSC_DIR_REAL=$(PETSC_DIR)/$(DEB_HOST_MULTIARCH)-real
+PETSC_DIR_REAL_DEBUG=$(PETSC_DIR)/$(DEB_HOST_MULTIARCH)-real-debug
+PETSC_DIR_COMPLEX=$(PETSC_DIR)/$(DEB_HOST_MULTIARCH)-complex
+PETSC_DIR_COMPLEX_DEBUG=$(PETSC_DIR)/$(DEB_HOST_MULTIARCH)-complex-debug
+
+
+export SLEPC_DIR=$(CURDIR)
+
+# main packaging script based on dh7 syntax
+%:
+ dh $@ --with python2
+
+
+override_dh_auto_clean:
+ if [ -d $(SLEPC_DEBUG_BUILD_DIR) ]; then \
+ dh_auto_clean -p$(SLEPC_DEBUG_PACKAGE) -- \
+ SLEPC_DIR=$(CURDIR) SLEPC_ARCH=$(SLEPC_DEBUG_BUILD_DIR); \
+ fi
+ if [ -d $(SLEPC_BUILD_DIR) ]; then \
+ dh_auto_clean -p$(SLEPC_VERSIONED_DEV_PACKAGE) -- \
+ SLEPC_DIR=$(CURDIR) SLEPC_ARCH=$(SLEPC_BUILD_DIR); \
+ fi
+ if [ -d $(SLEPC_COMPLEX_BUILD_DIR) ]; then \
+ dh_auto_clean -p$(SLEPC_COMPLEX_VERSIONED_DEV_PACKAGE) -- \
+ SLEPC_DIR=$(CURDIR) SLEPC_ARCH=$(SLEPC_COMPLEX_BUILD_DIR); \
+ fi
+ if [ -d $(SLEPC_COMPLEX_DEBUG_BUILD_DIR) ]; then \
+ dh_auto_clean -p$(SLEPC_COMPLEX_DEBUG_PACKAGE) -- \
+ SLEPC_DIR=$(CURDIR) SLEPC_ARCH=$(SLEPC_COMPLEX_DEBUG_BUILD_DIR); \
+ fi
+
+
+#SLEPc cannot differentiate different configrations at build time
+# i.e. there is no SLEPC_ARCH, unlike PETSC_ARCH.
+# So have to configure and build in one step
+# Note SLEPc's ./configure refuses to allow additional (unknown) options
+# so can't use dh_auto_configure
+override_dh_auto_configure:
+
+override_dh_auto_build:
+
+
+override_dh_auto_test:
+# dh_auto_test -p$(SLEPC_DEBUG_PACKAGE) -- \
+# SLEPC_DIR=$(CURDIR) PETSC_ARCH=$(SLEPC_DEBUG_BUILD_DIR) \
+# LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(CURDIR)/$(SLEPC_DEBUG_BUILD_DIR)/lib
+# dh_auto_test -p$(SLEPC_VERSIONED_DEV_PACKAGE) -- \
+# SLEPC_DIR=$(CURDIR) PETSC_ARCH=$(SLEPC_BUILD_DIR) \
+# LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(CURDIR)/$(SLEPC_BUILD_DIR)/lib
+# dh_auto_test -p$(SLEPC_COMPLEX_VERSIONED_DEV_PACKAGE) -- \
+# SLEPC_DIR=$(CURDIR) PETSC_ARCH=$(SLEPC_COMPLEX_BUILD_DIR) \
+# LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(CURDIR)/$(SLEPC_COMPLEX_BUILD_DIR)/lib
+# dh_auto_test -p$(SLEPC_COMPLEX_DEBUG_PACKAGE) -- \
+# SLEPC_DIR=$(CURDIR) PETSC_ARCH=$(SLEPC_COMPLEX_DEBUG_BUILD_DIR) \
+# LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(CURDIR)/$(SLEPC_COMPLEX_DEBUG_BUILD_DIR)/lib
+
+
+override_dh_auto_install:
+ PETSC_DIR=$(PETSC_DIR_REAL) \
+ ./configure --prefix=$(SLEPC_DIR_PREFIX) \
+ --with-arpack=1
+ dh_auto_build -p$(SLEPC_VERSIONED_DEV_PACKAGE) -- \
+ PETSC_DIR=$(PETSC_DIR_REAL)
+ dh_auto_install -p$(SLEPC_VERSIONED_DEV_PACKAGE) --destdir=$(PACKAGE_INSTALL_DIR) -- \
+ SLEPC_DESTDIR=$(PACKAGE_INSTALL_DIR) \
+ PETSC_DIR=$(PETSC_DIR_REAL)
+ echo PACKAGE_INSTALL_DIR=$(PACKAGE_INSTALL_DIR)
+ echo SLEPC_DIR_PREFIX=$(SLEPC_DIR_PREFIX)
+ make SLEPC_DIR=$(CURDIR)/$(PACKAGE_INSTALL_DIR) PETSC_DIR=$(PETSC_DIR_REAL) PETSC_ARCH="" LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(CURDIR)/$(PACKAGE_INSTALL_DIR)/lib test
+
+ PETSC_DIR=$(PETSC_DIR_REAL_DEBUG) \
+ ./configure --prefix=$(SLEPC_DIR_DEBUG_PREFIX) \
+ --with-arpack=1 --with-arpack-dir=/usr/lib/debug/usr/lib --with-arpack-flags=-lparpack,-larpack
+ dh_auto_build -p$(SLEPC_DEBUG_PACKAGE) -- \
+ PETSC_DIR=$(PETSC_DIR_REAL_DEBUG)
+ dh_auto_install -p$(SLEPC_DEBUG_PACKAGE) --destdir=$(PACKAGE_DEBUG_INSTALL_DIR) -- \
+ SLEPC_DESTDIR=$(PACKAGE_DEBUG_INSTALL_DIR) \
+ PETSC_DIR=$(PETSC_DIR_REAL_DEBUG)
+ make SLEPC_DIR=$(CURDIR)/$(PACKAGE_DEBUG_INSTALL_DIR) PETSC_DIR=$(PETSC_DIR_REAL_DEBUG) PETSC_ARCH="" LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(CURDIR)/$(PACKAGE_INSTALL_DIR)/lib test
+
+ PETSC_DIR=$(PETSC_DIR_COMPLEX) \
+ ./configure --prefix=$(SLEPC_COMPLEX_DIR_PREFIX) \
+ --with-arpack=1
+ dh_auto_build -p$(SLEPC_COMPLEX_VERSIONED_DEV_PACKAGE) -- \
+ PETSC_DIR=$(PETSC_DIR_COMPLEX)
+ dh_auto_install -p$(SLEPC_COMPLEX_VERSIONED_DEV_PACKAGE) --destdir=$(PACKAGE_COMPLEX_INSTALL_DIR) -- \
+ SLEPC_DESTDIR=$(PACKAGE_COMPLEX_INSTALL_DIR) \
+ PETSC_DIR=$(PETSC_DIR_COMPLEX)
+ echo Note: standard SLEPc built-time tests only cover real number configurations, not complex numbers.
+
+ PETSC_DIR=$(PETSC_DIR_COMPLEX_DEBUG) \
+ ./configure --prefix=$(SLEPC_COMPLEX_DEBUG_DIR_PREFIX) \
+ --with-arpack=1 --with-arpack-dir=/usr/lib/debug/usr/lib --with-arpack-flags=-lparpack,-larpack
+ dh_auto_build -p$(SLEPC_COMPLEX_DEBUG_PACKAGE) -- \
+ PETSC_DIR=$(PETSC_DIR_COMPLEX_DEBUG)
+ dh_auto_install -p$(SLEPC_COMPLEX_DEBUG_PACKAGE) --destdir=$(PACKAGE_COMPLEX_DEBUG_INSTALL_DIR) -- \
+ SLEPC_DESTDIR=$(PACKAGE_COMPLEX_DEBUG_INSTALL_DIR) \
+ PETSC_DIR=$(PETSC_DIR_COMPLEX_DEBUG)
+
+
+override_dh_install:
+ dh_install -p$(SLEPC_VERSIONED_PACKAGE) --sourcedir $(PACKAGE_INSTALL_BASEDIR) --exclude=*html $(SLEPC_DIR_PREFIX)/lib/libslepc_real.so.$(SLEPC_VERSION) usr/lib/$(DEB_HOST_MULTIARCH)
+ dh_install -p$(SLEPC_VERSIONED_DEV_PACKAGE) --sourcedir $(PACKAGE_INSTALL_BASEDIR) --autodest --exclude=*html --exclude=libslepc_real.so.$(SLEPC_VERSION) usr
+ dh_link -p$(SLEPC_VERSIONED_DEV_PACKAGE) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_real.so.$(SLEPC_VERSION) $(SLEPC_DIR_PREFIX)/lib/libslepc_real.so.$(SLEPC_VERSION)
+ dh_link -p$(SLEPC_VERSIONED_PACKAGE) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_real.so.$(SLEPC_VERSION) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_real.so.$(SLEPC_SONAME_VERSION)
+ dh_link -p$(SLEPC_VERSIONED_DEV_PACKAGE) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_real.so.$(SLEPC_VERSION) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_real.so
+
+ dh_install -p$(SLEPC_DEBUG_PACKAGE) --sourcedir $(PACKAGE_DEBUG_INSTALL_BASEDIR) --autodest --exclude=*html usr
+
+ dh_install -p$(SLEPC_COMPLEX_VERSIONED_PACKAGE) --sourcedir $(PACKAGE_COMPLEX_INSTALL_BASEDIR) --exclude=*html $(SLEPC_COMPLEX_DIR_PREFIX)/lib/libslepc_complex.so.$(SLEPC_VERSION) usr/lib/$(DEB_HOST_MULTIARCH)
+ dh_install -p$(SLEPC_COMPLEX_VERSIONED_DEV_PACKAGE) --sourcedir $(PACKAGE_COMPLEX_INSTALL_BASEDIR) --autodest --exclude=*html --exclude=libslepc_complex.so.$(SLEPC_VERSION) usr
+ dh_link -p$(SLEPC_COMPLEX_VERSIONED_DEV_PACKAGE) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_complex.so.$(SLEPC_VERSION) $(SLEPC_COMPLEX_DIR_PREFIX)/lib/libslepc_complex.so.$(SLEPC_VERSION)
+ dh_link -p$(SLEPC_COMPLEX_VERSIONED_PACKAGE) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_complex.so.$(SLEPC_VERSION) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_complex.so.$(SLEPC_SONAME_VERSION)
+ dh_link -p$(SLEPC_COMPLEX_VERSIONED_DEV_PACKAGE) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_complex.so.$(SLEPC_VERSION) usr/lib/$(DEB_HOST_MULTIARCH)/libslepc_complex.so
+
+ dh_install -p$(SLEPC_COMPLEX_DEBUG_PACKAGE) --sourcedir $(PACKAGE_COMPLEX_DEBUG_INSTALL_BASEDIR) --autodest --exclude=*html usr
+
+
+override_dh_installdocs:
+ dh_installdocs
+ dh_install -p$(SLEPC_DOC_PACKAGE) --sourcedir $(PACKAGE_DEBUG_INSTALL_BASEDIR) --autodest $(SLEPC_DIR_DEBUG_PREFIX)/include/*html
+ dh_install -p$(SLEPC_DOC_PACKAGE) --sourcedir $(PACKAGE_DEBUG_INSTALL_BASEDIR) --autodest $(SLEPC_DIR_DEBUG_PREFIX)/include/slepc/*/*html
+
+
+# dh_installchangelogs can't handle a directory of changelog files, so skip them here
+override_dh_installchangelogs:
+ dh_installchangelogs --exclude=docs/changes
+
+override_dh_python2:
+ dh_python2
+ dh_python2 -p$(SLEPC_VERSIONED_DEV_PACKAGE) $(SLEPC_DIR_PREFIX)/bin
+ dh_python2 -p$(SLEPC_DEBUG_PACKAGE) $(SLEPC_DIR_DEBUG_PREFIX)/bin
+ dh_python2 -p$(SLEPC_COMPLEX_VERSIONED_DEV_PACKAGE) $(SLEPC_COMPLEX_DIR_PREFIX)/bin
+ dh_python2 -p$(SLEPC_COMPLEX_DEBUG_PACKAGE) $(SLEPC_COMPLEX_DEBUG_DIR_PREFIX)/bin
+
+override_dh_installdeb:
+ dh_installdeb
+ for pkg in $$(dh_listpackages -a); do \
+ sed -i -e 's/__SLEPC_VERSION__/$(SLEPC_VERSION)/; s/__DEB_HOST_MULTIARCH__/$(DEB_HOST_MULTIARCH)/' debian/$$pkg/DEBIAN/*; \
done
-# Install examples documentation in -doc/src directory
- for TESTDIR in `find src -name examples -print | sed "s/src\///"`; \
- do \
- install -d debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/src/$$TESTDIR; \
- for TESTDOC in `find src/$$TESTDIR -name \*.html -print`; do \
- cp -a $$TESTDOC \
- debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/src/$$TESTDIR; \
- done ; \
- done
-# I don't know of a way to do this "recursively"
- -rmdir `find debian/slepc3.4.2-doc -empty -type d -print`
- -rmdir `find debian/slepc3.4.2-doc -empty -type d -print`
- -rmdir `find debian/slepc3.4.2-doc -empty -type d -print`
- -rmdir `find debian/slepc3.4.2-doc -empty -type d -print`
-# Install examples & makefiles into temporary directory debian/extemp
- for TESTDIR in `find src -name examples -print | sed "s/src\///"`; \
- do \
- install -d debian/extemp/src/$$TESTDIR; \
- cp -a src/$$TESTDIR/* debian/extemp/src/$$TESTDIR; \
- done
- for MAKEFILE in `find src -name makefile -print | sed "s/src\///"`; \
- do \
- if [ -d debian/extemp/src/`echo $$MAKEFILE | sed "s/makefile//"` ] ;\
- then \
- cp -p src/$$MAKEFILE debian/extemp/src/$$MAKEFILE; \
- fi; \
- done
-# Clean up documentation from debian/extemp
- rm -f `find debian/extemp -name \*.html -print`
-# Pack debian/extemp/src into src.tar.gz and install
- cd debian/extemp && tar czf src.tar.gz src
- mv debian/extemp/src.tar.gz \
- debian/$(SLEPC_NAME)-doc/usr/share/doc/$(SLEPC_NAME)-doc/src.tar.gz
- rm -rf debian/extemp
-# Make links to documentation and examples from SLEPC_DIR and docs
- dh_link -p$(SLEPC_NAME)-doc \
- usr/share/doc/$(SLEPC_NAME)-doc/docs \
- usr/lib/slepcdir/$(SLEPC_VERSION)/docs \
- usr/share/doc/$(SLEPC_NAME)-doc/docs/index.html \
- usr/lib/slepcdir/$(SLEPC_VERSION)/index.html \
- usr/share/doc/$(SLEPC_NAME)-doc/makefile.html \
- usr/lib/slepcdir/$(SLEPC_VERSION)/makefile.html \
- usr/share/doc/$(SLEPC_NAME)-doc/src \
- usr/lib/slepcdir/$(SLEPC_VERSION)/src
- touch install-indep
-endif
-
-install: install-arch install-indep
- touch install
-
-binary-indep: install-indep
-ifeq ($(SLEPC_VERSION),3.4.2)
- dh_testdir -i
- dh_testroot -i
- dh_installdirs -i
- dh_installdocs -i
-# Clean up and finish
- rm -f `find debian/$(SLEPC_NAME)-doc -name ?akefile -print`
- rm -f `find debian/$(SLEPC_NAME)-doc -name *.cit* -print`
- rm -f `find debian/$(SLEPC_NAME)-doc -empty -type f -print`
- dh_installchangelogs -i
- dh_compress -i -X.xbm -X.pdf
- dh_fixperms -i
- dh_installdeb -i
- dh_gencontrol -i
- dh_md5sums -i
- dh_builddeb -i
-endif
-
-binary-arch: install-arch
- dh_testdir -a
- dh_testroot -a
- dh_lintian
- for ARCHGEN in $(ARCH_GENERATED_FILES); do \
- rm -f $$ARCHGEN ; \
- sed "s/petsc_arch/$(PETSC_ARCH)-c-opt/" < \
- `echo "$$ARCHGEN.in" | sed "s/$(SLEPC_NAME)/slepc3.4.2/"` | \
- sed "s/slepc_ver/$(SLEPC_VERSION)/" > $$ARCHGEN; \
- done
- dh_installdirs -a
- dh_installdocs -a
- dh_installchangelogs -a
- dh_strip -a -Xlibg$(SLEPC_BOPT_EXTRA)
- dh_makeshlibs -a -m$(SLEPC_VERSION)
- dh_compress -a
- dh_fixperms -a
- dh_installdeb -a
- dh_shlibdeps -a
- dh_gencontrol -a
- dh_md5sums -a
- dh_builddeb -a
-
-binary: binary-indep binary-arch
+
+
+override_dh_strip:
+ dh_strip --dbg-package=$(SLEPC_DEBUG_PACKAGE)
+ dh_strip --dbg-package=$(SLEPC_COMPLEX_DEBUG_PACKAGE)
+
DEB_SOURCE_PACKAGE = slepc
DEB_UPSTREAM_VERSION = $(shell dpkg-parsechangelog | sed -ne 's/^Version: \(.*\)-.*/\1/p')
DEB_STRIPPED_UPSTREAM_VERSION = $(shell echo $(DEB_UPSTREAM_VERSION) | sed -n -e 's/\.dfsg.*$$//p')
USCAN_DESTDIR := $(CURDIR)
-.PHONY: binary binary-arch binary-indep clean checkroot get-orig-source
get-orig-source:
uscan --no-conf --download-current-version --repack --compression xz
diff --git a/debian/slepc3.4.2-doc.docs b/debian/slepc3.6.1-doc.docs
similarity index 100%
rename from debian/slepc3.4.2-doc.docs
rename to debian/slepc3.6.1-doc.docs
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..d195edc
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,3 @@
+# Lintian thinks uploader Adam Powell's name violates policy
+slepc source: uploader-address-missing "Adam C. Powell
+slepc source: uploader-not-full-name IV"
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/slepc.git
More information about the debian-science-commits
mailing list