DFSG NEW Queue

DFSG, Licensing & New Packages Team

flexiblas 3.5.0+ds-1

Package Information

DescriptionFlexible 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.

MaintainerDebian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed ByEd J <etj@cpan.org>
Sponsortille@debian.org
Distributionunstable
Architectureany
VCSgit: https://salsa.debian.org/science-team/flexiblas.git (browse)
Closes#1145067
Trackerhttps://tracker.debian.org/pkg/flexiblas
Uploaded3 hours ago

New Package Report

.changes◂
Sourceflexiblas
Version3.5.0+ds-1
Changed-ByEd J <etj@cpan.org>
Architecturesource amd64
Distributionunstable
DateFri, 21 Aug 2026 20:35:36 +0100
Changelog◂
flexiblas (3.5.0+ds-1) unstable; urgency=low
 .
   * Initial release. (Closes: #1145067)
.dsc◂
Package-Listlibflexiblas-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
Sectionlibdevel
Priorityoptional
Componentmain
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/copyright is 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 (stanza Files: 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 (stanza Files: *)
  • 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 Denver followed by the 3-clause BSD text. Files: * says Copyright: 2013-2024 Martin Köhler / License: LGPL-3.0-or-later, and no later stanza matches test/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/* with Copyright: 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 Denver and License: BSD-3-clause, after Files: *.
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 (stanza Files: *)
  • Basis: inferred from what was read, not seen directly
  • Evidence: *> \author Univ. of Tennessee and * -- 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, and Files: * 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/* and test/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 Behr and # Distributed under the OSI-approved BSD License (the "License"); see accompanying file Copyright.txt for details.; # Copyright 2005-2010 Kitware, Inc. / # Copyright 2011 Bjoern Ricks in FindPythonInterp.cmake. debian/copyright assigns License: LGPL-3.0-or-later to 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 to Files: *, 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 using License: BSD-3-clause and all holders, placed after Files: * 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 (stanza Files: contributed/* src/lapacke/include/* tools/codegen/lapacke/*)
  • Basis: checked, in the package or with a reference tool
  • Evidence: Copyright (c) 2014, Intel Corp. and Copyright (c) 2010, Intel Corp. with the 3-clause BSD text whose third clause reads Neither the name of Intel Corporation nor the names of its contributors may be used ...; the stanza names only 1992-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 Corporation to 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 affiliates in both copies; debian/copyright names 2024 Siemens and/or its affiliates only in the stanza that lists libcscutils/src/windows_fixes.h, so src/windows_fixes.h falls to Files: * (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.h to 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.cff and CODE; bootstrap_debian.sh runs ln -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 in Files: *; libcscutils/src/lua/lua_include_gen.c:56 (M.Koehler) is the same holder and is covered by the libcscutils/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-Rio against 1994–2019 in copyright, year drift only) and is not compiled: the top-level CMakeLists.txt sets CSCUTILS_FEATURES "inifile;ds", so LUA_ENABLE stays 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 carry SPDX-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; the All rights reserved lines 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 != upgrade and 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 five Applied-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, packaged 3.5.0+ds).
  • Every pointer of debian/copyright to /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/sh scripts 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 read cat and <<'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.

Back to Dashboard | View all reviews for this package