forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-db/mongodb: fix building with newer libpcre/glibc.
Gentoo-Bug: https://bugs.gentoo.org/580768 Gentoo-Bug: https://bugs.gentoo.org/625148 Gentoo-Bug: https://bugs.gentoo.org/626342 Package-Manager: Portage-2.3.8, Repoman-2.3.2
- Loading branch information
1 parent
85ff1fb
commit 4fb6b51
Showing
2 changed files
with
294 additions
and
12 deletions.
There are no files selected for viewing
283 changes: 283 additions & 0 deletions
283
dev-db/mongodb/files/mongodb-3.2.16-Replace-string-with-explicit-std-string.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,283 @@ | ||
diff -Nru mongodb-src-r3.2.16_orig/src/mongo/db/dbwebserver.cpp mongodb-src-r3.2.16/src/mongo/db/dbwebserver.cpp | ||
--- mongodb-src-r3.2.16_orig/src/mongo/db/dbwebserver.cpp 2017-07-14 22:36:01.000000000 +0200 | ||
+++ mongodb-src-r3.2.16/src/mongo/db/dbwebserver.cpp 2017-08-01 15:43:55.860712772 +0200 | ||
@@ -69,6 +69,7 @@ | ||
using std::map; | ||
using std::stringstream; | ||
using std::vector; | ||
+using std::string; | ||
|
||
using namespace html; | ||
|
||
diff -Nru mongodb-src-r3.2.16_orig/src/mongo/db/matcher/expression_leaf.cpp mongodb-src-r3.2.16/src/mongo/db/matcher/expression_leaf.cpp | ||
--- mongodb-src-r3.2.16_orig/src/mongo/db/matcher/expression_leaf.cpp 2017-07-14 22:36:01.000000000 +0200 | ||
+++ mongodb-src-r3.2.16/src/mongo/db/matcher/expression_leaf.cpp 2017-08-01 15:46:17.070708001 +0200 | ||
@@ -200,7 +200,7 @@ | ||
} | ||
|
||
void ComparisonMatchExpression::toBSON(BSONObjBuilder* out) const { | ||
- string opString = ""; | ||
+ std::string opString = ""; | ||
switch (matchType()) { | ||
case LT: | ||
opString = "$lt"; | ||
@@ -880,7 +880,7 @@ | ||
} | ||
|
||
void BitTestMatchExpression::toBSON(BSONObjBuilder* out) const { | ||
- string opString = ""; | ||
+ std::string opString = ""; | ||
|
||
switch (matchType()) { | ||
case BITS_ALL_SET: | ||
diff -Nru mongodb-src-r3.2.16_orig/src/mongo/db/repl/master_slave.cpp mongodb-src-r3.2.16/src/mongo/db/repl/master_slave.cpp | ||
--- mongodb-src-r3.2.16_orig/src/mongo/db/repl/master_slave.cpp 2017-07-14 22:36:01.000000000 +0200 | ||
+++ mongodb-src-r3.2.16/src/mongo/db/repl/master_slave.cpp 2017-08-01 15:54:45.140690837 +0200 | ||
@@ -161,7 +161,7 @@ | ||
|
||
BSONObjBuilder dbsNextPassBuilder; | ||
int n = 0; | ||
- for (set<string>::iterator i = addDbNextPass.begin(); i != addDbNextPass.end(); i++) { | ||
+ for (set<std::string>::iterator i = addDbNextPass.begin(); i != addDbNextPass.end(); i++) { | ||
n++; | ||
dbsNextPassBuilder.appendBool(*i, 1); | ||
} | ||
@@ -170,7 +170,7 @@ | ||
|
||
BSONObjBuilder incompleteCloneDbsBuilder; | ||
n = 0; | ||
- for (set<string>::iterator i = incompleteCloneDbs.begin(); i != incompleteCloneDbs.end(); i++) { | ||
+ for (set<std::string>::iterator i = incompleteCloneDbs.begin(); i != incompleteCloneDbs.end(); i++) { | ||
n++; | ||
incompleteCloneDbsBuilder.appendBool(*i, 1); | ||
} | ||
@@ -181,7 +181,7 @@ | ||
} | ||
|
||
void ReplSource::ensureMe(OperationContext* txn) { | ||
- string myname = getHostName(); | ||
+ std::string myname = getHostName(); | ||
|
||
// local.me is an identifier for a server for getLastError w:2+ | ||
bool exists = Helpers::getSingleton(txn, "local.me", _me); | ||
@@ -373,10 +373,10 @@ | ||
} | ||
|
||
virtual bool run(OperationContext* txn, | ||
- const string& ns, | ||
+ const std::string& ns, | ||
BSONObj& cmdObj, | ||
int options, | ||
- string& errmsg, | ||
+ std::string& errmsg, | ||
BSONObjBuilder& result) { | ||
HandshakeArgs handshake; | ||
Status status = handshake.initialize(cmdObj); | ||
@@ -393,7 +393,7 @@ | ||
} handshakeCmd; | ||
|
||
bool replHandshake(DBClientConnection* conn, const OID& myRID) { | ||
- string myname = getHostName(); | ||
+ std::string myname = getHostName(); | ||
|
||
BSONObjBuilder cmd; | ||
cmd.append("handshake", myRID); | ||
@@ -445,7 +445,7 @@ | ||
BSONElement e = i.next(); | ||
if (e.eoo()) | ||
break; | ||
- string name = e.embeddedObject().getField("name").valuestr(); | ||
+ std::string name = e.embeddedObject().getField("name").valuestr(); | ||
if (!e.embeddedObject().getBoolField("empty")) { | ||
if (name != "local") { | ||
if (only.empty() || only == name) { | ||
@@ -459,7 +459,7 @@ | ||
save(txn); | ||
} | ||
|
||
-void ReplSource::resyncDrop(OperationContext* txn, const string& db) { | ||
+void ReplSource::resyncDrop(OperationContext* txn, const std::string& db) { | ||
log() << "resync: dropping database " << db; | ||
OldClientContext ctx(txn, db); | ||
dropDatabase(txn, ctx.db()); | ||
@@ -502,13 +502,13 @@ | ||
|
||
static DatabaseIgnorer ___databaseIgnorer; | ||
|
||
-void DatabaseIgnorer::doIgnoreUntilAfter(const string& db, const Timestamp& futureOplogTime) { | ||
+void DatabaseIgnorer::doIgnoreUntilAfter(const std::string& db, const Timestamp& futureOplogTime) { | ||
if (futureOplogTime > _ignores[db]) { | ||
_ignores[db] = futureOplogTime; | ||
} | ||
} | ||
|
||
-bool DatabaseIgnorer::ignoreAt(const string& db, const Timestamp& currentOplogTime) { | ||
+bool DatabaseIgnorer::ignoreAt(const std::string& db, const Timestamp& currentOplogTime) { | ||
if (_ignores[db].isNull()) { | ||
return false; | ||
} | ||
@@ -598,7 +598,7 @@ | ||
|
||
// The database is present on the master and no conflicting databases | ||
// are present on the master. Drop any local conflicts. | ||
- for (set<string>::const_iterator i = duplicates.begin(); i != duplicates.end(); ++i) { | ||
+ for (set<std::string>::const_iterator i = duplicates.begin(); i != duplicates.end(); ++i) { | ||
___databaseIgnorer.doIgnoreUntilAfter(*i, lastTime); | ||
incompleteCloneDbs.erase(*i); | ||
addDbNextPass.erase(*i); | ||
@@ -793,10 +793,10 @@ | ||
} | ||
|
||
void ReplSource::syncToTailOfRemoteLog() { | ||
- string _ns = ns(); | ||
+ std::string _ns = ns(); | ||
BSONObjBuilder b; | ||
if (!only.empty()) { | ||
- b.appendRegex("ns", string("^") + pcrecpp::RE::QuoteMeta(only)); | ||
+ b.appendRegex("ns", std::string("^") + pcrecpp::RE::QuoteMeta(only)); | ||
} | ||
BSONObj last = oplogReader.findOne(_ns.c_str(), Query(b.done()).sort(BSON("$natural" << -1))); | ||
if (!last.isEmpty()) { | ||
@@ -844,7 +844,7 @@ | ||
*/ | ||
int ReplSource::_sync_pullOpLog(OperationContext* txn, int& nApplied) { | ||
int okResultCode = 1; | ||
- string ns = string("local.oplog.$") + sourceName(); | ||
+ std::string ns = std::string("local.oplog.$") + sourceName(); | ||
LOG(2) << "sync_pullOpLog " << ns << " syncedTo:" << syncedTo.toStringLong() << '\n'; | ||
|
||
bool tailing = true; | ||
@@ -864,7 +864,7 @@ | ||
BSONElement e = i.next(); | ||
if (e.eoo()) | ||
break; | ||
- string name = e.embeddedObject().getField("name").valuestr(); | ||
+ std::string name = e.embeddedObject().getField("name").valuestr(); | ||
if (!e.embeddedObject().getBoolField("empty")) { | ||
if (name != "local") { | ||
if (only.empty() || only == name) { | ||
@@ -888,7 +888,7 @@ | ||
if (!only.empty()) { | ||
// note we may here skip a LOT of data table scanning, a lot of work for the master. | ||
// maybe append "\\." here? | ||
- query.appendRegex("ns", string("^") + pcrecpp::RE::QuoteMeta(only)); | ||
+ query.appendRegex("ns", std::string("^") + pcrecpp::RE::QuoteMeta(only)); | ||
} | ||
BSONObj queryObj = query.done(); | ||
// e.g. queryObj = { ts: { $gte: syncedTo } } | ||
@@ -907,7 +907,7 @@ | ||
|
||
// show any deferred database creates from a previous pass | ||
{ | ||
- set<string>::iterator i = addDbNextPass.begin(); | ||
+ set<std::string>::iterator i = addDbNextPass.begin(); | ||
if (i != addDbNextPass.end()) { | ||
BSONObjBuilder b; | ||
b.append("ns", *i + '.'); | ||
@@ -938,7 +938,7 @@ | ||
BSONObj op = oplogReader.next(); | ||
BSONElement ts = op.getField("ts"); | ||
if (ts.type() != Date && ts.type() != bsonTimestamp) { | ||
- string err = op.getStringField("$err"); | ||
+ std::string err = op.getStringField("$err"); | ||
if (!err.empty()) { | ||
// 13051 is "tailable cursor requested on non capped collection" | ||
if (op.getIntField("code") == 13051) { | ||
@@ -1106,7 +1106,7 @@ | ||
|
||
// FIXME Handle cases where this db isn't on default port, or default port is spec'd in | ||
// hostName. | ||
- if ((string("localhost") == hostName || string("127.0.0.1") == hostName) && | ||
+ if ((std::string("localhost") == hostName || std::string("127.0.0.1") == hostName) && | ||
serverGlobalParams.port == ServerGlobalParams::DefaultDBPort) { | ||
log() << "can't sync from self (localhost). sources configuration may be wrong." << endl; | ||
sleepsecs(5); | ||
@@ -1251,7 +1251,7 @@ | ||
if (s) { | ||
stringstream ss; | ||
ss << "sleep " << s << " sec before next pass"; | ||
- string msg = ss.str(); | ||
+ std::string msg = ss.str(); | ||
if (!serverGlobalParams.quiet) | ||
log() << msg << endl; | ||
ReplInfo r(msg.c_str()); | ||
diff -Nru mongodb-src-r3.2.16_orig/src/mongo/shell/bench.cpp mongodb-src-r3.2.16/src/mongo/shell/bench.cpp | ||
--- mongodb-src-r3.2.16_orig/src/mongo/shell/bench.cpp 2017-07-14 22:36:01.000000000 +0200 | ||
+++ mongodb-src-r3.2.16/src/mongo/shell/bench.cpp 2017-08-01 16:20:20.864638957 +0200 | ||
@@ -674,7 +674,7 @@ | ||
invariant(bsonTemplateEvaluator.setId(_id) == BsonTemplateEvaluator::StatusSuccess); | ||
|
||
if (_config->username != "") { | ||
- string errmsg; | ||
+ std::string errmsg; | ||
if (!conn->auth("admin", _config->username, _config->password, errmsg)) { | ||
uasserted(15931, "Authenticating to connection for _benchThread failed: " + errmsg); | ||
} | ||
@@ -920,7 +920,7 @@ | ||
|
||
if (!result["err"].eoo() && result["err"].type() == String && | ||
(_config->throwGLE || op.throwGLE)) | ||
- throw DBException((string) "From benchRun GLE" + | ||
+ throw DBException((std::string) "From benchRun GLE" + | ||
causedBy(result["err"].String()), | ||
result["code"].eoo() ? 0 : result["code"].Int()); | ||
} | ||
@@ -987,7 +987,7 @@ | ||
|
||
if (!result["err"].eoo() && result["err"].type() == String && | ||
(_config->throwGLE || op.throwGLE)) | ||
- throw DBException((string) "From benchRun GLE" + | ||
+ throw DBException((std::string) "From benchRun GLE" + | ||
causedBy(result["err"].String()), | ||
result["code"].eoo() ? 0 : result["code"].Int()); | ||
} | ||
@@ -1035,7 +1035,7 @@ | ||
|
||
if (!result["err"].eoo() && result["err"].type() == String && | ||
(_config->throwGLE || op.throwGLE)) | ||
- throw DBException((string) "From benchRun GLE " + | ||
+ throw DBException((std::string) "From benchRun GLE " + | ||
causedBy(result["err"].String()), | ||
result["code"].eoo() ? 0 : result["code"].Int()); | ||
} | ||
@@ -1136,7 +1136,7 @@ | ||
try { | ||
std::unique_ptr<DBClientBase> conn(_config->createConnection()); | ||
if (!_config->username.empty()) { | ||
- string errmsg; | ||
+ std::string errmsg; | ||
if (!conn->auth("admin", _config->username, _config->password, errmsg)) { | ||
uasserted(15932, "Authenticating to connection for benchThread failed: " + errmsg); | ||
} | ||
@@ -1168,7 +1168,7 @@ | ||
std::unique_ptr<DBClientBase> conn(_config->createConnection()); | ||
// Must authenticate to admin db in order to run serverStatus command | ||
if (_config->username != "") { | ||
- string errmsg; | ||
+ std::string errmsg; | ||
if (!conn->auth("admin", _config->username, _config->password, errmsg)) { | ||
uasserted(16704, | ||
str::stream() | ||
@@ -1204,7 +1204,7 @@ | ||
{ | ||
std::unique_ptr<DBClientBase> conn(_config->createConnection()); | ||
if (_config->username != "") { | ||
- string errmsg; | ||
+ std::string errmsg; | ||
// this can only fail if admin access was revoked since start of run | ||
if (!conn->auth("admin", _config->username, _config->password, errmsg)) { | ||
uasserted(16705, | ||
diff -Nru mongodb-src-r3.2.16_orig/src/mongo/util/net/miniwebserver.cpp mongodb-src-r3.2.16/src/mongo/util/net/miniwebserver.cpp | ||
--- mongodb-src-r3.2.16_orig/src/mongo/util/net/miniwebserver.cpp 2017-07-14 22:36:01.000000000 +0200 | ||
+++ mongodb-src-r3.2.16/src/mongo/util/net/miniwebserver.cpp 2017-08-01 16:01:01.832678112 +0200 | ||
@@ -45,8 +45,9 @@ | ||
using std::endl; | ||
using std::stringstream; | ||
using std::vector; | ||
+using std::string; | ||
|
||
-MiniWebServer::MiniWebServer(const string& name, const string& ip, int port) | ||
+MiniWebServer::MiniWebServer(const std::string& name, const std::string& ip, int port) | ||
: Listener(name, ip, port, false) {} | ||
|
||
string MiniWebServer::parseURL(const char* buf) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters