Source: libphonenumber Version: 6.3~svn698-4 Severity: serious Justification: breaks ABI without a package rename Tags: sid stretch User: debian-...@lists.debian.org Usertags: libstdc++-cxx11
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, 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. In the case of libphonenumber, std::string appears in installed headers and in the library's exported symbols, so it seems very likely that a transition is needed. The transition normally consists of renaming the affected library packages, adding a v5 suffix (libphonenumber6v5). The SONAME should not be changed when doing this. If an upgrade to a new upstream SONAME is already planned, and that SONAME has never been available in Debian compiled with g++-4, then an alternative way to carry out the transition would be to bump the SONAME. Please avoid doing this unless the new upstream version is otherwise low-risk. These follow-up transitions for libstdc++ are not going through exactly the normal transition procedure, because many entangled transitions are going on at the same time, and the usual ordered transition procedure does not scale that far. When all the C++ libraries on which this library depends have started their transitions in unstable if required, this library should do the same, closing this bug; the release team will deal with binNMUs as needed. Looking at the build-dependencies of libphonenumber, all the C++ libraries seem to have started their transitions already, so it seems ready to go. The package might be NMU'd if there is no maintainer response. The release team have declared a 2 day NMU delay[2] for packages involved in the libstdc++ transition, in order to get unstable back to a usable state in a finite time. Regards, S [1] https://wiki.debian.org/GCC5#libstdc.2B-.2B-_ABI_transition [2] https://lists.debian.org/debian-devel-announce/2015/08/msg00000.html