Import dune-common_2.6.0-3.debian.tar.xz
authorAnsgar Burchardt <ansgar@debian.org>
Thu, 21 Jun 2018 07:17:17 +0000 (08:17 +0100)
committerAnsgar Burchardt <ansgar@debian.org>
Thu, 21 Jun 2018 07:17:17 +0000 (08:17 +0100)
[dgit import tarball dune-common 2.6.0-3 dune-common_2.6.0-3.debian.tar.xz]

20 files changed:
changelog [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
dune-autopkgtest [new file with mode: 0755]
dune-debian.env [new file with mode: 0644]
dune-debian.mk [new file with mode: 0644]
get-orig-source [new file with mode: 0755]
libdune-common-dev.install [new file with mode: 0644]
libdune-common-dev.lintian-overrides [new file with mode: 0644]
libdune-common-dev.manpages [new file with mode: 0644]
libdune-common-doc.install [new file with mode: 0644]
patches/rename-git-whitespace-hook.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
patches/skip-dirs-starting-with-dot.patch [new file with mode: 0644]
patches/soname.patch [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
tests/basic [new file with mode: 0755]
tests/control [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..4dcfc8b
--- /dev/null
+++ b/changelog
@@ -0,0 +1,308 @@
+dune-common (2.6.0-3) unstable; urgency=medium
+
+  * Add runtime dependency on gfortran. Configuring a DUNE project without
+    a Fortran compiler fails.
+  * autopkgtest: Add dependency on MPI as the test builds and runs an MPI
+    program.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Thu, 21 Jun 2018 09:17:17 +0200
+
+dune-common (2.6.0-2) unstable; urgency=medium
+
+  * Add a simple autopkgtest.  The driver (dune-autopkgtest) is also
+    usable by other DUNE modules.
+  * Promote CMake from Recommends to Depends.
+  * Bumped Standards-Version to 4.1.4 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 20 Jun 2018 23:37:32 +0200
+
+dune-common (2.6.0-1) unstable; urgency=medium
+
+  * New upstream release.
+  * d/control: now requires cmake >= 3.1
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 03 Apr 2018 00:20:33 +0200
+
+dune-common (2.6.0~rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * d/control: update Vcs-* fields for move to salsa.debian.org
+  * Bumped Standards-Version to 4.1.3 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sat, 06 Jan 2018 15:50:50 +0100
+
+dune-common (2.6~20171122-1) experimental; urgency=medium
+
+  * New upstream snapshot (commit: 77b87e7c3931fc70f46be2e4cae7058127c92edf).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 22 Nov 2017 17:38:48 +0100
+
+dune-common (2.6~20171113-2) experimental; urgency=medium
+
+  * arithmetictestsuite: quotient must be representable without error.
+    This should correct the build failure on i386.
+    + new patch: 0001-quotient-must-be-representable-without-error.patch
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 14 Nov 2017 08:01:05 +0100
+
+dune-common (2.6~20171113-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * d/control: add `Rules-Requires-Root: no`
+  * d/get-orig-source: no longer include Git commit id in snapshot versions
+  * libdune-common-doc: add Built-Using: doxygen (for jquery.js).
+  * Bumped Standards-Version to 4.1.1 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 14 Nov 2017 00:12:14 +0100
+
+dune-common (2.5.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Build-Depend on texlive-pictures instead of pgf. (Closes: #867073)
+  * debian/copyright: Update URLs.
+  * Bumped Standards-Version to 4.0.0 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 18 Jul 2017 11:53:29 +0200
+
+dune-common (2.5.1~rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * No longer build manual -dbg package. Use the automatically generated
+    -dbgsym package instead.
+  * dune-debian.mk: do not limit number of MPI ranks to number of cores
+    when running tests. (Closes: #850229)
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sat, 17 Jun 2017 15:48:18 +0200
+
+dune-common (2.5.0-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 18 Dec 2016 12:58:14 +0100
+
+dune-common (2.5.0~rc2-2) unstable; urgency=medium
+
+  * Add Breaks+Replaces: libdune-functions-dev (<< 2.5.0~)
+    (Closes: #847142)
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 05 Dec 2016 23:41:24 +0100
+
+dune-common (2.5.0~rc2-1) unstable; urgency=medium
+
+  * Upload to unstable.
+  * New upstream release candidate.
+  * dune-debian.mk: Restore variable for configure options.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 05 Dec 2016 23:09:55 +0100
+
+dune-common (2.5.0~rc1-3) experimental; urgency=medium
+
+  * Call dh_sphinxdoc only when building arch-indep packages.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 22 Nov 2016 21:12:02 +0100
+
+dune-common (2.5.0~rc1-2) experimental; urgency=medium
+
+  * Patch: Add correct offset for end of chunk
+    This should fix the build failure on 32bit architectures.
+    + 0001-Add-correct-offset-for-end-of-chunk.patch
+  * Use dh_sphinxdoc.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 22 Nov 2016 20:21:37 +0100
+
+dune-common (2.5.0~rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * Switch to CMake.
+  * dune-debian.mk: Simplify running tests.
+  * Bumped Standards-Version to 3.9.8 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 21 Nov 2016 20:37:38 +0100
+
+dune-common (2.4.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Mark libdune-common-dev as Multi-Arch: same.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 29 Feb 2016 10:19:18 +0100
+
+dune-common (2.4.1~rc2-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 28 Feb 2016 13:18:16 +0100
+
+dune-common (2.4.0-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 25 Sep 2015 22:29:28 +0200
+
+dune-common (2.4~20150912rc3-1) unstable; urgency=medium
+
+  * New upstream release candidate.
+  * dune-debian.mk: Add options to enable UMFPack support.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 13 Sep 2015 13:38:49 +0200
+
+dune-common (2.4~20150825rc2-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * Move shared library into -dev package and provide a virtual package
+    that changes with the upstream version for shlib dependencies. See
+    also https://lists.debian.org/debian-devel/2015/07/msg00115.html
+  * libdune-common-dev: Add -doc package as a suggested package.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 04 Sep 2015 14:24:36 +0200
+
+dune-common (2.4~20150717rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 17 Jul 2015 20:45:00 +0200
+
+dune-common (2.4~20150617g6f17141-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * get-orig-source: Use commit date instead of current date.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 19 Jun 2015 23:11:40 +0200
+
+dune-common (2.4~20150521g15491c4-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Thu, 21 May 2015 21:46:50 +0200
+
+dune-common (2.4~20150505g1ce8697-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Change shared library package name to libdune-common-2.4git.
+  * Update debian/copyright for new upstream snapshot.
+  * Add Build-Depends-Indep: graphviz for "dot".
+  * dune-debian.mk: Continue to use autotools for now.
+  * Bumped Standards-Version to 3.9.6 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 05 May 2015 21:53:57 +0200
+
+dune-common (2.3.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Install bash completion for dunecontrol.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 17 Jun 2014 19:46:31 +0200
+
+dune-common (2.3.1~rc1-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+  * Change shared library package name to libdune-common-2.3.1.
+  * dune-debian.mk: Enable support for UG.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 10 Jun 2014 19:54:09 +0200
+
+dune-common (2.3.0-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Change shared library package name to libdune-common-2.3.0.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 14 Feb 2014 09:12:40 +0100
+
+dune-common (2.3~20140122g7a7cf2b-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 22 Jan 2014 23:10:56 +0100
+
+dune-common (2.3~20140117beta2-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Remove patches that should be obsoleted by upstream changes.
+  * dune-debian.mk: Remove obsolete --enable-fieldvector-size-is-method flag.
+  * libdune-common-dev.install: Install /usr/lib/*/cmake.
+  * Backport 073167e61070a5e952c738c02d85c3f946717e40 ([dune-autogen]
+    Prevents overriding am_dir with installed modules) from master branch.
+    + New patch: 0001-dune-autogen-Prevents-overriding-am_dir-with-install.patch
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Mon, 20 Jan 2014 13:42:47 +0100
+
+dune-common (2.3~20140111beta1-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Rename git-whitespace-hook to dune-git-whitespace-hook.
+  * Install cmake modules. Note that it is still not possible to use
+    cmake with the Debian packages.
+  * debian/control: Remove ${shlibs:Depends} from -dev and -dbg package.
+  * debian/dune-debian.mk: Use default compression for binary packages.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 15 Jan 2014 13:33:04 +0100
+
+dune-common (2.3~20140103g107b57a-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Install man page using dh_installman as "make install" is not called
+    for the doc subdirectory and thus dh_install cannot find usr/share/man.
+  * debian/dune-debian.mk: Restore --without-parmetis.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Fri, 03 Jan 2014 00:40:13 +0100
+
+dune-common (2.3~20131227g6c02812-1) experimental; urgency=medium
+
+  * New upstream snapshot.
+  * Add Build-Depends on texlive-latex-extra (for subfigure.sty).
+  * Change shared library package name to libdune-common-2.3svn.
+  * Patch dunecontrol to skip directories starting with a dot when
+    looking for dune.module.
+    + new patch: skip-dirs-starting-with-dot.patch
+  * Install dune_cxa_demangle.m4.
+    + new patch: 0001-Install-dune_cxa_demangle.m4.patch
+  * debian/dune-debian.mk: Do not pass --without-parmetis to configure
+    as doing so triggers a bug causing the configure script to abort, cf.
+    <https://dune-project.org/flyspray/index.php?do=details&task_id=1404>
+  * debian/control: Use canonical Vcs-* URIs.
+  * debian/control: Drop pre-depends on dpkg (>= 1.15.6) which is
+    already satisfied in Debian 6.
+  * debian/rules: Install am2cmake.py as dune-am2cmake.
+  * libdune-common-dev: Add dependency on python and python-pyparsing
+    for am2cmake.py.
+  * libdune-common-dev: Include man page for dunecontrol.
+  * Bumped Standards-Version to 3.9.5 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Wed, 01 Jan 2014 19:40:32 +0100
+
+dune-common (2.2.1-2) unstable; urgency=low
+
+  * Upload to unstable.
+  * Bumped Standards-Version to 3.9.4 (no changes).
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 12 May 2013 18:30:12 +0200
+
+dune-common (2.2.1-1) experimental; urgency=low
+
+  * New upstream release. (Closes: #701866)
+  * debian/copyright: Update for new upstream release.
+  * Mark runtime and debug packages as Multi-Arch: same.
+  * lib/dunemodules.lib: Fix PARSER_TRIM.
+    + new patch: fix-PARSER_TRIM.diff
+  * Update aclocal.patch.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sat, 02 Mar 2013 02:17:38 +0100
+
+dune-common (2.2.0-1) unstable; urgency=low
+
+  * New upstream release.
+  * Install dunemodules.lib to /usr/lib.
+  * Update debian/copyright.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Tue, 05 Jun 2012 10:17:59 +0200
+
+dune-common (2.2~svn6684-1) experimental; urgency=low
+
+  * New upstream snapshot.
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sun, 06 May 2012 14:31:49 +0200
+
+dune-common (2.2~svn6573-1) experimental; urgency=low
+
+  * Initial release. (Closes: #661823)
+
+ -- Ansgar Burchardt <ansgar@debian.org>  Sat, 17 Mar 2012 17:15:13 +0100
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+9
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..4fc3511
--- /dev/null
+++ b/control
@@ -0,0 +1,46 @@
+Source: dune-common
+Section: libs
+Priority: optional
+Standards-Version: 4.1.4
+Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
+Uploaders: Ansgar Burchardt <ansgar@debian.org>, Oliver Sander <sander@mi.fu-berlin.de>
+Vcs-Browser: https://salsa.debian.org/science-team/dune-common
+Vcs-Git: https://salsa.debian.org/science-team/dune-common.git
+Homepage: http://www.dune-project.org/
+Build-Depends: debhelper (>= 9),
+ cmake (>= 3.1), gfortran, mpi-default-bin, mpi-default-dev, pkg-config, python3
+Build-Depends-Indep: doxygen, ghostscript, graphviz, imagemagick, texlive-latex-extra, texlive-latex-recommended, texlive-pictures, python3-sphinx
+Rules-Requires-Root: no
+
+Package: libdune-common-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends}, ${shlibs:Depends},
+ cmake (>= 3.1), gfortran, pkg-config, python, python-pyparsing
+Breaks: libdune-functions-dev (<< 2.5.0~)
+Replaces: libdune-functions-dev (<< 2.5.0~)
+Recommends: python3
+Suggests: libdune-common-doc (= ${source:Version})
+Provides: ${dune:shared-library}
+Description: toolbox for solving PDEs -- basic classes (development files)
+ DUNE, the Distributed and Unified Numerics Environment is a modular toolbox
+ for solving partial differential equations (PDEs) with grid-based methods.
+ It supports the easy implementation of methods like Finite Elements (FE),
+ Finite Volumes (FV), and also Finite Differences (FD).
+ .
+ This package contains the development files for the basic classes.
+
+Package: libdune-common-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, ${sphinxdoc:Depends}
+Built-Using: ${dune:doc:Built-Using}
+Description: toolbox for solving PDEs -- basic classes (documentation)
+ DUNE, the Distributed and Unified Numerics Environment is a modular toolbox
+ for solving partial differential equations (PDEs) with grid-based methods.
+ It supports the easy implementation of methods like Finite Elements (FE),
+ Finite Volumes (FV), and also Finite Differences (FD).
+ .
+ This package contains the documentation for the basic classes.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..66918aa
--- /dev/null
+++ b/copyright
@@ -0,0 +1,109 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: dune-common
+Source: https://www.dune-project.org/dev/downloadgit/
+
+Files: *
+Copyright:
+ 2015--2017    Marco Agnese
+ 2015          Martin Alkämper
+ 2003--2010    Peter Bastian
+ 2004--2017    Markus Blatt
+ 2013          Andreas Buhr
+ 2011--2017    Ansgar Burchardt
+ 2004--2005    Adrian Burri
+ 2014          Benjamin Bykowski
+ 2014          Marco Cecchetti
+ 2006--2018    Andreas Dedner
+ 2003          Marc Droske
+ 2003--2018    Christian Engwer
+ 2004--2018    Jorrit Fahlke
+ 2016          Thomas Fetzer
+ 2008--2013    Bernd Flemisch
+ 2013--2014    Christoph Gersbacher
+ 2015          Stefan Girke
+ 2015--2017    Felix Gruber
+ 2005--2017    Carsten Gräser
+ 2010--2018    Christoph Grüninger
+ 2006          Bernard Haasdonk
+ 2015--2016    René Heß
+ 2015          Claus-Justus Heine
+ 2012--2013    Olaf Ippisch
+ 2013--2017    Dominic Kempf
+ 2009          Leonard Kern
+ 2013          Torbjörn Klatt
+ 2003--2017    Robert Klöfkorn
+ 2005--2007    Sreejith Pulloor Kuttanikkad
+ 2012--2016    Arne Morten Kvarving
+ 2010--2014    Andreas Lauser
+ 2016--2017    Tobias Leibner
+ 2015          Lars Lubkoll
+ 2012--2017    Tobias Malkmus
+ 2007--2011    Sven Marnach
+ 2010--2017    René Milk
+ 2011--2018    Steffen Müthing
+ 2003--2006    Thimo Neubauer
+ 2011          Rebecca Neumann
+ 2008--2018    Martin Nolte
+ 2014          Andreas Nüßing
+ 2004--2005    Mario Ohlberger
+ 2014          Steffen Persvold
+ 2008--2017    Elias Pipping
+ 2011          Dan Popovic
+ 2017          Simon Praetorius
+ 2009          Atgeirr Rasmussen
+ 2006--2014    Uli Sack
+ 2003--2017    Oliver Sander
+ 2006          Klaus Schneider
+ 2004          Roland Schulz
+ 2015          Nicolas Schwenck
+ 2016          Linus Seelinger
+ 2009--2014    Bård Skaflestad
+ 2012          Matthias Wohlmuth
+ 2011--2016    Jonathan Youett
+License: GPL-2 with DUNE exception
+
+Files: cmake/modules/UseLATEX.cmake
+Copyright: 2004-2015, Sandia Corporation
+License: other
+ Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
+ license for use of this work by or on behalf of the
+ U.S. Government. Redistribution and use in source and binary forms, with
+ or without modification, are permitted provided that this Notice and any
+ statement of authorship are reproduced on all copies.
+
+Files: doc/dunecontrol.1
+Copyright: 2013-2015, Oliver Sander
+License: GNU-All-Permissive-License
+
+Files: debian/*
+Copyright: 2011-2015, Ansgar Burchardt <ansgar@debian.org>
+License: GPL-2 with DUNE exception
+
+License: GPL-2 with DUNE exception
+ The DUNE library and headers are licensed under version 2 of the GNU General
+ Public License, with a special exception for linking and compiling against
+ DUNE, the so-called "runtime exception." The license is intended to be
+ similar to the GNU Lesser General Public License, which by itself isn't
+ suitable for a template library.
+ .
+ The exact wording of the exception reads as follows:
+ .
+ As a special exception, you may use the DUNE library without
+ restriction.  Specifically, if other files instantiate templates or
+ use macros or inline functions from one or more of the DUNE source
+ files, or you compile one or more of the DUNE source files and link
+ them with other files to produce an executable, this does not by
+ itself cause the resulting executable to be covered by the GNU
+ General Public License.  This exception does not however invalidate
+ any other reasons why the executable file might be covered by the
+ GNU General Public License.
+ .
+ This license clones the one of the libstdc++ library.
+ .
+ On Debian systems, the full text of the GNU General Public License version 2
+ can be found in the file  `/usr/share/common-licenses/GPL-2'.
+
+License: GNU-All-Permissive-License
+ Copying and distribution of this file, with or without modification, are
+ permitted in any medium without royalty provided the copyright notice
+ and this notice are preserved.
diff --git a/dune-autopkgtest b/dune-autopkgtest
new file mode 100755 (executable)
index 0000000..02c4059
--- /dev/null
@@ -0,0 +1,62 @@
+#! /bin/bash
+
+set -e
+set -u
+
+fail() {
+    echo >&2 "${1:-E: Unknown error}"
+    exit 1
+}
+
+if [ ! -v AUTOPKGTEST_TMP ]; then
+  fail "E: dune-autopkgtest must be invoked by autopkgtest"
+fi
+
+sourcedir=${PWD}
+
+dependencies=
+mpi=
+
+while [ $# -ge 1 ]; do
+    case "${1}" in
+        --depends)
+            dependencies="${2}"
+            shift 2
+            ;;
+        --mpi)
+            mpi="${2}"
+            shift 2
+            ;;
+        *)
+            break
+    esac
+done
+
+if [ $# -ne 1 ]; then
+    fail "E: No source given"
+fi
+source=${1}
+
+if [ -z "${dependencies}" ]; then
+    dependencies=$(dpkg-parsechangelog --show-field Source)
+fi
+
+cd "${AUTOPKGTEST_TMP}"
+duneproject "dune-autopkgtest" "${dependencies}" "0.0.1" "DUNE autopkgtest <invalid@invalid>" <<< y ||
+    fail "E: Setting up dune-autopkgtest project failed"
+
+cp "${sourcedir}/${source}" "${AUTOPKGTEST_TMP}/dune-autopkgtest/src/dune-autopkgtest.cc"
+
+cd dune-autopkgtest
+
+. ${DUNE_DEBIAN_ENV:-/usr/share/dune/dune-debian.env}
+
+dunecontrol --current all ||
+    fail "E: Building the package failed."
+
+./build-cmake/src/dune-autopkgtest ||
+    fail "E: Running the test program failed."
+if [ -n "${mpi}" ]; then
+    mpirun -np "${mpi}" ./build-cmake/src/dune-autopkgtest ||
+        fail "E: Running the test program under MPI with ${mpi} ranks failed."
+fi
diff --git a/dune-debian.env b/dune-debian.env
new file mode 100644 (file)
index 0000000..20d1e77
--- /dev/null
@@ -0,0 +1,6 @@
+# OpenMPI looks for a rsh program, even when it only starts local processes.
+export OMPI_MCA_plm_rsh_agent=/bin/false
+
+# Don't limit number of MPI ranks to number of cores (when running tests),
+# see https://bugs.debian.org/850229
+export OMPI_MCA_rmaps_base_oversubscribe=1
diff --git a/dune-debian.mk b/dune-debian.mk
new file mode 100644 (file)
index 0000000..b4e3cbd
--- /dev/null
@@ -0,0 +1,27 @@
+include /usr/share/dpkg/pkg-info.mk
+
+DUNE_DEBIAN_ENV ?= /usr/share/dune/dune-debian.env
+
+include $(DUNE_DEBIAN_ENV)
+
+DUNE_CTEST ?= /usr/bin/dune-ctest
+
+DUNE_DEBIAN_CMAKE_FLAGS = -DBUILD_SHARED_LIBS=1
+
+DUNE_DEBIAN_SHLIB = $(subst ~,.,lib$(DEB_SOURCE)-$(DEB_VERSION_UPSTREAM))
+
+DUNE_DOC_BUILT_USING_PACKAGES = doxygen
+DUNE_DOC_BUILT_USING = $(shell dpkg-query -f '$${source:Package} (= $${source:Version})' -W $(DUNE_DOC_BUILT_USING_PACKAGES))
+
+override_dh_auto_configure:
+       dh_auto_configure -- $(DUNE_DEBIAN_CMAKE_FLAGS)
+
+override_dh_auto_test:
+       dh_auto_build -- build_tests
+       cd build; PATH=$(CURDIR)/debian/tmp-test:$$PATH $(DUNE_CTEST)
+
+override_dh_gencontrol:
+       dh_gencontrol -- -Vdune:shared-library='$(DUNE_DEBIAN_SHLIB)' -Vdune:doc:Built-Using='$(DUNE_DOC_BUILT_USING)'
+
+override_dh_makeshlibs:
+       dh_makeshlibs --version-info='$(DUNE_DEBIAN_SHLIB)'
diff --git a/get-orig-source b/get-orig-source
new file mode 100755 (executable)
index 0000000..e203a9a
--- /dev/null
@@ -0,0 +1,133 @@
+#! /bin/bash
+#
+# get-orig-source for dune
+#
+# (C) 2012, Ansgar Burchardt <ansgar@debian.org>
+# License: GPL-2 with DUNE exception
+
+set -e
+set -u
+set -o pipefail
+
+usage() {
+  echo "usage: get-orig-source [options...] <module> <version> [<branch>]
+  module:  name of dune module (e.g. dune-common)
+  version: upstream version number
+  branch:  branch (default: master); can also be a tag or commit id
+
+  options:
+  --snapshot: date and Git revision is appended to the version number
+  --dch:      run dch to update version number
+  -d <dir>:   create orig tarball in directory <dir>
+
+  environment:
+  DUNE_SOURCE path to DUNE repositories"
+  exit 1
+}
+
+safe-rm() {
+  local -a args
+  args=(--verbose)
+  while [[ $# -gt 0 ]]; do
+    case "${1}" in
+      -*) args+=("${1}"); shift ;;
+      *)  break ;;
+    esac
+  done
+
+  local path
+  local n d r
+  for path in "$@"; do
+    r="${path}"
+    d="."
+    while [[ ${r} =~ .*/.* ]]; do
+      n="${r%%/*}"
+      r="${r#*/}"
+      if [[ $n == "" ]]; then
+        d=""
+        continue
+      fi
+      d="${d}/${n}"
+      if [[ -L "${d}" ]]; then
+        echo "safe-rm: ${d} is a symbolic link (while removing ${path})" >&2
+        exit 1
+      fi
+    done
+  done
+
+  rm "${args[@]}" "${@}"
+}
+
+if [[ $# -lt 2 ]]; then
+  usage
+fi
+
+if [[ -z "${DUNE_SOURCE:-}" ]]; then
+  echo "DUNE_SOURCE is not set" >&2
+  echo "----------------------" >&2
+  echo "Please set DUNE_SOURCE to a directory containing" >&2
+  echo "checkouts of the DUNE modules to avoid cloning them." >&2
+  exit 1
+fi
+
+snapshot=
+dch=
+dir=.
+
+while :; do
+  case "$1" in
+    --snapshot) snapshot=1; shift ;;
+    --dch)      dch=1; shift ;;
+    -d)         dir="$2"; shift 2 ;;
+    *)          break ;;
+  esac
+done
+
+module="$1"
+version="$2"
+branch="${3:-master}"
+if [[ -d "${DUNE_SOURCE}/${module}.git" ]]; then
+  GIT_DIR="${DUNE_SOURCE}/${module}.git"
+elif [[ -d "${DUNE_SOURCE}/${module}/.git" ]]; then
+  GIT_DIR="${DUNE_SOURCE}/${module}/.git"
+else
+  echo "Could not find Git repository for ${module} in ${DUNE_SOURCE}" >&2
+  exit 1
+fi
+
+export GIT_DIR
+
+if [[ $snapshot ]]; then
+  date=$(git log -1 --pretty="format:%ci" ${branch})
+  date=${date%% *}
+  date=${date//-/}
+  version="${version}${date}"
+fi
+
+origdir="$module-$version.orig"
+tarball="$dir/${module}_$version.orig.tar.xz"
+
+if [[ -e "$origdir" || -e "$tarball" ]]; then
+  echo "source directory or tarball already exists" >&2
+  exit 1
+fi
+
+mkdir "${origdir}"
+git archive --format=tar ${branch} | tar -C "${origdir}" -x
+cd "$origdir"
+case "$module" in
+  dune-grid)
+    safe-rm -r doc/grids/amiramesh
+    ;;
+  dune-uggrid)
+    safe-rm -r doc
+    ;;
+esac
+cd ..
+
+tar --owner=root --group=root -c "$origdir" | xz -9 > "$tarball"
+rm -rf "$origdir"
+
+if [[ $dch ]]; then
+  dch --newversion "$version-1" "New upstream release ($version)."
+fi
diff --git a/libdune-common-dev.install b/libdune-common-dev.install
new file mode 100644 (file)
index 0000000..12510a4
--- /dev/null
@@ -0,0 +1,10 @@
+usr/bin
+usr/include
+usr/lib
+usr/share/bash-completion
+usr/share/dune-common
+usr/share/dune
+
+debian/dune-autopkgtest usr/share/dune
+debian/dune-debian.env usr/share/dune
+debian/dune-debian.mk usr/share/dune
diff --git a/libdune-common-dev.lintian-overrides b/libdune-common-dev.lintian-overrides
new file mode 100644 (file)
index 0000000..c3689aa
--- /dev/null
@@ -0,0 +1,6 @@
+# We don't build a separate shared library package.
+# See also https://lists.debian.org/debian-devel/2015/07/msg00115.html
+libdune-common-dev: non-dev-pkg-with-shlib-symlink *
+libdune-common-dev: package-name-doesnt-match-sonames *
+# ABI is too unstable to warrant extra work with a symbols file
+libdune-common-dev: no-symbols-control-file
diff --git a/libdune-common-dev.manpages b/libdune-common-dev.manpages
new file mode 100644 (file)
index 0000000..76291e8
--- /dev/null
@@ -0,0 +1 @@
+doc/dunecontrol.1
diff --git a/libdune-common-doc.install b/libdune-common-doc.install
new file mode 100644 (file)
index 0000000..fe56f80
--- /dev/null
@@ -0,0 +1,2 @@
+usr/share/doc/dune-common/* usr/share/doc/libdune-common-doc
+build/doc/buildsystem/html usr/share/doc/libdune-common-doc/buildsystem
diff --git a/patches/rename-git-whitespace-hook.patch b/patches/rename-git-whitespace-hook.patch
new file mode 100644 (file)
index 0000000..f772f42
--- /dev/null
@@ -0,0 +1,40 @@
+From: Ansgar Burchardt <ansgar@debian.org>
+Subject: Rename git-whitespace-hook to dune-git-whitespace-hook.
+
+The name git-whitespace-hook is a bit too generic for a DUNE-specific
+tool.
+
+--- a/bin/dunecontrol
++++ b/bin/dunecontrol
+@@ -520,17 +520,28 @@
+         fi
+       else
+         # standard handling of Git whitespace hook
++        for f in dune-git-whitespace-hook git-whitespace-hook; do
++          f="${PREFIX_DIR}/bin/${f}"
++          if [ -e "${f}" ]; then
++            git_whitespace_hook="${f}"
++            break
++          fi
++        done
++        if [ -z "${git_whitespace_hook:-}" ]; then
++          echo "Did not find git-whitespace-hook." >&2
++          exit 1
++        fi
+         if [ ! -e "$GITHOOKPATH" ]; then
+           # there is no hook yet, we can safely install ours
+           echo "--> Installing Git pre-commit hook to enforce whitespace policy"
+-          cp -p "$PREFIX_DIR/bin/git-whitespace-hook" "$GITHOOKPATH"
++          cp -p "${git_whitespace_hook}" "$GITHOOKPATH"
+         else
+           # there is already a hook, check whether it is our whitespace hook
+           local HOOKTAG="$(eval head -n 2 \"$GITHOOKPATH\" | tail -n 1)"
+           if [ "x$HOOKTAG" = "x# dune-git-whitespace-hook" ]; then
+-            if [ "$PREFIX_DIR/bin/git-whitespace-hook" -nt "$GITHOOKPATH" ]; then
++            if [ "${git_whitespace_hook}" -nt "$GITHOOKPATH" ]; then
+               echo "--> Updating Git pre-commit hook with newer version"
+-              cp -p "$PREFIX_DIR/bin/git-whitespace-hook" "$GITHOOKPATH"
++              cp -p "${git_whitespace_hook}" "$GITHOOKPATH"
+             fi
+           else
+             echo "WARNING: Existing pre-commit hook found!"
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..c1e38b1
--- /dev/null
@@ -0,0 +1,3 @@
+soname.patch
+skip-dirs-starting-with-dot.patch
+rename-git-whitespace-hook.patch
diff --git a/patches/skip-dirs-starting-with-dot.patch b/patches/skip-dirs-starting-with-dot.patch
new file mode 100644 (file)
index 0000000..633b9a9
--- /dev/null
@@ -0,0 +1,13 @@
+From: Ansgar Burchardt <ansgar@debian.org>
+Subject: skip directories starting with a dot when looking for dune.module
+--- a/lib/dunemodules.lib
++++ b/lib/dunemodules.lib
+@@ -250,7 +250,7 @@
+         while read m; do
+           test -n "$m" && parse_control "$m"
+         done <<EOFM
+-        $(find -H "$dir" -name $CONTROL | $GREP -v 'dune-[-_a-zA-Z]/dune-[-a-zA-Z_]*-[0-9]\{1,\}.[0-9]\{1,\}/')
++        $(find -H "$dir" -name '.?*' -prune -o -name $CONTROL -print | $GREP -v 'dune-[-_a-zA-Z]/dune-[-a-zA-Z_]*-[0-9]\{1,\}.[0-9]\{1,\}/')
+ EOFM
+         else
+         parse_control "$dir"
diff --git a/patches/soname.patch b/patches/soname.patch
new file mode 100644 (file)
index 0000000..f4ee046
--- /dev/null
@@ -0,0 +1,33 @@
+--- a/cmake/modules/DuneMacros.cmake
++++ b/cmake/modules/DuneMacros.cmake
+@@ -1019,8 +1019,13 @@
+ # More docu can be found at the top of this file.
+ macro(dune_add_library basename)
+   include(CMakeParseArguments)
+-  cmake_parse_arguments(DUNE_LIB ";APPEND;NO_EXPORT;OBJECT" "COMPILE_FLAGS"
++  cmake_parse_arguments(DUNE_LIB ";APPEND;NO_EXPORT;OBJECT" "COMPILE_FLAGS;SOVERSION"
+     "ADD_LIBS;SOURCES" ${ARGN})
++  if(NOT DUNE_LIB_SOVERSION)
++    # If no explicit version is given, we assume the ABI is not stable and
++    # changes with every release.
++    set(DUNE_LIB_SOVERSION ${ProjectVersion})
++  endif()
+   if(DUNE_LIB_OBJECT)
+     if(DUNE_LIB_${basename}_SOURCES)
+       message(FATAL_ERROR "There is already a library with the name ${basename}, "
+@@ -1063,6 +1068,7 @@
+     endif()
+     # Build library in ${PROJECT_BINARY_DIR}/lib
+     set_target_properties(${basename} PROPERTIES
++      SOVERSION ${DUNE_LIB_SOVERSION}
+       LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
+       ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
+@@ -1089,6 +1095,7 @@
+         #create shared libs
+         add_library(${basename}-shared SHARED  ${DUNE_LIB_SOURCES})
+         set_target_properties(${basename}-shared PROPERTIES
++          SOVERSION ${DUNE_LIB_SOVERSION}
+           OUTPUT_NAME ${basename}
+           LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
+         # link with specified libraries.
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..c2e6fd0
--- /dev/null
+++ b/rules
@@ -0,0 +1,23 @@
+#! /usr/bin/make -f
+
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+DUNE_DEBIAN_ENV := $(CURDIR)/debian/dune-debian.env
+DUNE_CTEST := $(CURDIR)/bin/dune-ctest
+DUNE_DEBIAN_DUNECONTROL := $(CURDIR)/bin/dunecontrol
+include debian/dune-debian.mk
+
+%:
+       dh $@ --parallel --builddirectory=build
+
+override_dh_auto_build-indep:
+       dh_auto_build -- doc
+
+override_dh_install-arch:
+       mv debian/tmp/usr/bin/am2cmake.py debian/tmp/usr/bin/dune-am2cmake
+       mv debian/tmp/usr/bin/git-whitespace-hook debian/tmp/usr/bin/dune-git-whitespace-hook
+       dh_install -a
+
+override_dh_installdocs-indep:
+       dh_installdocs
+       dh_sphinxdoc
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/tests/basic b/tests/basic
new file mode 100755 (executable)
index 0000000..436fa59
--- /dev/null
@@ -0,0 +1,7 @@
+#! /bin/bash
+
+set -e
+set -u
+
+export DUNE_DEBIAN_ENV=${PWD}/debian/dune-debian.env
+./debian/dune-autopkgtest --mpi 2 dune/common/test/mpicollectivecommunication.cc
diff --git a/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..db7e036
--- /dev/null
@@ -0,0 +1,6 @@
+Tests: basic
+Depends:
+ libdune-common-dev,
+ build-essential,
+ mpi-default-bin, mpi-default-dev,
+Restrictions: allow-stderr