Control: retitle 791086 leveldb: libstdc++ transition
Control: tag 791086 + patch
On Fri, 03 Jul 2015 at 13:10:47 +0000, Matthias Klose wrote:
> - If a library transition is needed, please prepare for the change.
> Rename the library package, append "v5" to the name of the package
> (e.g. libfoo2 -> libfoo2v5).
I am unlikely to NMU this since I don't know how to smoke-test the
resulting binaries, but the attached patch appears to work.
With the current leveldb from unstable, litecoin_0.10.2.2-2 FTBFS:
libbitcoin_server.a(libbitcoin_server_a-leveldbwrapper.o): In function
`HandleError(leveldb::Status const&)':
/«PKGBUILDDIR»/src/leveldbwrapper.cpp:20: undefined reference to
`leveldb::Status::ToString[abi:cxx11]() const'
libbitcoin_server.a(libbitcoin_server_a-leveldbwrapper.o): In function
`CLevelDBWrapper::CLevelDBWrapper(boost::filesystem::path const&, unsigned
long, bool, bool)':
/«PKGBUILDDIR»/src/leveldbwrapper.cpp:66: undefined reference to
`leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, leveldb::DB**)'
/«PKGBUILDDIR»/src/leveldbwrapper.cpp:61: undefined reference to
`leveldb::DestroyDB(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, leveldb::Options const&)'
libbitcoin_server.a(libbitcoin_server_a-txdb.o): In function `bool
CLevelDBWrapper::Read<std::pair<char, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > >, char>(std::pair<char,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, char&) const':
/«PKGBUILDDIR»/src/leveldbwrapper.h:105: undefined reference to
`leveldb::Status::ToString[abi:cxx11]() const'
libbitcoin_server.a(libbitcoin_server_a-txdb.o): In function `bool
CLevelDBWrapper::Read<char, int>(char const&, int&) const':
/«PKGBUILDDIR»/src/leveldbwrapper.h:105: undefined reference to
`leveldb::Status::ToString[abi:cxx11]() const'
libbitcoin_server.a(libbitcoin_server_a-txdb.o): In function `bool
CLevelDBWrapper::Exists<char>(char const&) const':
/«PKGBUILDDIR»/src/leveldbwrapper.h:138: undefined reference to
`leveldb::Status::ToString[abi:cxx11]() const'
libbitcoin_server.a(libbitcoin_server_a-txdb.o): In function `bool
CLevelDBWrapper::Exists<std::pair<char, uint256> >(std::pair<char, uint256>
const&) const':
/«PKGBUILDDIR»/src/leveldbwrapper.h:138: undefined reference to
`leveldb::Status::ToString[abi:cxx11]() const'
libbitcoin_server.a(libbitcoin_server_a-txdb.o): In function `bool
CLevelDBWrapper::Read<char, uint256>(char const&, uint256&) const':
/«PKGBUILDDIR»/src/leveldbwrapper.h:105: undefined reference to
`leveldb::Status::ToString[abi:cxx11]() const'
libbitcoin_server.a(libbitcoin_server_a-txdb.o):/«PKGBUILDDIR»/src/leveldbwrapper.h:105:
more undefined references to `leveldb::Status::ToString[abi:cxx11]() const'
follow
With the patched leveldb, litecoin_0.10.2.2-2 successfully builds.
I have not tested it.
Regards,
S
>From 7b880ef7ab443219291947894a731b2fee0bc570 Mon Sep 17 00:00:00 2001
From: Simon McVittie <[email protected]>
Date: Fri, 7 Aug 2015 10:36:59 +0100
Subject: [PATCH] Rename to libleveldb5 (starts transition: #791086)
---
debian/changelog | 7 +++++++
debian/control | 10 +++++++---
debian/libleveldb1.install | 1 -
debian/libleveldb1v5.install | 1 +
4 files changed, 15 insertions(+), 4 deletions(-)
delete mode 100644 debian/libleveldb1.install
create mode 100644 debian/libleveldb1v5.install
diff --git a/debian/changelog b/debian/changelog
index 2986507..85c2f59 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+leveldb (1.18-2.2) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Rename to libleveldb5 (starts transition: #791086)
+
+ -- Simon McVittie <[email protected]> Fri, 07 Aug 2015 10:36:11 +0100
+
leveldb (1.18-2.1) unstable; urgency=medium
* Non-maintainer upload.
diff --git a/debian/control b/debian/control
index 8e56aba..4273ff9 100644
--- a/debian/control
+++ b/debian/control
@@ -11,7 +11,7 @@ Homepage: https://github.com/google/leveldb
Vcs-Git: git://anonscm.debian.org/collab-maint/leveldb.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/leveldb.git
-Package: libleveldb1
+Package: libleveldb1v5
Section: libs
Architecture: any
Multi-Arch: same
@@ -20,6 +20,10 @@ Pre-Depends:
Depends:
${misc:Depends},
${shlibs:Depends}
+Conflicts:
+ libleveldb1
+Replaces:
+ libleveldb1
Description: fast key-value storage library
LevelDB is a fast key-value storage library written at Google that
provides an ordered mapping from string keys to string values.
@@ -58,7 +62,7 @@ Section: libdevel
Architecture: any
Multi-Arch: same
Depends:
- libleveldb1 (= ${binary:Version}),
+ libleveldb1v5 (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Suggests:
@@ -76,7 +80,7 @@ Multi-Arch: same
Pre-Depends:
${misc:Pre-Depends}
Depends:
- libleveldb1 (= ${binary:Version}),
+ libleveldb1v5 (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Priority: extra
diff --git a/debian/libleveldb1.install b/debian/libleveldb1.install
deleted file mode 100644
index 3de3b10..0000000
--- a/debian/libleveldb1.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/*.so.*
diff --git a/debian/libleveldb1v5.install b/debian/libleveldb1v5.install
new file mode 100644
index 0000000..3de3b10
--- /dev/null
+++ b/debian/libleveldb1v5.install
@@ -0,0 +1 @@
+usr/lib/*/*.so.*
--
2.5.0