flexiblas 3.5.0+ds-1
Package Information
| Description | Flexible and Exchangeable BLAS library The FlexiBLAS library is a flexible BLAS wrapper which allows one to exchange the system wide BLAS implementation without recompiling or relinking programs. Even dealing with runtime-loader specific tricks is not necessary with FlexiBLAS. You can select the BLAS implementation which is used behind FlexiBLAS using a configuration file or a environment variable. It is integrated in Debian/Ubuntu using the update-alternatives mechanism. The package supports OpenBLAS, BLIS and the reference Netlib implementation. If you compile FlexiBLAS on your own, other BLAS implementations like the old GotoBLAS or the Intel MKL are supported. This package contains the runtime part of FlexiBLAS. |
|---|---|
| Maintainer | Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org> |
| Changed By | Ed J <etj@cpan.org> |
| Sponsor | tille@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/science-team/flexiblas.git (browse) |
| Closes | #1145067 |
| Tracker | https://tracker.debian.org/pkg/flexiblas |
| Uploaded | 3 hours ago |
New Package Report
.changes
| Source | flexiblas |
|---|---|
| Version | 3.5.0+ds-1 |
| Changed-By | Ed J <etj@cpan.org> |
| Architecture | source amd64 |
| Distribution | unstable |
| Date | Fri, 21 Aug 2026 20:35:36 +0100 |
Changelog
flexiblas (3.5.0+ds-1) unstable; urgency=low . * Initial release. (Closes: #1145067)
.dsc
| Package-List | libflexiblas-api-dev deb libdevel optional arch=any libflexiblas-api3 deb libs optional arch=any libflexiblas-bin deb admin optional arch=any libflexiblas-blis-openmp deb libs optional arch=any libflexiblas-blis-pthread deb libs optional arch=any libflexiblas-blis-serial deb libs optional arch=any libflexiblas-dev deb libdevel optional arch=any libflexiblas-hook-profile deb libs optional arch=any libflexiblas-openblas-openmp deb libs optional arch=any libflexiblas-openblas-pthread deb libs optional arch=any libflexiblas-openblas-serial deb libs optional arch=any libflexiblas3 deb libs optional arch=any libflexiblas64-3 deb libs optional arch=any libflexiblas64-api-dev deb libdevel optional arch=any libflexiblas64-api3 deb libs optional arch=any libflexiblas64-bin deb admin optional arch=any libflexiblas64-blis-openmp deb libs optional arch=any libflexiblas64-blis-pthread deb libs optional arch=any libflexiblas64-blis-serial deb libs optional arch=any libflexiblas64-dev deb libdevel optional arch=any libflexiblas64-hook-profile deb libs optional arch=any libflexiblas64-openblas-openmp deb libs optional arch=any libflexiblas64-openblas-pthread deb libs optional arch=any libflexiblas64-openblas-serial deb libs optional arch=any |
|---|---|
| Section | libdevel |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: flexiblas
Source: https://www.mpi-magdeburg.mpg.de/projects/flexiblas
Repacked to remove unused older source files (and two symlinks in t/b_b)
Files-Excluded:
contributed/cblas
contributed/lapack-*
contributed/lapacke-*
contributed/netlib-blas
src/hooks/profile/*_3_?_*
src/hooks/profile/*_3_10_*
src/hooks/profile/*_3_11_*
src/lapack*/*_3_?_*
src/lapack*/*_3_10_*
src/lapack*/*_3_11_*
test/lapack-3.?.*
test/lapack-3.10.*
test/lapack-3.11.*
tools/backend_builder/cmake
tools/backend_builder/src
tools/codegen/*3.?.*
tools/codegen/*3.10.*
tools/codegen/*3.11.*
Files: *
Copyright: 2013-2024 Martin Köhler <koehlerm@mpi-magdeburg.mpg.de>
License: LGPL-3.0-or-later
Files:
contributed/*
src/lapacke/include/*
tools/codegen/lapacke/*
Copyright: 1992-2019 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved.
2000-2011 The University of California Berkeley. All rights reserved.
2006-2012 The University of Colorado Denver. All rights reserved.
License: BSD-3-clause
Files: cmake/FindTBB.cmake
Copyright: 2010-2012 Kitware, Inc.
2012 Rolf Eike Beer <eike@sf-mail.de>
License: public-domain
The contents of this file are placed in the public domain. Feel
free to make use of it in any way you like.
Files: contributed/win32ports/*
Copyright: 2019 win32ports
License: Expat
Files: debian/*
Copyright: 2013-2026 Martin Köhler <koehlerm@mpi-magdeburg.mpg.de>
2026+ Ed J <etj@cpan.org>
License: LGPL-3.0-or-later
Files:
libcscutils/CMakeModules/UseDoxygen.cmake
Copyright: 2009, 2010, 2011 Tobias Rautenkranz <tobias@rautenkranz.ch>
License: BSD-3-clause
Files:
libcscutils/CMakeModules/FindNumPy.cmake
libcscutils/CMakeModules/FindSciPy.cmake
Copyright: 2012 Continuum Analytics, Inc
2013 Martin Köhler <koehlerm@mpi-magdeburg.mpg.de>
License: Expat
Files:
libcscutils/CMakeModules/FindOctave.cmake
Copyright: 2013 Julien Schueller
2015 Martin Köhler <koehlerm@mpi-magdeburg.mpg.de>
License: BSD-2-clause
Files:
libcscutils/config.h.in
libcscutils/include/*
libcscutils/src/*
Copyright: 2015 Martin Köhler <koehlerm@mpi-magdeburg.mpg.de>
License: LGPL-2.1+
Files: libcscutils/contrib/lua/*
Copyright: 1994–2019 Lua.org, PUC-Rio
License: Expat
Files: tools/flexiblas-octave/*
Copyright: 2013-2025 Martin Köhler <koehlerm@mpi-magdeburg.mpg.de>
License: LGPL-3
Files:
libcscutils/src/eventtracer/fortran_api.f90
libcscutils/src/hdf5/fortran_api.F90
libcscutils/src/windows_fixes.h
tools/flexiblas-octave/inst/*
tools/flexiblas-octave/misc/*
tools/flexiblas-octave/src/*
Copyright: 2013-2024 Martin Köhler <koehlerm@mpi-magdeburg.mpg.de>
2024 Siemens and/or its affiliates
License: LGPL-3.0-or-later
Files:
libcscutils/CMakeModules/FindARPACK.cmake
libcscutils/CMakeModules/FindCHOLMOD.cmake
libcscutils/CMakeModules/FindCOLAMD.cmake
libcscutils/CMakeModules/FindCPPCHECK.cmake
libcscutils/CMakeModules/FindPYLINT.cmake
libcscutils/CMakeModules/FindSPHINXBUILD.cmake
libcscutils/CMakeModules/FindUMFPACK.cmake
libcscutils/CMakeModules/FindCSPARSE.cmake
libcscutils/CMakeModules/FindCXSPARSE.cmake
libcscutils/CMakeModules/FindBLAS64.cmake
libcscutils/CMakeModules/CheckAttributeExists.cmake
Copyright: 2013-2024 Martin Köhler <koehlerm@mpi-magdeburg.mpg.de>
2010 Maximilian Behr <behr@mpi-magdeburg.mpg.de>
License: LGPL-3.0-or-later
Files: libcscutils/CMakeModules/FindOpenMP_compat.cmake
Copyright: 2008-2009 André Rigland Brodtkorb <Andre.Brodtkorb@ifi.uio.no>
2014 Nicolas Bock <nicolasbock@gmail.com>
License: LGPL-3.0-or-later
Files: libcscutils/CMakeModules/FindPythonInterp.cmake
Copyright: 2011 Bjoern Ricks <bjoern.ricks@gmail.com>
2005-2010 Kitware, Inc.
License: LGPL-3.0-or-later
Files: libcscutils/CMakeModules/FindOpenCL.cmake
Copyright: 2014 Matthaeus G. Chajdas
License: LGPL-3.0-or-later
Files: src/backends/intel_mkl/mkl_2018.3.list
Copyright: 2006-2018 Intel Corporation
License: LGPL-3.0-or-later
License: BSD-2-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. 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.
.
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 OWNER 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.
.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of the FreeBSD Project.
License: BSD-3-clause
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 copyright holder 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.
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
License: LGPL-2.1+
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
.
On Debian systems, the complete text of the GNU Lesser General
Public License version 2.1 can be found in the file
`/usr/share/common-licenses/LGPL-2.1`.
License: LGPL-3
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 3 of the
License, or (at your option) any later version.
.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
.
On Debian systems, the complete text of the GNU Lesser General
Public License version 3 can be found in
`/usr/share/common-licenses/LGPL-3’.
License: LGPL-3.0-or-later
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 3 of the
License, or (at your option) any later version.
.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
.
On Debian systems, the complete text of the GNU Lesser General
Public License version 3 can be found in
`/usr/share/common-licenses/LGPL-3’.
DFSG Assistant LLM REVIEW 6 blocker, 0 important, 3 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 2 hours ago.
Proposes a replacement debian/watch:
debian/watch in version 5 format
Report
DFSG NEW review for flexiblas version 3.5.0+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: Yes
- Issues: 6 blocker, 0 important, 3 minor
- debian/watch: old format (version 4)
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The source is not fully DFSG-free and debian/copyright does not describe the tree: src/backends/intel_mkl/mkl_2018.3.list carries Intel's notice forbidding use, modification and distribution without Intel's permission, and the file is declared LGPL-3.0-or-later. The copyright file also misdescribes four other groups: the BLAS test suite in test/blas is LAPACK BSD-3 code declared LGPL-3.0-or-later with only Martin Köhler as holder, the LAPACK test suites in test/lapack-3.12.0 and test/lapack-3.12.1 have no licence of their own and are likewise declared LGPL, the CMake modules in libcscutils/CMakeModules are CMake BSD-3 code declared LGPL-3.0-or-later with Kitware and others unnamed, and the Intel copyright in the LAPACKE headers and the Siemens copyright in src/windows_fixes.h are not named. Everything else read (COPYING, COPYING.NETLIB, the LGPL headers, Expat Lua, MIT win32ports, LGPL-3 octave tool) is DFSG-free.
Packaging
The packaging is good: 24 binary packages covering the 32/64-bit and backend variants, a correct 32/64 build from debian/rules, symbols files with Build-Depends-Package, update-alternatives integration in the maintainer scripts, a DEP-5 copyright, patches with git/DEP-3 headers mostly forwarded upstream, and debhelper compat 13 with hardening. Only minor cleanups are wanted: stray files in debian/ (lrc.config, bootstrap_debian.sh, six .install files for packages control does not define) and no autopkgtest.
Issues
blocker licensing 1. src/backends/intel_mkl/mkl_2018.3.list forbids distribution without Intel's permission, so it is not DFSG-free ◂
- Files:
src/backends/intel_mkl/mkl_2018.3.list:2-10,src/backends/intel_mkl/mkl_2018.3.list:190-198, debian/copyright (stanzaFiles: src/backends/intel_mkl/mkl_2018.3.list) - Basis: checked, in the package or with a reference tool
- Evidence:
; This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you (License). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission. - Problem: The only terms attached to this file prohibit modification and distribution without Intel's permission, so it fails DFSG 1 and 3 (Policy 2.2.1). debian/copyright calls it LGPL-3.0-or-later, but upstream cannot relicense Intel's text, and Debian would distribute the material without a licence to do so.
- Fix: Repack without the file (add the path to Files-Excluded and regenerate the orig tarball) and drop the MKL_BUILDER block in src/CMakeLists.txt that consumes it; the Debian build never enables MKL_BUILDER, which needs MKLROOT, so nothing is lost.
blocker licensing 2. test/blas/* is LAPACK's BSD-3 BLAS test suite but debian/copyright gives it LGPL-3.0-or-later and only Martin Köhler ◂
- Files:
test/blas/LICENSE:1-9,test/blas/dblat3.f:1-6, debian/copyright (stanzaFiles: *) - Basis: checked, in the package or with a reference tool
- Evidence: test/blas/LICENSE:
Copyright (c) 1992-2016 The University of Tennessee ... The University of California Berkeley ... The University of Colorado Denverfollowed by the 3-clause BSD text.Files: *saysCopyright: 2013-2024 Martin Köhler/License: LGPL-3.0-or-later, and no later stanza matchestest/blas/*. - Problem: The catch-all stanza claims the upstream project's licence and sole holder for files that carry LAPACK's BSD-3 licence with three other holders. The licence short name and the Copyright field are both wrong, contrary to Policy 12.5 and copyright-format 6.7.
- Fix: Add a stanza
Files: test/blas/*withCopyright: 1992-2016 The University of Tennessee and The University of Tennessee Research Foundation; 2000-2016 The University of California Berkeley; 2006-2016 The University of Colorado DenverandLicense: BSD-3-clause, afterFiles: *.
blocker licensing 3. test/lapack-3.12.0/ and test/lapack-3.12.1/ are LAPACK test sources credited to Univ. of Tennessee et al., declared LGPL-3.0-or-later ◂
- Files:
test/lapack-3.12.0/EIG/dchkee.F:1025-1041,test/lapack-3.12.0/EIG/alahdg.f:53-64,test/lapack-3.12.1/, debian/copyright (stanzaFiles: *) - Basis: inferred from what was read, not seen directly
- Evidence:
*> \author Univ. of Tennesseeand* -- LAPACK is a software package provided by Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd.in most files; the directories contain no LICENSE or COPYING, andFiles: *names only Martin Köhler under LGPL-3.0-or-later. - Problem: Two copies of LAPACK's test suite ship with no licence grant of their own and are declared as the upstream LGPL work with the wrong holder, so debian/copyright neither names their authors nor states a licence that covers them. The applicable licence is LAPACK's BSD-3, as test/blas/LICENSE shows for the sibling netlib suite.
- Fix: Cover
test/lapack-3.12.0/*andtest/lapack-3.12.1/*with a BSD-3-clause stanza naming the LAPACK holders, or exclude both trees from the repack if the tests are not built from them.
blocker licensing 4. libcscutils/CMakeModules/*.cmake are CMake BSD-3 modules declared LGPL-3.0-or-later, with Kitware and other holders missing ◂
- Files:
debian/copyright (stanza listing FindARPACK.cmake through CheckAttributeExists.cmake),libcscutils/CMakeModules/FindARPACK.cmake:9-12,libcscutils/CMakeModules/FindPythonInterp.cmake:19-22,libcscutils/CMakeModules/FindAMD.cmake:10-13,libcscutils/CMakeModules/CMakeCheckCompilerFlagCommonPatterns_old.cmake:1-2 - Basis: checked, in the package or with a reference tool
- Evidence:
# Copyright 2010, Maximilian Behrand# Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details.;# Copyright 2005-2010 Kitware, Inc./# Copyright 2011 Bjoern Ricksin FindPythonInterp.cmake. debian/copyright assignsLicense: LGPL-3.0-or-laterto FindARPACK.cmake, FindCHOLMOD.cmake, FindCOLAMD.cmake, FindCPPCHECK.cmake, FindPYLINT.cmake, FindSPHINXBUILD.cmake, FindUMFPACK.cmake, FindCSPARSE.cmake, FindCXSPARSE.cmake, FindBLAS64.cmake, CheckAttributeExists.cmake, FindOpenMP_compat.cmake, FindPythonInterp.cmake and FindOpenCL.cmake; the rest (FindAMD.cmake, FindARCHIVE.cmake, FindCPUFREQ.cmake, FindCilk.cmake, FindLAPACK64.cmake, CMakeCheckCompilerFlagCommonPatterns_old.cmake, ...) fall toFiles: *, also LGPL-3.0-or-later. - Problem: These are CMake's BSD-3 find modules (some rewritten by Martin Köhler and Maximilian Behr); they are not LGPL. The licence is misstated and holders such as Kitware, Inc., Rolf Eike Beer, André Rigland Brodtkorb, Bjoern Ricks, Matthaeus G. Chajdas and Maximilian Behr are not named.
- Fix: Replace the LGPL stanzas for libcscutils/CMakeModules with one
Files: libcscutils/CMakeModules/*stanza usingLicense: BSD-3-clauseand all holders, placed afterFiles: *and before the existing UseDoxygen (BSD-3), FindNumPy/FindSciPy (Expat) and FindOctave (BSD-2) stanzas so those still override.
blocker licensing 5. Intel Corp copyright in src/lapacke/include/* and tools/codegen/lapacke/* is not named in debian/copyright ◂
- Files:
src/lapacke/include/lapacke_3_12_0.h:1-21,src/lapacke/include/lapacke_config_3_12_0.h:2,tools/codegen/lapacke/3.12.0/lapacke.h:1-21, debian/copyright (stanzaFiles: contributed/* src/lapacke/include/* tools/codegen/lapacke/*) - Basis: checked, in the package or with a reference tool
- Evidence:
Copyright (c) 2014, Intel Corp.andCopyright (c) 2010, Intel Corp.with the 3-clause BSD text whose third clause readsNeither the name of Intel Corporation nor the names of its contributors may be used ...; the stanza names only1992-2019 The University of Tennessee ..., The University of California Berkeley ..., The University of Colorado Denver. - Problem: The BSD-3 notice must be retained with the code, and these headers are installed (the build derives /usr/include/flexiblas/lapacke.h, lapacke_config.h and lapacke_utils.h from them), so the holder is missing from debian/copyright. Naming the LAPACK holders for Intel's files is also a wrong entity.
- Fix: Add
2010-2014 Intel Corporationto the Copyright field of that stanza.
blocker licensing 6. src/windows_fixes.h credits Siemens, but Siemens is named only for the libcscutils copy of the file ◂
- Files:
src/windows_fixes.h:17-20,libcscutils/src/windows_fixes.h:20,debian/copyright (stanza listing libcscutils/src/windows_fixes.h) - Basis: checked, in the package or with a reference tool
- Evidence:
SPDX-FileCopyrightText: Portions Copyright 2024 Siemens and/or its affiliatesin both copies; debian/copyright names2024 Siemens and/or its affiliatesonly in the stanza that listslibcscutils/src/windows_fixes.h, sosrc/windows_fixes.hfalls toFiles: *(Copyright: 2013-2024 Martin Köhler). - Problem: A copyright holder of a shipped header is missing from debian/copyright (Policy 12.5, copyright-format 6.6).
- Fix: Add
src/windows_fixes.hto the Siemens stanza; its licence is LGPL-3.0-or-later, as its header says.
minor packaging 7. Stray files in debian/: lrc.config, bootstrap_debian.sh and six .install files for packages debian/control does not define ◂
- Files:
debian/lrc.config,debian/bootstrap_debian.sh,debian/libflexiblas-atlas.install,debian/libflexiblas-openmp-serial.install,debian/libflexiblas-mkl-openmp.install,debian/libflexiblas-mkl-serial.install,debian/libflexiblas64-mkl-openmp.install,debian/libflexiblas64-mkl-serial.install - Basis: checked, in the package or with a reference tool
- Evidence: debian/lrc.config contains
CITATION.cffandCODE; bootstrap_debian.sh runsln -sf control.no_atlas control/ln -sf control.default control, but neither file is in debian/; neither lrc.config nor those .install files is read by any debhelper program (dh_install acts only on packages listed in control, and control defines no libflexiblas-atlas, libflexiblas-openmp-serial or -mkl- package). libflexiblas-openmp-serial.install is a copy of libflexiblas-atlas.install. - Problem: Dead files with no effect that misdescribe the package: a reader of debian/ sees packages that are not built, and the bootstrap script cannot work as written.
- Fix: Delete lrc.config and bootstrap_debian.sh, and delete the six .install files (re-add them, with matching control stanzas, only if those backends are to be packaged).
minor packaging 8. No autopkgtests: debian/tests/control is absent ◂
- Files:
debian/tests/ - Basis: checked, in the package or with a reference tool
- Evidence: The source has no debian/tests directory; the multi-package build, the libflexiblas* backends and the update-alternatives switches are exercised only at build time.
- Problem: Nothing checks after installation that the library loads, that a backend switches, or that the alternatives links resolve, so a broken package would still reach testing.
- Fix: Add debian/tests/control (and the test script) with a smoke test such as
flexiblas list,flexiblas current, and a compiled or shipped example run against the installed library.
minor packaging 9. 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/ except watch: control (24 binary packages), rules, changelog (3.5.0+ds-1, unstable, initial release closing #1145067), copyright, README.source, gbp.conf, docs, not-installed, salsa-ci.yml, source/format, source/lintian-overrides, upstream/metadata, every .install/.manpages/.dirs/.symbols header/.postinst/.prerm/.lintian-overrides, patches/series and all ten patches.
- Prescan holder README.md:10 (
Martin Köhler (ORCID: 0000-0003-2338-9904)) is the holder named inFiles: *; libcscutils/src/lua/lua_include_gen.c:56 (M.Koehler) is the same holder and is covered by thelibcscutils/src/*LGPL-2.1+ stanza; libcscutils/src/windows_fixes.h:20 (Portions Copyright 2024 Siemens) is covered by the Siemens stanza. - Prescan holders libcscutils/CMakeModules/FindBLAS64.cmake:40 and CheckAttributeExists.cmake:8 (
Martin Köhler, MPI-Magdeburg) are named in the honour list, but those files are BSD-3 CMake modules wrongly declared LGPL-3.0-or-later, reported above. - libcscutils/contrib/lua is Lua (Expat; its LICENSE and lua.h say
Copyright (C) 1994-2024 Lua.org, PUC-Rioagainst1994–2019in copyright, year drift only) and is not compiled: the top-level CMakeLists.txt setsCSCUTILS_FEATURES "inifile;ds", soLUA_ENABLEstays off and contrib/lua is not added. - COPYING (LGPL-3), COPYING.NETLIB (BSD-3), test/blas/LICENSE (BSD-3) and tools/flexiblas-octave/COPYING (LGPL-3) read; the octave DESCRIPTION says
License: LGPLv3+and its sources carrySPDX-License-Identifier: LGPL-3.0-or-later, consistent with the later stanza. - Grepped the tree for
SPDX-License-Identifier,Copyright,All rights reserved,prior written permission,Distributed under,public domain,GNU General Public,GNU Lesser: the only restrictive wording is the Intel file reported above; theAll rights reservedlines belong to the BSD notices of LAPACK and the CMake modules; no GPL-as-opposed-to-LGPL text was found. - The largest generated files (for example src/lapack/wrapper_lapack_3_12_1_gnu.c, 15.9 MB, and src/fallback_lapack/dummy_3_12_0.c) start with
// SPDX-License-Identifier: LGPL-3.0-or-later, and their generators and templates are shipped in tools/codegen (Generate*.py, Extract*.py, templates/*.tmpl), so the preferred form for modification is present. src/lapacke/include and tools/codegen/lapacke hold the Intel headers from which the installed lapacke headers are made. - doc/logo contains only a Makefile and .tex logo sources; no images, fonts, sounds or PDFs are shipped. Man pages are shipped as their source (doc/man/man1, man3, man7).
- No file named in Files-Excluded is still in the tree: contributed/ has no cblas/lapack/lapacke/netlib-blas, tools/backend_builder has no cmake/src, and only 3.12.x profile/lapacke/codegen files remain.
- Build-Depends resolve in the reviewing archive: apt-cache show finds libblas64-dev 3.12.1-8, liblapacke64-dev 3.12.1-8, libblis64-serial-dev 2.1-1 and libopenblas64-serial-dev 0.3.34+ds-2.
- Standards-Version 4.7.4 has the same first two components as the reviewing system's Policy 4.7.4.1, so it is current and not an issue.
- The maintainer-script token
#ENV.DEB_HOST_MULTIARCH#is the documented#ENV.NAME#substitution of dh_installdeb(1) 'SUBSTITUTION IN MAINTAINER SCRIPTS'; the scripts use#DEBHELPER#, guard removal with$1 != upgradeand exit 0. - Symbols files name the library and a
* Build-Depends-Package:for the matching -dev package (libflexiblas3 -> libflexiblas-dev, libflexiblas64-3 -> libflexiblas64-dev, libflexiblas-api3 -> libflexiblas-api-dev, libflexiblas64-api3 -> libflexiblas64-api-dev). - Patches: all ten carry git-format-patch headers (From/Date/Subject); eight have
Forwarded:and fiveApplied-Upstream:; only 0001-DRY-in-main-__flexiblas_get_complex_interface.patch and 0002-i386-allow-probe-complex-return-ABI.patch have no Forwarded field. - The .manpages files name files that the upstream install places in debian/tmp, which dh_installman finds from compat 11 on; the six .install files that do correspond to packages match what their respective CMakeLists install.
- uscan found the packaged version as the newest upstream release (upstream
3.5.0, packaged3.5.0+ds). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (LGPL-2.1,LGPL-3).
Not confirmed ◂
- debian/libflexiblas-dev.install and debian/libflexiblas64-dev.install are
#!/bin/shscripts that print their list from a heredoc, which only works if the files are executable (debhelper runs executable config files). File modes cannot be read with the tools available here; if they are not executable, dh_install would readcatand<<'EOF'as file patterns and the build would fail. - The 12 files larger than 4 MiB, all generated wrappers under src/, were read only at their headers; licence text beyond that was not inspected.
- The 64-bit half of the build is keyed on
DEB_HOST_ARCH_BITS == 64, while the 64-bit BLAS/LAPACK Build-Depends are restricted to amd64 arm64 mips64el ppc64el s390x ppc64 riscv64 sparc64. On any other 64-bit architecture (loong64, alpha) rules still configures INTEGER8 with empty SYS_BLAS/LAPACK/LAPACKE_LIBRARY values and without those dev packages installed; a build there would show whether CMake tolerates it. - The reviewing lists are amd64, so the availability of libblas64-dev, liblapacke64-dev, libblis64--dev and libopenblas64--dev on ppc64, sparc64 and the other listed architectures was not checked.
- Whether libblas64-dev's and liblapack64-dev's update-alternatives entries use the same slave names (cblas64.h-, blas64.pc-, lapack64.pc-) as libflexiblas64-dev registers was not verified against those packages' maintainer scripts.
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.mpi-magdeburg.mpg.de/software/flexiblas-release/-/tags?sort=updated_desc
Matching-Pattern: /software/flexiblas-release/-/archive/v?\d+\.\d+(?:[\d\.]*)/(?:rel|v|flexiblas-release)[\-\_]?v?(\d+\.\d+(?:[\d\.]*))\.(?:tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
Dversionmangle: s/\+(debian|dfsg|ds|deb)\d*$//
Repacksuffix: +ds
Searchmode: plain
Uversionmangle: s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/;s/RC/rc/
Uploader's response to the LLM review
Waiting for the uploader's response until , because the review found serious issues.