Your message dated Wed, 28 Jun 2017 18:35:33 +0000
with message-id <[email protected]>
and subject line Bug#866188: fixed in snappy 1.1.4-3
has caused the Debian Bug report #866188,
regarding snappy 1.1.4 upstream tarball broken on armhf
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
866188: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866188
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: snappy
Version: 1.1.4-2
Severity: serious
Tags: patch
User: [email protected]
Usertags: origin-ubuntu artful ubuntu-patch

Hi Laszlo,

The snappy 1.1.4 release tarball as distributed by upstream does not match
its git tag; it contains an additional patch of unclear origin which is
broken on armhf (as confirmed on harris.d.o).

In addition, the breakage would have been caught by the upstream test suite
at package build time, except the 'make check' line is commented out in
debian/rules.  Since this was commented out, this was only caught because it
causes a build failure of pytables in Ubuntu, which is two steps removed
from snappy itself.

Attached is a patch, which I've applied in Ubuntu, to address both of these
issues.  I have also written to upstream about the issue of the wrong
tarball.

It might be more appropriate to address the missing 'make check' issue by
instead migrating debian/rules to pure dh(1), but I would leave that to you
as maintainer to decide.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
[email protected]                                     [email protected]
diff -Nru snappy-1.1.4/debian/patches/pristine-upstream.patch 
snappy-1.1.4/debian/patches/pristine-upstream.patch
--- snappy-1.1.4/debian/patches/pristine-upstream.patch 1969-12-31 
16:00:00.000000000 -0800
+++ snappy-1.1.4/debian/patches/pristine-upstream.patch 2017-06-27 
20:51:09.000000000 -0700
@@ -0,0 +1,65 @@
+Description: use pristine upstream git source that works on armhf
+ The upstream release tarball for 1.1.4 includes a change that is not
+ documented at all in the git history, and is definitely not present in the
+ tag for 1.1.4.  It also introduces a change that makes snappy not work
+ correctly on armhf.  Patch this out so that our source matches the upstream
+ tag.
+Author: unknown
+Last-Modified: 2017-06-27
+Forwarded: not-needed
+
+--- snappy-1.1.4/snappy.cc     1980-01-01 08:00:00.000000000 +0000
++++ snappy/snappy.cc   2017-06-28 03:33:33.557981656 +0000
+@@ -36,7 +36,6 @@
+ #include <stdio.h>
+ 
+ #include <algorithm>
+-#include <limits>
+ #include <string>
+ #include <vector>
+ 
+@@ -317,22 +316,29 @@
+ 
+ namespace internal {
+ uint16* WorkingMemory::GetHashTable(size_t input_size, int* table_size) {
+-  if (input_size > kMaxHashTableSize) {
+-    *table_size = kMaxHashTableSize;
+-  } else if (input_size < 256) {
+-    *table_size = 256;
++  // Use smaller hash table when input.size() is smaller, since we
++  // fill the table, incurring O(hash table size) overhead for
++  // compression, and if the input is short, we won't need that
++  // many hash table entries anyway.
++  assert(kMaxHashTableSize >= 256);
++  size_t htsize = 256;
++  while (htsize < kMaxHashTableSize && htsize < input_size) {
++    htsize <<= 1;
++  }
++
++  uint16* table;
++  if (htsize <= ARRAYSIZE(small_table_)) {
++    table = small_table_;
+   } else {
+-    // Since table size must be a power of 2, round up to the next power of 2.
+-    *table_size = 1 << (std::numeric_limits<size_t>::digits -
+-                        __builtin_clzll(input_size - 1));
+-  }
+-  if (*table_size <= ARRAYSIZE(small_table_)) {
+-    memset(small_table_, 0, 2 * *table_size);
+-    return small_table_;
+-  }
+-  if (!large_table_) large_table_ = new uint16[kMaxHashTableSize];
+-  memset(large_table_, 0, 2 * *table_size);
+-  return large_table_;
++    if (large_table_ == NULL) {
++      large_table_ = new uint16[kMaxHashTableSize];
++    }
++    table = large_table_;
++  }
++
++  *table_size = htsize;
++  memset(table, 0, htsize * sizeof(*table));
++  return table;
+ }
+ }  // end namespace internal
+ 
diff -Nru snappy-1.1.4/debian/patches/series snappy-1.1.4/debian/patches/series
--- snappy-1.1.4/debian/patches/series  1969-12-31 16:00:00.000000000 -0800
+++ snappy-1.1.4/debian/patches/series  2017-06-27 20:51:27.000000000 -0700
@@ -0,0 +1 @@
+pristine-upstream.patch
diff -Nru snappy-1.1.4/debian/rules snappy-1.1.4/debian/rules
--- snappy-1.1.4/debian/rules   2016-03-19 06:24:58.000000000 -0700
+++ snappy-1.1.4/debian/rules   2017-06-27 20:51:27.000000000 -0700
@@ -26,7 +26,7 @@
        ./configure $(CROSS) --prefix=/usr --mandir=\$${prefix}/share/man 
--infodir=\$${prefix}/share/info --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
        $(MAKE)
 ifeq "$(filter nocheck,$(DEB_BUILD_OPTIONS))" ""
-#      $(MAKE) check
+       $(MAKE) check
 endif
        
        # Create a create a "convenience library" which is static, but suitable 
for linking

--- End Message ---
--- Begin Message ---
Source: snappy
Source-Version: 1.1.4-3

