dune-localfunctions 2.11.0-2
Package Information
| Description | toolbox for solving PDEs -- local basis (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 interface for the local basis and layout of the degrees of freedom. |
|---|---|
| Maintainer | Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org> |
| Changed By | Ansgar <ansgar@debian.org> |
| Sponsor | ansgar@debian.org |
| Distribution | experimental |
| Architecture | any all |
| VCS | git: https://salsa.debian.org/science-team/dune-localfunctions.git (browse) |
| Popcon Installs | 62 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/dune-localfunctions |
| Uploaded | 4 hours ago |
New Package Report
.changes
| Version | 2.11.0-2 |
|---|---|
| Changed-By | Ansgar <ansgar@debian.org> |
| Architecture | all amd64 source |
| Distribution | experimental |
| Date | Sat, 31 Oct 2026 10:00:27 +0100 |
| Source | dune-localfunctions |
Changelog
dune-localfunctions (2.11.0-2) experimental; urgency=medium . * Add Python bindings.
.dsc
| Priority | optional |
|---|---|
| Component | main |
| Package-List | libdune-localfunctions-dev deb libdevel optional arch=any libdune-localfunctions-doc deb doc optional arch=all python3-dune-localfunctions deb python optional arch=any |
| Section | libdevel |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: dune-localfunctions Source: https://www.dune-project.org/dev/downloadgit/ Files: * Copyright: 2015--2016 Marco Agnese 2008--2010 Peter Bastian 2015 Timo Betcke 2009--2021 Markus Blatt 2016 Lukas Böger 2014 Andreas Buhr 2022 Samuel Burbulla 2014--2025 Ansgar Burchardt 2009--2022 Andreas Dedner 2020--2022 Nils-Arne Dreier 2010 Martin Drohmann 2008--2022 Christian Engwer 2008--2020 Jorrit Fahlke 2011--2013 Bernd Flemisch 2015 Elisa Friebel 2012 Christoph Gersbacher 2018--2019 Janick Gerstenberger 2009--2025 Carsten Gräser 2015--2018 Felix Gruber 2011--2025 Christoph Grüninger 2020 René Heß 2017 Patrick Jaap 2013 Guillaume Jouvet 2015--2020 Dominic Kempf 2015 Angela Klewinghaus 2020--2022 Robert Klöfkorn 2021--2025 Timo Koch 2014 Arne Morten Kvarving 2009 Stefan Lang 2015 Jizhou Li 2013--2017 Tobias Malkmus 2009 Sven Marnach 2013--2018 Steffen Müthing 2020 Lisa Julia Nebel 2012 Rebecca Neumann 2008--2018 Martin Nolte 2024--2025 Santiago Ospina De Los Ríos 2011--2016 Elias Pipping 2022 Maik Porrmann 2016--2025 Simon Praetorius 2012--2013 Human Rezaijafari 2011--2012 Uli Sack 2008--2025 Oliver Sander 2020--2022 Henrik Stolzmann 2011--2012 Matthias Wohlmuth 2010--2015 Jonathan Youett License: GPL-2 with DUNE exception Files: debian/* Copyright: 2011-2021, Ansgar <ansgar@debian.org> 2021, Patrick Jaap 2021, Lisa Julia Nebel 2022-2026, Equinor ASA 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'.
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 4 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 3 hours ago.
Proposes a replacement debian/watch:
debian/watch in version 5 format
Report
DFSG NEW review for dune-localfunctions version 2.11.0-2
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 4 minor
- debian/watch: old format (version 4)
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The whole tree is GPL-2.0-only with the DUNE runtime exception: every one of the 287 files that carries an SPDX header uses LicenseRef-GPL-2.0-only-with-DUNE-exception, and LICENSES/LicenseRef-GPL-2.0-only-with-DUNE-exception.txt holds the text (GPL-2 plus the exception); no other licence or non-free term appears anywhere. debian/copyright is DEP-5, names all 46 holders of LICENSE.md in Files: * (the collective Copyright © DUNE Project contributors in the headers resolves to exactly that list), gives debian/* its own stanza and points to /usr/share/common-licenses/GPL-2. The only defect is that the stand-alone licence paragraph still quotes an older wording of the DUNE exception (and a libstdc++ sentence) that no longer matches LICENSE.md; the licence, the holders and the applicability to every file are otherwise accurate, so this does not affect DFSG-freedom.
Packaging
Sound packaging in the DUNE house style: debhelper compat 13 through the dune-common Makefile fragments, three binaries (-dev, -doc, python3-), Build-Depends on libdune-common-dev/python3-dune-common 2.11.0-4 which exist in the archive, an autopkgtest, Vcs-*, upstream metadata, salsa CI and Rules-Requires-Root, with Standards-Version 4.7.0 against Policy 4.7.4.1. Three minor things to fix: one of the two patches has no DEP-3 header, debian/gbp.conf configures an empty upstream branch that gbp rejects, and the -dev package's Multi-Arch: foreign is questionable (not confirmed).
Issues
1. [minor] [licensing] debian/copyright quotes an out-of-date DUNE exception text, not the one in LICENSE.md
- Files:
debian/copyright:63-84,LICENSE.md:56-59,LICENSES/LicenseRef-GPL-2.0-only-with-DUNE-exception.txt:8-11 - Basis: checked, in the package or with a reference tool
- Evidence: debian/copyright:
The exact wording of the exception reads as follows:/As a special exception, you may use the DUNE library without restriction.and laterThis license clones the one of the libstdc++ library.; LICENSE.md and LICENSES/LicenseRef-GPL-2.0-only-with-DUNE-exception.txt:As a special exception, you may use the DUNE source files as part of a software library or application without restriction.(the libstdc++ sentence is gone). - Problem: The file states it gives the exact wording of the exception the package is under, but quotes the formulation DUNE used before the LICENSE.md rewrite; every source file refers to
file LICENSE.md in module rootas the operative text. The licence is correctly identified and both wordings grant unrestricted use, so there is no DFSG question, but debian/copyright is inaccurate as a quotation and the rights it presents are not literally those granted. - Fix: Replace the quoted exception with the current text from LICENSE.md / LICENSES/LicenseRef-GPL-2.0-only-with-DUNE-exception.txt and drop (or mark as historical) the
This license clones the one of the libstdc++ librarysentence.
2. [minor] [packaging] increase-test-orthonormal-tolerance.patch has no DEP-3 header
- Files:
debian/patches/increase-test-orthonormal-tolerance.patch:1 - Basis: checked, in the package or with a reference tool
- Evidence: The file starts directly with
--- a/dune/localfunctions/test/test-orthonormal.cc; unlike debian/patches/python-static-class-objects-after-finalization.patch it has noDescription:,Origin:,Forwarded:orLast-Update:fields. - Problem: The purpose (raising the orthonormality tolerance in test-orthonormal.cc from 1200 to 5000 epsilon) and its upstream status are unrecorded, so a reader cannot tell whether it is still needed or was ever sent upstream; this is the DEP-3 convention the other patch in the package follows.
- Fix: Add a DEP-3 header with a one-line Description, an Origin/Author, a Last-Update date and Forwarded (submit it upstream, or
Forwarded: not-neededif it is only a test tolerance for Debian's slow architectures).
3. [minor] [packaging] debian/gbp.conf sets an empty upstream-branch, which gbp cannot use
- Files:
debian/gbp.conf:3 - Basis: checked, in the package or with a reference tool
- Evidence:
upstream-branch =with no value; gbp's default isupstream(gbp/config.py:199) and a configured value is passed straight through, while gbp/scripts/import_orig.py:454 raisesno_upstream_branch_msgwhenrepo.has_branch(options.upstream_branch)is false, andhas_branch('')runsgit show-ref --verify refs/heads/and always returns false (gbp/git/repository.py:400-408). - Problem:
gbp import-origin this repository aborts withRepository does not have branch '' for upstream sources ...unless -u is passed each time, and DEP-14's upstream branch name isupstream, which the file was added for. - Fix: Set
upstream-branch = upstream, or delete the line so the gbp default applies.
4. [minor] [packaging] debian/watch is in the old version 4 format
- Files:
debian/watch - Basis: found by the review tooling's own checks
- Evidence:
version=4 - Problem: Version 5 is the current format of
debian/watch. - Fix: Convert it to version 5; a mechanical conversion is under Proposed changes.
Verified
- Read all of debian/ (control, rules, changelog, copyright, clean, gbp.conf, salsa-ci.yml, both .install files, source/format, upstream/metadata, patches/series and both patches, tests/control and both test files), the .dsc, and both Makefile fragments included by rules are not needed to see the packaging's own content.
- Licence inventory: every one of the 287 files with an SPDX header (dune/, python/, doc/**, top-level files) uses
SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception; a search for any other SPDX id,Lesser General Public,Apache License,Mozilla Public,BSD,MIT License,public domain,All rights reserved,no modificationfound nothing in the tree except the licence texts. - The prescan's two unnamed holders are the same collective notice,
Copyright © DUNE Project contributors, see file LICENSE.md in module root(e.g. dune/localfunctions/brezzidouglasfortinmarini/bdfmcube.hh:3, CMakeLists.txt:1, CHANGELOG.md:2, INSTALL:2); LICENSE.md:1-48 lists exactly the 46 holders thatFiles: *names, so nothing is missing for those 78 + 223 files. - LICENSE.md and LICENSES/LicenseRef-GPL-2.0-only-with-DUNE-exception.txt contain the full GPL-2 text plus the exception; debian/copyright refers to
/usr/share/common-licenses/GPL-2for the GPL part. noncommercialappears only in GPL-2 section 3c (LICENSE.md:220, LICENSES/LicenseRef-...:171), i.e. licence text, not a restriction on the package.- COPYING is an empty (0-byte) upstream file; the licence actually referenced by the headers is LICENSE.md.
- The documentation is built from sources that are in the package: doc/dune-localfunctions-manual.tex and doc/doxygen/ (mainpage.txt, modules.txt, Doxylocal) are all present and carry the same licence header; there is no PDF, image, font, object file, archive or other binary in the tree (glob over png/jpg/pdf/eps/svg/gif/ttf/otf/woff/so/a/h5/dat/zip/gz/tar found nothing).
debian/*is licensed by its own laterFiles: debian/*stanza, so the catch-allFiles: *does not cover it; all Files patterns used are plain and anchored, as copyright-format 6.9 allows.- Dependencies resolve: libdune-common-dev 2.11.0-4, libdune-geometry-dev 2.11.0-4 and python3-dune-common 2.11.0-4 are in the archive and satisfy the
>= 2.11.0-4~/>= 2.11.0~bounds; the<< 2.12~upper bounds in python3-dune-localfunctions are consistent with that package. - The JIT autopkgtest's build tools are present transitively: python3-dune-common Depends on cmake, g++, make and python3-dev, so
debian/tests/python-jitneeds only its listed python3-dune-localfunctions and python3-venv. - Standards-Version 4.7.0 against Policy 4.7.4.1 differs only in the third component, which is not an issue; debhelper compat 13 is supported by the installed debhelper 14.5, and the rules rely on its
override_dh_auto_test-arch/-indeptargets correctly. - Both patches are applied in the unpacked tree (quilt series and .pc agree), and the patched dune/python/localfunctions/localfiniteelement.hh and dune/localfunctions/test/test-orthonormal.cc contain the changes.
- uscan found the packaged version as the newest upstream release (upstream
2.11.0, packaged2.11.0). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (GPL-2).
Not confirmed
- libdune-localfunctions-dev is
Architecture: anywithMulti-Arch: foreignand installsusr/lib; if that is DUNE's CMake package config under/usr/lib/<triplet>/cmake(as Debian's cmake does), the installed paths differ per architecture and Policy 5.6.34.2 forbidsMulti-Arch: foreign. I could not list the installed files to settle it; note that libdune-functions-dev, the same team's header-only -dev package, carries no Multi-Arch field at all. - The Python build and install step lives in /usr/share/dune/dune-debian.mk and dune-debian-python.mk, shipped by dune-common 2.11.0-4, which is not installed on the reviewing system, so I could not check how the bindings are built and put into python3-dune-localfunctions — in particular how setup.py's unconditional
from skbuild import setup, pyproject.toml'sdune-geometry@git+https://...build requirement and the absence of python3-skbuild from Build-Depends are avoided; likewise I could not read /usr/share/dune/dune-python-autopkgtest. - debian/tests/python-jit must itself be executable for autopkgtest to run it; the file mode is not visible to the tools I have and I could not check it.
Proposed: debian/watch in version 5 format
debian/watch is in an old format. This is the conversion made by uscan --update-watchfile, which has not been run against the upstream site: some defaults differ in version 5, so test it with uscan --report before use.
Version: 5
Source: https://gitlab.dune-project.org/core/@PACKAGE@/tags?sort=updated_desc
Matching-Pattern: -/archive/v?\d[\d.]+/@PACKAGE@-@ANY_VERSION@@ARCHIVE_EXT@
Searchmode: plain
Update-Script: uupdate
Uploader's response to the LLM review
The uploader was emailed about the review 3 hours ago.