ssuominen    14/08/01 09:14:12

  Added:               
                        
thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch
  Log:
  Fix portability with, for exaexample, sys-libs/uclibc using upstream patch 
http://github.com/jthornber/thin-provisioning-tools/commit/e77e8715b0a91a60cf2c4b85933b1063385da122
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 
4868F14D)

Revision  Changes    Path
1.1                  
sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-block/thin-provisioning-tools/files/thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch?rev=1.1&content-type=text/plain

Index: 
thin-provisioning-tools-0.3.2-Remove-ambiguity-between-boost-uint64_t-and-uint64_t.patch
===================================================================
>From e77e8715b0a91a60cf2c4b85933b1063385da122 Mon Sep 17 00:00:00 2001
From: Joe Thornber <[email protected]>
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





Reply via email to