[atlas] 02/02: Disable autodetection of machine type on archs for which ATLAS does not provide generic-enough architectural defaults. This is achieved by creating a GENERIC machine type (see generic.diff). In particular, this ensures that the package created on an armel buildd with an ARMv7 will be generic. (Closes: #719355)

Sébastien Villemot sebastien at debian.org
Wed Jan 29 17:37:53 UTC 2014


This is an automated email from the git hooks/post-receive script.

sebastien pushed a commit to branch master
in repository atlas.

commit 69db321b4f6e5ae52a44b92cb4b1a25c210e688a
Author: Sébastien Villemot <sebastien at debian.org>
Date:   Wed Jan 29 18:36:03 2014 +0100

    Disable autodetection of machine type on archs for which ATLAS does not provide generic-enough architectural defaults. This is achieved by creating a GENERIC machine type (see generic.diff). In particular, this ensures that the package created on an armel buildd with an ARMv7 will be generic. (Closes: #719355)
---
 debian/archdefs/README                             |   2 +-
 .../arm/{UNKNOWN32.tar.bz2 => GENERIC32.tar.bz2}   | Bin
 .../mips/{UNKNOWN32.tar.bz2 => GENERIC32.tar.bz2}  | Bin
 .../{UNKNOWN32.tar.bz2 => GENERIC32.tar.bz2}       | Bin
 debian/changelog                                   |   5 +++
 debian/patches/generic.diff                        |  41 +++++++++++++++++++++
 debian/patches/series                              |   1 +
 debian/rules                                       |   4 +-
 debian/source/include-binaries                     |   6 +--
 9 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/debian/archdefs/README b/debian/archdefs/README
index 58a8e1a..30d394e 100644
--- a/debian/archdefs/README
+++ b/debian/archdefs/README
@@ -7,7 +7,7 @@ generated (other details are in README.source):
 
 - amd64: ATLAS 3.10.1 / karaba.cepremap.org / wheezy / 2013-06-04
 - arm:
-  + UNKNOWN32.tar.bz2 (for armel): ATLAS 3.10.1 / vamana.villemot.name (Raspberry Pi) / sid / 2013-07-01
+  + GENERIC32.tar.bz2 (for armel): ATLAS 3.10.1 / vamana.villemot.name (Raspberry Pi) / sid / 2013-07-01
   + ARMv732 (for armhf): from ATLAS 3.10.1 tarball, modified for removing all
     the "-mfloat-abi=armhf" and "-mfpu=vfpv3" flags
   + ARMv732NEON (for armhf): same than ARMv732; note that this one is not used
diff --git a/debian/archdefs/arm/UNKNOWN32.tar.bz2 b/debian/archdefs/arm/GENERIC32.tar.bz2
similarity index 100%
rename from debian/archdefs/arm/UNKNOWN32.tar.bz2
rename to debian/archdefs/arm/GENERIC32.tar.bz2
diff --git a/debian/archdefs/mips/UNKNOWN32.tar.bz2 b/debian/archdefs/mips/GENERIC32.tar.bz2
similarity index 100%
rename from debian/archdefs/mips/UNKNOWN32.tar.bz2
rename to debian/archdefs/mips/GENERIC32.tar.bz2
diff --git a/debian/archdefs/mipsel/UNKNOWN32.tar.bz2 b/debian/archdefs/mipsel/GENERIC32.tar.bz2
similarity index 100%
rename from debian/archdefs/mipsel/UNKNOWN32.tar.bz2
rename to debian/archdefs/mipsel/GENERIC32.tar.bz2
diff --git a/debian/changelog b/debian/changelog
index bcb6e73..2825b91 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,11 @@ atlas (3.10.1-3) UNRELEASED; urgency=low
   * Remove unused libatlas-3.so, libatlas-3gf.so and libatlas.so.* virtual
     packages.
   * Rewrite logic in libatlas3-base.postinst. (Closes: #719142)
+  * Disable autodetection of machine type on archs for which ATLAS does not
+    provide generic-enough architectural defaults. This is achieved by creating
+    a GENERIC machine type (see generic.diff). In particular, this ensures that
+    the package created on an armel buildd with an ARMv7 will be generic.
+    (Closes: #719355)
 
  -- Sébastien Villemot <sebastien at debian.org>  Wed, 13 Nov 2013 18:06:57 +0100
 
diff --git a/debian/patches/generic.diff b/debian/patches/generic.diff
new file mode 100644
index 0000000..5b7dbb5
--- /dev/null
+++ b/debian/patches/generic.diff
@@ -0,0 +1,41 @@
+Description: Add a GENERIC machine type
+ In practice this type will have the same effect than the UNKNOWN machine type,
+ except that it does not try to autodetect the machine CPU.
+ This is useful when trying to build a generic package on an arch for which
+ ATLAS does not define a generic machine type. For example, on a armel buildd
+ with ARMv7 CPU, ATLAS would detect ARMv7 if provided the UNKNOWN type.
+Author: Sébastien Villemot <sebastien at debian.org>
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719355
+Last-Update: 2014-01-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/CONFIG/include/atlconf.h
++++ b/CONFIG/include/atlconf.h
+@@ -18,7 +18,7 @@ enum OSTYPE {OSOther=0, OSLinux, OSSunOS
+ enum ARCHFAM {AFOther=0, AFPPC, AFSPARC, AFALPHA, AFX86, AFIA64, AFMIPS,
+               AFARM, AFS390};
+ 
+-#define NMACH 47
++#define NMACH 48
+ static char *machnam[NMACH] =
+    {"UNKNOWN", "POWER3", "POWER4", "POWER5", "PPCG4", "PPCG5",
+     "POWER6", "POWER7", "IBMz9", "IBMz10", "IBMz196",
+@@ -28,7 +28,7 @@ static char *machnam[NMACH] =
+     "Efficeon", "K7", "HAMMER", "AMD64K10h", "AMDDOZER", "UNKNOWNx86",
+     "IA64Itan", "IA64Itan2",
+     "USI", "USII", "USIII", "USIV", "UST2", "UnknownUS",
+-    "MIPSR1xK", "MIPSICE9", "ARMv7"};
++    "MIPSR1xK", "MIPSICE9", "ARMv7", "GENERIC"};
+ enum MACHTYPE {MACHOther, IbmPwr3, IbmPwr4, IbmPwr5, PPCG4, PPCG5,
+                IbmPwr6, IbmPwr7,
+                IbmZ9, IbmZ10, IbmZ196,  /* s390(x) in Linux */
+@@ -41,7 +41,8 @@ enum MACHTYPE {MACHOther, IbmPwr3, IbmPw
+                SunUSI, SunUSII, SunUSIII, SunUSIV, SunUST2, SunUSX,
+                MIPSR1xK, /* includes R10K, R12K, R14K, R16K */
+                MIPSICE9,  /* SiCortex ICE9 -- like MIPS5K */
+-               ARMv7      /* includes Cortex A8, A9 */
++               ARMv7,      /* includes Cortex A8, A9 */
++               GENERIC
+                };
+ #define MachIsX86(mach_) \
+    ( (mach_) >= x86x87 && (mach_) <= x86X )
diff --git a/debian/patches/series b/debian/patches/series
index bcf031d..a302b09 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,4 @@ armel-is-v4t.diff
 armhf.diff
 fix-non-threaded-build.diff
 cpu-throttling-check.diff
+generic.diff
diff --git a/debian/rules b/debian/rules
index a46a95f..bd35c35 100755
--- a/debian/rules
+++ b/debian/rules
@@ -17,6 +17,8 @@ include /usr/share/cdbs/1/rules/debhelper.mk
 # - 36 means IA64Itan: for ia64
 # - 38 means UltraSparc I (USI): for sparc
 # - 46 means ARMv7: for armhf (but not for armel, which is ARM >= v4)
+# - 47 means GENERIC: the same than 0 (UNKNOWN), except that it does not try autodetection
+#   See debian/patches/generic.diff
 # Second number in ARCHS:
 # - 1 means no instruction set extension
 # - 384 means SSE1+SSE2 (always available on amd64)
@@ -35,7 +37,7 @@ ARCHS=base_46_1
 else ifneq (,$(findstring $(DEB_HOST_ARCH),powerpc ppc64))
 ARCHS=base_1_1
 else
-ARCHS=base_0_1
+ARCHS=base_47_1
 endif
 
 # Pointer bitwidth
diff --git a/debian/source/include-binaries b/debian/source/include-binaries
index e08cfe0..9ad79fb 100644
--- a/debian/source/include-binaries
+++ b/debian/source/include-binaries
@@ -1,11 +1,11 @@
 debian/archdefs/amd64/x86SSE264SSE2.tar.bz2
-debian/archdefs/arm/UNKNOWN32.tar.bz2
+debian/archdefs/arm/GENERIC32.tar.bz2
 debian/archdefs/arm/ARMv732.tar.bz2
 debian/archdefs/arm/ARMv732NEON.tar.bz2
 debian/archdefs/i386/x86x8732.tar.bz2
 debian/archdefs/ia64/IA64Itan64.tar.bz2
-debian/archdefs/mips/UNKNOWN32.tar.bz2
-debian/archdefs/mipsel/UNKNOWN32.tar.bz2
+debian/archdefs/mips/GENERIC32.tar.bz2
+debian/archdefs/mipsel/GENERIC32.tar.bz2
 debian/archdefs/powerpc/POWER332.tar.bz2
 debian/archdefs/s390/IBMz932.tar.bz2
 debian/archdefs/s390x/IBMz964.tar.bz2

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/atlas.git



More information about the debian-science-commits mailing list