Package: src:snappy
Version: 1.1.3-1
Severity: serious
Tags: sid stretch patch
User: debian-...@lists.debian.org
Usertags: libstdc++-cxx11

Control: block 794931 with -1

The short note.
Background [1]: libstdc++6 introduces a new ABI to conform to the
C++11 standard, but keeps the old ABI to not break existing binaries.
Packages which are built with g++-5 from experimental (not the one
from testing/unstable) are using the new ABI.  Libraries built from
this source package export some of the new __cxx11 or B5cxx11 symbols,
and dropping other symbols.  If these symbols are part of the API of
the library, then this rebuild with g++-5 will trigger a transition
for the library.

It seems Matthias missed this C++ library transition. Maybe due to the
old style packaging and that this package doesn't provide a symbols
file. But please see the attached symbols change when built with
gcc-4.9 and gcc-5.2 , thus __cxx11 symbols show up.
At the moment it breaks building of mongodb, but may break other
packages as well.

I propose the attached NMU if you don't have time for now - or I can
help update and maintain the packaging as co-maintainer if you want.

Regards,
Laszlo/GCS
[1] https://wiki.debian.org/GCC5#libstdc.2B-.2B-_ABI_transition
--- debian/libsnappy1.symbols   2015-08-08 23:54:52.415075073 +0000
+++ debian/libsnappy1/DEBIAN/symbols    2015-08-08 23:59:25.046660564 +0000
@@ -1,5 +1,5 @@
 libsnappy.so.1 libsnappy1 #MINVER#
- _ZN6snappy10UncompressEPKcmPSs@Base 1.1.3
+ 
_ZN6snappy10UncompressEPKcmPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base
 1.1.3
  _ZN6snappy10UncompressEPNS_6SourceEPNS_4SinkE@Base 1.1.3
  _ZN6snappy11RawCompressEPKcmPcPm@Base 1.1.3
  _ZN6snappy13RawUncompressEPKcmPc@Base 1.1.3
@@ -38,8 +38,8 @@
  _ZN6snappy6SourceD0Ev@Base 1.1.3
  _ZN6snappy6SourceD1Ev@Base 1.1.3
  _ZN6snappy6SourceD2Ev@Base 1.1.3
- _ZN6snappy6Varint8Append32EPSsj@Base 1.1.3
- _ZN6snappy8CompressEPKcmPSs@Base 1.1.3
+ 
_ZN6snappy6Varint8Append32EPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@Base
 1.1.3
+ 
_ZN6snappy8CompressEPKcmPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base
 1.1.3
  _ZN6snappy8CompressEPNS_6SourceEPNS_4SinkE@Base 1.1.3
  _ZN6snappy8internal13WorkingMemory12GetHashTableEmPi@Base 1.1.3
  _ZN6snappy8internal16CompressFragmentEPKcmPcPti@Base 1.1.3
diff -u snappy-1.1.3/debian/changelog snappy-1.1.3/debian/changelog
--- snappy-1.1.3/debian/changelog
+++ snappy-1.1.3/debian/changelog
@@ -1,3 +1,10 @@
+snappy (1.1.3-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename library to libsnappy1v5 for GCC 5 transition.
+
+ -- Laszlo Boszormenyi (GCS) <g...@debian.org>  Sun, 09 Aug 2015 07:28:37 +0200
+
 snappy (1.1.3-1) unstable; urgency=medium
 
   * New upstream release.
diff -u snappy-1.1.3/debian/control snappy-1.1.3/debian/control
--- snappy-1.1.3/debian/control
+++ snappy-1.1.3/debian/control
@@ -10,7 +10,7 @@
 Section: libdevel
 Architecture: any
 Multi-Arch: same
-Depends: libsnappy1 (= ${binary:Version}), ${misc:Depends}
+Depends: libsnappy1v5 (= ${binary:Version}), ${misc:Depends}
 Description: fast compression/decompression library (development files)
  Snappy is a compression/decompression library. It does not aim for
  maximum compression, or compatibility with any other compression  
@@ -26,12 +26,14 @@
  This package contains the development files required to build programs
  against Snappy.
 
-Package: libsnappy1
+Package: libsnappy1v5
 Section: libs
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libsnappy1
+Replaces: libsnappy1
 Description: fast compression/decompression library
  Snappy is a compression/decompression library. It does not aim for
  maximum compression, or compatibility with any other compression  
reverted:
--- snappy-1.1.3/debian/libsnappy1.dirs
+++ snappy-1.1.3.orig/debian/libsnappy1.dirs
@@ -1 +0,0 @@
-usr/lib
reverted:
--- snappy-1.1.3/debian/libsnappy1.install
+++ snappy-1.1.3.orig/debian/libsnappy1.install
@@ -1 +0,0 @@
-usr/lib/*/lib*.so.*        
only in patch2:
unchanged:
--- snappy-1.1.3.orig/debian/libsnappy1v5.dirs
+++ snappy-1.1.3/debian/libsnappy1v5.dirs
@@ -0,0 +1 @@
+usr/lib
only in patch2:
unchanged:
--- snappy-1.1.3.orig/debian/libsnappy1v5.install
+++ snappy-1.1.3/debian/libsnappy1v5.install
@@ -0,0 +1 @@
+usr/lib/*/lib*.so.*        

Reply via email to