From a8406511157c06ecf3834a151254d67ece9c7542 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Villemot?= Date: Mon, 29 Apr 2024 17:31:55 +0200 Subject: [PATCH] Import openblas_0.3.27+ds-2.debian.tar.xz [dgit import tarball openblas 0.3.27+ds-2 openblas_0.3.27+ds-2.debian.tar.xz] --- README.Debian | 73 ++ blas-openblas.pc.in | 10 + changelog | 1100 +++++++++++++++++++++ control | 382 +++++++ copyright | 645 ++++++++++++ lapack-openblas.pc.in | 10 + libopenblas-XXX-dev.dirs | 2 + libopenblas-XXX-dev.install | 5 + libopenblas-XXX-dev.links | 4 + libopenblas-XXX-dev.postinst | 62 ++ libopenblas-XXX-dev.prerm | 19 + libopenblas-dev.docs | 4 + libopenblas-dev.lintian-overrides | 1 + libopenblas0-XXX.install | 4 + libopenblas0-XXX.postinst | 18 + libopenblas0-XXX.prerm | 18 + libopenblas0-XXX.shlibs | 8 + libopenblas0-openmp.lintian-overrides | 2 + libopenblas0-pthread.lintian-overrides | 2 + libopenblas0-serial.lintian-overrides | 2 + libopenblas0.lintian-overrides | 1 + libopenblas64-0-XXX.install | 4 + libopenblas64-0-XXX.postinst | 18 + libopenblas64-0-XXX.prerm | 18 + libopenblas64-0-XXX.shlibs | 8 + libopenblas64-0-openmp.lintian-overrides | 2 + libopenblas64-0-pthread.lintian-overrides | 2 + libopenblas64-0-serial.lintian-overrides | 2 + libopenblas64-0.lintian-overrides | 1 + libopenblas64-XXX-dev.dirs | 2 + libopenblas64-XXX-dev.install | 5 + libopenblas64-XXX-dev.links | 4 + libopenblas64-XXX-dev.postinst | 62 ++ libopenblas64-XXX-dev.prerm | 19 + libopenblas64-dev.lintian-overrides | 1 + patches/arm-gcc-flags.patch | 22 + patches/combssq-deprecate.patch | 22 + patches/matgen-symbols-not-included.patch | 112 +++ patches/no-embedded-lapack.patch | 168 ++++ patches/remove-openmp-warning.patch | 27 + patches/series | 7 + patches/shared-blas-lapack.patch | 52 + patches/testsuite-64bit-big-endian.patch | 26 + rules | 239 +++++ source/format | 1 + tests/control | 23 + tests/upstream-testsuite | 24 + tests/upstream-testsuite64 | 29 + upstream/metadata | 7 + watch | 3 + 50 files changed, 3282 insertions(+) create mode 100644 README.Debian create mode 100644 blas-openblas.pc.in create mode 100644 changelog create mode 100644 control create mode 100644 copyright create mode 100644 lapack-openblas.pc.in create mode 100644 libopenblas-XXX-dev.dirs create mode 100644 libopenblas-XXX-dev.install create mode 100644 libopenblas-XXX-dev.links create mode 100644 libopenblas-XXX-dev.postinst create mode 100644 libopenblas-XXX-dev.prerm create mode 100644 libopenblas-dev.docs create mode 100644 libopenblas-dev.lintian-overrides create mode 100644 libopenblas0-XXX.install create mode 100644 libopenblas0-XXX.postinst create mode 100644 libopenblas0-XXX.prerm create mode 100644 libopenblas0-XXX.shlibs create mode 100644 libopenblas0-openmp.lintian-overrides create mode 100644 libopenblas0-pthread.lintian-overrides create mode 100644 libopenblas0-serial.lintian-overrides create mode 100644 libopenblas0.lintian-overrides create mode 100644 libopenblas64-0-XXX.install create mode 100644 libopenblas64-0-XXX.postinst create mode 100644 libopenblas64-0-XXX.prerm create mode 100644 libopenblas64-0-XXX.shlibs create mode 100644 libopenblas64-0-openmp.lintian-overrides create mode 100644 libopenblas64-0-pthread.lintian-overrides create mode 100644 libopenblas64-0-serial.lintian-overrides create mode 100644 libopenblas64-0.lintian-overrides create mode 100644 libopenblas64-XXX-dev.dirs create mode 100644 libopenblas64-XXX-dev.install create mode 100644 libopenblas64-XXX-dev.links create mode 100644 libopenblas64-XXX-dev.postinst create mode 100644 libopenblas64-XXX-dev.prerm create mode 100644 libopenblas64-dev.lintian-overrides create mode 100644 patches/arm-gcc-flags.patch create mode 100644 patches/combssq-deprecate.patch create mode 100644 patches/matgen-symbols-not-included.patch create mode 100644 patches/no-embedded-lapack.patch create mode 100644 patches/remove-openmp-warning.patch create mode 100644 patches/series create mode 100644 patches/shared-blas-lapack.patch create mode 100644 patches/testsuite-64bit-big-endian.patch create mode 100755 rules create mode 100644 source/format create mode 100644 tests/control create mode 100644 tests/upstream-testsuite create mode 100644 tests/upstream-testsuite64 create mode 100644 upstream/metadata create mode 100644 watch diff --git a/README.Debian b/README.Debian new file mode 100644 index 0000000..0c255d6 --- /dev/null +++ b/README.Debian @@ -0,0 +1,73 @@ +How to switch between the various BLAS/LAPACK implementations +============================================================= + +- BLAS: + + $ sudo update-alternatives --config libblas.so.3- + +- LAPACK: + + $ sudo update-alternatives --config liblapack.so.3- + +where is the multiarch path for you architecture (e.g. +x86_64-linux-gnu for amd64). + +More information is available at: + + http://wiki.debian.org/DebianScience/LinearAlgebraLibraries + + +Building an optimized OpenBLAS package for your machine +======================================================= + +On amd64, arm64, i386, loong64, ppc64el and s390x, libopenblas provides a +multiple architecture library. All kernels are included in the library and the +one matching best your processor is selected at run time. Recompiling locally +should bring minimal performance improvement. + +On the contrary, on other architectures, the package is compiled with minimal +optimizations, so that it can run on all hardware. You may want to recompile it +locally for optimal performance. + +If you want to create a custom OpenBLAS package, optimized for your specific +machine, proceed as follows. + +1) Install the build dependencies and the source of the package: + + $ sudo apt-get build-dep openblas + $ apt-get source openblas + +2) Compile the package: + + $ cd openblas- + $ DEB_BUILD_OPTIONS=custom dpkg-buildpackage -uc -b + +where is replaced with the appropriate value. + +3) When the build finishes, it should produce several .deb files, whose precise +names you can figure out using: + + $ ls ../libopenblas*.deb + +Install those that you want using dpkg. For the 32-bit indexing version, you +need at least libopenblas0 and one of the three of +libopenblas0-{openmp,pthread,serial}. For the 64-bit indexing version, you need +at least libopenblas64-0 and one of the three of +libopenblas64-0-{openmp,pthread,serial} + +4) If you don't want the Debian package manager to overwrite your optimized +package with a generic one on system upgrades, you can mark the OpenBLAS +package to be on hold, with the following command (for the 32-bit indexing +version): + + $ sudo apt-mark hold libopenblas0 libopenblas0-{openmp,pthread,serial} + +Don't forget however to periodically check whether a more recent version of the +package is available for the Debian suite that you are tracking, in which case +you should go again through this procedure. The version check can be performed +using: + + $ aptitude versions libopenblas0 + + -- Sébastien Villemot , Sat, 9 Sep 2023 17:15:50 +0200 + -- Sylvestre Ledru Tue, 31 May 2011 13:56:22 +0200 diff --git a/blas-openblas.pc.in b/blas-openblas.pc.in new file mode 100644 index 0000000..0433883 --- /dev/null +++ b/blas-openblas.pc.in @@ -0,0 +1,10 @@ +prefix=/usr +libdir=${prefix}/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@ +includedir=${prefix}/include/@DEB_HOST_MULTIARCH@ +Name: openblas-blas@INDEXING@ +Description: Optimized BLAS (linear algebra) library based on GotoBLAS2 +Version: @DEB_VERSION_UPSTREAM@ +URL: https://github.com/OpenMathLib/OpenBLAS +Libs: -L${libdir} -lblas@INDEXING@ +Libs.private: -L${libdir} -lblas@INDEXING@ -lgfortran -lpthread -lm +Cflags: -I${includedir} diff --git a/changelog b/changelog new file mode 100644 index 0000000..dd42292 --- /dev/null +++ b/changelog @@ -0,0 +1,1100 @@ +openblas (0.3.27+ds-2) unstable; urgency=medium + + * testsuite-64bit-big-endian.patch: new patch from upstream. + Fixes FTBFS on big-endian 64-bit architectures. + + -- Sébastien Villemot Mon, 29 Apr 2024 17:31:55 +0200 + +openblas (0.3.27+ds-1) unstable; urgency=medium + + [ Sébastien Villemot ] + * New upstream version 0.3.27+ds + * d/copyright: reflect upstream changes + * Bump Standards-Version to 4.7.0 + + [ Sunita Nadampalli ] + * Increase the maximum number of threads from 64 to 128. This is + required to support the latest processors with more than 64 cores. For + example, AWS Graviton4 supports 96 Neoverse cores. + + [ Helmut Grohne ] + * DEP17: Restore possibly lost /usr/lib/*/pkgconfig (Closes: #1065681) + + -- Sébastien Villemot Fri, 12 Apr 2024 16:26:31 +0200 + +openblas (0.3.26+ds-1) unstable; urgency=medium + + * New upstream version 0.3.26+ds + + -- Sébastien Villemot Mon, 12 Feb 2024 22:45:46 +0100 + +openblas (0.3.25+ds-2) unstable; urgency=medium + + * Rebuild against LAPACK 3.12 + + Tighten Build-Depends on liblapack-dev accordingly + + Drop revert-lapack-gedmd.patch, no longer needed + * Update URL of GitHub repository + + -- Sébastien Villemot Wed, 31 Jan 2024 11:58:49 +0100 + +openblas (0.3.25+ds-1) unstable; urgency=medium + + * New upstream version 0.3.25+ds + + -- Sébastien Villemot Tue, 14 Nov 2023 20:25:25 +0100 + +openblas (0.3.24+ds-1) unstable; urgency=medium + + * New upstream version 0.3.24+ds + * d/copyright: reflect upstream changes + * mips64-generic.patch: drop patch, applied upstream + * revert-lapack-gedmd.patch: new patch for compiling against LAPACK 3.11 + * Build on loong64 architecture + * d/rules: pass the number of requested parallel jobs to the build system. + Previously the build system would always use as many parallel jobs as there + are logical CPU cores. + + -- Sébastien Villemot Sat, 09 Sep 2023 18:58:39 +0200 + +openblas (0.3.23+ds-3) unstable; urgency=medium + + * mips64-generic.patch: new patch from upstream. + Fixes incorrect numerical results on mips64el. (Closes: #1043048) + * shared-blas-lapack.patch: restore missing symbols in liblapack64.so.3. + Many symbols were inadvertently dropped in version 0.3.22+ds-1, + because of the overhaul of no-embedded-lapack.patch that removed the + lapack64-netlib directory. (Closes: #1039904) + * shared-blas-lapack.patch: add missing clean rule for lib{blas,lapack}64.so.3 + * Remove all references to kfreebsd-{amd64,i386} ports + * README.Debian: update binary packages names for custom installation + procedure + + -- Sébastien Villemot Sun, 06 Aug 2023 20:45:18 +0200 + +openblas (0.3.23+ds-2) unstable; urgency=medium + + * Upload to unstable + * kfreebsd.patch: drop patch, the GNU/kFreeBSD ports have been abandoned + + -- Sébastien Villemot Tue, 13 Jun 2023 10:48:52 +0200 + +openblas (0.3.23+ds-1) experimental; urgency=medium + + * New upstream version 0.3.23+ds + + -- Sébastien Villemot Sat, 01 Apr 2023 23:47:25 +0200 + +openblas (0.3.22+ds-1) experimental; urgency=medium + + * New upstream version 0.3.22+ds + * d/copyright: reflect upstream changes + * Drop patches applied upstream + + mips64el-utest-dnrm2.patch + + pr-3718-ppc64el-segfault.patch + * d/rules: use new MIPS64_GENERIC target to build on mips64el + * Set upstream metadata fields: Security-Contact. + + -- Sébastien Villemot Tue, 28 Mar 2023 21:11:15 +0200 + +openblas (0.3.21+ds-4) unstable; urgency=medium + + * Manage CMake files through the alternatives system. + For consistency with the pkgconfig files. + * Bump S-V to 4.6.2 + + -- Sébastien Villemot Mon, 19 Dec 2022 16:03:51 +0100 + +openblas (0.3.21+ds-3) unstable; urgency=medium + + * Install CMake files under /usr/lib/$(MULTIARCH)/cmake/openblas$(FLAVOR)/ + Thanks to Juan Jose Garcia Ripoll for reporting (Closes: #1000332) + * no-embedded-lapack.patch: fix logic for detecting build with 64-bit + indexing. In particular, this fixes the riscv64 packages whose embedded + LAPACK routines were unusable with 32-bit indexing. + Thanks to Дмитрий Ермилов (Closes: #1022950) + + -- Sébastien Villemot Sun, 27 Nov 2022 21:22:10 +0100 + +openblas (0.3.21+ds-2) unstable; urgency=medium + + [ Mo Zhou ] + * Cherry-pick upstream commit to fix ppc64el FTBFS. + + [ Sébastien Villemot ] + * mips64el-utest-dnrm2.patch: new patch from upstream, fixes FTBFS on mips64el + + -- Sébastien Villemot Wed, 14 Sep 2022 13:07:58 +0200 + +openblas (0.3.21+ds-1) unstable; urgency=medium + + * New upstream version 0.3.21+ds + * d/copyright: reflect upstream changes + * d/control: drop transitional libopenblas-base package, no longer needed + * Bump S-V to 4.6.1 + * Update renamed lintian tag names in lintian overrides. + + -- Sébastien Villemot Sun, 14 Aug 2022 22:37:14 +0200 + +openblas (0.3.20+ds-2) unstable; urgency=medium + + * Remove deprecated xCOMBSSQ lapack routines. (Closes: #1011386) + * Remove bin:libjulia-openblas64, which is no longer needed. + Exporting libopenblas64_.so with SYMBOLSUFFIX=64_ in Julia private + library as an external dependency introduces complication in Julia + package compiling process. We currently do not have proposal to + put libopenblas64_.so (with symbol suffix) in the public library, + because that will eventually lead to NINE variants to build for amd64: + (1) LP64 (32-bit indexing), three threading models, default; + (2) ILP64 (64-bit indexing), three threading models, no symbol suffix; + (3) ILP64 (64-bit indexing), three threading models, symbols suffix 64_. + Currently we only provide the (1) and (2) combinations, because BLAS + libraries without symbol mangling can still be alternated to e.g. MKL. + + -- Mo Zhou Sat, 21 May 2022 16:25:13 -0400 + +openblas (0.3.20+ds-1) unstable; urgency=medium + + * New upstream version 0.3.20+ds + * d/copyright: reflect upstream changes + * mips64el.patch, avx512-dgemm.patch: drop patches, applied upstream + + -- Sébastien Villemot Mon, 21 Feb 2022 11:14:52 +0100 + +openblas (0.3.19+ds-3) unstable; urgency=medium + + * avx512-dgemm.patch: new patch, fixes DGEMM regression on AVX-512 CPUs + + -- Sébastien Villemot Fri, 14 Jan 2022 15:21:00 +0100 + +openblas (0.3.19+ds-2) unstable; urgency=medium + + * mips64el.patch: new patch, should fix FTBFS on mips64el + + -- Sébastien Villemot Mon, 10 Jan 2022 12:26:34 +0100 + +openblas (0.3.19+ds-1) unstable; urgency=medium + + * New upstream version 0.3.19+ds + + fixes segfault of pthread flavour when running out of memory + (Closes: #995450) + * d/copyright: reflect upstream changes + * 3422.patch (trsv shortcut revert): drop patch, applied upstream + * Tighten Build-Depends on liblapack{,64}-dev to >= 3.10.0-2~ + This ensures that the fix for CVE-2021-4048 is incorporated. + + -- Sébastien Villemot Mon, 20 Dec 2021 13:27:29 +0100 + +openblas (0.3.18+ds-2) unstable; urgency=medium + + * Team upload. + * Revert invalid trsv shortcut. Fixes crash in yade-package. + + -- Anton Gladky Sat, 30 Oct 2021 02:01:09 +0200 + +openblas (0.3.18+ds-1) unstable; urgency=medium + + * New upstream version 0.3.18+ds + * d/copyright: reflect upstream changes + + -- Sébastien Villemot Sun, 03 Oct 2021 10:51:28 +0200 + +openblas (0.3.17+ds-3) unstable; urgency=medium + + * Rebuild against lapack 3.10.0 + * Bump S-V to 4.6.0 + + -- Sébastien Villemot Mon, 20 Sep 2021 17:41:09 +0200 + +openblas (0.3.17+ds-2) unstable; urgency=medium + + * Upload to unstable + + -- Sébastien Villemot Mon, 16 Aug 2021 19:45:15 +0200 + +openblas (0.3.17+ds-1) experimental; urgency=medium + + * New upstream version 0.3.17+ds + + -- Sébastien Villemot Tue, 20 Jul 2021 22:19:53 +0200 + +openblas (0.3.16+ds-1) experimental; urgency=medium + + * New upstream version 0.3.16+ds + * Really disable DYNAMIC_ARCH on ppc64 + * Downgrade to TARGET=POWER4 on ppc64. + This seems closer to the baseline for this architecture. + * Improve package description w.r.t. dynamic arch vs local recompilation + * Add missing files in clean rule + + -- Sébastien Villemot Tue, 13 Jul 2021 12:32:31 +0200 + +openblas (0.3.15+ds-1) experimental; urgency=medium + + * New upstream version 0.3.15+ds + * fix-arm64-sigill.patch: drop patch, applied upstream + + -- Sébastien Villemot Tue, 04 May 2021 17:31:41 +0200 + +openblas (0.3.14+ds-2) experimental; urgency=medium + + * fix-arm64-sigill.patch: new patch, fixes SIGILL on arm64 with numpy. + Thanks to Thomas Viehmann (Closes: #986996) + + -- Sébastien Villemot Sun, 18 Apr 2021 11:08:29 +0200 + +openblas (0.3.14+ds-1) experimental; urgency=medium + + * New upstream version 0.3.14+ds + * riscv64-supported.patch: drop patch, applied upstream + * d/watch: update following GitHub URL renaming + + -- Sébastien Villemot Sun, 04 Apr 2021 18:34:37 +0200 + +openblas (0.3.13+ds-2) unstable; urgency=medium + + [ Gianfranco Costamagna ] + * Enable dynamic arch support on s390x. (LP: #1893653) (Closes: #981048) + + Also change control file references, thanks Marius Hillenbrand (mhillen) + + [ Aurelien Jarno ] + * Enable support for riscv64 (Closes: #978633) + + -- Mo Zhou Wed, 27 Jan 2021 13:56:54 +0800 + +openblas (0.3.13+ds-1) unstable; urgency=medium + + * New upstream version 0.3.13+ds + * d/copyright: reflect upstream changes + * reunify-arm64-buffersize.patch: drop patch, applied upstream + * Bump S-V to 4.5.1 + + -- Sébastien Villemot Thu, 17 Dec 2020 13:53:00 +0100 + +openblas (0.3.12+ds-2) unstable; urgency=medium + + * reunify-arm64-buffersize.patch: new patch from upstream (Closes: #970558) + + -- Sébastien Villemot Sun, 01 Nov 2020 10:47:26 +0100 + +openblas (0.3.12+ds-1) unstable; urgency=medium + + * New upstream version 0.3.12+ds + * fix-dynamic-arch-gemm-crashes.patch: drop patch, applied upstream + + -- Sébastien Villemot Mon, 26 Oct 2020 17:52:08 +0100 + +openblas (0.3.10+ds-3) unstable; urgency=medium + + [ Mo Zhou ] + * Fix confusion bug in the libblas.so.3->libopenblas.so.0 linkage. + We added -Wl,-rpath,'$ORIGIN' in the RPATH attribute of the libblas.so.3 + shared objects. Without this fix, `ldd openblas-serial/libblas.so.3` + will resolve the libopenblas.so.0 dependency to the symbol link + controlled by the alternatives mechanism, e.g. libopenblas.so.0 -> + openblas-pthread/libopenblas.so.0, which breaks the literal meaning + of the user's libblas.so.3 <--provies-- openblas-serial configuration. + * Remove the unnecessary dh_shlibdeps overrides. + * Remove ${shlibs:Depends} dependency from -dev and -meta packages. + * Fix symbol mangling for libjulia-openblas64. + * B-D on lapack (>= 3.9.0-3) for BLAS64 version of deprecated routines. + + [ Sébastien Villemot ] + * d/rules: ensure that shared-library flavoured packages do not depend on + libopenblas{64-,}0 metapackages. A circular dependency: + libopenblas0 → libopenblas0-{pthread,openmp,serial} → libopenblas0 + was introduced in 0.3.10+ds-2, since lib{blas,lapack}.so.3 is (again) + dynamically linked against libopenblas0. We break the loop manually at the + dpkg-shlibdeps level. (Closes: #966607) + + -- Mo Zhou Sat, 01 Aug 2020 23:25:44 +0800 + +openblas (0.3.10+ds-2) unstable; urgency=medium + + * lib{blas,lapack}.so.3 are again dynamically linked against libopenblas.so.0. + This restores the pre-multi-flavour behaviour. + Incidentally, this brings back the possibility of checking at runtime for + the presence of openblas_get_config symbol. (Closes: #960728) + * fix-dynamic-arch-gemm-crashes.patch: new patch (Closes: #966175) + * Add debian/upstream/metadata + + -- Sébastien Villemot Wed, 29 Jul 2020 14:51:22 +0200 + +openblas (0.3.10+ds-1) unstable; urgency=medium + + [ Mo Zhou ] + * New upstream version 0.3.10+ds + * Refresh existing patches. + + [ Sébastien Villemot ] + * d/copyright: reflect upstream changes + + -- Mo Zhou Tue, 07 Jul 2020 19:50:08 +0800 + +openblas (0.3.9+ds-3) unstable; urgency=medium + + [ Sébastien Villemot ] + * Remove B-D on dh-exec, no longer needed since debhelper 13 + * On Ubuntu, strip -Wl,-Bsymbolic-functions from LDFLAGS (Closes: #961725) + * Update Homepage to https://www.openblas.net + + [ Mo Zhou ] + * Let libopenblas64-julia Conflict & Replace libjulia1 (<< 1.4.1+dfsg-1) + (Closes: #963223) + * Upload to unstable. + + -- Mo Zhou Thu, 25 Jun 2020 17:39:59 +0800 + +openblas (0.3.9+ds-2) experimental; urgency=medium + + * Build the custom version of OpenBLAS for Julia. + * Update my mail address in Uploaders. + * Bump debhelper compat level to 13 (no change). + + -- Mo Zhou Thu, 14 May 2020 19:06:33 +0800 + +openblas (0.3.9+ds-1) unstable; urgency=medium + + * New upstream version 0.3.9+ds + * d/copyright: reflect upstream changes + * Drop link-tests-openmp.patch. + Replace it by adding -fopenmp to FCOMMON_OPT at the relevant places in + debian/rules. + + -- Sébastien Villemot Fri, 20 Mar 2020 14:40:43 +0100 + +openblas (0.3.8+ds-1) unstable; urgency=medium + + * New upstream version 0.3.8+ds + + unfortunately we cannot enable dynamic arch for s390x, because it will + not work correctly on pre-Z13 systems (there is no fallbak on + ZARCH_GENERIC, see driver/other/dynamic_zarch.c) + * d/copyright: reflect upstream changes + * dgemm-test-without-lapacke.patch: drop patch, applied upstream + * Remove spurious TARGET setting for ppc64el, which has dynamic arch + * Bump S-V to 4.5.0 + * d/rules: do not run testsuite in override_dh_auto_build. + It is already run in override_dh_auto_test. + Also honour DEB_BUILD_OPTIONS=nocheck. + * d/rules: ensure that whole build fails if build/test/install fails for one + flavour + * Remove unused override for libopenblas-dev + * link-tests-openmp.patch: new patch, fixes build failure in OpenMP variants + + -- Sébastien Villemot Thu, 13 Feb 2020 18:52:52 +0100 + +openblas (0.3.7+ds-7) unstable; urgency=medium + + * Fix (piuparts) install failure due to missing dir. (Closes: #946828) + * Autopkgtest: print libopenblas{,64} selection before the test. + + -- Mo Zhou Wed, 18 Dec 2019 23:38:15 +0800 + +openblas (0.3.7+ds-6) unstable; urgency=medium + + * Restore pkgconfig’s openblas.pc (for 32-bit indexing) + This file is now managed by the alternatives system, since there are several + variants of it. (Closes: #946698) + By the way, add openblas64.pc (for 64-bit indexing). + * Fix alternatives symlink for openblas64_config.h (64-bit indexing variants) + * Drop empty postrm script for libopenblas-dev + * Make long description of libopenblas0 different from that of + libopenblas64-0. + Similar change for libopenblas-dev vs. libopenblas64-dev. + * Fix the blas{,64}.pc and lapack{,64}.pc alternatives. + For 32-bit indexing, the files pointed to an inexistent $libdir. + The 64-bit indexing variants were pointing to 32-bit libraries. + + -- Sébastien Villemot Sun, 15 Dec 2019 22:02:19 +0100 + +openblas (0.3.7+ds-5) unstable; urgency=medium + + * Link the OMP variant of shared blas/lapack against gomp. (Closes: #945791) + + -- Mo Zhou Mon, 02 Dec 2019 13:33:33 +0800 + +openblas (0.3.7+ds-4) unstable; urgency=medium + + * Don’t run the 64-bit autopkgtests on 32-bit architectures. + Thanks to Matthias Klose (Closes: #944474) + * Bump S-V to 4.4.1 + + -- Sébastien Villemot Wed, 27 Nov 2019 17:49:02 +0100 + +openblas (0.3.7+ds-3) unstable; urgency=medium + + * Upload to unstable. (no change). + + -- Mo Zhou Thu, 31 Oct 2019 20:46:13 +0800 + +openblas (0.3.7+ds-2) experimental; urgency=medium + + [ Multi-Flavour Update of OpenBLAS (Closes: #878121, #684344) ] + * (32-bit, 64-bit)-index * (pthread, openmp, serial)-threadding = 6 Variants. + Each one assigned with different priority values in alternatives system: + + libopenblas0-{pthread,openmp,serial} (priority = 100,95,90) + * Provides: libopenblas.so.0, libblas.so.3, liblapack.so.3 + + libopenblas64-0-{pthread,openmp,serial} (priority = 100,95,90) + * Provides: libopenblas64.so.0, libblas64.so.3, liblapack64.so.3 + - 64-bit-indexing versions are only available on 64-bit archs. + * Let libopenblas0 and libopenblas64-0 be meta packages. They pull one of the + three threadding variants. On resolving shlib dependencies, these meta + packages, instead of specific variants used for building, should be used as + the dependencies. + * Turn libopenblas-base into a transitional dummy package. + * Update/Create control files and maintscripts for all these variants. + * Autopkgtest: test all the 6 variants. + + [ Mo Zhou ] + * Append myself to Uploaders. + * Simplify architecture detection part of rules. + * Bump B-D lapack to >= 3.8.0-5 (for liblapack64-dev). + * rules: Deparallelize build targets to avoid messy buildlog + * Update existing patches accordingly for the new feature. + * Merge order-files.patch into shared-blas-lapack.patch + * Create template postrm for libopenblas-dev to avoid leftover. + * Remove the unnecessary overrides from rules. + * Upload to experimental. + + -- Mo Zhou Fri, 25 Oct 2019 21:03:40 +0800 + +openblas (0.3.7+ds-1) unstable; urgency=medium + + * Revert dynamic arch selection on ppc64, it FTBFS + * New upstream version 0.3.7+ds + * dgemm-test-without-lapacke.patch: new patch taken from upstream. + Required to avoid FTBFS. + + -- Sébastien Villemot Tue, 20 Aug 2019 17:52:34 +0200 + +openblas (0.3.6+ds-1) unstable; urgency=medium + + * New upstream version 0.3.6+ds + * Remove patches applied upstream + + skylakex-dgemm.patch + + target-generic.patch + * Enable dynamic arch selection on ppc64el and ppc64 + * Bump S-V to 4.4.0 + * Bump debhelper compat level to 12 + + -- Sébastien Villemot Mon, 08 Jul 2019 14:24:15 +0200 + +openblas (0.3.5+ds-3) unstable; urgency=medium + + * Fix FTBFS when CPU of the build machine is not detected (amd64, arm64, i386) + - pass TARGET=GENERIC when building with DYNAMIC_ARCH=1 + - target-generic.patch: new patch taken from upstream, makes the above + possible + (Closes: #923607) + + -- Sébastien Villemot Mon, 11 Mar 2019 10:18:39 +0100 + +openblas (0.3.5+ds-2) unstable; urgency=medium + + * skylakex-dgemm.patch: new patch, fixes DGEMM regression on SkylakeX. + Thanks to Mo Zhou (Closes: #921698) + + -- Sébastien Villemot Sat, 09 Feb 2019 10:38:22 +0100 + +openblas (0.3.5+ds-1) unstable; urgency=medium + + * New upstream version 0.3.5+ds + * Bump S-V to 4.3.0 + + -- Sébastien Villemot Fri, 04 Jan 2019 10:28:31 +0100 + +openblas (0.3.4+ds-1) unstable; urgency=medium + + * New upstream version 0.3.4+ds + * d/copyright: reflect upstream changes + * Dynamic kernel selection is now implemented on arm64 + * Switch to new way of specifying debhelper compat level + * Increase priority in alternatives system to 100 (Closes: #911131) + + -- Sébastien Villemot Fri, 07 Dec 2018 15:49:27 +0100 + +openblas (0.3.3+ds-1) unstable; urgency=medium + + * New upstream version 0.3.3+ds + * Bump Standards-Version to 4.2.1 + + -- Sébastien Villemot Fri, 07 Sep 2018 16:32:43 +0200 + +openblas (0.3.2+ds-1) unstable; urgency=medium + + * New upstream version 0.3.2+ds + + fixes regression that induced incorrect SVD computation + (Closes: #903659) + * Bump to debhelper compat level 11 + * Add Rules-Requires-Root: no + * Bump S-V to 4.1.5 + + -- Sébastien Villemot Tue, 31 Jul 2018 18:28:12 +0200 + +openblas (0.3.1+ds-1) unstable; urgency=medium + + * New upstream version 0.3.1 + + cblas_* now take a void* for complex arrays (Closes: #877883) + * d/copyright: reflect upstream changes + * force-zarch.patch: remove patch, applied upstream + * Compile with DYNAMIC_OLDER=1, for better support of old amd64 CPUs + * Remove Built-Using field. + Since both LAPACK and ATLAS are under BSD-3-clause, there is no reason to + use this field (which is now restricted to license compliance issues). + * d/rules: remove get-orig-source target. + * Bump to S-V 4.1.4 + * Replace ADTTMP by AUTOPKGTEST_TMP in tests. + * Ship *.md files in libopenblas-dev + * Update Vcs-* fields for move to salsa + + -- Sébastien Villemot Wed, 04 Jul 2018 10:53:01 +0200 + +openblas (0.2.20+ds-4) unstable; urgency=medium + + * Add support for s390x. + New patch force-zarch.patch introduced to force the generic build. + (Closes: #875618) + * Enforce TARGET=POWER6 on ppc64, to avoid FTBFS on some buildds. + * Drop obsolete code for -dbgsym migration. + + -- Sébastien Villemot Tue, 19 Sep 2017 14:51:23 +0200 + +openblas (0.2.20+ds-3) unstable; urgency=low + + * Multi-archify the package. + Incidentally, remove the dependency of libopenblas-dev on libblas-dev, since + cblas.h is now managed by the alternative. + * Ship openblas.pc in libopenblas-dev. + * Improve README.Debian for building a custom package + * Bump Standards-Version to 4.1.0. + + -- Sébastien Villemot Sat, 09 Sep 2017 10:29:44 +0200 + +openblas (0.2.20+ds-2) unstable; urgency=medium + + * d/rules: explicitly disable OpenMP, with USE_OPENMP=0. + Otherwise it gets enabled on powerpc and ppc64*, leading to FTBFS. + + -- Sébastien Villemot Thu, 27 Jul 2017 20:06:14 +0200 + +openblas (0.2.20+ds-1) unstable; urgency=medium + + * New upstream version 0.2.20+ds + * d/watch: add +ds suffix to orig tarball, since we're repacking it. + * Drop patches applied upstream: + + mips-implement-mb-and-wmb.patch + + mips-remove-incorrect-blas_lock-implementation.patch + * d/copyright: + + reflect upstream changes, filter out relapack. + + use secure URL for format. + * Add support for sparc64. + Thanks to James Clarke for the patch (Closes: #866509) + * d/rules: Re-enable testsuite on powerpc. + Treating powerpc differently is not warranted, especially since it is no + longer a release architecture. + * Use DEB_BUILD_OPTIONS=custom as new interface for building custom package. + By the way, no longer automatically append a changelog entry. + (Closes: #854784) + * d/control: + + bump Standards-Version to 4.0.0. + + tighten versioned build-dependency on liblapack-pic to ≥ 3.7.0. + + use canonical URL for Vcs-Browser. + + -- Sébastien Villemot Thu, 27 Jul 2017 18:17:19 +0200 + +openblas (0.2.19-3) unstable; urgency=medium + + * New patches that fix threading issue on mips64el. + + d/p/mips-implement-mb-and-wmb.patch + + d/p/mips-remove-incorrect-blas_lock-implementation.patch + Thanks to James Cowgill (Closes: #861486) + + -- Sébastien Villemot Sat, 06 May 2017 15:22:06 +0200 + +openblas (0.2.19-2) unstable; urgency=medium + + * Also build libopenblas-dev on mips64el. (Closes: #852283) + * Bump debhelper compat level to 10. + * d/watch: bump to format version 4. + * Add "-march=native -mtune=native" to CFLAGS when building custom package. + (Closes: #844509) + + -- Sébastien Villemot Mon, 23 Jan 2017 15:06:15 +0100 + +openblas (0.2.19-1) unstable; urgency=medium + + * Imported Upstream version 0.2.19 + * d/p/always-run-testsuite.patch: drop patch, no longer needed. + * Add support for mips64el. + * d/p/order-files.patch: new patch, makes build reproducible. + Thanks to Alexis Bienvenüe (Closes: #824639) + * d/README.Debian: explain that recompilation is useful on non-x86 archs. + + -- Sébastien Villemot Tue, 06 Sep 2016 20:24:32 +0200 + +openblas (0.2.18-1) unstable; urgency=medium + + * Imported Upstream version 0.2.18 + * d/control: bump Standards-Version to 3.9.8, no changes needed. + + -- Sébastien Villemot Sun, 17 Apr 2016 18:40:31 +0200 + +openblas (0.2.17-1) unstable; urgency=medium + + * Imported Upstream version 0.2.17 + * d/copyright: reflect upstream changes. + * d/p/power-arch-detection.patch: drop patch, applied upstream. + * d/p/matgen-symbols-not-included.patch: new patch. + Needed because MATGEN symbols are not included in the Debian binary. + * d/control: + + bump Standards-Version to 3.9.7, no changes needed. + + use secure URLs in Vcs-* fields. + * Drop libopenblas-dbg, now rely on automatic debug package. + + -- Sébastien Villemot Thu, 24 Mar 2016 15:11:45 +0100 + +openblas (0.2.15-1) unstable; urgency=medium + + * Imported Upstream version 0.2.15 + * debian/copyright: reflect upstream changes. + * Remove patches applied upstream: + + debian/patches/arm-arch-detection.patch + + debian/patches/arm64.patch + + debian/patches/disable-gemm3m-tests.patch + * Build on ppc64el arch, which is now supported by upstream. + * d/p/power-arch-detection.patch: new patch. + Ensures that the testsuite is run on ppc64el and ppc64. + However, don't enable it on powerpc, because it crashes… + * Tighten B-D on lapack to >= 3.5.0-5~, in order to get latest patches. + * Remove obsolete Conflicts/Replaces against lib{blas,lapack}3gf. + + -- Sébastien Villemot Tue, 10 Nov 2015 23:24:12 +0100 + +openblas (0.2.14-1) unstable; urgency=low + + * Imported Upstream version 0.2.14 + * debian/copyright: reflect upstream changes. + * debian/rules: remove TARGET=GENERIC flag when building dynamic arch binary. + This flag creates a compilation failure and seems no longer needed. + * Add a debug package. (Closes: #783639) + * debian/control: improve short description of packages. + * Add autopkgtest support, relying on upstream testsuite. + + debian/tests/upstream-testsuite: script to run the testsuite. + + debian/tests/control: add the new test. + Thanks to Christian Kastner for crafting the patch. (Closes: #781996) + * Enable build on arm64 architecture. + + d/control: add arm64 to Architecture fields. + + d/rules: use TARGET=ARMV8 for arm64 arch. + + d/p/arm64.patch: new patch from upstream, to fix a build failure. + * Fix crash with illegal instruction on armhf with static libraries. + + d/p/arm-gcc-flags.patch: enforce -march=armv7-a and -mfpu=vfpv3-d16 flags. + * Add -lgfortran and -lpthread in .pc files for static linking. + * Ensure that the testsuite is run on arm* arches at build time. + + d/p/arm-arch-detection.patch: new patch, avoids false detection of + cross-compilation. + + d/p/disable-gemm3m-tests.patch: new patch, avoid compilation failure of + the testsuite. + + d/p/test-custom-package.patch renamed to d/p/always-run-testsuite.patch, + to clearly show that it is needed even for vanilla arm* packages. + + -- Sébastien Villemot Wed, 29 Apr 2015 18:46:11 +0200 + +openblas (0.2.12-1) unstable; urgency=medium + + * Imported Upstream version 0.2.12. (Closes: #765795) + + -- Sébastien Villemot Sun, 26 Oct 2014 10:42:29 +0100 + +openblas (0.2.11-3) unstable; urgency=medium + + [ Alastair McKinstry ] + * Add {blas,lapack}-openblas.pc files and symlinks via + update-alternatives. (Closes: #764491) + + -- Sébastien Villemot Wed, 15 Oct 2014 21:54:50 +0200 + +openblas (0.2.11-2) unstable; urgency=medium + + * libopenblas-base: add dependency on libblas-common. + The goal is to make BLAS implementations multi-arch safe by preventing the + co-installability of, say, libblas3:amd64 and libatlas3-base:i386. See + * Bump Standards-Version to 3.9.6, no changes needed. + + -- Sébastien Villemot Sat, 27 Sep 2014 20:25:40 +0200 + +openblas (0.2.11-1) unstable; urgency=medium + + * Imported Upstream version 0.2.11 + * debian/copyright: reflect upstream changes. + + -- Sébastien Villemot Sat, 30 Aug 2014 14:20:55 +0200 + +openblas (0.2.10-2) unstable; urgency=medium + + * libopenblas-{base,dev}.prerm: fix removal of liblapack.so.3 alternative. + * debian/rules: pass the same make options to all make invocations. + Fixes FTBFS on armhf. + * Tighten build-dep on liblapack-pic. + Ensures that the LAPACK version used to compile OpenBLAS is as recent as + upstream embedded copy (including unreleased patches). + + -- Sébastien Villemot Fri, 08 Aug 2014 14:25:37 +0200 + +openblas (0.2.10-1) unstable; urgency=medium + + * Imported Upstream version 0.2.10 + * Ship the optimized LAPACK as a new alternative. + + Use the binary from liblapack-pic for routines not overridden by + OpenBLAS. + As a consequence, add a Built-Using field to libopenblas-{base,dev}. + + libblas3-soname.patch: dropped patch. + + shared-blas-lapack.patch: new patch. + * Ship headers in /usr/include/openblas. + * Remove Sylvestre Ledru from Uploaders. Thanks Sylvestre for your work! + * debian/copyright: rewrite using machine-readable format. + * Use Files-Excluded from d/copyright to remove embedded LAPACK copy. + * no-embedded-lapack.patch: new patch. + Adapts build system for the absence of lapack-netlib/ directory. + * kfreebsd.patch: install shared library and link it against libm. + This patch also incorporates the former content of kfreebsd-soname.patch. + * Rewrite using debhelper and upstream's 'make install' rule. + * Update README.Debian. + + -- Sébastien Villemot Tue, 05 Aug 2014 20:05:26 +0200 + +openblas (0.2.9-1) unstable; urgency=medium + + * Imported Upstream version 0.2.9 + * Remove patches applied upstream: + - dgemv-crash.patch + - fork-handler.patch + - qemu-athlon.patch + - wrong-parameter-for-zherk-zher2.patch + * Add armhf support. + - Use ARMv6 target. We cannot currently use the ARMv7 target, because it + requires VFPv3-D32 (and armhf only guarantees VFPv3-D16). + - arm-gcc-flags.patch: Remove arch-specific GCC flags. + * PowerPC: enforce a generic-enough target (PPCG4) for the generic package. + Previously, the target was (erroneously) selected based on the buildd + hardware. + * Update debian/orig-tar.sh: now keeps a quasi-empty lapack-netlib/TESTING + dir. + + -- Sébastien Villemot Sun, 15 Jun 2014 15:17:05 +0200 + +openblas (0.2.8-6) unstable; urgency=medium + + * Team upload. + * backport two fixes from upstream git: + - dgemv-crash.patch: fixes core2/barcelona dgemv kernel + - wrong-parameter-for-zherk-zher2.patch + + -- Julian Taylor Thu, 13 Mar 2014 20:03:07 +0100 + +openblas (0.2.8-5) unstable; urgency=medium + + * kfreebsd-soname.patch: give a SONAME to the shared library under kfreebsd, + by using the same stanza to create the shared object than under Linux. + Incidentally, this fixes the FTBFS on kfreebsd-* archs. + * Remove ia64, powerpcspe, hurd-i386 and sparc from the list of + supported architectures (the package never compiled on those). + * fork-handler.patch: improved version backported from upstream. + + -- Sébastien Villemot Fri, 21 Feb 2014 18:07:32 +0100 + +openblas (0.2.8-4) unstable; urgency=medium + + * Revert to pthreads parallelism instead of OpenMP (Closes: #737675) + * remove-openmp-warning.patch: new patch, removes annoying warning when + OpenBLAS is called from an OpenMP application. + * fork-handler.patch: fixes hangs of OpenBLAS when called from a program + using OpenMP (Closes: #739331) + * Drop obsolete code in maintainer scripts to deal with the transition + libblas.so.3gf => libblas.so.3. + * Ship an additional libopenblas.so.0 in /usr/lib, to allow direct + linking to OpenBLAS, without using the alternatives system for BLAS + implementations. Thanks to Martin Koehler for his help in crafting a + proper solution. (Closes: #725673) + + -- Sébastien Villemot Wed, 19 Feb 2014 17:20:03 +0100 + +openblas (0.2.8-3) unstable; urgency=medium + + * Use OpenMP parallelism instead of pthreads (Closes: #684344). + * Bump Standards-Version to 3.9.5, no changes needed. + * Bump to debhelper compat level 9. + + -- Sébastien Villemot Wed, 15 Jan 2014 14:07:39 +0100 + +openblas (0.2.8-2) unstable; urgency=low + + * qemu-athlon.patch: new patch, should fix FTBFS on babin.debian.org + (which is a weird qemu guest declaring an Athlon CPU but without + 3dnow! extensions) + + -- Sébastien Villemot Tue, 27 Aug 2013 18:04:04 +0200 + +openblas (0.2.8-1) unstable; urgency=low + + * New upstream release + + -- Sébastien Villemot Sat, 03 Aug 2013 23:25:41 +0200 + +openblas (0.2.7-1) unstable; urgency=low + + * New upstream release + * power7.patch: remove patch, applied upstream + * Repackage upstream tarball without embedded LAPACK copy + * Package descriptions: mention that multiple arch is only for x86; fix typo + * Use canonical URLs for packaging VCS + * Add dependency of libopenblas-dev on libblas-dev, so that CBLAS headers are + installed. (Closes: #685890) + * Disable memory address range benchmarking (NO_WARMUP=1), for better + startup performance. (Closes: #709224) + * test-custom-package.patch: new package, ensures that testsuite is run even + when building a custom package. (Closes: #677866) + + -- Sébastien Villemot Fri, 26 Jul 2013 18:37:41 +0200 + +openblas (0.2.6-2) unstable; urgency=low + + * power7.patch: new patch, should fix FTBFS on powerpc buildd with Power7 arch + * libblas3-soname.patch: new patch, sets the SONAME of the dynamic library to + libblas.so.3. (Closes: #687349) + * Put "libblas3 | libblas.so.3" in the shlibs of libopenblas-base. + Packages compiled with libopenblas-dev installed will now have a BLAS + dependency satisfiable by all BLAS flavours. + * Switch to git as VCS for packaging + + -- Sébastien Villemot Mon, 20 May 2013 18:40:07 +0200 + +openblas (0.2.6-1) unstable; urgency=low + + * Upload to unstable + * Update Standards-Version to 3.9.4 + * Increase the maximum number of threads to 64 when building the generic + package. At runtime, OpenBLAS will not use more threads than there are + available cores. (LP: #817212) + + -- Sébastien Villemot Sat, 02 Mar 2013 17:46:01 +0100 + +openblas (0.2.6-1~exp1) experimental; urgency=low + + * New upstream release + + Fixes use of uninitialized values in vectorized sgemv on i386. + (Closes: #696000) + + Fixes the overflowing buffer bug of gemv. (Closes: #697231) + + Fixes the the overflowing buffer bug of multithreading hbmv and sbmv. + (Closes: #697232) + + Fixes crash on 32-bit Athlon CPUs. (Closes: #697233) + + Better handling of unknown amd64 CPUs (e.g. within qemu). + (Closes: #697235) + * Disable processor affinity. (Closes: #684338) + * Force the maximum number of threads to 2 when building the generic package + (as we do for ATLAS). Otherwise, it is the number of cores on the build + machine which is chosen instead. + * README.Debian: improve instructions for building the custom package + + -- Sébastien Villemot Sat, 02 Mar 2013 15:09:09 +0100 + +openblas (0.2.5-1~exp1) experimental; urgency=low + + [ Sébastien Villemot ] + * Update debian/watch + * Use my @debian.org email address + * Remove obsolete DM-Upload-Allowed flag + + [ Sylvestre Ledru ] + * New upstream release + * generic_profile.diff removed (applied upstream) + + -- Sylvestre Ledru Sat, 08 Dec 2012 16:24:30 +0100 + +openblas (0.2.4-1~exp1) experimental; urgency=low + + * New upstream release + + -- Sylvestre Ledru Mon, 15 Oct 2012 20:15:49 +0200 + +openblas (0.2.3-1~exp1) experimental; urgency=low + + * New upstream release + + Kills threads when unloading the library (Closes: #673061) + + -- Sébastien Villemot Mon, 20 Aug 2012 12:18:07 +0000 + +openblas (0.2.2-1~exp1) experimental; urgency=low + + * New upstream release + * hurd.diff, hurd_gettid.diff, kfreebsd.diff, sparc.diff: remove patches, + applied upstream + * debian/rules: implement support for DEB_BUILD_OPTIONS=noopt + + -- Sébastien Villemot Wed, 11 Jul 2012 16:32:27 +0000 + +openblas (0.2.1-1~exp1) experimental; urgency=low + + * New upstream release + + -- Sylvestre Ledru Mon, 02 Jul 2012 02:24:00 +0200 + +openblas (0.1.1-5) unstable; urgency=low + + * libopenblas-base.prerm: avoid crash if libblas.so.3gf already deleted + * Add myself to Uploaders + * Set DM-Upload-Allowed to yes + + -- Sébastien Villemot Sun, 24 Jun 2012 16:15:11 +0000 + +openblas (0.1.1-4) unstable; urgency=low + + * Fix the FTBFS under KFreebsd. Thanks to Sébastien Villemot (Closes: #677165) + + -- Sylvestre Ledru Wed, 13 Jun 2012 10:29:51 +0200 + +openblas (0.1.1-3) unstable; urgency=low + + * Upload in unstable + + -- Sylvestre Ledru Sat, 02 Jun 2012 17:33:58 +0200 + +openblas (0.1.1-3~exp4) experimental; urgency=low + + * Rollback previous upload + + -- Sylvestre Ledru Fri, 01 Jun 2012 11:04:51 +0200 + +openblas (0.1.1-3~exp3) experimental; urgency=low + + * Fix a bad alternative link to the old library name + + -- Sylvestre Ledru Fri, 01 Jun 2012 10:28:09 +0200 + +openblas (0.1.1-3~exp2) experimental; urgency=low + + * Fix FTBFS (Closes: #666277) + + -- Sylvestre Ledru Wed, 30 May 2012 14:52:40 +0200 + +openblas (0.1.1-3~exp1) experimental; urgency=low + + * Replaces and Breaks updated against the right versions of other impacted + packages + + -- Sylvestre Ledru Mon, 21 May 2012 13:13:46 +0200 + +openblas (0.1.1-2) experimental; urgency=low + + * Moved removal from postinst to preinst + + -- Sylvestre Ledru Fri, 18 May 2012 15:58:32 +0200 + +openblas (0.1.1-1) experimental; urgency=low + + * New upstream release + * Remove libblas.so.3gf references before the install + + -- Sylvestre Ledru Mon, 14 May 2012 18:47:53 +0200 + +openblas (0.1.0-1) experimental; urgency=low + + * New upstream release + * Standards-Version updated to 3.9.3 + + -- Sylvestre Ledru Wed, 04 Apr 2012 14:31:34 +0200 + +openblas (0.1alpha2.5-1~exp2) experimental; urgency=low + + * Join modifications with blas, lapack, atlas and openblas. + Declare the replacements of all *3gf blas & lapack implementation + (See bug #660607) + + -- Sylvestre Ledru Mon, 20 Feb 2012 19:33:41 +0100 + +openblas (0.1alpha2.5-1~exp1) experimental; urgency=low + + * New upstream release + * Fix an upgrade issue (Closes: #659786) + + -- Sylvestre Ledru Sun, 19 Feb 2012 15:50:41 +0100 + +openblas (0.1alpha2.3-1~exp1) experimental; urgency=low + + * New upstream release + Fix FTBFS under KfreeBSD (Closes: #635552) + + -- Sylvestre Ledru Mon, 05 Sep 2011 15:24:24 +0200 + +openblas (0.1alpha2.2-4~exp1) experimental; urgency=low + + * Rename the reference libblas.so.3gf to libblas.so.3 + + -- Sylvestre Ledru Sat, 03 Sep 2011 20:24:39 +0200 + +openblas (0.1alpha2.2-3) unstable; urgency=low + + * Same player try again: the lib has different names with build with the + dynamic arch or not. + + -- Sylvestre Ledru Tue, 26 Jul 2011 18:40:04 +0200 + +openblas (0.1alpha2.2-2) unstable; urgency=low + + * Disable dynamic arch on non amd64 / i386 archs (Closes: #631887) + * Fix a FTBFS under hurd + + -- Sylvestre Ledru Tue, 26 Jul 2011 16:56:27 +0200 + +openblas (0.1alpha2.2-1) unstable; urgency=low + + * New upstream release (Closes: #631886) + + -- Sylvestre Ledru Mon, 25 Jul 2011 10:46:44 +0200 + +openblas (0.1alpha2.1-1) unstable; urgency=low + + * New upstream release + * gfortran added a build dep + + -- Sylvestre Ledru Wed, 29 Jun 2011 21:18:48 +0200 + +openblas (0.1alpha2-1) unstable; urgency=low + + * New upstream release + * Good news: use DYNAMIC_ARCH=1 in the build option of OpenBLAS/Gotoblas + to support multiple architecture. All kernel will be included in the library + and dynamically switched the best architecture at run time. + + -- Sylvestre Ledru Thu, 23 Jun 2011 10:44:43 +0200 + +openblas (0.1alpha1-4) experimental; urgency=low + + * Fix FTBFS under kfreebsd, sparc & hurd. + * Limit architectures to amd64 i386 ia64 powerpc powerpcspe ppc64 + kfreebsd-i386 kfreebsd-amd64 hurd-i386 sparc + * cherry-pick from upstream to fail build when the arch is not supported + + -- Sylvestre Ledru Mon, 30 May 2011 17:05:23 +0200 + +openblas (0.1alpha1-3) experimental; urgency=low + + * clean target now really cleans everything. Thanks to Ryan Lovett + (Closes: #624253) + + -- Sylvestre Ledru Wed, 04 May 2011 18:03:10 +0200 + +openblas (0.1alpha1-2) experimental; urgency=low + + * Update the README.Debian file + * watch file removed for now (it was the one from atlas) + * Fix a custom build issue (thanks to Ryan Lovett for the bug report) + * Fix a FTBFS under sparc + * Switch to dpkg-source 3.0 (quilt) format + * Standards-Version updated to version 3.9.2 + + -- Sylvestre Ledru Sat, 16 Apr 2011 15:23:22 +0200 + +openblas (0.1alpha1-1) experimental; urgency=low + + * Initial version (Closes: #605456) + + -- Sylvestre Ledru Fri, 04 Feb 2011 18:28:26 +0100 diff --git a/control b/control new file mode 100644 index 0000000..6b9a113 --- /dev/null +++ b/control @@ -0,0 +1,382 @@ +Source: openblas +Maintainer: Debian Science Team +Uploaders: Sébastien Villemot , + Mo Zhou +Section: devel +Priority: optional +Build-Depends: debhelper-compat (= 13), + debhelper (>= 12.8~), + gfortran, + liblapack-dev (>= 3.12), + liblapack64-dev (>= 3.12) [amd64 arm64 ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64], +Standards-Version: 4.7.0 +Vcs-Browser: https://salsa.debian.org/science-team/openblas +Vcs-Git: https://salsa.debian.org/science-team/openblas.git +Homepage: https://www.openblas.net/ +Rules-Requires-Root: no + +# 32-bit indexing version + +Package: libopenblas0 +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: metapackages +Depends: ${misc:Depends}, + libopenblas0-pthread | libopenblas0-openmp | libopenblas0-serial, +Breaks: libblas3 (<< 3.7.1-2~), + liblapack3 (<< 3.7.1-2~), + libatlas3-base (<< 3.10.3-4~), + libopenblas-dev (<< 0.2.20+ds-3~) +Description: Optimized BLAS (linear algebra) library (meta) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + +Package: libopenblas0-pthread +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Breaks: libblas3 (<< 3.7.1-2~), + liblapack3 (<< 3.7.1-2~), + libatlas3-base (<< 3.10.3-4~), + libopenblas-dev (<< 0.2.20+ds-3~) +Provides: libblas.so.3, + liblapack.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, pthread) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=0 + +Package: libopenblas0-openmp +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Breaks: libblas3 (<< 3.7.1-2~), + liblapack3 (<< 3.7.1-2~), + libatlas3-base (<< 3.10.3-4~), + libopenblas-dev (<< 0.2.20+ds-3~) +Provides: libblas.so.3, + liblapack.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, openmp) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=0 + +Package: libopenblas0-serial +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Breaks: libblas3 (<< 3.7.1-2~), + liblapack3 (<< 3.7.1-2~), + libatlas3-base (<< 3.10.3-4~), + libopenblas-dev (<< 0.2.20+ds-3~) +Provides: libblas.so.3, + liblapack.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, serial) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=0 + +Package: libopenblas-dev +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: metapackages +Depends: libopenblas0 (= ${binary:Version}), + ${misc:Depends}, + libopenblas-pthread-dev | libopenblas-openmp-dev | libopenblas-serial-dev, +Breaks: libblas-dev (<< 3.7.1-2~), + liblapack-dev (<< 3.7.1-2~), + libatlas-base-dev (<< 3.10.3-4~) +Description: Optimized BLAS (linear algebra) library (dev, meta) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + +Package: libopenblas-pthread-dev +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas0-pthread (= ${binary:Version}), + ${misc:Depends} +Breaks: libblas-dev (<< 3.7.1-2~), + liblapack-dev (<< 3.7.1-2~), + libatlas-base-dev (<< 3.10.3-4~) +Provides: libblas.so, + liblapack.so +Description: Optimized BLAS (linear algebra) library (dev, pthread) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=0 + +Package: libopenblas-openmp-dev +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas0-openmp (= ${binary:Version}), + ${misc:Depends} +Breaks: libblas-dev (<< 3.7.1-2~), + liblapack-dev (<< 3.7.1-2~), + libatlas-base-dev (<< 3.10.3-4~) +Provides: libblas.so, + liblapack.so +Description: Optimized BLAS (linear algebra) library (dev, openmp) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=0 + +Package: libopenblas-serial-dev +Architecture: amd64 arm64 armhf i386 powerpc ppc64el ppc64 mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas0-serial (= ${binary:Version}), + ${misc:Depends} +Breaks: libblas-dev (<< 3.7.1-2~), + liblapack-dev (<< 3.7.1-2~), + libatlas-base-dev (<< 3.10.3-4~) +Provides: libblas.so, + liblapack.so +Description: Optimized BLAS (linear algebra) library (dev, serial) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=0 + +# 64-bit indexing version + +Package: libopenblas64-0 +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: metapackages +Depends: ${misc:Depends}, + libopenblas64-0-pthread | libopenblas64-0-openmp | libopenblas64-0-serial, +Description: Optimized BLAS (linear algebra) library (shared lib, 64bit, meta) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This metapackage provides a 64-bit indexing version. + +Package: libopenblas64-0-pthread +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libblas64.so.3, + liblapack64.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, 64bit, pthread) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=1 + +Package: libopenblas64-0-openmp +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libblas64.so.3, + liblapack64.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, 64bit, openmp) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=1 + +Package: libopenblas64-0-serial +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, + ${misc:Depends} +Provides: libblas64.so.3, + liblapack64.so.3 +Description: Optimized BLAS (linear algebra) library (shared lib, 64bit, serial) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=1 + +Package: libopenblas64-dev +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: metapackages +Depends: libopenblas64-0 (= ${binary:Version}), + ${misc:Depends}, + libopenblas64-pthread-dev | libopenblas64-openmp-dev | libopenblas64-serial-dev, +Description: Optimized BLAS (linear algebra) library (dev, 64bit, meta) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + This metapackage provides a 64-bit indexing version. + +Package: libopenblas64-pthread-dev +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas64-0-pthread (= ${binary:Version}), + ${misc:Depends} +Provides: libblas64.so, + liblapack64.so +Description: Optimized BLAS (linear algebra) library (dev, 64bit, pthread) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=1 USE_OPENMP=0 INTERFACE64=1 + +Package: libopenblas64-openmp-dev +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas64-0-openmp (= ${binary:Version}), + ${misc:Depends} +Provides: libblas64.so, + liblapack64.so +Description: Optimized BLAS (linear algebra) library (dev, 64bit, openmp) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=1 USE_OPENMP=1 INTERFACE64=1 + +Package: libopenblas64-serial-dev +Architecture: amd64 arm64 ppc64 ppc64el mips64el riscv64 sparc64 s390x loong64 +Multi-Arch: same +Section: libdevel +Depends: libopenblas64-0-serial (= ${binary:Version}), + ${misc:Depends} +Provides: libblas64.so, + liblapack64.so +Description: Optimized BLAS (linear algebra) library (dev, 64bit, serial) + OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. + . + On amd64, arm64, i386, loong64, ppc64el and s390x, all kernels are included in + the library and the one matching best your processor is selected at runtime. + . + On other architectures, for maximum performance, you may want to rebuild + OpenBLAS locally, see the section: “Building an optimized OpenBLAS package for + your machine” in README.Debian. + . + This package includes the static libraries and symbolic links + needed for program development. + . + Configuration: USE_THREAD=0 USE_OPENMP=0 INTERFACE64=1 diff --git a/copyright b/copyright new file mode 100644 index 0000000..85a3acb --- /dev/null +++ b/copyright @@ -0,0 +1,645 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: OpenBLAS +Upstream-Contact: Zhang Xianyi +Source: https://github.com/OpenMathLib/OpenBLAS +Files-Excluded: lapack-netlib/* + relapack/* + +Files: * +Copyright: 2011-2024 The OpenBLAS Project + 2009-2010 The University of Texas at Austin + 2013 Martin Koehler, grisuthedragon@users.github.com + 2020 IBM Corporation + 2022 Arm Ltd +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: + . + 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. + 3. Neither the name of the OpenBLAS project 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 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. + +Files: benchmark/cholesky.c + benchmark/linpack.c + benchmark/geev.c + benchmark/getri.c + benchmark/gesv.c + benchmark/potrf.c + common.h + common_alpha.h + common_ia64.h + common_interface.h + common_lapack.h + common_level1.h + common_level2.h + common_level3.h + common_linux.h + common_macro.h + common_param.h + common_power.h + common_sparc.h + common_thread.h + common_x86.h + common_x86_64.h + cpuid.h + cpuid_alpha.c + cpuid_ia64.c + cpuid_power.c + cpuid_sparc.c + cpuid_x86.c + driver/level2/gbmv_k.c + driver/level2/gbmv_thread.c + driver/level2/gemv_thread.c + driver/level2/ger_thread.c + driver/level2/sbgemv_thread.c + driver/level2/sbmv_k.c + driver/level2/sbmv_thread.c + driver/level2/spmv_k.c + driver/level2/spmv_thread.c + driver/level2/spr2_k.c + driver/level2/spr2_thread.c + driver/level2/spr_k.c + driver/level2/spr_thread.c + driver/level2/symv_thread.c + driver/level2/syr2_k.c + driver/level2/syr2_thread.c + driver/level2/syr_k.c + driver/level2/syr_thread.c + driver/level2/tbmv_L.c + driver/level2/tbmv_U.c + driver/level2/tbmv_thread.c + driver/level2/tbsv_L.c + driver/level2/tbsv_U.c + driver/level2/tpmv_L.c + driver/level2/tpmv_U.c + driver/level2/tpmv_thread.c + driver/level2/tpsv_L.c + driver/level2/tpsv_U.c + driver/level2/trmv_L.c + driver/level2/trmv_U.c + driver/level2/trmv_thread.c + driver/level2/trsv_L.c + driver/level2/trsv_U.c + driver/level2/zgbmv_k.c + driver/level2/zhbmv_k.c + driver/level2/zher2_k.c + driver/level2/zher_k.c + driver/level2/zhpmv_k.c + driver/level2/zhpr2_k.c + driver/level2/zhpr_k.c + driver/level2/zsbmv_k.c + driver/level2/zspmv_k.c + driver/level2/zspr2_k.c + driver/level2/zspr_k.c + driver/level2/zsyr2_k.c + driver/level2/zsyr_k.c + driver/level2/ztbmv_L.c + driver/level2/ztbmv_U.c + driver/level2/ztbsv_L.c + driver/level2/ztbsv_U.c + driver/level2/ztpmv_L.c + driver/level2/ztpmv_U.c + driver/level2/ztpsv_L.c + driver/level2/ztpsv_U.c + driver/level2/ztrmv_L.c + driver/level2/ztrmv_U.c + driver/level2/ztrsv_L.c + driver/level2/ztrsv_U.c + driver/level3/gemm.c + driver/level3/gemm3m.c + driver/level3/gemm3m_level3.c + driver/level3/gemm_thread_m.c + driver/level3/gemm_thread_mn.c + driver/level3/gemm_thread_n.c + driver/level3/gemm_thread_variable.c + driver/level3/hemm3m_k.c + driver/level3/level3.c + driver/level3/level3_gemm3m_thread.c + driver/level3/level3_syrk.c + driver/level3/level3_syr2k.c + driver/level3/level3_syrk_threaded.c + driver/level3/level3_thread.c + driver/level3/symm_k.c + driver/level3/syr2k_k.c + driver/level3/syr2k_kernel.c + driver/level3/syrk_k.c + driver/level3/syrk_kernel.c + driver/level3/syrk_thread.c + driver/level3/trmm_L.c + driver/level3/trmm_R.c + driver/level3/trsm_L.c + driver/level3/trsm_R.c + driver/level3/zhemm_k.c + driver/level3/zher2k_k.c + driver/level3/zher2k_kernel.c + driver/level3/zherk_beta.c + driver/level3/zherk_k.c + driver/level3/zherk_kernel.c + driver/level3/zsyrk_beta.c + driver/level3/symm3m_k.c + driver/mapper/mapper.c + driver/others/abs.c + driver/others/blas_l1_thread.c + driver/others/blas_server_omp.c + driver/others/blas_server_win32.c + driver/others/divtable.c + driver/others/dynamic.c + driver/others/dynamic_arm64.c + driver/others/lamc3.c + driver/others/lamch.c + driver/others/lsame.c + driver/others/memory_qalloc.c + driver/others/parameter.c + driver/others/profile.c + driver/others/xerbla.c + exports/dllinit.c + interface/asum.c + interface/axpy.c + interface/copy.c + interface/dot.c + interface/dsdot.c + interface/gbmv.c + interface/geadd.c + interface/gemm.c + interface/gemv.c + interface/ger.c + interface/imax.c + interface/lapack/gesv.c + interface/lapack/getf2.c + interface/lapack/getrf.c + interface/lapack/getrs.c + interface/lapack/laswp.c + interface/lapack/lauu2.c + interface/lapack/lauum.c + interface/lapack/potf2.c + interface/lapack/potrf.c + interface/lapack/potri.c + interface/lapack/trti2.c + interface/lapack/trtri.c + interface/lapack/trtrs.c + interface/lapack/zgetf2.c + interface/lapack/zgetrf.c + interface/lapack/zgetrs.c + interface/lapack/zlaswp.c + interface/lapack/zlauu2.c + interface/lapack/zlauum.c + interface/lapack/zpotf2.c + interface/lapack/zpotrf.c + interface/lapack/zpotri.c + interface/lapack/ztrti2.c + interface/lapack/ztrtri.c + interface/lapack/ztrtrs.c + interface/max.c + interface/nrm2.c + interface/rot.c + interface/sbgemmt.c + interface/sbgemv.c + interface/sbmv.c + interface/scal.c + interface/sdsdot.c + interface/spmv.c + interface/spr.c + interface/spr2.c + interface/swap.c + interface/symm.c + interface/symv.c + interface/syr.c + interface/syr2.c + interface/syr2k.c + interface/syrk.c + interface/tbmv.c + interface/tbsv.c + interface/tpmv.c + interface/tpsv.c + interface/trmv.c + interface/trsm.c + interface/trsv.c + interface/zaxpy.c + interface/zdot.c + interface/zgbmv.c + interface/zgeadd.c + interface/zgemv.c + interface/zger.c + interface/zhbmv.c + interface/zhemv.c + interface/zher.c + interface/zher2.c + interface/zhpmv.c + interface/zhpr.c + interface/zhpr2.c + interface/zrot.c + interface/zsbmv.c + interface/zscal.c + interface/zspmv.c + interface/zspr.c + interface/zspr2.c + interface/zswap.c + interface/zsymv.c + interface/zsyr.c + interface/zsyr2.c + interface/ztbmv.c + interface/ztbsv.c + interface/ztpmv.c + interface/ztpsv.c + interface/ztrmv.c + interface/ztrsv.c + kernel/arm64/cgemm_ncopy_sve_v1.c + kernel/arm64/cgemm_tcopy_sve_v1.c + kernel/arm64/symm_lcopy_sve.c + kernel/arm64/symm_ucopy_sve.c + kernel/arm64/trmm_lncopy_sve_v1.c + kernel/arm64/trmm_ltcopy_sve_v1.c + kernel/arm64/trmm_uncopy_sve_v1.c + kernel/arm64/trmm_utcopy_sve_v1.c + kernel/arm64/trsm_kernel_LN_sve.c + kernel/arm64/trsm_kernel_LT_sve.c + kernel/arm64/trsm_kernel_RN_sve.c + kernel/arm64/trsm_kernel_RT_sve.c + kernel/arm64/trsm_lncopy_sve.c + kernel/arm64/trsm_ltcopy_sve.c + kernel/arm64/trsm_uncopy_sve.c + kernel/arm64/trsm_utcopy_sve.c + kernel/arm64/zgemm_ncopy_sve_v1.c + kernel/arm64/zgemm_tcopy_sve_v1.c + kernel/arm64/zhemm_ltcopy_sve.c + kernel/arm64/zhemm_utcopy_sve.c + kernel/arm64/zsymm_lcopy_sve.c + kernel/arm64/zsymm_ucopy_sve.c + kernel/arm64/ztrmm_lncopy_sve_v1.c + kernel/arm64/ztrmm_ltcopy_sve_v1.c + kernel/arm64/ztrmm_uncopy_sve_v1.c + kernel/arm64/ztrmm_utcopy_sve_v1.c + kernel/arm64/ztrsm_lncopy_sve.c + kernel/arm64/ztrsm_ltcopy_sve.c + kernel/arm64/ztrsm_uncopy_sve.c + kernel/arm64/ztrsm_utcopy_sve.c + kernel/generic/cabs.c + kernel/generic/gemm_beta.c + kernel/generic/gemm_ncopy_1.c + kernel/generic/gemm_ncopy_16.c + kernel/generic/gemm_ncopy_2.c + kernel/generic/gemm_ncopy_4.c + kernel/generic/gemm_ncopy_6.c + kernel/generic/gemm_ncopy_8.c + kernel/generic/gemm_tcopy_1.c + kernel/generic/gemm_tcopy_16.c + kernel/generic/gemm_tcopy_2.c + kernel/generic/gemm_tcopy_4.c + kernel/generic/gemm_tcopy_6.c + kernel/generic/gemm_tcopy_8.c + kernel/generic/ger.c + kernel/generic/laswp_ncopy_1.c + kernel/generic/laswp_ncopy_2.c + kernel/generic/laswp_ncopy_4.c + kernel/generic/laswp_ncopy_8.c + kernel/generic/lsame.c + kernel/generic/neg_tcopy_1.c + kernel/generic/neg_tcopy_16.c + kernel/generic/neg_tcopy_2.c + kernel/generic/neg_tcopy_4.c + kernel/generic/neg_tcopy_8.c + kernel/generic/symm_lcopy_1.c + kernel/generic/symm_lcopy_16.c + kernel/generic/symm_lcopy_2.c + kernel/generic/symm_lcopy_4.c + kernel/generic/symm_lcopy_6.c + kernel/generic/symm_lcopy_8.c + kernel/generic/symm_ucopy_1.c + kernel/generic/symm_ucopy_16.c + kernel/generic/symm_ucopy_2.c + kernel/generic/symm_ucopy_4.c + kernel/generic/symm_ucopy_6.c + kernel/generic/symm_ucopy_8.c + kernel/generic/symv_k.c + kernel/generic/trmm_lncopy_1.c + kernel/generic/trmm_lncopy_16.c + kernel/generic/trmm_lncopy_2.c + kernel/generic/trmm_lncopy_4.c + kernel/generic/trmm_lncopy_6.c + kernel/generic/trmm_lncopy_8.c + kernel/generic/trmm_ltcopy_1.c + kernel/generic/trmm_ltcopy_16.c + kernel/generic/trmm_ltcopy_2.c + kernel/generic/trmm_ltcopy_4.c + kernel/generic/trmm_ltcopy_6.c + kernel/generic/trmm_ltcopy_8.c + kernel/generic/trmm_uncopy_1.c + kernel/generic/trmm_uncopy_16.c + kernel/generic/trmm_uncopy_2.c + kernel/generic/trmm_uncopy_4.c + kernel/generic/trmm_uncopy_6.c + kernel/generic/trmm_uncopy_8.c + kernel/generic/trmm_utcopy_1.c + kernel/generic/trmm_utcopy_16.c + kernel/generic/trmm_utcopy_2.c + kernel/generic/trmm_utcopy_4.c + kernel/generic/trmm_utcopy_6.c + kernel/generic/trmm_utcopy_8.c + kernel/generic/trsm_kernel_LN.c + kernel/generic/trsm_kernel_LT.c + kernel/generic/trsm_kernel_RN.c + kernel/generic/trsm_kernel_RT.c + kernel/generic/trsm_lncopy_1.c + kernel/generic/trsm_lncopy_16.c + kernel/generic/trsm_lncopy_2.c + kernel/generic/trsm_lncopy_4.c + kernel/generic/trsm_lncopy_6.c + kernel/generic/trsm_lncopy_8.c + kernel/generic/trsm_ltcopy_1.c + kernel/generic/trsm_ltcopy_16.c + kernel/generic/trsm_ltcopy_2.c + kernel/generic/trsm_ltcopy_4.c + kernel/generic/trsm_ltcopy_6.c + kernel/generic/trsm_ltcopy_8.c + kernel/generic/trsm_uncopy_1.c + kernel/generic/trsm_uncopy_16.c + kernel/generic/trsm_uncopy_2.c + kernel/generic/trsm_uncopy_4.c + kernel/generic/trsm_uncopy_6.c + kernel/generic/trsm_uncopy_8.c + kernel/generic/trsm_utcopy_1.c + kernel/generic/trsm_utcopy_16.c + kernel/generic/trsm_utcopy_2.c + kernel/generic/trsm_utcopy_4.c + kernel/generic/trsm_utcopy_6.c + kernel/generic/trsm_utcopy_8.c + kernel/generic/zgemm3m_ncopy_1.c + kernel/generic/zgemm3m_ncopy_2.c + kernel/generic/zgemm3m_ncopy_4.c + kernel/generic/zgemm3m_ncopy_8.c + kernel/generic/zgemm3m_tcopy_1.c + kernel/generic/zgemm3m_tcopy_2.c + kernel/generic/zgemm3m_tcopy_4.c + kernel/generic/zgemm3m_tcopy_8.c + kernel/generic/zgemm_beta.c + kernel/generic/zgemm_ncopy_1.c + kernel/generic/zgemm_ncopy_2.c + kernel/generic/zgemm_ncopy_4.c + kernel/generic/zgemm_ncopy_8.c + kernel/generic/zgemm_tcopy_1.c + kernel/generic/zgemm_tcopy_2.c + kernel/generic/zgemm_tcopy_4.c + kernel/generic/zgemm_tcopy_8.c + kernel/generic/zger.c + kernel/generic/zhemm3m_lcopy_1.c + kernel/generic/zhemm3m_lcopy_2.c + kernel/generic/zhemm3m_lcopy_4.c + kernel/generic/zhemm3m_lcopy_8.c + kernel/generic/zhemm3m_ucopy_1.c + kernel/generic/zhemm3m_ucopy_2.c + kernel/generic/zhemm3m_ucopy_4.c + kernel/generic/zhemm3m_ucopy_8.c + kernel/generic/zhemm_ltcopy_1.c + kernel/generic/zhemm_ltcopy_2.c + kernel/generic/zhemm_ltcopy_4.c + kernel/generic/zhemm_ltcopy_8.c + kernel/generic/zhemm_utcopy_1.c + kernel/generic/zhemm_utcopy_2.c + kernel/generic/zhemm_utcopy_4.c + kernel/generic/zhemm_utcopy_8.c + kernel/generic/zhemv_k.c + kernel/generic/zlaswp_ncopy_1.c + kernel/generic/zlaswp_ncopy_2.c + kernel/generic/zlaswp_ncopy_4.c + kernel/generic/zlaswp_ncopy_8.c + kernel/generic/zneg_tcopy_1.c + kernel/generic/zneg_tcopy_2.c + kernel/generic/zneg_tcopy_4.c + kernel/generic/zneg_tcopy_8.c + kernel/generic/zsymm3m_lcopy_1.c + kernel/generic/zsymm3m_lcopy_2.c + kernel/generic/zsymm3m_lcopy_4.c + kernel/generic/zsymm3m_lcopy_8.c + kernel/generic/zsymm3m_ucopy_1.c + kernel/generic/zsymm3m_ucopy_2.c + kernel/generic/zsymm3m_ucopy_4.c + kernel/generic/zsymm3m_ucopy_8.c + kernel/generic/zsymm_lcopy_1.c + kernel/generic/zsymm_lcopy_2.c + kernel/generic/zsymm_lcopy_4.c + kernel/generic/zsymm_lcopy_8.c + kernel/generic/zsymm_ucopy_1.c + kernel/generic/zsymm_ucopy_2.c + kernel/generic/zsymm_ucopy_4.c + kernel/generic/zsymm_ucopy_8.c + kernel/generic/zsymv_k.c + kernel/generic/ztrmm_lncopy_1.c + kernel/generic/ztrmm_lncopy_2.c + kernel/generic/ztrmm_lncopy_4.c + kernel/generic/ztrmm_lncopy_8.c + kernel/generic/ztrmm_ltcopy_1.c + kernel/generic/ztrmm_ltcopy_2.c + kernel/generic/ztrmm_ltcopy_4.c + kernel/generic/ztrmm_ltcopy_8.c + kernel/generic/ztrmm_uncopy_1.c + kernel/generic/ztrmm_uncopy_2.c + kernel/generic/ztrmm_uncopy_4.c + kernel/generic/ztrmm_uncopy_8.c + kernel/generic/ztrmm_utcopy_1.c + kernel/generic/ztrmm_utcopy_2.c + kernel/generic/ztrmm_utcopy_4.c + kernel/generic/ztrmm_utcopy_8.c + kernel/generic/ztrsm_lncopy_1.c + kernel/generic/ztrsm_lncopy_2.c + kernel/generic/ztrsm_lncopy_4.c + kernel/generic/ztrsm_lncopy_8.c + kernel/generic/ztrsm_ltcopy_1.c + kernel/generic/ztrsm_ltcopy_2.c + kernel/generic/ztrsm_ltcopy_4.c + kernel/generic/ztrsm_ltcopy_8.c + kernel/generic/ztrsm_uncopy_1.c + kernel/generic/ztrsm_uncopy_2.c + kernel/generic/ztrsm_uncopy_4.c + kernel/generic/ztrsm_uncopy_8.c + kernel/generic/ztrsm_utcopy_1.c + kernel/generic/ztrsm_utcopy_2.c + kernel/generic/ztrsm_utcopy_4.c + kernel/generic/ztrsm_utcopy_8.c + kernel/power/lock.c + kernel/power/dgemm_ncopy_8_power10.c + kernel/power/sbgemm_ncopy_16_power10.c + kernel/power/sbgemm_ncopy_8_power10.c + kernel/power/sbgemm_tcopy_16_power10.c + kernel/power/sbgemm_tcopy_8_power10.c + kernel/power/sgemm_ncopy_16_power.c + kernel/power/trsm_kernel_LN_power10.c + kernel/power/trsm_kernel_LT_power10.c + kernel/power/trsm_kernel_RN_power10.c + kernel/power/trsm_kernel_RT_power10.c + kernel/riscv64/zgemm_beta_rvv.c + kernel/setparam-ref.c + kernel/x86_64/dger.c + kernel/x86_64/sger.c + kernel/x86_64/ctrsm_kernel_LN_bulldozer.c + kernel/x86_64/ctrsm_kernel_LT_bulldozer.c + kernel/x86_64/ctrsm_kernel_RN_bulldozer.c + kernel/x86_64/ctrsm_kernel_RT_bulldozer.c + kernel/x86_64/dgemm_beta_skylakex.c + kernel/x86_64/dgemm_kernel_16x2_skylakex.S + kernel/x86_64/dgemm_ncopy_8_skylakex.c + kernel/x86_64/dgemm_tcopy_8_skylakex.c + kernel/x86_64/dtrsm_kernel_LN_bulldozer.c + kernel/x86_64/dtrsm_kernel_RN_haswell.c + kernel/x86_64/dtrsm_kernel_RT_bulldozer.c + kernel/x86_64/sgemm_beta_skylakex.c + kernel/x86_64/sgemm_ncopy_4_skylakex.c + kernel/x86_64/sgemm_tcopy_16_skylakex.c + kernel/x86_64/strsm_kernel_LN_bulldozer.c + kernel/x86_64/strsm_kernel_LT_bulldozer.c + kernel/x86_64/strsm_kernel_RN_bulldozer.c + kernel/x86_64/strsm_kernel_RT_bulldozer.c + kernel/x86_64/zsum_sse.S + kernel/x86_64/zsum_sse2.S + kernel/x86_64/ztrsm_kernel_LN_bulldozer.c + kernel/x86_64/ztrsm_kernel_LT_bulldozer.c + kernel/x86_64/ztrsm_kernel_RN_bulldozer.c + kernel/x86_64/ztrsm_kernel_RT_bulldozer.c + lapack/getf2/getf2_k.c + lapack/getf2/zgetf2_k.c + lapack/getrf/getrf_parallel.c + lapack/getrf/getrf_parallel_omp.c + lapack/getrf/getrf_single.c + lapack/getrs/getrs_parallel.c + lapack/getrs/getrs_single.c + lapack/getrs/zgetrs_parallel.c + lapack/getrs/zgetrs_single.c + lapack/laswp/generic/laswp_k.c + lapack/laswp/generic/laswp_k_1.c + lapack/laswp/generic/laswp_k_2.c + lapack/laswp/generic/laswp_k_4.c + lapack/laswp/generic/laswp_k_8.c + lapack/laswp/generic/zlaswp_k.c + lapack/laswp/generic/zlaswp_k_1.c + lapack/laswp/generic/zlaswp_k_2.c + lapack/laswp/generic/zlaswp_k_4.c + lapack/lauu2/lauu2_L.c + lapack/lauu2/lauu2_U.c + lapack/lauu2/zlauu2_L.c + lapack/lauu2/zlauu2_U.c + lapack/lauum/lauum_L_parallel.c + lapack/lauum/lauum_L_single.c + lapack/lauum/lauum_U_parallel.c + lapack/lauum/lauum_U_single.c + lapack/potf2/potf2_L.c + lapack/potf2/potf2_U.c + lapack/potf2/zpotf2_L.c + lapack/potf2/zpotf2_U.c + lapack/potrf/potrf_L_parallel.c + lapack/potrf/potrf_L_single.c + lapack/potrf/potrf_U_parallel.c + lapack/potrf/potrf_U_single.c + lapack/potrf/potrf_parallel.c + lapack/trti2/trti2_L.c + lapack/trti2/trti2_U.c + lapack/trti2/ztrti2_L.c + lapack/trti2/ztrti2_U.c + lapack/trtri/trtri_L_parallel.c + lapack/trtri/trtri_U_parallel.c + lapack/trtrs/trtrs_parallel.c + lapack/trtrs/trtrs_single.c + lapack/trtrs/ztrtrs_parallel.c + lapack/trtrs/ztrtrs_single.c + symcopy.h +Copyright: 2009-2010 The University of Texas at Austin + 2023-2024 The OpenBLAS Project +License: BSD-2-clause-texas + 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 UNIVERSITY OF TEXAS AT + AUSTIN ``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 UNIVERSITY OF TEXAS AT + AUSTIN 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 University of Texas at Austin. + +Files: ctest/* reference/* test/* +Copyright: none +License: public-domain + These files come from netlib.org and are in the public domain. + +Files: utest/ctest.h +Copyright: 2011-2016 Bas van den Berg +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the complete text of the Apache License, + version 2.0, can be found in the file + `/usr/share/common-licenses/Apache-2.0'. + +Files: debian/* +Copyright: 2011-2012 Sylvestre Ledru + 2012-2024 Sébastien Villemot +License: BSD-2-clause + 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 UNIVERSITY OF TEXAS AT + AUSTIN ``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 UNIVERSITY OF TEXAS AT + AUSTIN 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. diff --git a/lapack-openblas.pc.in b/lapack-openblas.pc.in new file mode 100644 index 0000000..849fe7c --- /dev/null +++ b/lapack-openblas.pc.in @@ -0,0 +1,10 @@ +prefix=/usr +libdir=${prefix}/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@ +includedir=${prefix}/include/@DEB_HOST_MULTIARCH@ +Name: openblas-lapack@INDEXING@ +Description: Optimized BLAS (linear algebra) library, LAPACK +Version: @DEB_VERSION_UPSTREAM@ +URL: https://github.com/OpenMathLib/OpenBLAS +Libs: -L${libdir} -llapack@INDEXING@ +Libs.private: -L${libdir} -llapack@INDEXING@ -lgfortran -lpthread -lm +Cflags: -I${includedir} diff --git a/libopenblas-XXX-dev.dirs b/libopenblas-XXX-dev.dirs new file mode 100644 index 0000000..b332d02 --- /dev/null +++ b/libopenblas-XXX-dev.dirs @@ -0,0 +1,2 @@ +usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig +usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas diff --git a/libopenblas-XXX-dev.install b/libopenblas-XXX-dev.install new file mode 100644 index 0000000..ca322de --- /dev/null +++ b/libopenblas-XXX-dev.install @@ -0,0 +1,5 @@ +usr/lib/*/@SUBDIR@/libopenblas*.a +usr/lib/*/@SUBDIR@/libopenblas.so +usr/lib/*/@SUBDIR@/pkgconfig/* +usr/lib/*/@SUBDIR@/cmake/* +usr/include/*/@SUBDIR@/* diff --git a/libopenblas-XXX-dev.links b/libopenblas-XXX-dev.links new file mode 100644 index 0000000..0773190 --- /dev/null +++ b/libopenblas-XXX-dev.links @@ -0,0 +1,4 @@ +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libopenblas.a usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas.a +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libopenblas.a usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack.a +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas.so +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack.so diff --git a/libopenblas-XXX-dev.postinst b/libopenblas-XXX-dev.postinst new file mode 100644 index 0000000..e872184 --- /dev/null +++ b/libopenblas-XXX-dev.postinst @@ -0,0 +1,62 @@ +#!/bin/sh +set -e + +# begin-remove-after: released:trixie +# Work around DEP17 P6 via M23 (see #1065681) +mkdir -p "${DPKG_ROOT:-}/usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig" +# end-remove-after + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libblas.so \ + libblas.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/libblas.a \ + libblas.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.a \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/cblas.h \ + cblas.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/cblas.h \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/blas.pc \ + blas.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/blas-openblas.pc + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack.so \ + liblapack.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/liblapack.a \ + liblapack.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.a \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/lapack.pc \ + lapack.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/lapack-openblas.pc + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas.so \ + libopenblas.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas.a \ + libopenblas.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.a \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/cblas-openblas.h \ + cblas-openblas.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/cblas.h \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/f77blas.h \ + f77blas.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/f77blas.h \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/openblas_config.h \ + openblas_config.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/openblas_config.h \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/openblas.pc \ + openblas.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/openblas.pc \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas/OpenBLASConfig.cmake \ + OpenBLASConfig.cmake-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/cmake/openblas/OpenBLASConfig.cmake \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas/OpenBLASConfigVersion.cmake \ + OpenBLASConfigVersion.cmake-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/cmake/openblas/OpenBLASConfigVersion.cmake + +#DEBHELPER# + +exit 0 diff --git a/libopenblas-XXX-dev.prerm b/libopenblas-XXX-dev.prerm new file mode 100644 index 0000000..6490762 --- /dev/null +++ b/libopenblas-XXX-dev.prerm @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +if [ "$1" != "upgrade" ] +then + update-alternatives --remove libblas.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.so + + update-alternatives --remove liblapack.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.so + + update-alternatives --remove libopenblas.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.so +fi + +#DEBHELPER# + +exit 0 diff --git a/libopenblas-dev.docs b/libopenblas-dev.docs new file mode 100644 index 0000000..7a83005 --- /dev/null +++ b/libopenblas-dev.docs @@ -0,0 +1,4 @@ +README.md +USAGE.md +CONTRIBUTORS.md +BACKERS.md diff --git a/libopenblas-dev.lintian-overrides b/libopenblas-dev.lintian-overrides new file mode 100644 index 0000000..c0309ec --- /dev/null +++ b/libopenblas-dev.lintian-overrides @@ -0,0 +1 @@ +libopenblas-dev: wrong-section-according-to-package-name diff --git a/libopenblas0-XXX.install b/libopenblas0-XXX.install new file mode 100644 index 0000000..d0dade3 --- /dev/null +++ b/libopenblas0-XXX.install @@ -0,0 +1,4 @@ +usr/lib/*/@SUBDIR@/libopenblas*-r0.*.so +usr/lib/*/@SUBDIR@/libopenblas.so.0 +@FLAVOR@/interface/libblas.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/ +@FLAVOR@/interface/liblapack.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/ diff --git a/libopenblas0-XXX.postinst b/libopenblas0-XXX.postinst new file mode 100644 index 0000000..ddde6d8 --- /dev/null +++ b/libopenblas0-XXX.postinst @@ -0,0 +1,18 @@ +#! /bin/sh +set -e + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libblas.so.3 \ + libblas.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.so.3 @OPENBLAS_PRI@ + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack.so.3 \ + liblapack.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.so.3 @OPENBLAS_PRI@ + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas.so.0 \ + libopenblas.so.0-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.so.0 @OPENBLAS_PRI@ + +#DEBHELPER# + +exit 0 diff --git a/libopenblas0-XXX.prerm b/libopenblas0-XXX.prerm new file mode 100644 index 0000000..77e79bb --- /dev/null +++ b/libopenblas0-XXX.prerm @@ -0,0 +1,18 @@ +#!/bin/sh +set -e + +if [ "$1" != "upgrade" ] +then + update-alternatives --remove libblas.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas.so.3 + + update-alternatives --remove liblapack.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack.so.3 + + update-alternatives --remove libopenblas.so.0-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas.so.0 +fi + +#DEBHELPER# + +exit 0 diff --git a/libopenblas0-XXX.shlibs b/libopenblas0-XXX.shlibs new file mode 100644 index 0000000..93d1aab --- /dev/null +++ b/libopenblas0-XXX.shlibs @@ -0,0 +1,8 @@ +# We want packages linked with -lblas to depend on any BLAS alternative, and we +# want packages linked with -lopenblas to depend specifically on libopenblas0. +# +# Such a setting is not supported by dh_makeshlibs, so we ship a hand-crafted +# shlibs file. +libopenblas 0 libopenblas0 +libblas 3 libblas3 | libblas.so.3 +liblapack 3 liblapack3 | liblapack.so.3 diff --git a/libopenblas0-openmp.lintian-overrides b/libopenblas0-openmp.lintian-overrides new file mode 100644 index 0000000..6c0c298 --- /dev/null +++ b/libopenblas0-openmp.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas0-openmp: distant-prerequisite-in-shlibs +libopenblas0-openmp: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas0-pthread.lintian-overrides b/libopenblas0-pthread.lintian-overrides new file mode 100644 index 0000000..c776d14 --- /dev/null +++ b/libopenblas0-pthread.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas0-pthread: distant-prerequisite-in-shlibs +libopenblas0-pthread: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas0-serial.lintian-overrides b/libopenblas0-serial.lintian-overrides new file mode 100644 index 0000000..b38653b --- /dev/null +++ b/libopenblas0-serial.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas0-serial: distant-prerequisite-in-shlibs +libopenblas0-serial: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas0.lintian-overrides b/libopenblas0.lintian-overrides new file mode 100644 index 0000000..f9463c7 --- /dev/null +++ b/libopenblas0.lintian-overrides @@ -0,0 +1 @@ +libopenblas0: wrong-section-according-to-package-name diff --git a/libopenblas64-0-XXX.install b/libopenblas64-0-XXX.install new file mode 100644 index 0000000..57397f5 --- /dev/null +++ b/libopenblas64-0-XXX.install @@ -0,0 +1,4 @@ +usr/lib/*/@SUBDIR@/libopenblas64*-r0.*.so +usr/lib/*/@SUBDIR@/libopenblas64.so.0 +@FLAVOR@/interface/libblas64.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/ +@FLAVOR@/interface/liblapack64.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/ diff --git a/libopenblas64-0-XXX.postinst b/libopenblas64-0-XXX.postinst new file mode 100644 index 0000000..51c8543 --- /dev/null +++ b/libopenblas64-0-XXX.postinst @@ -0,0 +1,18 @@ +#! /bin/sh +set -e + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libblas64.so.3 \ + libblas64.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.so.3 @OPENBLAS_PRI@ + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack64.so.3 \ + liblapack64.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.so.3 @OPENBLAS_PRI@ + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas64.so.0 \ + libopenblas64.so.0-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.so.0 @OPENBLAS_PRI@ + +#DEBHELPER# + +exit 0 diff --git a/libopenblas64-0-XXX.prerm b/libopenblas64-0-XXX.prerm new file mode 100644 index 0000000..2d5bd78 --- /dev/null +++ b/libopenblas64-0-XXX.prerm @@ -0,0 +1,18 @@ +#!/bin/sh +set -e + +if [ "$1" != "upgrade" ] +then + update-alternatives --remove libblas64.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.so.3 + + update-alternatives --remove liblapack64.so.3-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.so.3 + + update-alternatives --remove libopenblas64.so.0-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.so.0 +fi + +#DEBHELPER# + +exit 0 diff --git a/libopenblas64-0-XXX.shlibs b/libopenblas64-0-XXX.shlibs new file mode 100644 index 0000000..b2961c4 --- /dev/null +++ b/libopenblas64-0-XXX.shlibs @@ -0,0 +1,8 @@ +# We want packages linked with -lblas to depend on any BLAS alternative, and we +# want packages linked with -lopenblas to depend specifically on libopenblas0. +# +# Such a setting is not supported by dh_makeshlibs, so we ship a hand-crafted +# shlibs file. +libopenblas64 0 libopenblas64-0 +libblas64 3 libopenblas64-0 | libblas64.so.3 +liblapack64 3 libopenblas64-0 | liblapack64.so.3 diff --git a/libopenblas64-0-openmp.lintian-overrides b/libopenblas64-0-openmp.lintian-overrides new file mode 100644 index 0000000..61a9a46 --- /dev/null +++ b/libopenblas64-0-openmp.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas64-0-openmp: distant-prerequisite-in-shlibs +libopenblas64-0-openmp: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas64-0-pthread.lintian-overrides b/libopenblas64-0-pthread.lintian-overrides new file mode 100644 index 0000000..a7804f6 --- /dev/null +++ b/libopenblas64-0-pthread.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas64-0-pthread: distant-prerequisite-in-shlibs +libopenblas64-0-pthread: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas64-0-serial.lintian-overrides b/libopenblas64-0-serial.lintian-overrides new file mode 100644 index 0000000..b135c90 --- /dev/null +++ b/libopenblas64-0-serial.lintian-overrides @@ -0,0 +1,2 @@ +libopenblas64-0-serial: distant-prerequisite-in-shlibs +libopenblas64-0-serial: package-has-unnecessary-activation-of-ldconfig-trigger diff --git a/libopenblas64-0.lintian-overrides b/libopenblas64-0.lintian-overrides new file mode 100644 index 0000000..1d9763a --- /dev/null +++ b/libopenblas64-0.lintian-overrides @@ -0,0 +1 @@ +libopenblas64-0: wrong-section-according-to-package-name diff --git a/libopenblas64-XXX-dev.dirs b/libopenblas64-XXX-dev.dirs new file mode 100644 index 0000000..022148d --- /dev/null +++ b/libopenblas64-XXX-dev.dirs @@ -0,0 +1,2 @@ +usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig +usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas64 diff --git a/libopenblas64-XXX-dev.install b/libopenblas64-XXX-dev.install new file mode 100644 index 0000000..9087c6c --- /dev/null +++ b/libopenblas64-XXX-dev.install @@ -0,0 +1,5 @@ +usr/lib/*/@SUBDIR@/libopenblas64*.a +usr/lib/*/@SUBDIR@/libopenblas64.so +usr/lib/*/@SUBDIR@/pkgconfig/* +usr/lib/*/@SUBDIR@/cmake/* +usr/include/*/@SUBDIR@/* diff --git a/libopenblas64-XXX-dev.links b/libopenblas64-XXX-dev.links new file mode 100644 index 0000000..db261a7 --- /dev/null +++ b/libopenblas64-XXX-dev.links @@ -0,0 +1,4 @@ +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libopenblas64.a usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas64.a +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libopenblas64.a usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack64.a +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas64.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/libblas64.so +usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack64.so.3 usr/lib/${DEB_HOST_MULTIARCH}/@SUBDIR@/liblapack64.so diff --git a/libopenblas64-XXX-dev.postinst b/libopenblas64-XXX-dev.postinst new file mode 100644 index 0000000..9ffb5b2 --- /dev/null +++ b/libopenblas64-XXX-dev.postinst @@ -0,0 +1,62 @@ +#!/bin/sh +set -e + +# begin-remove-after: released:trixie +# Work around DEP17 P6 via M23 (see #1065681) +mkdir -p "${DPKG_ROOT:-}/usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig" +# end-remove-after +# +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libblas64.so \ + libblas64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/libblas64.a \ + libblas64.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.a \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/cblas64.h \ + cblas64.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/cblas.h \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/blas64.pc \ + blas64.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/blas-openblas.pc + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/liblapack64.so \ + liblapack64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/liblapack64.a \ + liblapack64.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.a \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/lapack64.pc \ + lapack64.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/lapack-openblas.pc + +update-alternatives --install /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas64.so \ + libopenblas64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.so \ + @OPENBLAS_PRI@ \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/libopenblas64.a \ + libopenblas64.a-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.a \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/cblas-openblas64.h \ + cblas-openblas64.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/cblas.h \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/f77blas-openblas64.h \ + f77blas-openblas64.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/f77blas.h \ + --slave /usr/include/@DEB_HOST_MULTIARCH@/openblas64_config.h \ + openblas64_config.h-@DEB_HOST_MULTIARCH@ \ + /usr/include/@DEB_HOST_MULTIARCH@/@SUBDIR@/openblas_config.h \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/openblas64.pc \ + openblas64.pc-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/pkgconfig/openblas64.pc \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas64/OpenBLAS64Config.cmake \ + OpenBLAS64Config.cmake-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/cmake/openblas/OpenBLASConfig.cmake \ + --slave /usr/lib/@DEB_HOST_MULTIARCH@/cmake/openblas64/OpenBLAS64ConfigVersion.cmake \ + OpenBLAS64ConfigVersion.cmake-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/cmake/openblas/OpenBLASConfigVersion.cmake + +#DEBHELPER# + +exit 0 diff --git a/libopenblas64-XXX-dev.prerm b/libopenblas64-XXX-dev.prerm new file mode 100644 index 0000000..dfca817 --- /dev/null +++ b/libopenblas64-XXX-dev.prerm @@ -0,0 +1,19 @@ +#!/bin/sh + +set -e + +if [ "$1" != "upgrade" ] +then + update-alternatives --remove libblas64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libblas64.so + + update-alternatives --remove liblapack64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/liblapack64.so + + update-alternatives --remove libopenblas64.so-@DEB_HOST_MULTIARCH@ \ + /usr/lib/@DEB_HOST_MULTIARCH@/@SUBDIR@/libopenblas64.so +fi + +#DEBHELPER# + +exit 0 diff --git a/libopenblas64-dev.lintian-overrides b/libopenblas64-dev.lintian-overrides new file mode 100644 index 0000000..6f5a317 --- /dev/null +++ b/libopenblas64-dev.lintian-overrides @@ -0,0 +1 @@ +libopenblas64-dev: wrong-section-according-to-package-name diff --git a/patches/arm-gcc-flags.patch b/patches/arm-gcc-flags.patch new file mode 100644 index 0000000..4b971d4 --- /dev/null +++ b/patches/arm-gcc-flags.patch @@ -0,0 +1,22 @@ +Description: Use flags suitable for armhf port when TARGET=ARMV6 + See debian/rules for an explanation of why we can't use TARGET=ARMV7 on armhf. + Also, if we don't explicitly set the -march and -mfpu flags, the resulting + static libraries crash with SIGILL (reason not yet elucidated). +Author: Sébastien Villemot +Forwarded: not-needed +Last-Update: 2015-04-29 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/Makefile.arm ++++ b/Makefile.arm +@@ -9,8 +9,8 @@ endif + endif + + ifeq ($(CORE), ARMV6) +-CCOMMON_OPT += -mfpu=vfp +-FCOMMON_OPT += -mfpu=vfp ++CCOMMON_OPT += -mfpu=vfpv3-d16 -march=armv7-a ++FCOMMON_OPT += -mfpu=vfpv3-d16 -march=armv7-a + endif + + ifdef HAVE_NEON diff --git a/patches/combssq-deprecate.patch b/patches/combssq-deprecate.patch new file mode 100644 index 0000000..d5cd2df --- /dev/null +++ b/patches/combssq-deprecate.patch @@ -0,0 +1,22 @@ +Description: No longer check for symbols deprecated in LAPACK 3.10.1 +Author: Mo Zhou +Bug-Debian: https://bugs.debian.org/1011386 +Forwarded: no +Last-Update: 2022-08-14 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/exports/gensymbol ++++ b/exports/gensymbol +@@ -743,12 +743,10 @@ lapackobjs2c="$lapackobjs2c + cungtsqr + " + lapackobjs2d="$lapackobjs2d +- dcombssq + dgesvdq + dorgtsqr + " + lapackobjs2s="$lapackobjs2s +- scombssq + sgesvdq + sorgtsqr + " diff --git a/patches/matgen-symbols-not-included.patch b/patches/matgen-symbols-not-included.patch new file mode 100644 index 0000000..15502a2 --- /dev/null +++ b/patches/matgen-symbols-not-included.patch @@ -0,0 +1,112 @@ +Description: MATGEN symbols are not included in Debian binary + The libopenblas binaries do not include libmatgen code, so don't mark them as + exported and don't test for their presence (in linktest). +Author: Sébastien Villemot +Forwarded: not-needed +Last-Update: 2016-03-24 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/exports/gensymbol ++++ b/exports/gensymbol +@@ -587,24 +587,6 @@ lapackobjs2c="$lapackobjs2c + cggsvp3 + cgsvj0 + cgsvj1 +- clagge +- claghe +- clagsy +- clahilb +- clakf2 +- clarge +- clarnd +- claror +- clarot +- clatm1 +- clatm2 +- clatm3 +- clatm5 +- clatm6 +- clatme +- clatmr +- clatms +- clatmt + cpotrf2 + csbmv + cspr2 +@@ -622,25 +604,6 @@ lapackobjs2d="$lapackobjs2d + dggsvd3 + dggsvp3 + dladiv2 +- dlagge +- dlagsy +- dlahilb +- dlakf2 +- dlaran +- dlarge +- dlarnd +- dlaror +- dlarot +- dlatm1 +- dlatm2 +- dlatm3 +- dlatm5 +- dlatm6 +- dlatm7 +- dlatme +- dlatmr +- dlatms +- dlatmt + dorm22 + dpotrf2 + dsecnd +@@ -657,25 +620,6 @@ lapackobjs2s="$lapackobjs2s + sggsvd3 + sggsvp3 + sladiv2 +- slagge +- slagsy +- slahilb +- slakf2 +- slaran +- slarge +- slarnd +- slaror +- slarot +- slatm1 +- slatm2 +- slatm3 +- slatm5 +- slatm6 +- slatm7 +- slatme +- slatmr +- slatms +- slatmt + sorm22 + spotrf2 + " +@@ -692,24 +636,6 @@ lapackobjs2z="$lapackobjs2z + zggsvp3 + zgsvj0 + zgsvj1 +- zlagge +- zlaghe +- zlagsy +- zlahilb +- zlakf2 +- zlarge +- zlarnd +- zlaror +- zlarot +- zlatm1 +- zlatm2 +- zlatm3 +- zlatm5 +- zlatm6 +- zlatme +- zlatmr +- zlatms +- zlatmt + zpotrf2 + zsbmv + zspr2 diff --git a/patches/no-embedded-lapack.patch b/patches/no-embedded-lapack.patch new file mode 100644 index 0000000..7a20e45 --- /dev/null +++ b/patches/no-embedded-lapack.patch @@ -0,0 +1,168 @@ +Description: Adapt build system for the absence of lapack-netlib/ and relapack directories. + Instead use the binary provided by package liblapack-pic, stripping from it the + symbols that are overridden by OpenBLAS. +Author: Sébastien Villemot +Forwarded: not-needed +Last-Update: 2017-07-27 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/Makefile ++++ b/Makefile +@@ -282,95 +282,20 @@ hpl_p : + fi; \ + done + +-netlib : lapack_prebuild +-ifneq ($(NO_LAPACK), 1) +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib +-endif +-ifneq ($(NO_LAPACKE), 1) +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapackelib +-endif +- +-ifeq ($(NO_LAPACK), 1) +-re_lapack : ++netlib : lapack-netlib + ++lapack-netlib: ++ mkdir lapack-netlib ++ifeq (,$(filter libopenblas64%,$(LIBNAME))) ++ cd lapack-netlib && ar -x /usr/lib/$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/liblapack_pic.a + else +-re_lapack : +- @$(MAKE) -C relapack ++ cd lapack-netlib && ar -x /usr/lib/$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/liblapack64_pic.a + endif ++ make -C interface delete-duplicate-lapack-objects ++ ar -ru $(LIBNAME) `LC_ALL=C ls lapack-netlib/*` + +-prof_lapack : lapack_prebuild +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof +- +-lapack_prebuild : +-ifeq ($(NO_LAPACK), $(filter 0,$(NO_LAPACK))) +- -@echo "FC = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc +-ifeq ($(F_COMPILER), GFORTRAN) +- -@echo "override FFLAGS = $(LAPACK_FFLAGS) -fno-tree-vectorize" >> $(NETLIB_LAPACK_DIR)/make.inc +-else +- -@echo "override FFLAGS = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +- -@echo "FFLAGS_DRV = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "POPTS = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "FFLAGS_NOOPT = -O0 $(LAPACK_NOOPT)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "PNOOPT = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc +-ifeq ($(C_COMPILER)$(F_COMPILER)$(USE_OPENMP), CLANGGFORTRAN1) +- -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB) -lomp" >> $(NETLIB_LAPACK_DIR)/make.inc +-else +-ifeq ($(C_COMPILER)$(F_COMPILER)$(USE_OPENMP), CLANGIBM1) +- -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB) -lomp" >> $(NETLIB_LAPACK_DIR)/make.inc +-else +- -@echo "LDFLAGS = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-endif +- -@echo "CC = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "override CFLAGS = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "AR = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "ARFLAGS = $(ARFLAGS) -ru" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "RANLIB = $(RANLIB)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "LAPACKLIB = ../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "TMGLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "BLASLIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "LAPACKELIB = ../../../$(LIBNAME)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "LAPACKLIB_P = ../$(LIBNAME_P)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "SUFFIX = $(SUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "PSUFFIX = $(PSUFFIX)" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "CEXTRALIB = $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc +-ifeq ($(F_COMPILER), GFORTRAN) +- -@echo "TIMER = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc +-ifdef SMP +-ifeq ($(OSNAME), WINNT) +- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc +-else ifeq ($(OSNAME), Haiku) +- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc +-else +- -@echo "LOADER = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-else +- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-else +- -@echo "TIMER = NONE" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@echo "LOADER = $(FC)" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_LAPACK_DEPRECATED), 1) +- -@echo "BUILD_DEPRECATED = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_SINGLE), 1) +- -@echo "BUILD_SINGLE = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_DOUBLE), 1) +- -@echo "BUILD_DOUBLE = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_COMPLEX), 1) +- -@echo "BUILD_COMPLEX = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +-ifeq ($(BUILD_COMPLEX16), 1) +- -@echo "BUILD_COMPLEX16 = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +-endif +- -@echo "LAPACKE_WITH_TMG = 1" >> $(NETLIB_LAPACK_DIR)/make.inc +- -@cat make.inc >> $(NETLIB_LAPACK_DIR)/make.inc +-endif ++clean:: ++ rm -rf lapack-netlib + + large.tgz : + ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) +@@ -438,10 +363,5 @@ ifeq ($(OSNAME), Darwin) + endif + @rm -f Makefile.conf config.h Makefile_kernel.conf config_kernel.h st* *.dylib + @rm -f cblas.tmp cblas.tmp2 +- @touch $(NETLIB_LAPACK_DIR)/make.inc +- @$(MAKE) -C $(NETLIB_LAPACK_DIR) clean +- @rm -f $(NETLIB_LAPACK_DIR)/make.inc $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling.h +- @$(MAKE) -C relapack clean + @rm -f *.grd Makefile.conf_last config_last.h +- @(cd $(NETLIB_LAPACK_DIR)/TESTING && rm -f x* *.out testing_results.txt) + @echo Done. +--- a/Makefile.system ++++ b/Makefile.system +@@ -44,8 +44,6 @@ else ifeq ($(ARCH), zarch) + override ARCH=zarch + endif + +-NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-netlib +- + # Default C compiler + # - Only set if not specified on the command line or inherited from the environment. + # - CC is an implicit variable so neither '?=' or 'ifndef' can be used. +--- a/interface/Makefile ++++ b/interface/Makefile +@@ -2419,3 +2419,9 @@ cblas_zgeadd.$(SUFFIX) cblas_zgeadd.$(PS + cblas_xerbla.$(SUFFIX) cblas_xerbla.$(PSUFFIX) : xerbla.c + $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F) + ++# The list of symbols to be removed can be seen in the diff between LAPACK's ++# original SRC/Makefile and the version of that same file that is included in ++# OpenBLAS (unfiltered) tarball ++delete-duplicate-lapack-objects: ++ if test -d ../lapack-netlib; then cd ../lapack-netlib \ ++ && rm $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) lsame.o xerbla.o; fi +--- a/Makefile.install ++++ b/Makefile.install +@@ -89,15 +89,6 @@ endif + endif + + ifneq ($(OSNAME), AIX) +-ifneq ($(NO_LAPACKE), 1) +- @echo Copying LAPACKE header files to $(DESTDIR)$(OPENBLAS_INCLUDE_DIR) +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapack.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapack.h" +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke.h" +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_config.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_config.h" +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_mangling_with_flags.h.in "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h" +- @-install -m644 $(NETLIB_LAPACK_DIR)/LAPACKE/include/lapacke_utils.h "$(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h" +-endif +- + #for install static library + ifneq ($(NO_STATIC),1) + @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) diff --git a/patches/remove-openmp-warning.patch b/patches/remove-openmp-warning.patch new file mode 100644 index 0000000..016f2d0 --- /dev/null +++ b/patches/remove-openmp-warning.patch @@ -0,0 +1,27 @@ +Description: Remove warning about OpenMP + This warning is annoying when the library is built with pthreads. + See #684344 +Author: Sébastien Villemot +Forwarded: no +Last-Update: 2014-02-17 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/driver/others/blas_server.c ++++ b/driver/others/blas_server.c +@@ -893,16 +893,6 @@ int exec_blas(BLASLONG num, blas_queue_t + fprintf(STDERR, "Exec_blas is called. Number of executing threads : %ld\n", num); + #endif + +-#ifdef __ELF__ +- if (omp_in_parallel && (num > 1)) { +- if (omp_in_parallel() > 0) { +- fprintf(stderr, +- "OpenBLAS Warning : Detect OpenMP Loop and this application may hang. " +- "Please rebuild the library with USE_OPENMP=1 option.\n"); +- } +- } +-#endif +- + if ((num > 1) && queue -> next) exec_blas_async(1, queue -> next); + + #ifdef TIMING_DEBUG diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..de27236 --- /dev/null +++ b/patches/series @@ -0,0 +1,7 @@ +arm-gcc-flags.patch +remove-openmp-warning.patch +no-embedded-lapack.patch +shared-blas-lapack.patch +matgen-symbols-not-included.patch +combssq-deprecate.patch +testsuite-64bit-big-endian.patch diff --git a/patches/shared-blas-lapack.patch b/patches/shared-blas-lapack.patch new file mode 100644 index 0000000..dbdf6ca --- /dev/null +++ b/patches/shared-blas-lapack.patch @@ -0,0 +1,52 @@ +Description: Create shared libraries lib{blas,lapack}.so.3 + * It is done so that duplicate code with libopenblas.so.0 is kept as low as + possible. Only the symbols from the external BLAS/LAPACK API are incorporated + in the shared libraries. The rest is obtained by dynamic linking against + libopenblas.so.0. This also gives access to some extra OpenBLAS symbols, in + order to differentiate it at runtime from other BLAS implementations (see + #960728). + The -rpath,'$ORIGIN' is there to ensure that the OpenBLAS flavour used is + the one selected in the lib{blas,lapack}.so.3 alternative, and not the one + selected in the libopenblas.so.0 alternative. + * See also override_dh_shlibdeps in debian/rules + * Also order the files when calling `ar' or $(CC), to make + the build reproducible (see #824639) + * Also link the shared blas and lapack against gomp (see #945791) +Author: Sébastien Villemot +Author: Alexis Bienvenüe +Author: Mo Zhou +Forwarded: not-needed +Last-Update: 2020-07-31 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/interface/Makefile ++++ b/interface/Makefile +@@ -2425,3 +2425,28 @@ cblas_xerbla.$(SUFFIX) cblas_xerbla.$(PS + delete-duplicate-lapack-objects: + if test -d ../lapack-netlib; then cd ../lapack-netlib \ + && rm $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) lsame.o xerbla.o; fi ++ ++shared-blas-lapack: libblas.so.3 liblapack.so.3 ++shared-blas64-lapack64: libblas64.so.3 liblapack64.so.3 ++ifneq (0,$(USE_OPENMP)) ++SH_BLAS_LAPACK_OMP=-fopenmp -lgomp ++endif ++ ++# The list of prerequisite is created by comparing with NETLIB BLAS public API. ++# The symbol cblas_xerbla is missing here, but it does not seem to be provided ++# by libopenblas.so.0 either. ++libblas.so.3: $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS) $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS) $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS) $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas.so.3 -L.. -lopenblas $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' ++ ++libblas64.so.3: $(SBLAS1OBJS) $(SBLAS2OBJS) $(SBLAS3OBJS) $(DBLAS1OBJS) $(DBLAS2OBJS) $(DBLAS3OBJS) $(CBLAS1OBJS) $(CBLAS2OBJS) $(CBLAS3OBJS) $(ZBLAS1OBJS) $(ZBLAS2OBJS) $(ZBLAS3OBJS) ../kernel/lsame.o ../kernel/scabs1.o ../kernel/dcabs1.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ -Wl,-soname,libblas64.so.3 -L.. -lopenblas64 $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' ++ ++# The prerequisites must match the symbols deleted in target delete-duplicate-lapack-objects ++liblapack.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ `LC_ALL=C ls ../lapack-netlib/*` -Wl,-soname,liblapack.so.3 -L.. -lopenblas $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' ++ ++liblapack64.so.3: $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) ../kernel/lsame.o ../driver/others/xerbla.o ++ $(CC) $(LDFLAGS) -shared -o $@ $^ `LC_ALL=C ls ../lapack-netlib/*` -Wl,-soname,liblapack64.so.3 -L.. -lopenblas64 $(EXTRALIB) $(SH_BLAS_LAPACK_OMP) -Wl,-rpath,'$$ORIGIN' ++ ++clean:: ++ rm -f libblas.so.3 liblapack.so.3 libblas64.so.3 liblapack64.so.3 diff --git a/patches/testsuite-64bit-big-endian.patch b/patches/testsuite-64bit-big-endian.patch new file mode 100644 index 0000000..c8db7a2 --- /dev/null +++ b/patches/testsuite-64bit-big-endian.patch @@ -0,0 +1,26 @@ +Description: Fix FTBFS on big-endian 64-bit architectures + A long* pointer was incorrectly cast as an int*. +Origin: upstream, https://github.com/OpenMathLib/OpenBLAS/commit/b1d722fc0cf563298de8c5ae66fc04a1901d4bf1 +Bug: https://github.com/OpenMathLib/OpenBLAS/issues/4633 +Reviewed-by: Sébastien Villemot +Last-Update: 2024-04-29 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/utest/test_extensions/xerbla.c ++++ b/utest/test_extensions/xerbla.c +@@ -39,7 +39,7 @@ static char *rout; + + static void F77_xerbla(char *srname, void *vinfo) + { +- int info=*(int*)vinfo; ++ blasint info=*(blasint*)vinfo; + + if (link_xerbla) + { +@@ -85,4 +85,4 @@ void set_xerbla(char* current_rout, int + lerr = TRUE; + _info = expected_info; + rout = current_rout; +-} +\ No newline at end of file ++} diff --git a/rules b/rules new file mode 100755 index 0000000..1f6063e --- /dev/null +++ b/rules @@ -0,0 +1,239 @@ +#!/usr/bin/make -f + +# For Ubuntu, see #961725 +export DEB_LDFLAGS_MAINT_STRIP := "-Wl,-Bsymbolic-functions" + +include /usr/share/dpkg/buildflags.mk +include /usr/share/dpkg/pkg-info.mk +SOVER := 0 +SRCS := $(filter-out debian $(FLAVORS), $(wildcard ./*)) + +MAKE_OPTIONS := NO_LAPACKE=1 NO_AFFINITY=1 NO_WARMUP=1 CFLAGS="$(CPPFLAGS) $(CFLAGS)" FFLAGS="$(FFLAGS)" + +# Avoid having -O2 automatically added (especially for DEB_BUILD_OPTIONS=noopt) +MAKE_OPTIONS += COMMON_OPT= + +# Handle requested number of parallel jobs +# NB: by default, the OpenBLAS build system uses as many jobs as there are logical +# cores, so explicitly disable this if parallel build is not requested. +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKE_OPTIONS += MAKE_NB_JOBS=$(NUMJOBS) +else + MAKE_OPTIONS += NO_PARALLEL_MAKE=1 +endif + +# Build generic package with hardcoded max number of threads of 128 +GENERIC_OPTIONS := NUM_THREADS=128 + +# Architectures with dynamic arch selection +# TARGET=GENERIC is needed to avoid FTBFS when CPU detection fails (see #923607) +ENABLE_DYNAMIC_ARCHS := amd64 arm64 i386 ppc64el s390x loong64 +ifneq (,$(filter $(DEB_HOST_ARCH),$(ENABLE_DYNAMIC_ARCHS))) + GENERIC_OPTIONS += DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 TARGET=GENERIC +endif + +# For other archs, there is no dynamic arch selection. To avoid selecting a +# target based on the buildd hardware, we enforce a generic-enough target. + +# We cannot use the ARMv7 profile on armhf, because it requires a 32-register FP unit. +# See kernel/arm/KERNEL.ARMv7: it loads some *_vfpv3.S files, which use 32 registers. +# Also, it FTBFS if GCC flag -mvfpv3 is removed (see arm-gcc-flags.patch), because GCC +# refuses asm files with 32 FP registers in that case. +# Issue discussed in https://github.com/OpenMathLib/OpenBLAS/issues/388 +# See also debian/patches/arm-gcc-flags.patch which is related. +TARGET_OPTION_armhf = TARGET=ARMV6 +# We do not use DYNAMIC_ARCH selection on powerpc and ppc64 because it only +# works for POWER6 and above. +# For a correspondence between CPUs and ISAs, see: +# https://wiki.raptorcs.com/wiki/Power_ISA +# NB: In OpenBLAS, the POWER3 and POWER4 kernels are actually the same as POWER5. +# NB2: TARGET=POWER4 leads to a FTBFS on powerpc (with OpenBLAS 0.3.16) +TARGET_OPTION_powerpc = TARGET=PPCG4 +TARGET_OPTION_ppc64 = TARGET=POWER4 +# We do not use DYNAMIC_ARCH selection on mips64el because it only works for +# Loongson3R3/3R4 +TARGET_OPTION_mips64el = TARGET=MIPS64_GENERIC +TARGET_OPTION_riscv64 = TARGET=RISCV64_GENERIC +TARGET_OPTION_sparc64 = TARGET=SPARC +GENERIC_OPTIONS += $(TARGET_OPTION_$(DEB_HOST_ARCH)) + + +ifeq (,$(filter custom,$(DEB_BUILD_OPTIONS))) + # Generic package + MAKE_OPTIONS += $(GENERIC_OPTIONS) +else + # Custom package: leave the arch detection to OpenBLAS, and optimize for the current CPU + export DEB_CFLAGS_MAINT_APPEND := -march=native -mtune=native + export DEB_FFLAGS_MAINT_APPEND := -march=native -mtune=native +endif + +# Flavors: 64-bit array indexing is invalid for 32-bit machines. +ifeq (64,$(DEB_HOST_ARCH_BITS)) + FLAVORS = $(SOVER)-pthread $(SOVER)-openmp $(SOVER)-serial 64-$(SOVER)-pthread 64-$(SOVER)-openmp 64-$(SOVER)-serial +else + FLAVORS = $(SOVER)-pthread $(SOVER)-openmp $(SOVER)-serial +endif +# FLAVORS = # XXX: Define your target configurations here if you are going to build customized packages +FLAGS_0-pthread := USE_THREAD=1 USE_OPENMP=0 INTERFACE64=0 LIBPREFIX=libopenblas FCOMMON_OPT=-frecursive +FLAGS_0-openmp := USE_THREAD=1 USE_OPENMP=1 INTERFACE64=0 LIBPREFIX=libopenblas FCOMMON_OPT='-frecursive -fopenmp' +FLAGS_0-serial := USE_THREAD=0 USE_OPENMP=0 INTERFACE64=0 LIBPREFIX=libopenblas FCOMMON_OPT=-frecursive +FLAGS_64-0-pthread := USE_THREAD=1 USE_OPENMP=0 INTERFACE64=1 LIBPREFIX=libopenblas64 FCOMMON_OPT='-frecursive -fdefault-integer-8' +FLAGS_64-0-openmp := USE_THREAD=1 USE_OPENMP=1 INTERFACE64=1 LIBPREFIX=libopenblas64 FCOMMON_OPT='-frecursive -fopenmp -fdefault-integer-8' +FLAGS_64-0-serial := USE_THREAD=0 USE_OPENMP=0 INTERFACE64=1 LIBPREFIX=libopenblas64 FCOMMON_OPT='-frecursive -fdefault-integer-8' + +# Priority values in the Update-Alternatives mechanism. +# O,P,S stands for openmp, pthread, serial respectively +UAPRI_O = 95 +UAPRI_P = 100 +UAPRI_S = 90 + + +%: + dh $@ + +override_dh_auto_configure: $(addprefix config_, $(FLAVORS)) + : + +config_%: + # shared object packages + mkdir $*; cp -r $(SRCS) $*/; + for i in install postinst prerm shlibs; do \ + if test -z "$$(echo $* | grep 64)"; then \ + cp debian/libopenblas$(SOVER)-XXX.$$i debian/libopenblas$*.$$i; \ + else \ + cp debian/libopenblas64-$(SOVER)-XXX.$$i debian/libopenblas$*.$$i; \ + fi; \ + sed -i -e "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g" \ + -e "s/@SUBDIR@/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/g" \ + -e "s/@FLAVOR@/$*/g" \ + debian/libopenblas$*.$$i; \ + if test -n "$$(echo $* | grep pthread)"; then \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_P)/g" debian/libopenblas$*.$$i; \ + elif test -n "$$(echo $* | grep openmp)"; then \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_O)/g" debian/libopenblas$*.$$i; \ + else \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_S)/g" debian/libopenblas$*.$$i; \ + fi; \ + done; + # devel packages + for i in install links postinst prerm dirs; do \ + if test -z "$$(echo $* | grep 64)"; then \ + cp debian/libopenblas-XXX-dev.$$i debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + else \ + cp debian/libopenblas64-XXX-dev.$$i debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + fi; \ + sed -i -e "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g" \ + -e "s/@SUBDIR@/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/g" \ + -e "s/@FLAVOR@/$*/g" \ + debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + if test -n "$$(echo $* | grep pthread)"; then \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_P)/g" debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + elif test -n "$$(echo $* | grep openmp)"; then \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_O)/g" debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + else \ + sed -i -e "s/@OPENBLAS_PRI@/$(UAPRI_S)/g" debian/libopenblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))-dev.$$i; \ + fi; \ + done; + +override_dh_auto_build: + for target in $(addprefix build_, $(FLAVORS)); do \ + $(MAKE) -f debian/rules $$target || exit 1; done + +build_0-pthread: + $(MAKE) -C 0-pthread libs netlib shared $(MAKE_OPTIONS) $(FLAGS_0-pthread) + $(MAKE) -C 0-pthread/interface shared-blas-lapack $(MAKE_OPTIONS) $(FLAGS_0-pthread) +build_64-0-pthread: + $(MAKE) -C 64-0-pthread libs netlib shared $(MAKE_OPTIONS) $(FLAGS_64-0-pthread) + $(MAKE) -C 64-0-pthread/interface shared-blas64-lapack64 $(MAKE_OPTIONS) $(FLAGS_64-0-pthread) +build_0-openmp: + $(MAKE) -C 0-openmp libs netlib shared $(MAKE_OPTIONS) $(FLAGS_0-openmp) + $(MAKE) -C 0-openmp/interface shared-blas-lapack $(MAKE_OPTIONS) $(FLAGS_0-openmp) +build_64-0-openmp: + $(MAKE) -C 64-0-openmp libs netlib shared $(MAKE_OPTIONS) $(FLAGS_64-0-openmp) + $(MAKE) -C 64-0-openmp/interface shared-blas64-lapack64 $(MAKE_OPTIONS) $(FLAGS_64-0-openmp) +build_0-serial: + $(MAKE) -C 0-serial libs netlib shared $(MAKE_OPTIONS) $(FLAGS_0-serial) + $(MAKE) -C 0-serial/interface shared-blas-lapack $(MAKE_OPTIONS) $(FLAGS_0-serial) +build_64-0-serial: + $(MAKE) -C 64-0-serial libs netlib shared $(MAKE_OPTIONS) $(FLAGS_64-0-serial) + $(MAKE) -C 64-0-serial/interface shared-blas64-lapack64 $(MAKE_OPTIONS) $(FLAGS_64-0-serial) +# XXX: why doesn't this work?? +#build_%: +# $(MAKE) -C $* $(MAKE_OPTIONS) $(FLAGS_$*) +# $(MAKE) -C $*/interface $(MAKE_OPTIONS) $(FLAGS_$*) + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + for target in $(addprefix test_, $(FLAVORS)); do \ + $(MAKE) -f debian/rules $$target || exit 1; done +endif + +test_0-pthread: + $(MAKE) -C 0-pthread tests $(MAKE_OPTIONS) $(FLAGS_0-pthread) +test_64-0-pthread: + $(MAKE) -C 64-0-pthread tests $(MAKE_OPTIONS) $(FLAGS_64-0-pthread) +test_0-openmp: + $(MAKE) -C 0-openmp tests $(MAKE_OPTIONS) $(FLAGS_0-openmp) +test_64-0-openmp: + $(MAKE) -C 64-0-openmp tests $(MAKE_OPTIONS) $(FLAGS_64-0-openmp) +test_0-serial: + $(MAKE) -C 0-serial tests $(MAKE_OPTIONS) $(FLAGS_0-serial) +test_64-0-serial: + $(MAKE) -C 64-0-serial tests $(MAKE_OPTIONS) $(FLAGS_64-0-serial) +# XXX: why cannot this work? +#test_%: +# $(MAKE) -C $* test $(MAKE_OPTIONS) $(FLAGS_$(*)) + +override_dh_auto_install: + for target in $(addprefix install_, $(FLAVORS)); do \ + $(MAKE) -f debian/rules $$target || exit 1; done + # change the inclusion for the 64-bit variant + find debian/tmp -type f -path '*openblas64*' -exec sed -i -e 's/openblas_config.h/openblas64_config.h/g' '{}' \; + +install_%: + $(MAKE) -C $* install $(MAKE_OPTIONS) $(FLAGS_$*) \ + DESTDIR=../debian/tmp/ PREFIX=/usr \ + OPENBLAS_INCLUDE_DIR=/usr/include/$(DEB_HOST_MULTIARCH)/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/ \ + OPENBLAS_LIBRARY_DIR=/usr/lib/$(DEB_HOST_MULTIARCH)/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/ + # Fix the content of openblas64.pc for 64-bit indexing + if test -n "$$(echo $* | grep 64)"; then \ + sed -i -e "s/^libsuffix=.*$$/libsuffix=64/" \ + -e "s/Name: openblas$$/Name: openblas64/" \ + debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/pkgconfig/openblas64.pc; \ + fi + # Add blas-openblas.pc and lapack-openblas.pc + for f in blas-openblas lapack-openblas; do \ + sed -e "s/@DEB_VERSION_UPSTREAM@/$(DEB_VERSION_UPSTREAM)/g" \ + -e "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g" \ + -e "s/@SUBDIR@/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/g" \ + -e "s/@INDEXING@/$$(echo $* | grep -o 64)/g" \ + < debian/$${f}.pc.in \ + > debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/openblas$(subst $(SOVER)-,-,$(subst -$(SOVER)-,-,$*))/pkgconfig/$${f}.pc; \ + done + +override_dh_auto_clean: + $(MAKE) $(MAKE_OPTIONS) clean + +execute_after_dh_clean: + for flavour in openmp pthread serial; do \ + rm -rf 0-$${flavour} 64-0-$${flavour}; \ + for i in install postinst prerm shlibs; do \ + rm -f debian/libopenblas-$${flavour}-dev.$$i \ + debian/libopenblas64-$${flavour}-dev.$$i \ + debian/libopenblas0-$${flavour}.$$i \ + debian/libopenblas64-0-$${flavour}.$$i; \ + done; \ + for i in links dirs; do \ + rm -f debian/libopenblas-$${flavour}-dev.$$i \ + debian/libopenblas64-$${flavour}-dev.$$i; \ + done; \ + done + +# Needed to avoid a dependency on metapackage libopenblas0 from +# flavour-specific packages, since lib{blas,lapack}.so.3 is dynamically linked +# against libopenblas.so.0 (see #966607) +override_dh_shlibdeps: + dh_shlibdeps -plibopenblas0-pthread -plibopenblas0-openmp -plibopenblas0-serial -- -xlibopenblas0 + dh_shlibdeps -plibopenblas64-0-pthread -plibopenblas64-0-openmp -plibopenblas64-0-serial -- -xlibopenblas64-0 + dh_shlibdeps --remaining-packages -a diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..b30c544 --- /dev/null +++ b/tests/control @@ -0,0 +1,23 @@ +Tests: upstream-testsuite +Restrictions: allow-stderr +Depends: libopenblas-pthread-dev, gfortran + +Tests: upstream-testsuite +Restrictions: allow-stderr +Depends: libopenblas-openmp-dev, gfortran + +Tests: upstream-testsuite +Restrictions: allow-stderr +Depends: libopenblas-serial-dev, gfortran + +Tests: upstream-testsuite64 +Restrictions: allow-stderr, skippable +Depends: libopenblas64-pthread-dev [!armhf !i386 !armel !mipsel !hurd-i386 !m68k !powerpc !sh4 !x32], gfortran, dpkg-dev + +Tests: upstream-testsuite64 +Restrictions: allow-stderr, skippable +Depends: libopenblas64-openmp-dev [!armhf !i386 !armel !mipsel !hurd-i386 !m68k !powerpc !sh4 !x32], gfortran, dpkg-dev + +Tests: upstream-testsuite64 +Restrictions: allow-stderr, skippable +Depends: libopenblas64-serial-dev [!armhf !i386 !armel !mipsel !hurd-i386 !m68k !powerpc !sh4 !x32], gfortran, dpkg-dev diff --git a/tests/upstream-testsuite b/tests/upstream-testsuite new file mode 100644 index 0000000..e698d3d --- /dev/null +++ b/tests/upstream-testsuite @@ -0,0 +1,24 @@ +#!/bin/sh +# Execute upstream's testsuite against the installed binaries. + +set -e + +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Temporary directory \$AUTOPKGTEST_TMP is not set. Aborting" >&2 + exit 1 +fi + +# Tell us which flavor is being used +update-alternatives --get-selections | grep '^libopenblas.so' + +# Work from $AUTOPKGTEST_TMP as we need to treat the original source as read-only +cp -a test Makefile* ?_check cpuid* ctest* getarch* param.h "$AUTOPKGTEST_TMP"/ +cd "$AUTOPKGTEST_TMP"/test + +# Make tests use the installed binaries instead of using the build result path +sed -i -e 's,\.\./\$(LIBNAME),,g' Makefile +sed -i -e '3i CEXTRALIB += -lopenblas' Makefile + +# Execute tests +make diff --git a/tests/upstream-testsuite64 b/tests/upstream-testsuite64 new file mode 100644 index 0000000..37bb76b --- /dev/null +++ b/tests/upstream-testsuite64 @@ -0,0 +1,29 @@ +#!/bin/sh +# Execute upstream's testsuite against the installed binaries. + +set -e + +if [ $(dpkg-architecture -qDEB_HOST_ARCH_BITS) != 64 ]; then + echo "$(basename $0): test only supported on 64bit" + exit 77 +fi + +if [ -z "$AUTOPKGTEST_TMP" ] +then + echo "Temporary directory \$AUTOPKGTEST_TMP is not set. Aborting" >&2 + exit 1 +fi + +# Tell us which flavor is being used +update-alternatives --get-selections | grep '^libopenblas64.so' + +# Work from $AUTOPKGTEST_TMP as we need to treat the original source as read-only +cp -a test Makefile* ?_check cpuid* ctest* getarch* param.h "$AUTOPKGTEST_TMP"/ +cd "$AUTOPKGTEST_TMP"/test + +# Make tests use the installed binaries instead of using the build result path +sed -i -e 's,\.\./\$(LIBNAME),,g' Makefile +sed -i -e '3i CEXTRALIB += -lopenblas64' Makefile + +# Execute tests +make FCOMMON_OPT='-frecursive -fdefault-integer-8' diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 0000000..8d33dd6 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,7 @@ +Bug-Database: https://github.com/OpenMathLib/OpenBLAS/issues +Bug-Submit: https://github.com/OpenMathLib/OpenBLAS/issues/new +Changelog: https://www.openblas.net/Changelog.txt +Donation: https://github.com/OpenMathLib/OpenBLAS/wiki/Donation +Repository: https://github.com/OpenMathLib/OpenBLAS.git +Repository-Browse: https://github.com/OpenMathLib/OpenBLAS/ +Security-Contact: https://github.com/OpenMathLib/OpenBLAS/tree/HEAD/SECURITY.md diff --git a/watch b/watch new file mode 100644 index 0000000..bc67c22 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=4 +opts=dversionmangle=s/\+ds$//,repacksuffix=+ds,filenamemangle=s/.+\/archive\/refs\/tags\/v(.+)\.tar\.gz$/openblas_$1.orig.tar.gz/ \ +https://github.com/OpenMathLib/OpenBLAS/tags .*/archive/refs/tags/v(\d[\d\.]+)\.tar\.gz -- 2.30.2