Import openblas_0.2.12-1.debian.tar.xz
authorSébastien Villemot <sebastien@debian.org>
Sun, 26 Oct 2014 09:42:29 +0000 (09:42 +0000)
committerSébastien Villemot <sebastien@debian.org>
Sun, 26 Oct 2014 09:42:29 +0000 (09:42 +0000)
[dgit import tarball openblas 0.2.12-1 openblas_0.2.12-1.debian.tar.xz]

28 files changed:
README.Debian [new file with mode: 0644]
TODO [new file with mode: 0644]
blas-openblas.pc.in [new file with mode: 0644]
changelog [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
lapack-openblas.pc.in [new file with mode: 0644]
libopenblas-base.install [new file with mode: 0644]
libopenblas-base.postinst [new file with mode: 0644]
libopenblas-base.preinst [new file with mode: 0644]
libopenblas-base.prerm [new file with mode: 0644]
libopenblas-base.shlibs [new file with mode: 0644]
libopenblas-dev.install [new file with mode: 0644]
libopenblas-dev.links [new file with mode: 0644]
libopenblas-dev.postinst [new file with mode: 0644]
libopenblas-dev.preinst [new file with mode: 0644]
libopenblas-dev.prerm [new file with mode: 0644]
patches/arm-gcc-flags.patch [new file with mode: 0644]
patches/kfreebsd.patch [new file with mode: 0644]
patches/no-embedded-lapack.patch [new file with mode: 0644]
patches/remove-openmp-warning.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
patches/shared-blas-lapack.patch [new file with mode: 0644]
patches/test-custom-package.patch [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/README.Debian b/README.Debian
new file mode 100644 (file)
index 0000000..971b60f
--- /dev/null
@@ -0,0 +1,44 @@
+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
+
+More information is available at:
+
+ http://wiki.debian.org/DebianScience/LinearAlgebraLibraries
+
+
+Building an optimized OpenBLAS packages on your architecture
+============================================================
+
+Note that libopenblas-base provides a multiple architecture library. All
+kernels are included in the library and the one matching your architecture is
+selected at run time.
+
+If you nevertheless want to create a custom OpenBLAS package, optimized only
+for your specific machine, proceeds as follows.
+
+Install the build dependencies:
+
+$ sudo aptitude build-dep openblas
+$ sudo aptitude install devscripts
+
+Get the sources of the package:
+
+$ apt-get source openblas
+
+Compile the package:
+
+$ cd openblas-<VERSION>
+$ fakeroot debian/rules custom
+
+It should produce a package that you can install with:
+
+$ sudo dpkg -i ../libopenblas-base_<DEBVERSION>.deb
+
+ -- Sébastien Villemot <sebastien@debian.org>, Tue,  5 Aug 2014 16:52:28 +0200
+ -- Sylvestre Ledru <sylvestre@debian.org>  Tue, 31 May 2011 13:56:22 +0200
diff --git a/TODO b/TODO
new file mode 100644 (file)
index 0000000..0fe62ee
--- /dev/null
+++ b/TODO
@@ -0,0 +1,5 @@
+* disable the download of lapack and use the one from debian
+* update copyright
+* update homepage
+* write some doc about update-alternatives
+* write a debconf alert about the fact that a rebuild will improve the perf
diff --git a/blas-openblas.pc.in b/blas-openblas.pc.in
new file mode 100644 (file)
index 0000000..88d5445
--- /dev/null
@@ -0,0 +1,10 @@
+prefix=/usr
+libdir=${prefix}/lib/openblas-base
+includedir=${prefix}/include/openblas
+Name: openblas-blas
+Description: Optimized BLAS (linear algebra) library based on GotoBLAS2
+Version: @DEB_VERSION_UPSTREAM@
+URL: https://github.com/xianyi/OpenBLAS
+Libs: -L${libdir} -lblas
+Libs.private: -L${libdir} -lblas -lm
+Cflags: -I${includedir}
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..ab3544e
--- /dev/null
+++ b/changelog
@@ -0,0 +1,400 @@
+openblas (0.2.12-1) unstable; urgency=medium
+
+  * Imported Upstream version 0.2.12. (Closes: #765795)
+
+ -- Sébastien Villemot <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <jtaylor.debian@googlemail.com>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  Tue, 27 Aug 2013 18:04:04 +0200
+
+openblas (0.2.8-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Sébastien Villemot <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sebastien@debian.org>  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 <sylvestre@debian.org>  Sat, 08 Dec 2012 16:24:30 +0100
+
+openblas (0.2.4-1~exp1) experimental; urgency=low
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  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 <sebastien.villemot@ens.fr>  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 <sebastien.villemot@ens.fr>  Wed, 11 Jul 2012 16:32:27 +0000
+
+openblas (0.2.1-1~exp1) experimental; urgency=low
+
+  * New upstream release
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  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 <sebastien.villemot@ens.fr>  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 <sylvestre@debian.org>  Wed, 13 Jun 2012 10:29:51 +0200
+
+openblas (0.1.1-3) unstable; urgency=low
+
+  * Upload in unstable
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Sat, 02 Jun 2012 17:33:58 +0200
+
+openblas (0.1.1-3~exp4) experimental; urgency=low
+
+  * Rollback previous upload
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  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 <sylvestre@debian.org>  Fri, 01 Jun 2012 10:28:09 +0200
+
+openblas (0.1.1-3~exp2) experimental; urgency=low
+
+  * Fix FTBFS (Closes: #666277)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  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 <sylvestre@debian.org>  Mon, 21 May 2012 13:13:46 +0200
+
+openblas (0.1.1-2) experimental; urgency=low
+
+  * Moved removal from postinst to preinst
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  Tue, 26 Jul 2011 16:56:27 +0200
+
+openblas (0.1alpha2.2-1) unstable; urgency=low
+
+  * New upstream release (Closes: #631886)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  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 <sylvestre@debian.org>  Sat, 16 Apr 2011 15:23:22 +0200
+
+openblas (0.1alpha1-1) experimental; urgency=low
+
+  * Initial version (Closes: #605456)
+
+ -- Sylvestre Ledru <sylvestre@debian.org>  Fri, 04 Feb 2011 18:28:26 +0100
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..f11c82a
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+9
\ No newline at end of file
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..02a6070
--- /dev/null
+++ b/control
@@ -0,0 +1,48 @@
+Source: openblas
+Section: devel
+Priority: optional
+Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
+Uploaders: Sébastien Villemot <sebastien@debian.org>
+Standards-Version: 3.9.6
+Build-Depends: dpkg-dev (>= 1.16.2~), debhelper (>= 9), gfortran,
+               liblapack-pic (>= 3.5.0-3~)
+Homepage: https://github.com/xianyi/OpenBLAS
+Vcs-Git: git://anonscm.debian.org/debian-science/packages/openblas.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/openblas.git
+
+Package: libopenblas-base
+Section: libs
+Architecture: amd64 armhf i386 powerpc ppc64 kfreebsd-i386 kfreebsd-amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, libblas-common
+Provides: libblas.so.3, liblapack.so.3
+Replaces: libblas3gf (<< 1.2.20110419-3), libatlas3gf-base (<< 3.8.4-4)
+Breaks: libblas3gf (<< 1.2.20110419-3), libatlas3gf-base (<< 3.8.4-4)
+Built-Using: ${Built-Using}
+Description: Optimized BLAS (linear algebra) library based on GotoBLAS2
+ OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
+ .
+ Unlike Atlas, OpenBLAS provides a multiple architecture library.
+ .
+ All kernel will be included in the library and dynamically switched to
+ the best architecture at run time (only on x86 arches).
+ .
+ For more information on how to rebuild locally OpenBLAS, see the section:
+ "Building Optimized OpenBLAS Packages on your ARCH" in README.Debian
+
+Package: libopenblas-dev
+Section: libdevel
+Architecture: amd64 armhf i386 powerpc ppc64 kfreebsd-i386 kfreebsd-amd64
+Depends: libopenblas-base (= ${binary:Version}), libblas-dev, ${shlibs:Depends},
+ ${misc:Depends}
+Provides: libblas.so, liblapack.so
+Built-Using: ${Built-Using}
+Description: Optimized BLAS (linear algebra) library based on GotoBLAS2
+ OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
+ .
+ Unlike Atlas, OpenBLAS provides a multiple architecture library.
+ .
+ All kernel will be included in the library and dynamically switched to
+ the best architecture at run time (only on x86 arches).
+ .
+ This package includes the static libraries and symbolic links
+ needed for program development.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..6ff2c2c
--- /dev/null
+++ b/copyright
@@ -0,0 +1,661 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: OpenBLAS
+Upstream-Contact: Zhang Xianyi <traits.zhang@gmail.com>
+Source: https://github.com/xianyi/OpenBLAS
+Files-Excluded: lapack-netlib/*
+
+Files: *
+Copyright: 2011-2012,2014 Lab of Parallel Software and Computational Science,ICSAS
+           2009-2010 The University of Texas at Austin
+           2013-2014 The OpenBLAS Project
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+   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 ISCAS 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
+ benchmar/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/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/gemm_thread_m.c
+ driver/level3/gemm_thread_mn.c
+ driver/level3/gemm_thread_n.c
+ driver/level3/gemm_thread_variable.c
+ driver/level3/level3_gemm3m_thread.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/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/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/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/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/max.c
+ interface/nrm2.c
+ interface/rot.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/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/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/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/setparam-ref.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
+ symcopy.h
+ driver/level3/gemm3m_level3.c
+ driver/level3/hemm3m_k.c
+ driver/level3/symm3m_k.c
+ driver/level3/level3.c
+ driver/level3/level3_syrk.c
+ driver/level3/level3_syr2k.c
+Copyright: 2009-2010 The University of Texas at Austin
+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.
+ .
+ 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: benchmark/gemm.c
+ benchmark/hemm.c
+ benchmark/her2k.c
+ benchmark/herk.c
+ benchmark/symm.c
+ benchmark/syr2k.c
+ benchmark/syrk.c
+ benchmark/trmm.c
+ benchmark/trsm.c
+ cpuid_arm.c
+ driver/others/openblas_error_handle.c
+ interface/axpby.c
+ interface/imatcopy.c
+ interface/omatcopy.c
+ interface/rotmg.c
+ interface/zaxpby.c
+ interface/zimatcopy.c
+ interface/zomatcopy.c
+ kernel/arm/amax.c
+ kernel/arm/amin.c
+ kernel/arm/asum.c
+ kernel/arm/axpby.c
+ kernel/arm/axpy.c
+ kernel/arm/copy.c
+ kernel/arm/dot.c
+ kernel/arm/gemv_n.c
+ kernel/arm/gemv_t.c
+ kernel/arm/iamax.c
+ kernel/arm/iamin.c
+ kernel/arm/imax.c
+ kernel/arm/imin.c
+ kernel/arm/izamax.c
+ kernel/arm/izamin.c
+ kernel/arm/max.c
+ kernel/arm/min.c
+ kernel/arm/nrm2.c
+ kernel/arm/omatcopy_cn.c
+ kernel/arm/omatcopy_ct.c
+ kernel/arm/omatcopy_rn.c
+ kernel/arm/omatcopy_rt.c
+ kernel/arm/rot.c
+ kernel/arm/scal.c
+ kernel/arm/swap.c
+ kernel/arm/zamax.c
+ kernel/arm/zamin.c
+ kernel/arm/zasum.c
+ kernel/arm/zaxpby.c
+ kernel/arm/zaxpy.c
+ kernel/arm/zcopy.c
+ kernel/arm/zdot.c
+ kernel/arm/zgemv_n.c
+ kernel/arm/zgemv_t.c
+ kernel/arm/znrm2.c
+ kernel/arm/zomatcopy_cn.c
+ kernel/arm/zomatcopy_cnc.c
+ kernel/arm/zomatcopy_ct.c
+ kernel/arm/zomatcopy_ctc.c
+ kernel/arm/zomatcopy_rn.c
+ kernel/arm/zomatcopy_rnc.c
+ kernel/arm/zomatcopy_rt.c
+ kernel/arm/zomatcopy_rtc.c
+ kernel/arm/zrot.c
+ kernel/arm/zscal.c
+ kernel/arm/zswap.c
+ kernel/generic/dot.c
+ lapack/trtri/trtri_L_single.c
+ lapack/trtri/trtri_U_single.c
+Copyright: 2013-2014 The OpenBLAS Project
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ 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 OPENBLAS PROJECT 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: driver/others/openblas_get_parallel.c
+Copyright: 2013 Martin Koehler, grisuthedragon@users.github.com
+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 ISCAS 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: ctest/* reference/* test/*
+Copyright: none
+License: public-domain
+ These files come from netlib.org and are in the public domain.
+
+Files: debian/*
+Copyright: 2011-2012 Sylvestre Ledru <sylvestre@debian.org>
+           2012-2014 Sébastien Villemot <sebastien@debian.org>
+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 (file)
index 0000000..a88309e
--- /dev/null
@@ -0,0 +1,10 @@
+prefix=/usr
+libdir=${prefix}/lib/openblas-base
+includedir=${prefix}/include/openblas
+Name: openblas-lapack
+Description: Optimized BLAS (linear algebra) library, LAPACK
+Version: @DEB_VERSION_UPSTREAM@
+URL: https://github.com/xianyi/OpenBLAS
+Libs: -L${libdir} -llapack
+Libs.private: -L${libdir} -llapack -lm
+Cflags: -I${includedir}
diff --git a/libopenblas-base.install b/libopenblas-base.install
new file mode 100644 (file)
index 0000000..97c1ffa
--- /dev/null
@@ -0,0 +1,4 @@
+usr/lib/libopenblas*-r0.*.so
+usr/lib/libopenblas.so.0
+interface/libblas.so.3 usr/lib/openblas-base/
+interface/liblapack.so.3 usr/lib/openblas-base/
diff --git a/libopenblas-base.postinst b/libopenblas-base.postinst
new file mode 100644 (file)
index 0000000..487b869
--- /dev/null
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/libblas.so.3 libblas.so.3 \
+       /usr/lib/openblas-base/libblas.so.3 40 \
+    --slave /usr/lib/libblas.so.3gf libblas.so.3gf /usr/lib/openblas-base/libblas.so.3
+
+update-alternatives --install /usr/lib/liblapack.so.3 liblapack.so.3 \
+       /usr/lib/openblas-base/liblapack.so.3 40 \
+    --slave /usr/lib/liblapack.so.3gf liblapack.so.3gf /usr/lib/openblas-base/liblapack.so.3
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/libopenblas-base.preinst b/libopenblas-base.preinst
new file mode 100644 (file)
index 0000000..e9f69a7
--- /dev/null
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+set -e
+
+# In 0.2.8-4, /usr/lib/openblas-base/libopenblas.so.0 was renamed to
+# /usr/lib/openblas-base/libblas.so.3. It is therefore necessary to remove the
+# old path from the alternatives system before adding the new.
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt 0.2.8-4
+then
+    update-alternatives --remove libblas.so.3 /usr/lib/openblas-base/libopenblas.so.0 2>/dev/null
+fi
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/libopenblas-base.prerm b/libopenblas-base.prerm
new file mode 100644 (file)
index 0000000..c27ae00
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove libblas.so.3 \
+    /usr/lib/openblas-base/libblas.so.3
+
+    update-alternatives --remove liblapack.so.3 \
+        /usr/lib/openblas-base/liblapack.so.3
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/libopenblas-base.shlibs b/libopenblas-base.shlibs
new file mode 100644 (file)
index 0000000..9dd26ad
--- /dev/null
@@ -0,0 +1,3 @@
+libopenblas 0 libopenblas-base
+libblas 3 libblas3 | libblas.so.3
+liblapack 3 liblapack3 | liblapack.so.3
diff --git a/libopenblas-dev.install b/libopenblas-dev.install
new file mode 100644 (file)
index 0000000..99a451b
--- /dev/null
@@ -0,0 +1,4 @@
+usr/lib/libopenblas*.a
+usr/lib/libopenblas.so
+usr/include/*   /usr/include/openblas/
+debian/*.pc     /usr/lib/pkgconfig
diff --git a/libopenblas-dev.links b/libopenblas-dev.links
new file mode 100644 (file)
index 0000000..e65523f
--- /dev/null
@@ -0,0 +1,4 @@
+usr/lib/libopenblas.a usr/lib/openblas-base/libblas.a
+usr/lib/libopenblas.a usr/lib/openblas-base/liblapack.a
+usr/lib/openblas-base/libblas.so.3 usr/lib/openblas-base/libblas.so
+usr/lib/openblas-base/liblapack.so.3 usr/lib/openblas-base/liblapack.so
diff --git a/libopenblas-dev.postinst b/libopenblas-dev.postinst
new file mode 100644 (file)
index 0000000..f7832dc
--- /dev/null
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+set -e
+
+update-alternatives --install /usr/lib/libblas.so libblas.so \
+       /usr/lib/openblas-base/libblas.so 40 \
+    --slave /usr/lib/libblas.a libblas.a \
+    /usr/lib/openblas-base/libblas.a \
+    --slave /usr/lib/pkgconfig/blas.pc blas.pc \
+    /usr/lib/pkgconfig/blas-openblas.pc
+
+update-alternatives --install /usr/lib/liblapack.so liblapack.so \
+       /usr/lib/openblas-base/liblapack.so 40 \
+    --slave /usr/lib/liblapack.a liblapack.a \
+    /usr/lib/openblas-base/liblapack.a \
+    --slave /usr/lib/pkgconfig/lapack.pc lapack.pc \
+    /usr/lib/pkgconfig/lapack-openblas.pc
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/libopenblas-dev.preinst b/libopenblas-dev.preinst
new file mode 100644 (file)
index 0000000..759948a
--- /dev/null
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+set -e
+
+# In 0.2.8-4, /usr/lib/openblas-base/libopenblas.so was renamed to
+# /usr/lib/openblas-base/libblas.so. It is therefore necessary to remove the
+# old path from the alternatives system before adding the new.
+if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" lt 0.2.8-4
+then
+    update-alternatives --remove libblas.so /usr/lib/openblas-base/libopenblas.so 2>/dev/null
+fi
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/libopenblas-dev.prerm b/libopenblas-dev.prerm
new file mode 100644 (file)
index 0000000..8cc8dbb
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]
+then
+    update-alternatives --remove libblas.so \
+    /usr/lib/openblas-base/libblas.so
+
+    update-alternatives --remove liblapack.so \
+        /usr/lib/openblas-base/liblapack.so
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/patches/arm-gcc-flags.patch b/patches/arm-gcc-flags.patch
new file mode 100644 (file)
index 0000000..a92bd96
--- /dev/null
@@ -0,0 +1,21 @@
+Description: Remove custom GCC flags on ARM CPUs
+Author: Sébastien Villemot <sebastien@debian.org>
+Forwarded: not-needed
+Last-Update: 2014-06-15
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/Makefile.arm
++++ b/Makefile.arm
+@@ -1,12 +1,8 @@
+ ifeq ($(CORE), ARMV7)
+-CCOMMON_OPT += -marm -mfpu=vfpv3  -mfloat-abi=hard -march=armv7-a
+-FCOMMON_OPT += -marm -mfpu=vfpv3  -mfloat-abi=hard -march=armv7-a
+ endif
+ ifeq ($(CORE), ARMV6)
+-CCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard  -march=armv6
+-FCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard  -march=armv6
+ endif
diff --git a/patches/kfreebsd.patch b/patches/kfreebsd.patch
new file mode 100644 (file)
index 0000000..82a1617
--- /dev/null
@@ -0,0 +1,61 @@
+Description: Various fixes for kFreeBSD shared library
+ Under kFreeBSD, give a SONAME to the shared library and install it. Also link
+ it against libm.
+ Simply use the same code as Linux for all these operations.
+Author: Sébastien Villemot <sebastien@debian.org>
+Forwarded: not-needed
+Last-Update: 2014-08-05
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/exports/Makefile
++++ b/exports/Makefile
+@@ -99,7 +99,7 @@ $(LIBDYNNAME) : ../$(LIBNAME) osx.def
+ dllinit.$(SUFFIX) : dllinit.c
+       $(CC) $(CFLAGS) -c -o $(@F) -s $<
+-ifeq ($(OSNAME), Linux)
++ifeq ($(OSNAME), $(filter $(OSNAME),Linux FreeBSD))
+ so : ../$(LIBSONAME)
+@@ -121,7 +121,7 @@ endif
+ endif
+ #http://stackoverflow.com/questions/7656425/makefile-ifeq-logical-or
+-ifeq ($(OSNAME), $(filter $(OSNAME),FreeBSD NetBSD))
++ifeq ($(OSNAME), $(filter $(OSNAME),NetBSD))
+ so : ../$(LIBSONAME)
+--- a/Makefile.install
++++ b/Makefile.install
+@@ -60,17 +60,12 @@ endif
+ #for install shared library
+ ifndef NO_SHARED
+       @echo Copying the shared library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
+-ifeq ($(OSNAME), Linux)
++ifeq ($(OSNAME), $(filter $(OSNAME),Linux FreeBSD))
+       @install -pm755 $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
+       @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
+       ln -fs $(LIBSONAME) $(LIBPREFIX).so ; \
+       ln -fs $(LIBSONAME) $(LIBPREFIX).so.$(MAJOR_VERSION)
+ endif
+-ifeq ($(OSNAME), FreeBSD)
+-      @cp $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
+-      @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
+-      ln -fs $(LIBSONAME) $(LIBPREFIX).so
+-endif
+ ifeq ($(OSNAME), NetBSD)
+       @cp $(LIBSONAME) $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
+       @cd $(DESTDIR)$(OPENBLAS_LIBRARY_DIR) ; \
+--- a/Makefile.system
++++ b/Makefile.system
+@@ -204,7 +204,7 @@ ifeq ($(OSNAME), NetBSD)
+ MD5SUM = md5 -n
+ endif
+-ifeq ($(OSNAME), Linux)
++ifeq ($(OSNAME), $(filter $(OSNAME),Linux FreeBSD))
+ EXTRALIB      += -lm
+ NO_EXPRECISION = 1
+ endif
diff --git a/patches/no-embedded-lapack.patch b/patches/no-embedded-lapack.patch
new file mode 100644 (file)
index 0000000..f722893
--- /dev/null
@@ -0,0 +1,124 @@
+Description: Adapt build system for the absence of lapack-netlib/ directory.
+ Instead use the binary provided by package liblapack-pic, stripping from it the
+ symbols that are overriden by OpenBLAS.
+Author: Sébastien Villemot <sebastien@debian.org>
+Forwarded: not-needed
+Last-Update: 2014-08-05
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/Makefile
++++ b/Makefile
+@@ -207,57 +207,14 @@ hpl_p :
+       fi; \
+       done
+-ifeq ($(NO_LAPACK), 1)
+ netlib :
++      mkdir lapack-netlib
++      cd lapack-netlib && ar -x /usr/lib/lapack/liblapack_pic.a
++      make -C interface delete-duplicate-lapack-objects
++      ar -ru $(LIBNAME) lapack-netlib/*
+-else
+-netlib : lapack_prebuild
+-ifndef NOFORTRAN
+-      @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapacklib
+-      @$(MAKE) -C $(NETLIB_LAPACK_DIR) tmglib
+-endif
+-ifndef NO_LAPACKE
+-      @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapackelib
+-endif
+-endif
+-
+-prof_lapack : lapack_prebuild
+-      @$(MAKE) -C $(NETLIB_LAPACK_DIR) lapack_prof
+-
+-lapack_prebuild :
+-ifndef NOFORTRAN
+-      -@echo "FORTRAN     = $(FC)" > $(NETLIB_LAPACK_DIR)/make.inc
+-      -@echo "OPTS        = $(LAPACK_FFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
+-      -@echo "POPTS       = $(LAPACK_FPFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
+-      -@echo "NOOPT       = $(LAPACK_FFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc
+-      -@echo "PNOOPT      = $(LAPACK_FPFLAGS) -O0" >> $(NETLIB_LAPACK_DIR)/make.inc
+-      -@echo "LOADOPTS    = $(FFLAGS) $(EXTRALIB)" >> $(NETLIB_LAPACK_DIR)/make.inc
+-      -@echo "CC          = $(CC)" >> $(NETLIB_LAPACK_DIR)/make.inc
+-      -@echo "override CFLAGS      = $(LAPACK_CFLAGS)" >> $(NETLIB_LAPACK_DIR)/make.inc
+-      -@echo "ARCH        = $(AR)" >> $(NETLIB_LAPACK_DIR)/make.inc
+-      -@echo "ARCHFLAGS   = -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 ($(FC), gfortran)
+-      -@echo "TIMER       = INT_ETIME" >> $(NETLIB_LAPACK_DIR)/make.inc
+-ifdef SMP
+-      -@echo "LOADER      = $(FC) -pthread" >> $(NETLIB_LAPACK_DIR)/make.inc
+-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
+-      -@cat  make.inc >> $(NETLIB_LAPACK_DIR)/make.inc
+-endif
++clean::
++      rm -rf lapack-netlib
+ large.tgz :
+ ifndef NOFORTRAN
+@@ -312,9 +269,5 @@ ifeq ($(OSNAME), Darwin)
+       @rm -rf getarch.dSYM getarch_2nd.dSYM
+ endif
+       @rm -f Makefile.conf config.h Makefile_kernel.conf config_kernel.h st* *.dylib
+-      @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
+       @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.install
++++ b/Makefile.install
+@@ -42,14 +42,6 @@ ifndef NO_CBLAS
+       @sed 's/common/openblas_config/g' cblas.h > $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/cblas.h
+ endif
+-ifndef NO_LAPACKE
+-      @echo Copying LAPACKE header files to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
+-      @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke.h
+-      @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_config.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_config.h
+-      @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_mangling_with_flags.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_mangling.h
+-      @-install -pDm644 $(NETLIB_LAPACK_DIR)/lapacke/include/lapacke_utils.h $(DESTDIR)$(OPENBLAS_INCLUDE_DIR)/lapacke_utils.h
+-endif
+-
+ #for install static library
+ ifndef NO_STATIC
+       @echo Copying the static library to $(DESTDIR)$(OPENBLAS_LIBRARY_DIR)
+--- a/Makefile.system
++++ b/Makefile.system
+@@ -9,8 +9,6 @@ ifndef TOPDIR
+ TOPDIR = .
+ 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
+@@ -2103,4 +2103,8 @@ zimatcopy.$(SUFFIX) zimatcopy.$(PSUFFIX)
+ cblas_zimatcopy.$(SUFFIX) cblas_zimatcopy.$(PSUFFIX) : zimatcopy.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:
++      cd ../lapack-netlib && rm $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) lsame.o xerbla.o
diff --git a/patches/remove-openmp-warning.patch b/patches/remove-openmp-warning.patch
new file mode 100644 (file)
index 0000000..6c55860
--- /dev/null
@@ -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 <sebastien@debian.org>
+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
+@@ -740,16 +740,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 (file)
index 0000000..b38443c
--- /dev/null
@@ -0,0 +1,6 @@
+arm-gcc-flags.patch
+kfreebsd.patch
+test-custom-package.patch
+remove-openmp-warning.patch
+no-embedded-lapack.patch
+shared-blas-lapack.patch
diff --git a/patches/shared-blas-lapack.patch b/patches/shared-blas-lapack.patch
new file mode 100644 (file)
index 0000000..80ade63
--- /dev/null
@@ -0,0 +1,31 @@
+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.
+Author: Sébastien Villemot <sebastien@debian.org>
+Forwarded: not-needed
+Last-Update: 2014-05-08
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/interface/Makefile
++++ b/interface/Makefile
+@@ -2108,3 +2108,18 @@ cblas_zimatcopy.$(SUFFIX) cblas_zimatcop
+ # OpenBLAS (unfiltered) tarball
+ delete-duplicate-lapack-objects:
+       cd ../lapack-netlib && rm $(SLAPACKOBJS) $(DLAPACKOBJS) $(CLAPACKOBJS) $(ZLAPACKOBJS) lsame.o xerbla.o
++
++shared-blas-lapack: libblas.so.3 liblapack.so.3
++
++# 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)
++
++# 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 $@ $^ ../lapack-netlib/* -Wl,-soname,liblapack.so.3 -L.. -lopenblas $(EXTRALIB)
++
++clean::
++      rm -f libblas.so.3 liblapack.so.3
diff --git a/patches/test-custom-package.patch b/patches/test-custom-package.patch
new file mode 100644 (file)
index 0000000..66702bb
--- /dev/null
@@ -0,0 +1,25 @@
+Description: Run testsuite even when compiling custom package
+Author: Sébastien Villemot <sebastien@debian.org>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677866
+Forwarded: not-needed
+Last-Update: 2013-07-26
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/Makefile
++++ b/Makefile
+@@ -110,7 +110,6 @@ endif
+ tests :
+ ifndef NOFORTRAN
+-ifndef TARGET
+ ifndef CROSS
+       touch $(LIBNAME)
+ ifndef NO_FBLAS
+@@ -124,7 +123,6 @@ ifndef NO_CBLAS
+ endif
+ endif
+ endif
+-endif
+ libs :
+ ifeq ($(CORE), UNKOWN)
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..0b9741c
--- /dev/null
+++ b/rules
@@ -0,0 +1,88 @@
+#!/usr/bin/make -f
+
+include /usr/share/dpkg/buildflags.mk
+include /usr/share/dpkg/pkg-info.mk
+
+MAKE_OPTIONS := NO_LAPACKE=1 NO_AFFINITY=1 NO_WARMUP=1 CFLAGS="$(CPPFLAGS) $(CFLAGS)" FFLAGS="$(FFLAGS)"
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+       MAKE_OPTIONS += DEBUG=1
+endif
+
+# Build generic package with hardcoded max number of threads of 64
+GENERIC_OPTIONS := NUM_THREADS=64
+
+# On x86 archs, enable dynamic arch selection and select GENERIC target
+ENABLE_DYNAMIC_ARCHS := amd64 i386 kfreebsd-amd64 kfreebsd-i386
+ifneq (,$(findstring $(DEB_HOST_ARCH),$(ENABLE_DYNAMIC_ARCHS)))
+       GENERIC_OPTIONS += DYNAMIC_ARCH=1 TARGET=GENERIC
+endif
+
+# 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/xianyi/OpenBLAS/issues/388
+ifeq ($(DEB_HOST_ARCH),armhf)
+       GENERIC_OPTIONS += TARGET=ARMV6
+endif
+
+# There is no dynamic arch selection on PowerPC. To avoid selecting a
+# target based on the buildd hardware, we enforce a generic-enough
+# target.
+ifeq ($(DEB_HOST_ARCH),powerpc)
+       GENERIC_OPTIONS += TARGET=PPCG4
+endif
+
+
+ifeq ($(TARGET),)
+       # Generic package
+       MAKE_OPTIONS += $(GENERIC_OPTIONS)
+else ifeq ($(TARGET),custom)
+       # Custom package, leave the arch detection to OpenBLAS
+else
+       # Use the TARGET value provided by the user
+       MAKE_OPTIONS += TARGET=$(TARGET)
+endif
+
+
+%:
+       dh $@
+
+debian/blas-openblas.pc: debian/blas-openblas.pc.in
+       sed -e "s%@DEB_VERSION_UPSTREAM@%$(DEB_VERSION_UPSTREAM)%" < $< > $@
+
+debian/lapack-openblas.pc: debian/lapack-openblas.pc.in
+       sed -e "s%@DEB_VERSION_UPSTREAM@%$(DEB_VERSION_UPSTREAM)%" < $< > $@
+
+override_dh_auto_build: debian/blas-openblas.pc debian/lapack-openblas.pc
+       $(MAKE) $(MAKE_OPTIONS)
+
+       $(MAKE) -C interface shared-blas-lapack $(MAKE_OPTIONS)
+
+override_dh_auto_install:
+       $(MAKE) install $(MAKE_OPTIONS) DESTDIR=debian/tmp/ PREFIX=/usr
+
+override_dh_auto_clean:
+       dh_auto_clean
+       rm -f debian/*.pc
+
+custom:
+       dch --local='+custom'  "custom build on: `uname -a`"
+       LANG=C debian/rules TARGET=custom build binary
+
+# We want packages linked with -lblas to depend on any BLAS alternative, and we
+# want packages linked with -lopenblas to depend specifically on
+# libopenblas-base.
+#
+# Such a setting is not supported by dh_makeshlibs, so we ship a hand-crafted
+# shlibs file.
+override_dh_makeshlibs:
+       dh_makeshlibs
+       cp debian/libopenblas-base.shlibs debian/libopenblas-base/DEBIAN/shlibs
+
+override_dh_gencontrol:
+       dh_gencontrol -- -VBuilt-Using="`dpkg-query -W -f='$${source:Package} (= $${source:Version})' liblapack-pic`"
+
+get-orig-source:
+       -uscan --upstream-version 0
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..f055611
--- /dev/null
+++ b/watch
@@ -0,0 +1,3 @@
+version=3
+opts=filenamemangle=s/.+\/archive\/v(.+)\.tar\.gz$/openblas_$1.orig.tar.gz/ \
+https://github.com/xianyi/OpenBLAS/tags .*/archive/v(\d[\d\.]+)\.tar\.gz