[SCM] Packaging for pytables branch, master, updated. debian/2.3.1-2-20-ge1e005b

Julian Taylor jtaylor.debian at googlemail.com
Mon Mar 5 21:20:39 UTC 2012


The following commit has been merged in the master branch:
commit e1e005be3ba1de2d76d176a74da005436c669a45
Author: Julian Taylor <jtaylor.debian at googlemail.com>
Date:   Mon Mar 5 19:58:41 2012 +0100

    disable blosc on armel, armhf, sparc and mipsel
    
    not functional due to unaligned memory accesses (Closes: #661287, #661286)

diff --git a/debian/changelog b/debian/changelog
index fbf5344..de27049 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -19,6 +19,10 @@ pytables (2.3.1-3) unstable; urgency=low
   [ Julian Taylor ]
   * fix_library_detection.patch:
     fixes detection of multiarched bzip and lzo2 (Closes: #657789)
+  * disable_blosc.patch:
+    disable blosc on armel, armhf, sparc and mipsel
+    not functional due to unaligned memory accesses
+    (Closes: #661287, #661286)
 
  -- Julian Taylor <jtaylor.debian at googlemail.com>  Mon, 05 Mar 2012 19:18:38 +0100
 
diff --git a/debian/patches/disable_blosc.patch b/debian/patches/disable_blosc.patch
new file mode 100644
index 0000000..537427e
--- /dev/null
+++ b/debian/patches/disable_blosc.patch
@@ -0,0 +1,79 @@
+Description: disable blosc on arm
+ blosc compression is not functional due to the reliance on unaligned
+ memory access. This patch replaces all blosc write functionality with
+ zlib (default fallback) and disables a test reading blosc compressed data.
+ One could also disable reading by removing it from all_complibs in
+ tables/filters.py but that would require fixing up all tests to expect
+ exceptions.
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=661286
+Bug: https://github.com/FrancescAlted/blosc/issues/3
+Author: Julian Taylor <jtaylor at ubuntu.com>
+--- a/tables/utilsExtension.pyx
++++ b/tables/utilsExtension.pyx
+@@ -361,6 +361,14 @@
+ 
+   libnames = ('hdf5', 'zlib', 'lzo', 'bzip2', 'blosc')
+ 
++  def bad_arch():
++    import platform
++    arch = platform.machine().lower()
++    for a in ["arm", "sparc", "mips"]:
++      if a in arch:
++        return True
++    return False
++
+   if strcmp(name, "hdf5") == 0:
+     binver, strver = getHDF5VersionInfo()
+     return (binver, strver, None)     # Should be always available
+@@ -376,7 +384,8 @@
+       (bzip2_version_string, bzip2_version_date) = bzip2_version
+       return (bzip2_version, bzip2_version_string, bzip2_version_date)
+   elif strcmp(name, "blosc") == 0:
+-    return (blosc_version, blosc_version_string, blosc_version_date)
++    if not bad_arch():
++      return (blosc_version, blosc_version_string, blosc_version_date)
+   else:
+     raise ValueError("""\
+ asked version of unsupported library ``%s``; \
+--- a/tables/tests/test_all.py
++++ b/tables/tests/test_all.py
+@@ -15,7 +15,13 @@
+ from tables.tests import common
+ from tables.utils import detectNumberOfCores
+ 
+-
++def bad_arch():
++   import platform
++   arch = platform.machine().lower()
++   for a in ["arm", "sparc", "mips"]:
++      if a in arch:
++         return True
++   return False
+ 
+ def get_tuple_version(hexversion):
+     """Get a tuple from a compact version in hex."""
+@@ -133,9 +139,10 @@
+     if tinfo is not None:
+         print "BZIP2 version:     %s (%s)" % (tinfo[1], tinfo[2])
+     tinfo = tables.whichLibVersion("blosc")
+-    blosc_date = tinfo[2].split()[1]
+-    if tinfo is not None:
+-        print "Blosc version:     %s (%s)" % (tinfo[1], blosc_date)
++    if not bad_arch():
++      blosc_date = tinfo[2].split()[1]
++      if tinfo is not None:
++          print "Blosc version:     %s (%s)" % (tinfo[1], blosc_date)
+     try:
+         from Cython.Compiler.Main import Version as Cython_Version
+         print 'Cython version:    %s' % Cython_Version.version
+--- a/tables/tests/test_basics.py
++++ b/tables/tests/test_basics.py
+@@ -2343,7 +2343,7 @@
+         theSuite.addTest(unittest.makeSuite(PythonAttrsTestCase))
+         theSuite.addTest(unittest.makeSuite(StateTestCase))
+         theSuite.addTest(unittest.makeSuite(FlavorTestCase))
+-        theSuite.addTest(unittest.makeSuite(BloscBigEndian))
++        #theSuite.addTest(unittest.makeSuite(BloscBigEndian))
+         theSuite.addTest(unittest.makeSuite(BloscSubprocess))
+ 
+     return theSuite
diff --git a/debian/patches/series b/debian/patches/series
index 531c18b..27e9daf 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,5 @@
 up_skip_multiprocessing_test_on_gnu
 fix_unaligned_mem_access
 fix_library_detection.patch
+disable_blosc.patch
 

-- 
Packaging for pytables



More information about the debian-science-commits mailing list