summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2014-08-01 09:14:23 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2014-08-01 09:14:23 +0000
commit6eb786c7db353b6a6193ecefbd4f19c6505fb57f (patch)
tree5b218e83985361b41cd2b52a7e59df993f462eed /sys-block
parentfix installation on PaX kernels (thanks to yangjay) (diff)
downloadhistorical-6eb786c7db353b6a6193ecefbd4f19c6505fb57f.tar.gz
historical-6eb786c7db353b6a6193ecefbd4f19c6505fb57f.tar.bz2
historical-6eb786c7db353b6a6193ecefbd4f19c6505fb57f.zip
Fix portability with, for exaexample, sys-libs/uclibc using upstream patch http://github.com/jthornber/thin-provisioning-tools/commit/e77e8715b0a91a60cf2c4b85933b1063385da122
Package-Manager: portage-2.2.10/cvs/Linux x86_64 Manifest-Sign-Key: 0x4868F14D
Diffstat (limited to 'sys-block')
-rw-r--r--sys-block/thin-provisioning-tools/ChangeLog11
-rw-r--r--sys-block/thin-provisioning-tools/Manifest18
-rw-r--r--sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch214
-rw-r--r--sys-block/thin-provisioning-tools/thin-provisioning-tools-0.3.2-r1.ebuild51
4 files changed, 285 insertions, 9 deletions
diff --git a/sys-block/thin-provisioning-tools/ChangeLog b/sys-block/thin-provisioning-tools/ChangeLog
index 79db516fd528..21146b414a89 100644
--- a/sys-block/thin-provisioning-tools/ChangeLog
+++ b/sys-block/thin-provisioning-tools/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sys-block/thin-provisioning-tools
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-block/thin-provisioning-tools/ChangeLog,v 1.45 2014/07/31 22:21:11 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-block/thin-provisioning-tools/ChangeLog,v 1.46 2014/08/01 09:14:12 ssuominen Exp $
+
+*thin-provisioning-tools-0.3.2-r1 (01 Aug 2014)
+
+ 01 Aug 2014; Samuli Suominen <ssuominen@gentoo.org> +files/thin-provisioning-t
+ ools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch,
+ +thin-provisioning-tools-0.3.2-r1.ebuild:
+ Fix portability with, for exaexample, sys-libs/uclibc using upstream patch
+ http://github.com/jthornber/thin-provisioning-
+ tools/commit/e77e8715b0a91a60cf2c4b85933b1063385da122
31 Jul 2014; Samuli Suominen <ssuominen@gentoo.org>
-files/thin-provisioning-tools-0.1.5-LDFLAGS.patch,
diff --git a/sys-block/thin-provisioning-tools/Manifest b/sys-block/thin-provisioning-tools/Manifest
index e58f9141a401..99f30be83efb 100644
--- a/sys-block/thin-provisioning-tools/Manifest
+++ b/sys-block/thin-provisioning-tools/Manifest
@@ -1,22 +1,24 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
+AUX thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch 6866 SHA256 377c4b1b2caec23243e3cab6660ea736006a3c859e1a1b49831a481b631b230e SHA512 1f52f99d5fe41718b45558270b59be882cab54c962db2048fdb934321b5753957587ac62a9507fd7a89e45fceaeda1d8f2189af28188e2c8742783be1dd1421b WHIRLPOOL 0d5f856f23e023a696041b28b7a1ae39b28bf6bb7b2a82ccf30db98ea817fd5bd37676c7f046d0451db303fe2ecc54fcb5922da02856cba13455d3c9d275659b
DIST thin-provisioning-tools-0.2.8-boost.patch 3011 SHA256 abda9d732a1ea988c16e60131e76175fb2dd27ce4c197f571eed1563b5a5080f SHA512 56a08698e63be57b9fc742358e22d5bdaf1470cb42892c98d0296b0c6e85ea92f69d9056cb34b19762f12292c5fd81476e2a880a424d9fc9dc7e49d6df6824f4 WHIRLPOOL 059e94e6c1563cac4f387133fff7901eae6b55e9b69f31c0eca36df1a511844090c073054ce8912656b6f7f40b517812be71e630a8fe628235d3e42013dea8b0
DIST thin-provisioning-tools-0.2.8.tar.gz 158332 SHA256 8a5d87b929095a383594b7141b89e51ae42046d7dd254d544330d789b6744344 SHA512 6534bf42ae936f6f32ce05b89eaeb731938b3761e74366d21282a69d74875d1f9d5084590b19969894c9908726e96f17714f051f050a040dd934533830eddfa9 WHIRLPOOL 16bcc268b450938ccec450323ce6dee97a4851c97438115c250c674b930ef8dfd0c7f6507d6c5204b72250da685d35ff57cf72f297abeec6704fb09520307ef2
DIST thin-provisioning-tools-0.3.2.tar.gz 175049 SHA256 1b9d8e9269cffe06f3c87214d35436225e12599debefbf1a50194c69cc3404ca SHA512 d6e18c303769b39c5bd48ef30d2819adc57d2d87b3c9b56d5d72468fb35f9b7b2309d35c6c12eabc36d653dd85338b9ad2fca9eed5c738a87b932b71f3a6da4f WHIRLPOOL b1bd87aa1995ba0616001837247c962c492d0029cb8a89b97aa326eb63d8a89113905f5d34490593e0cfcca33ef074e02a50679d22c3b1859d8fe5b97368c608
EBUILD thin-provisioning-tools-0.2.8-r1.ebuild 1376 SHA256 d93bb5e8d1002265d7b8d1db105a4d374b4129b2ac1046ed282e0146ae54eb3f SHA512 d46e703fbe518cfd6ad50e66d7d9dff21e9e8c0099c4cd47694621b9801c433096517cfc78d3d02f706a8a9d73db9080d4f46ccf0fa5e92980429420c70476a8 WHIRLPOOL cc77348fcede6e813185cd669bd80e0b87281780139572c0fc5499012b48251acc998413a570a211e2a547a6495f9c9e2e1215861b4b3a34e0f234f39e39ee9a
EBUILD thin-provisioning-tools-0.2.8-r2.ebuild 1634 SHA256 09624fe83a489f136d7bcac6d1a94c302e4936fd77df8f10cc3ed4df6924b763 SHA512 1131657c74b65eec0a95d216e67955fe42de52a2fd67ae20592360bec671669149305bc7f1004026cdd4ac337982a66db50127565d6ef727e611cadef76e4e4a WHIRLPOOL b0e71575e9a4109c9a6982ec56a095787016c2a8dbdd2cdbbce92dda595c2739e0519054fc00154c575300205167aa65a493913f748a711dc4222c59b89144cd
+EBUILD thin-provisioning-tools-0.3.2-r1.ebuild 1507 SHA256 add8783b759c3d5a85a739dc35242b185c3a481085f028d4fa30e4ab3c2b1f84 SHA512 411685c6d1e58969e11dc3282f45ea86311d75903c646f2a4b91e578e8ef3384df983f9bb4eb6bd09b6d8b20ac55e0fce4551b1bddf7b2758f982101826a1f7b WHIRLPOOL 226d7f6db6082d52601f1760b254aaba3629e79bf861bf36adfd7ed44c0daa8b083125cbb3a13aca31feffc9b86ea131afbab281fa75e428d9ea643ac808ea58
EBUILD thin-provisioning-tools-0.3.2.ebuild 1418 SHA256 8c2df594d102406553b49c86cebab25a82cea44074a65434206eb93f431cd27b SHA512 fb1f78ef9352aaefba3c1a0d4a2d1e555908793751414885f3bddb111f0ece309935132080119c6d9b5d1105d7068e5be09565f8f70f628321b07d82b14e9450 WHIRLPOOL 3449f5935c8152f3fbd7c538034016ff706d7b81c5f4d91648f41f6ef8926f95bfb201bf899e73973c2acb930552213c903ee984d40d0ad527efbd6c38d5ca88
-MISC ChangeLog 7239 SHA256 4ca9578905bae06924f92daf34fc5a75bed36cacedaaf7d0551ef1241eaf76d4 SHA512 f3f97d3a1afb06826fe1825a0e116469eda85df808804a6a9f4d7e7f130d3a06c08a9ce21027701981eb7afc1c9f97979eb08166d2aa318c053c9d40315279ba WHIRLPOOL 4dd82c8cd1a4163835678d588e5c72417c1b458ec5d982e75ff4e97cd7d3b0f6fc702a1edf4622fe27154778d8831d19af4c02a857dadefd0d7bc5c9fb7f7cbe
+MISC ChangeLog 7669 SHA256 20d1c2933a796e1f2611a090dafa4b842029c196556bd7639ccf2286b2539671 SHA512 659da8edac28de522aa3c90c4063935e2c972ffb63bb6d298a9fc5cd78694cc2c981c61cc4b0f067207a97bfc9b36ac1ebdb97c4798f54faffc550d8a89ef73b WHIRLPOOL 5190ed132311a8d5f33741a16d02375cf6f806a10babee6e6618d7ddd5c5d640d5416aa981fe2137293c0ea2da95ae2a488631b209489a463ecea9696e27694b
MISC metadata.xml 352 SHA256 5c0043176bb3aa5f86c10eda3e3aae3d71374de82b47f7cb07cc4e76337ad4c7 SHA512 8356301004ee2f61b15eb94aad63d7946af41d1171b9b95a4a4bbb1c1bba7670d70b47a81b2003ea80fbd6a7378c2eaedfe4369cfe5520e737324223546dd7e2 WHIRLPOOL b0f917ec1b54c8f3c20bdf6fc15d9d5f23273cf37b09a96f0d06ed315b22c7218ddd4b3523ec8b93ae70bb891202ed72b7fd53741c6ce72b6b4f216ea10dd884
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQEcBAEBCAAGBQJT2sFQAAoJEEdUh39IaPFNmD8H+wf65pYB2G83t6G2T2KkZWUL
-GmjGRnH0WYxnch6twUfvipvaQwSEW8TtavLqDg49G71VYBg6MaQ4bKDjVzKk+1zr
-Bwi2WZIs7faZGS/ZNftn/ZulpGEFihaOfwzzj2fRLcoqNv8oTjm+qohy74pv9ESZ
-kmW/zOLbB1CLYxQwt0e/llNWk9zn7uR3Y1wXsPcG5P0prmqeFGwTL4nfLAp4zD51
-BHcm7a6ug9Tu426u4AHN24mLYoDsBS0rObUNEGwgk4Vi6vDtv+X0CnRIAc2cUwth
-eqqNv3cAA/D4UpCn39XmnfZoh/IOH5b4Kz8AuxWPw427jbY9Wsi3+n9nhaaMCI4=
-=80t8
+iQEcBAEBCAAGBQJT21pbAAoJEEdUh39IaPFNvb4H/i3jYOOivME+jZeRIs+SZhxl
+iUurXD4ulGPlbeUrzMWfg3nZug3L40B28s9vjaEqSjm+AUSonRBgkooDX+8Ar3rT
+ezwvs+L2Y7Zpk5d8+kqWTTONTZHKq42gdxhM3MDfsgyJrjhJ2Q5gex2/cDgd7y+I
+sve7Ki4oXLUlTVRwLkqP+Ds9ImiM/6/8VRTuEG0oS2e41j1DHLLM33AfofJBHYOx
+WjmdnszqBShdjclI04jBsqmaHBNsG2k6puYr4m+oI3Z1ZVIXQKMzU4C9CmSolaNi
+Mbc63npuDommoPSaqqGjBsHug4ITf4xcptwOpvCzFDMLMJKY8vGk34rNwd/fa3M=
+=XasV
-----END PGP SIGNATURE-----
diff --git a/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch
new file mode 100644
index 000000000000..9dd978070312
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch
@@ -0,0 +1,214 @@
+From e77e8715b0a91a60cf2c4b85933b1063385da122 Mon Sep 17 00:00:00 2001
+From: Joe Thornber <ejt@redhat.com>
+Date: Wed, 2 Jul 2014 08:19:20 +0000
+Subject: Remove ambiguity between boost::uint64_t and ::uint64_t.
+
+This has been causing people problems on uclibc builds.
+---
+ caching/cache_metadata_size.cc | 15 +++++++--------
+ caching/xml_format.cc | 7 +++----
+ era/superblock.cc | 5 ++---
+ era/writeset_tree.cc | 5 ++---
+ persistent-data/data-structures/bitset.cc | 7 +++----
+ thin-provisioning/device_tree.h | 4 +---
+ thin-provisioning/metadata_dumper.cc | 2 +-
+ 7 files changed, 19 insertions(+), 26 deletions(-)
+
+diff --git a/caching/cache_metadata_size.cc b/caching/cache_metadata_size.cc
+index 7584da6..5792c49 100644
+--- a/caching/cache_metadata_size.cc
++++ b/caching/cache_metadata_size.cc
+@@ -7,7 +7,6 @@
+ #include <stdint.h>
+ #include <stdexcept>
+
+-using namespace boost;
+ using namespace std;
+
+ //----------------------------------------------------------------
+@@ -18,9 +17,9 @@ namespace {
+ : max_hint_width(4) {
+ }
+
+- optional<uint64_t> device_size;
+- optional<uint32_t> block_size;
+- optional<uint64_t> nr_blocks;
++ boost::optional<uint64_t> device_size;
++ boost::optional<uint32_t> block_size;
++ boost::optional<uint64_t> nr_blocks;
+ uint32_t max_hint_width;
+ };
+
+@@ -58,19 +57,19 @@ namespace {
+ while ((c = getopt_long(argc, argv, short_opts, long_opts, NULL)) != -1) {
+ switch (c) {
+ case 0:
+- fs.block_size = lexical_cast<uint32_t>(optarg);
++ fs.block_size = boost::lexical_cast<uint32_t>(optarg);
+ break;
+
+ case 1:
+- fs.device_size = lexical_cast<uint64_t>(optarg);
++ fs.device_size = boost::lexical_cast<uint64_t>(optarg);
+ break;
+
+ case 2:
+- fs.nr_blocks = lexical_cast<uint64_t>(optarg);
++ fs.nr_blocks = boost::lexical_cast<uint64_t>(optarg);
+ break;
+
+ case 3:
+- fs.max_hint_width = lexical_cast<uint32_t>(optarg);
++ fs.max_hint_width = boost::lexical_cast<uint32_t>(optarg);
+ break;
+
+ case 'h':
+diff --git a/caching/xml_format.cc b/caching/xml_format.cc
+index cb03018..84d6fc2 100644
+--- a/caching/xml_format.cc
++++ b/caching/xml_format.cc
+@@ -5,7 +5,6 @@
+ #include <boost/lexical_cast.hpp>
+ #include <expat.h>
+
+-using namespace boost;
+ using namespace caching;
+ using namespace persistent_data;
+ using namespace std;
+@@ -189,14 +188,14 @@ namespace {
+
+ block_address cblock = get_attr<uint64_t>(attr, "cache_block");
+ decoded_or_error doe = base64_decode(get_attr<string>(attr, "data"));
+- if (!get<vector<unsigned char> >(&doe)) {
++ if (!boost::get<vector<unsigned char> >(&doe)) {
+ ostringstream msg;
+ msg << "invalid base64 encoding of hint for cache block "
+- << cblock << ": " << get<string>(doe);
++ << cblock << ": " << boost::get<string>(doe);
+ throw runtime_error(msg.str());
+ }
+
+- e->hint(cblock, get<vector<unsigned char> >(doe));
++ e->hint(cblock, boost::get<vector<unsigned char> >(doe));
+ }
+
+ // FIXME: why passing e by ptr?
+diff --git a/era/superblock.cc b/era/superblock.cc
+index 1bd1a4f..c319e9b 100644
+--- a/era/superblock.cc
++++ b/era/superblock.cc
+@@ -4,7 +4,6 @@
+ #include "persistent-data/errors.h"
+
+ using namespace base;
+-using namespace boost;
+ using namespace era;
+ using namespace superblock_damage;
+ using namespace persistent_data;
+@@ -149,8 +148,8 @@ superblock_traits::unpack(disk_type const &disk, value_type &value)
+
+ block_address ms = to_cpu<uint64_t>(disk.metadata_snap);
+ value.metadata_snap = (ms == SUPERBLOCK_LOCATION) ?
+- optional<block_address>() :
+- optional<block_address>(ms);
++ boost::optional<block_address>() :
++ boost::optional<block_address>(ms);
+ }
+
+ void
+diff --git a/era/writeset_tree.cc b/era/writeset_tree.cc
+index 54aa6a1..4e2c478 100644
+--- a/era/writeset_tree.cc
++++ b/era/writeset_tree.cc
+@@ -2,7 +2,6 @@
+ #include "persistent-data/data-structures/btree_damage_visitor.h"
+ #include "persistent-data/data-structures/bitset.h"
+
+-using namespace boost;
+ using namespace era;
+ using namespace writeset_tree_detail;
+ using namespace persistent_data;
+@@ -90,8 +89,8 @@ namespace {
+ private:
+ template <typename T>
+ run<uint32_t> to_uint32(run<T> const &r) {
+- return run<uint32_t>(optional<uint32_t>(r.begin_),
+- optional<uint32_t>(r.end_));
++ return run<uint32_t>(boost::optional<uint32_t>(r.begin_),
++ boost::optional<uint32_t>(r.end_));
+ }
+
+ damage_visitor &v_;
+diff --git a/persistent-data/data-structures/bitset.cc b/persistent-data/data-structures/bitset.cc
+index 5851e28..e49e19f 100644
+--- a/persistent-data/data-structures/bitset.cc
++++ b/persistent-data/data-structures/bitset.cc
+@@ -2,7 +2,6 @@
+ #include "persistent-data/data-structures/bitset.h"
+ #include "persistent-data/math_utils.h"
+
+-using namespace boost;
+ using namespace persistent_data;
+ using namespace persistent_data::bitset_detail;
+ using namespace std;
+@@ -12,7 +11,7 @@ using namespace std;
+ namespace {
+ struct bitset_traits {
+ typedef base::le64 disk_type;
+- typedef uint64_t value_type;
++ typedef ::uint64_t value_type;
+ typedef no_op_ref_counter<uint64_t> ref_counter;
+
+ static void unpack(disk_type const &disk, value_type &value) {
+@@ -118,11 +117,11 @@ namespace persistent_data {
+ }
+
+ private:
+- optional<uint32_t> lifted_mult64(optional<uint32_t> const &m) {
++ boost::optional<uint32_t> lifted_mult64(boost::optional<uint32_t> const &m) {
+ if (!m)
+ return m;
+
+- return optional<uint32_t>(*m * 64);
++ return boost::optional<uint32_t>(*m * 64);
+ }
+
+ bitset_visitor &v_;
+diff --git a/thin-provisioning/device_tree.h b/thin-provisioning/device_tree.h
+index 320eb73..23ae924 100644
+--- a/thin-provisioning/device_tree.h
++++ b/thin-provisioning/device_tree.h
+@@ -4,8 +4,6 @@
+ #include "persistent-data/data-structures/btree.h"
+ #include "persistent-data/run.h"
+
+-using namespace boost;
+-
+ //----------------------------------------------------------------
+
+ namespace thin_provisioning {
+@@ -50,7 +48,7 @@ namespace thin_provisioning {
+
+ class damage_visitor {
+ public:
+- typedef shared_ptr<damage_visitor> ptr;
++ typedef boost::shared_ptr<damage_visitor> ptr;
+
+ virtual ~damage_visitor() {}
+
+diff --git a/thin-provisioning/metadata_dumper.cc b/thin-provisioning/metadata_dumper.cc
+index dfe18e0..0bd284e 100644
+--- a/thin-provisioning/metadata_dumper.cc
++++ b/thin-provisioning/metadata_dumper.cc
+@@ -226,7 +226,7 @@ thin_provisioning::metadata_dump(metadata::ptr md, emitter::ptr e, bool repair)
+ md->sb_.trans_id_,
+ md->sb_.data_block_size_,
+ md->data_sm_->get_nr_blocks(),
+- optional<block_address>());
++ boost::optional<block_address>());
+
+ {
+ mapping_tree_detail::damage_visitor::ptr md_policy(mapping_damage_policy(repair));
+--
+2.0.2
+
diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.3.2-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..daad187ab68e
--- /dev/null
+++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.3.2-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-block/thin-provisioning-tools/thin-provisioning-tools-0.3.2-r1.ebuild,v 1.1 2014/08/01 09:14:12 ssuominen Exp $
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="A suite of tools for thin provisioning on Linux."
+HOMEPAGE="http://github.com/jthornber/thin-provisioning-tools"
+EXT=.tar.gz
+BASE_A=${P}${EXT}
+SRC_URI="http://github.com/jthornber/${PN}/archive/v${PV}${EXT} -> ${BASE_A}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+RDEPEND="dev-libs/expat"
+# || ( ) is a non-future proof workaround for Portage unefficiency wrt #477050
+DEPEND="${RDEPEND}
+ test? (
+ || ( dev-lang/ruby:2.9 dev-lang/ruby:2.8 dev-lang/ruby:2.7 dev-lang/ruby:2.6 dev-lang/ruby:2.5 dev-lang/ruby:2.4 dev-lang/ruby:2.3 dev-lang/ruby:2.2 dev-lang/ruby:2.1 dev-lang/ruby:2.0 dev-lang/ruby:1.9 dev-lang/ruby:1.8 )
+ dev-cpp/gmock
+ dev-util/cucumber
+ dev-util/aruba
+ )
+ dev-libs/boost"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix="${EPREFIX}"/ \
+ --bindir="${EPREFIX}"/sbin \
+ --with-optimisation='' \
+ $(use_enable test testing)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" MANDIR=/usr/share/man
+ dodoc README.md TODO.org
+}
+
+src_test() {
+ emake unit-test
+}