[SCM] ATLAS packaging for Debian branch, master, updated. upstream/3.8.4-16-gede4b56

Sébastien Villemot sebastien at debian.org
Wed Jun 5 16:07:36 UTC 2013


The following commit has been merged in the master branch:
commit 4a5e9af2f808b980b127e6245018b2b85bf4ef02
Author: Sébastien Villemot <sebastien at debian.org>
Date:   Wed Jun 5 17:41:18 2013 +0200

    Provide architectural defaults (i.e. precomputed timings) for all release archs
    
    This will make the package build much faster and should eliminate transient
    build failures due to excessive variance in the timings.
    
    This commit adds arch defs for amd64 and i386

diff --git a/debian/README.source b/debian/README.source
index 8f69235..3a84fcf 100644
--- a/debian/README.source
+++ b/debian/README.source
@@ -7,19 +7,36 @@ atlas*.tar.gz is modified from upstream.
 AtlasBase module is included.
 
 
-Known compilation failures
-==========================
+Tuning of the library
+=====================
 
-The build sometimes fails because reliable timings cannot be obtained. In that
-case, the build log will contain the following near the end: "VARIATION EXCEEDS
-TOLERENCE, RERUN WITH HIGHER REPS".
+The ATLAS build system, before creating the binaries, first performs a very
+long series of timing tests in order to tune the library to the precise CPU on
+which it is built.
 
-The solution is simply to run the build again.
+However, this process sometimes fails because reliable timings cannot be
+obtained. In that case, the build log will contain the following near the end:
+"VARIATION EXCEEDS TOLERANCE, RERUN WITH HIGHER REPS". The solution is simply
+to run the build again [1].
 
-More details are available upstream:
+This situation is not convenient for build daemons, because it means that for
+every new source package, it is necessary to ask for several give backs before
+getting the package compiled on all arches.
 
- http://math-atlas.sourceforge.net/errata.html#tol
+In order to overcome this problem, the generic ATLAS package uses pre-computed
+timings (called architectural defaults in the ATLAS jargon). These are located
+under debian/archdefs/$(DEB_HOST_ARCH_CPU).
 
+The procedure for creating these architectural defaults on a given platform is
+the following:
 
- -- Sébastien Villemot <sebastien.villemot at ens.fr>, Tue, 26 Jun 2012 16:06:49 +0000
+ debuild -us -uc -B    (will be very long, because timings will be computed)
+ cd build/ARCHS
+ make ArchNew          (will create an $(ARCH) subdirectory)
+ tar caf $(ARCH).tar.bz2 $(ARCH)
+ mv $(ARCH).tar.bz2 ../../debian/archdefs/$(DEB_HOST_ARCH_CPU)
+
+[1] http://math-atlas.sourceforge.net/errata.html#tol
+
+ -- Sébastien Villemot <sebastien at debian.org>, Wed,  5 Jun 2013 17:28:10 +0200
 
diff --git a/debian/archdefs/amd64/x86SSE264SSE2.tar.bz2 b/debian/archdefs/amd64/x86SSE264SSE2.tar.bz2
new file mode 100644
index 0000000..0fe6917
Binary files /dev/null and b/debian/archdefs/amd64/x86SSE264SSE2.tar.bz2 differ
diff --git a/CONFIG/ARCHS/x86x8732.tar.bz2 b/debian/archdefs/i386/x86x8732.tar.bz2
similarity index 100%
copy from CONFIG/ARCHS/x86x8732.tar.bz2
copy to debian/archdefs/i386/x86x8732.tar.bz2
diff --git a/debian/changelog b/debian/changelog
index 8e9b364..9e5dcd0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,10 @@ atlas (3.10.1-1) UNRELEASED; urgency=low
   * New upstream release (Closes: #609287)
 
   [ Sébastien Villemot ]
+  * Provide architectural defaults (i.e. precomputed timings) for all
+    release archs. This will make the package build much faster and should
+    eliminate transient build failures due to excessive variance in the
+    timings.
   * corei1.diff: remove patch, applied upstream
   * Use my @debian.org email address
   * Remove obsolete DM-Upload-Allowed flag
diff --git a/debian/rules b/debian/rules
index 751a38d..7ab0add 100755
--- a/debian/rules
+++ b/debian/rules
@@ -103,7 +103,7 @@ configure-stamp:
 		mkdir -p build/$$targetName;					\
 		cd build/$$targetName; 							\
 		if test "$(ARCHS)" != "base__"; then 		\
-		../../configure $(COMMON_CONFIG_PARAMS) -t 2;	\
+		../../configure $(COMMON_CONFIG_PARAMS) -t 2 -Ss ADdir ../../../debian/archdefs/$(DEB_HOST_ARCH_CPU);	\
 		else						\
 		../../configure $(COMMON_CONFIG_PARAMS);	\
 		fi;						\
diff --git a/debian/source/include-binaries b/debian/source/include-binaries
new file mode 100644
index 0000000..bf790ba
--- /dev/null
+++ b/debian/source/include-binaries
@@ -0,0 +1,2 @@
+debian/archdefs/i386/x86x8732.tar.bz2
+debian/archdefs/amd64/x86SSE264SSE2.tar.bz2

-- 
ATLAS packaging for Debian



More information about the debian-science-commits mailing list