We believe that the bug you reported is fixed in the latest version of
snappy, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Laszlo Boszormenyi (GCS) <[email protected]> (supplier of updated snappy package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 28 Jun 2017 15:35:33 +0000
Source: snappy
Binary: libsnappy-dev libsnappy1v5
Architecture: source amd64
Version: 1.1.4-3
Distribution: unstable
Urgency: medium
Maintainer: Laszlo Boszormenyi (GCS) <[email protected]>
Changed-By: Laszlo Boszormenyi (GCS) <[email protected]>
Description:
 libsnappy-dev - fast compression/decompression library (development files)
 libsnappy1v5 - fast compression/decompression library
Closes: 866188
Changes:
 snappy (1.1.4-3) unstable; urgency=medium
 .
   [ Steve Langasek <[email protected]> ]
   * Use pristine upstream git source that works on armhf (closes: #866188).
Checksums-Sha1:
 9418dd13b1629e981e905ae2a43951e7051f9f70 1816 snappy_1.1.4-3.dsc
 01c84e736e9111f401cde4789dec8322016cb854 5416 snappy_1.1.4-3.debian.tar.xz
 31b9c9c023b40c8148b2c0682c7572fc2a479cb4 64482 libsnappy-dev_1.1.4-3_amd64.deb
 404fba31c202eeeb8449f59744865882de9a59d8 86296 
libsnappy1v5-dbgsym_1.1.4-3_amd64.deb
 49cd117bc2c8452395454ddaf75c06ce579d02e1 51406 libsnappy1v5_1.1.4-3_amd64.deb
 9137ad422f35c11103daf0b9d95630ad0121fa16 6739 snappy_1.1.4-3_amd64.buildinfo
Checksums-Sha256:
 5227139424f2f7c6ac308ec13fad5cac18c9c88ed0dd0902a3d0514f9bbfb661 1816 
snappy_1.1.4-3.dsc
 9006ce3cd51a12c290e02b402b1416563ff83deadedf85924349b0afc97f23f3 5416 
snappy_1.1.4-3.debian.tar.xz
 a3a0ed9694e78789e85ba26a63d8ef8a77e353637f4473bf7bef8fe33c5243c7 64482 
libsnappy-dev_1.1.4-3_amd64.deb
 acd796140271e05eb210822a7eea043fa6c7905656644edb97ece359b2aabcbe 86296 
libsnappy1v5-dbgsym_1.1.4-3_amd64.deb
 e7eabd914d13e482c207a49d52dae1e48e797be44098724b3e88e87b078e4e6f 51406 
libsnappy1v5_1.1.4-3_amd64.deb
 6b0b7b4ba21511d8025302feac0c17f4e5f77e98e8b3b442662076c9e7dbea03 6739 
snappy_1.1.4-3_amd64.buildinfo
Files:
 4f883203470ed6e5483011f8e2626039 1816 libs extra snappy_1.1.4-3.dsc
 ba9fcafe330f930efc45e96ddbec6155 5416 libs extra snappy_1.1.4-3.debian.tar.xz
 5f6f020770851fee1ee4b98a3d60abb4 64482 libdevel extra 
libsnappy-dev_1.1.4-3_amd64.deb
 01e675bc6399e61e407719f39b0f63ae 86296 debug extra 
libsnappy1v5-dbgsym_1.1.4-3_amd64.deb
 703610c80fb350cbc205cb89c9568bc6 51406 libs extra 
libsnappy1v5_1.1.4-3_amd64.deb
 9503da14da6b440df50757ab4a36b19a 6739 libs extra snappy_1.1.4-3_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEfYh9yLp7u6e4NeO63OMQ54ZMyL8FAllT0BwACgkQ3OMQ54ZM
yL87pQ/+KUVUyqAKcUYhTzGGB2ZcIf8Lj7/Vyhba/ZZ1aQsNKbB0RrcspuQBkKgg
bliES0Fq4Evab5nDXV5AueodQyislWqLVLjFBR+TWCwcyI1UvTvjQhvUVCEZ5n34
IOfe3yqKJcpTy08vqUE6G3+oFLm9lAMPL3l2a6k4Jnq1vYu/xUU6ayykvvVkpna1
IlnXfQpPjNjqbMe/kjL9l6JK1S8SOALhlvzg4OcST2SouN5qVdOrLUfm0g0YFbFY
v1ixg+bbRLKIJAEwwR9XxpRQL+WA2CujFCjdaCrZwbB9QccxhAmBCXGVCF76zjTv
7IKdJIFNlalrikN3s8q6BjBdjbMPJm3LnhBWK90hSRE2frFeM2HGJMJQDrjAwov5
Oecg5oWZPCkxaMEDXSbyVNT0Cq1uOhX/cAZbYxbWuo2tUNa+IQre5AhfJMRs6Ckf
aiX/bWzAbDzYqvlRnVjCiW41SmBArWHBPy9mOlUCbH5etAf34b4aqqi9bPtlXA9F
XIQfSpGM3YwvMZj9nh8P556Na3gQIo2Y6wL5Qp2xLg5AoVXNmwYwd2/KMlaTm/Fy
Fd9WqXZ4BdWiU9JKeoyqtPhZcILk/h+m4/OCsTO7hT1unU6HON1ixv0LazYO7qM1
eMy1MH43+nkrrA+1URAEqWk44vsbeq+IWGNUL88OvXDSOOLyFU0=
=6zJH
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to