From 23607674ad08d51c8a30439113e74bb9c5e7c6cb Mon Sep 17 00:00:00 2001 From: Ansgar Date: Mon, 11 Jan 2021 21:23:00 +0000 Subject: [PATCH 1/1] Import dune-common_2.7.1-2.debian.tar.xz [dgit import tarball dune-common 2.7.1-2 dune-common_2.7.1-2.debian.tar.xz] --- changelog | 370 ++++++++++++++++++++++ control | 48 +++ copyright | 151 +++++++++ dune-autopkgtest | 62 ++++ dune-debian.env | 6 + dune-debian.mk | 45 +++ get-orig-source | 136 ++++++++ libdune-common-dev.install | 11 + libdune-common-dev.lintian-overrides | 6 + libdune-common-doc.install | 2 + patches/series | 2 + patches/skip-dirs-starting-with-dot.patch | 13 + patches/soname.patch | 34 ++ rules | 25 ++ source/format | 1 + tests/basic | 7 + tests/control | 6 + 17 files changed, 925 insertions(+) create mode 100644 changelog create mode 100644 control create mode 100644 copyright create mode 100755 dune-autopkgtest create mode 100644 dune-debian.env create mode 100644 dune-debian.mk create mode 100755 get-orig-source create mode 100644 libdune-common-dev.install create mode 100644 libdune-common-dev.lintian-overrides create mode 100644 libdune-common-doc.install create mode 100644 patches/series create mode 100644 patches/skip-dirs-starting-with-dot.patch create mode 100644 patches/soname.patch create mode 100755 rules create mode 100644 source/format create mode 100755 tests/basic create mode 100644 tests/control diff --git a/changelog b/changelog new file mode 100644 index 0000000..38f3c37 --- /dev/null +++ b/changelog @@ -0,0 +1,370 @@ +dune-common (2.7.1-2) unstable; urgency=medium + + * Upload to unstable. + + -- Ansgar Mon, 11 Jan 2021 22:23:00 +0100 + +dune-common (2.7.1-1) experimental; urgency=medium + + * New upstream release. + + -- Lisa Julia Nebel Tue, 05 Jan 2021 17:51:34 +0100 + +dune-common (2.7.0-5) unstable; urgency=medium + + * Upload to unstable. + + -- Ansgar Wed, 15 Jul 2020 12:29:39 +0200 + +dune-common (2.7.0-4) experimental; urgency=medium + + * Only build "quick" tests on mips64el and mipsel as Debian's + buildd servers are too slow. + + -- Ansgar Wed, 10 Jun 2020 14:20:16 +0200 + +dune-common (2.7.0-3) experimental; urgency=medium + + * d/control: Add explicit dependency on libatlas-base-dev. + CMake's `find_package(LAPACK)` adds `libf77blas.so` to the list + of interface libraries that other DUNE module link against. + + -- Ansgar Mon, 25 May 2020 14:59:18 +0200 + +dune-common (2.7.0-2) experimental; urgency=medium + + * d/dune-debian.mk: Add `-ffloat-store` to CXXFLAGS on i386. + See https://gitlab.dune-project.org/core/dune-common/issues/207 + * d/control: (Build-)Depends on liblapack-dev. LAPACK is needed by + functions in `fmatrixev.hh` which are used by new quadrature rule + implementations in dune-geometry. + + -- Ansgar Thu, 21 May 2020 23:06:05 +0200 + +dune-common (2.7.0-1) experimental; urgency=medium + + * New upstream release. + * Add runtime dependency on mpi-default-{bin,dev}. DUNE should by + default be used with MPI support enabled. + * Use debhelper compat level 13. + * Drop patch rename-git-whitespace-hook.patch (applied upstream). + * Bumped Standards-Version to 4.5.0 (no changes). + + -- Ansgar Wed, 20 May 2020 21:06:31 +0200 + +dune-common (2.6.0-4) unstable; urgency=medium + + * no longer ship dune-am2cmake and remove dependency on python2. + (Closes: #936456) + * Bumped Standards-Version to 4.4.1. + + -- Ansgar Burchardt Mon, 14 Oct 2019 23:27:35 +0200 + +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 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 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 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 Sat, 06 Jan 2018 15:50:50 +0100 + +dune-common (2.6~20171122-1) experimental; urgency=medium + + * New upstream snapshot (commit: 77b87e7c3931fc70f46be2e4cae7058127c92edf). + + -- Ansgar Burchardt 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 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 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 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 Sat, 17 Jun 2017 15:48:18 +0200 + +dune-common (2.5.0-1) unstable; urgency=medium + + * New upstream release. + + -- Ansgar Burchardt 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 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 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 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 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 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 Mon, 29 Feb 2016 10:19:18 +0100 + +dune-common (2.4.1~rc2-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Ansgar Burchardt Sun, 28 Feb 2016 13:18:16 +0100 + +dune-common (2.4.0-1) unstable; urgency=medium + + * New upstream release. + + -- Ansgar Burchardt 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 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 Fri, 04 Sep 2015 14:24:36 +0200 + +dune-common (2.4~20150717rc1-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Ansgar Burchardt 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 Fri, 19 Jun 2015 23:11:40 +0200 + +dune-common (2.4~20150521g15491c4-1) experimental; urgency=medium + + * New upstream snapshot. + + -- Ansgar Burchardt 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 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 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 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 Fri, 14 Feb 2014 09:12:40 +0100 + +dune-common (2.3~20140122g7a7cf2b-1) experimental; urgency=medium + + * New upstream snapshot. + + -- Ansgar Burchardt 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 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 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 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. + + * 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 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 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 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 Tue, 05 Jun 2012 10:17:59 +0200 + +dune-common (2.2~svn6684-1) experimental; urgency=low + + * New upstream snapshot. + + -- Ansgar Burchardt Sun, 06 May 2012 14:31:49 +0200 + +dune-common (2.2~svn6573-1) experimental; urgency=low + + * Initial release. (Closes: #661823) + + -- Ansgar Burchardt Sat, 17 Mar 2012 17:15:13 +0100 diff --git a/control b/control new file mode 100644 index 0000000..4e79f5e --- /dev/null +++ b/control @@ -0,0 +1,48 @@ +Source: dune-common +Section: libs +Priority: optional +Standards-Version: 4.5.0 +Maintainer: Debian Science Maintainers +Uploaders: Ansgar +Vcs-Browser: https://salsa.debian.org/science-team/dune-common +Vcs-Git: https://salsa.debian.org/science-team/dune-common.git +Homepage: https://www.dune-project.org/ +Build-Depends: debhelper-compat (= 13), + cmake (>= 3.1), gfortran, mpi-default-bin, mpi-default-dev, pkg-config, python3, + libatlas-base-dev, liblapack-dev +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, mpi-default-bin, mpi-default-dev, pkg-config, + libatlas-base-dev, liblapack-dev +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 index 0000000..030f6d0 --- /dev/null +++ b/copyright @@ -0,0 +1,151 @@ +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--2019 Peter Bastian + 2004--2020 Markus Blatt + 2013 Andreas Buhr + 2011--2019 Ansgar Burchardt + 2004--2005 Adrian Burri + 2014 Benjamin Bykowski + 2014 Marco Cecchetti + 2018 Matthew Collins + 2006--2019 Andreas Dedner + 2019--2019 Nils-Arne Dreier + 2003 Marc Droske + 2003--2019 Christian Engwer + 2004--2019 Jorrit Fahlke + 2016 Thomas Fetzer + 2008--2017 Bernd Flemisch + 2013--2014 Christoph Gersbacher + 2017--2020 Janick Gerstenberger + 2015 Stefan Girke + 2005--2019 Carsten Gräser + 2015--2017 Felix Gruber + 2010--2019 Christoph Grüninger + 2006 Bernhard Haasdonk + 2015--2018 Claus-Justus Heine + 2015--2019 René Heß + 2017--2019 Stephan Hilb + 2017--2018 Lasse Hinrichsen + 2012--2013 Olaf Ippisch + 2013--2019 Dominic Kempf + 2009 Leonard Kern + 2017--2018 Daniel Kienle + 2013 Torbjörn Klatt + 2003--2019 Robert Klöfkorn + 2017--2020 Timo Koch + 2005--2007 Sreejith Pulloor Kuttanikkad + 2012--2016 Arne Morten Kvarving + 2010--2014 Andreas Lauser + 2016--2019 Tobias Leibner + 2015 Lars Lubkoll + 2012--2017 Tobias Malkmus + 2007--2011 Sven Marnach + 2010--2017 Rene Milk + 2019 Felix Müller + 2011--2019 Steffen Müthing + 2018 Lisa Julia Nebel + 2003--2006 Thimo Neubauer + 2011 Rebecca Neumann + 2008--2018 Martin Nolte + 2014 Andreas Nüßing + 2004--2005 Mario Ohlberger + 2019 Santiago Ospina De Los Rios + 2014 Steffen Persvold + 2008--2017 Elias Pipping + 2017--2019 Simon Praetorius + 2011 Dan Popovic + 2009 Atgeirr Rasmussen + 2017--2018 Lukas Renelt + 2006--2014 Uli Sack + 2003--2019 Oliver Sander + 2006 Klaus Schneider + 2004 Roland Schulz + 2015 Nicolas Schwenck + 2016 Linus Seelinger + 2009--2014 Bård Skaflestad + 2019 Henrik Stolzmann + 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: cmake/modules/FindLatexMk.cmake cmake/modules/UseLatexMk.cmake +Copyright: 2017, Dominic Kempf, Steffen Müthing +License: BSD-3-clause + All rights reserved. + . + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + . + * Neither the name of the Universität Heidelberg nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: doc/dunecontrol.1 +Copyright: 2013-2015, Oliver Sander +License: GNU-All-Permissive-License + +Files: debian/* +Copyright: 2011-2015, Ansgar Burchardt +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 index 0000000..02c4059 --- /dev/null +++ b/dune-autopkgtest @@ -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 " <<< 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 index 0000000..20d1e77 --- /dev/null +++ b/dune-debian.env @@ -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 index 0000000..e5ff092 --- /dev/null +++ b/dune-debian.mk @@ -0,0 +1,45 @@ +include /usr/share/dpkg/architecture.mk +include /usr/share/dpkg/pkg-info.mk + +DUNE_DEBIAN_ENV ?= /usr/share/dune/dune-debian.env + +include $(DUNE_DEBIAN_ENV) + +EMPTY := +SPACE := $(EMPTY) $(EMPTY) + +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)) + +ifeq ($(DEB_HOST_ARCH_CPU),i386) + DEB_CXXFLAGS_MAINT_APPEND += -ffloat-store +endif + +ifeq ($(DUNE_TEST_LABELS),) + DUNE_TEST_BUILD_TARGETS=build_tests + DUNE_TEST_CTEST_LABELS= +else + DUNE_TEST_BUILD_TARGETS=$(foreach label,$(DUNE_TEST_LABELS),build_$(label)_tests) + DUNE_TEST_CTEST_LABELS=--label-regex '^$(subst $(SPACE),|,$(DUNE_TEST_LABELS))$$' +endif + +export DEB_CXXFLAGS_MAINT_APPEND + +override_dh_auto_configure: + dh_auto_configure -- $(DUNE_DEBIAN_CMAKE_FLAGS) + +override_dh_auto_test: + dh_auto_build -- $(DUNE_TEST_BUILD_TARGETS) + cd build; PATH=$(CURDIR)/debian/tmp-test:$$PATH $(DUNE_CTEST) $(DUNE_TEST_CTEST_LABELS) + +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 index 0000000..f694745 --- /dev/null +++ b/get-orig-source @@ -0,0 +1,136 @@ +#! /bin/bash +# +# get-orig-source for dune +# +# (C) 2012, Ansgar Burchardt +# License: GPL-2 with DUNE exception + +set -e +set -u +set -o pipefail + +usage() { + echo "usage: get-orig-source [options...] [] + 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 : create orig tarball in directory + + 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-functions) + safe-rm -r doc/manual + ;; + 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 index 0000000..e33dd9b --- /dev/null +++ b/libdune-common-dev.install @@ -0,0 +1,11 @@ +usr/bin +usr/include +usr/lib +usr/share/bash-completion +usr/share/dune-common +usr/share/dune +usr/share/man + +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 index 0000000..c3689aa --- /dev/null +++ b/libdune-common-dev.lintian-overrides @@ -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-doc.install b/libdune-common-doc.install new file mode 100644 index 0000000..fe56f80 --- /dev/null +++ b/libdune-common-doc.install @@ -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/series b/patches/series new file mode 100644 index 0000000..d4a7440 --- /dev/null +++ b/patches/series @@ -0,0 +1,2 @@ +soname.patch +skip-dirs-starting-with-dot.patch diff --git a/patches/skip-dirs-starting-with-dot.patch b/patches/skip-dirs-starting-with-dot.patch new file mode 100644 index 0000000..633b9a9 --- /dev/null +++ b/patches/skip-dirs-starting-with-dot.patch @@ -0,0 +1,13 @@ +From: Ansgar Burchardt +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 <