Package: src:lucene++ Version: 3.0.7-5 Severity: serious Tags: patch Control: user release.debian....@packages.debian.org Control: usertag -1 + transition Control: block -1 by 790756
Hi, lucene++ changes ABI in public symbols when built with g++ 5 (sorry, I don't have a diff handy but I can get one if you want - BTW a symbols file would be nice!). This means that it needs to be transitioned. I've done this in Ubuntu, and here's a diff for Debian for you to review and hopefully upload. The diff also includes an upstream fix to bulid against boost 1.58. Cheers, -- Iain Lane [ i...@orangesquash.org.uk ] Debian Developer [ la...@debian.org ] Ubuntu Developer [ la...@ubuntu.com ]
diff -Nru lucene++-3.0.7/debian/control lucene++-3.0.7/debian/control --- lucene++-3.0.7/debian/control 2015-04-28 13:57:53.000000000 +0100 +++ lucene++-3.0.7/debian/control 2015-08-05 22:46:58.000000000 +0100 @@ -21,8 +21,8 @@ Package: liblucene++-dev Section: libdevel Architecture: any -Depends: liblucene++-contrib0 (= ${binary:Version}), - liblucene++0 (= ${binary:Version}), +Depends: liblucene++-contrib0v5 (= ${binary:Version}), + liblucene++0v5 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} Description: Development files for Lucene++ @@ -41,22 +41,26 @@ . This package contains the reference manual and examples. -Package: liblucene++0 +Package: liblucene++0v5 Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, ${shlibs:Depends} +Conflicts: liblucene++0 +Replaces: liblucene++0 Description: Shared library for Lucene++ Lucene++ is an up to date C++ port of the popular Java Lucene library, a high-performance, full-featured text search engine. . This package contains the shared library. -Package: liblucene++-contrib0 +Package: liblucene++-contrib0v5 Architecture: any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, ${shlibs:Depends} +Conflicts: liblucene++-contrib0v5 +Replaces: liblucene++-contrib0v5 Description: Shared library with Lucene++ contributions Lucene++ is an up to date C++ port of the popular Java Lucene library, a high-performance, full-featured text search engine. diff -Nru lucene++-3.0.7/debian/liblucene++0.install lucene++-3.0.7/debian/liblucene++0.install --- lucene++-3.0.7/debian/liblucene++0.install 2015-01-30 22:43:56.000000000 +0000 +++ lucene++-3.0.7/debian/liblucene++0.install 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -usr/lib/*/liblucene++.so.* diff -Nru lucene++-3.0.7/debian/liblucene++0v5.install lucene++-3.0.7/debian/liblucene++0v5.install --- lucene++-3.0.7/debian/liblucene++0v5.install 1970-01-01 01:00:00.000000000 +0100 +++ lucene++-3.0.7/debian/liblucene++0v5.install 2015-01-30 22:43:56.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/liblucene++.so.* diff -Nru lucene++-3.0.7/debian/liblucene++0v5.lintian-overrides lucene++-3.0.7/debian/liblucene++0v5.lintian-overrides --- lucene++-3.0.7/debian/liblucene++0v5.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 +++ lucene++-3.0.7/debian/liblucene++0v5.lintian-overrides 2015-08-05 23:03:16.000000000 +0100 @@ -0,0 +1,2 @@ +# G++5 ABI transition +liblucene++0v5: package-name-doesnt-match-sonames liblucene++0 diff -Nru lucene++-3.0.7/debian/liblucene++-contrib0.install lucene++-3.0.7/debian/liblucene++-contrib0.install --- lucene++-3.0.7/debian/liblucene++-contrib0.install 2015-01-30 22:43:56.000000000 +0000 +++ lucene++-3.0.7/debian/liblucene++-contrib0.install 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -usr/lib/*/liblucene++-contrib.so.* diff -Nru lucene++-3.0.7/debian/liblucene++-contrib0v5.install lucene++-3.0.7/debian/liblucene++-contrib0v5.install --- lucene++-3.0.7/debian/liblucene++-contrib0v5.install 1970-01-01 01:00:00.000000000 +0100 +++ lucene++-3.0.7/debian/liblucene++-contrib0v5.install 2015-01-30 22:43:56.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/liblucene++-contrib.so.* diff -Nru lucene++-3.0.7/debian/liblucene++-contrib0v5.lintian-overrides lucene++-3.0.7/debian/liblucene++-contrib0v5.lintian-overrides --- lucene++-3.0.7/debian/liblucene++-contrib0v5.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 +++ lucene++-3.0.7/debian/liblucene++-contrib0v5.lintian-overrides 2015-08-05 22:52:59.000000000 +0100 @@ -0,0 +1,2 @@ +# G++5 ABI transition +liblucene++-contrib0v5: package-name-doesnt-match-sonames liblucene++-contrib0 diff -Nru lucene++-3.0.7/debian/patches/0001-Fix-compilation-with-Boost-1.58.patch lucene++-3.0.7/debian/patches/0001-Fix-compilation-with-Boost-1.58.patch --- lucene++-3.0.7/debian/patches/0001-Fix-compilation-with-Boost-1.58.patch 1970-01-01 01:00:00.000000000 +0100 +++ lucene++-3.0.7/debian/patches/0001-Fix-compilation-with-Boost-1.58.patch 2015-08-05 22:29:41.000000000 +0100 @@ -0,0 +1,42 @@ +From 1987082cf9278a639d772b4f35a8ae2d34944177 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Va=CC=81clav=20Slavi=CC=81k?= <vac...@slavik.io> +Date: Mon, 4 May 2015 18:04:46 +0200 +Subject: [PATCH] Fix compilation with Boost 1.58 + +1.58 introduces strict type checking in boost::get() and while that's +good in theory, the VariantUtils code makes it impractical to use. +Instead, use relaxed_get() to get the old behavior. relaxed_get() didn't +exist in older versions of Boost, so the code must check BOOST_VERSION. + +Fixes #93. +--- + include/VariantUtils.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/include/VariantUtils.h b/include/VariantUtils.h +index 1e6c243..5a72e59 100644 +--- a/include/VariantUtils.h ++++ b/include/VariantUtils.h +@@ -8,6 +8,7 @@ + #define VARIANTUTILS_H + + #include <boost/any.hpp> ++#include <boost/version.hpp> + #include "Lucene.h" + #include "MiscUtils.h" + +@@ -22,7 +23,11 @@ public: + + template <typename TYPE, typename VAR> + static TYPE get(VAR var) { ++#if BOOST_VERSION < 105800 + return var.type() == typeid(TYPE) ? boost::get<TYPE>(var) : TYPE(); ++#else ++ return var.type() == typeid(TYPE) ? boost::relaxed_get<TYPE>(var) : TYPE(); ++#endif + } + + template <typename TYPE, typename VAR> +-- +2.5.0 + diff -Nru lucene++-3.0.7/debian/patches/series lucene++-3.0.7/debian/patches/series --- lucene++-3.0.7/debian/patches/series 2015-07-16 17:15:04.000000000 +0100 +++ lucene++-3.0.7/debian/patches/series 2015-08-05 22:29:41.000000000 +0100 @@ -1,3 +1,4 @@ #disable-snowball.patch 0001-Fix-packageconfig-path.patch afd772ba14954c8785ce17a376759ba9525f3315.patch +0001-Fix-compilation-with-Boost-1.58.patch