[mongodb] Update to 2.4.5 (#979784)
tdawson
tdawson at fedoraproject.org
Fri Jul 12 21:38:09 UTC 2013
commit 4c7a79895bbcd712e117dfb82019b60c09354661
Author: Troy Dawson <tdawson at redhat.com>
Date: Fri Jul 12 16:37:57 2013 -0500
Update to 2.4.5 (#979784)
.gitignore | 1 +
mongodb-2.2.4-boost-filesystem3.patch | 285 --------------------
mongodb-2.2.4-fix-xtime.patch | 102 -------
mongodb-2.2.4-full-flag.patch | 13 -
mongodb-2.2.4-no-term.patch | 12 -
mongodb-2.2.4-shared-library.patch | 13 -
...rm-atomics.patch => mongodb-2.4.5-atomics.patch | 26 +-
mongodb-2.4.5-boost-fix.patch | 247 +++++++++++++++++
mongodb-2.4.5-boost-size-fix.patch | 51 ++++
mongodb-2.4.5-gcc48.patch | 62 +++++
mongodb-2.4.5-no-term.patch | 12 +
mongodb-2.4.5-pass-flags.patch | 38 +++
...4.5-signed-char-for-BSONType-enumerations.patch | 35 +++
...patch => mongodb-2.4.5-use-system-version.patch | 11 +-
mongodb.init | 78 ++++++-
mongodb.spec | 203 ++++++++-------
sources | 2 +-
17 files changed, 653 insertions(+), 538 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index a6d3ae0..fd10005 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,4 @@
/mongodb-src-r2.2.2.tar.gz
/mongodb-src-r2.2.3.tar.gz
/mongodb-src-r2.2.4.tar.gz
+/mongodb-src-r2.4.5.tar.gz
diff --git a/mongodb-2.2.4-arm-atomics.patch b/mongodb-2.4.5-atomics.patch
similarity index 76%
rename from mongodb-2.2.4-arm-atomics.patch
rename to mongodb-2.4.5-atomics.patch
index 3a42514..1458a36 100644
--- a/mongodb-2.2.4-arm-atomics.patch
+++ b/mongodb-2.4.5-atomics.patch
@@ -1,6 +1,6 @@
-diff -upr mongodb-src-r2.2.4.orig/src/mongo/bson/util/atomic_int.h mongodb-src-r2.2.4/src/mongo/bson/util/atomic_int.h
---- mongodb-src-r2.2.4.orig/src/mongo/bson/util/atomic_int.h 2013-03-31 21:41:49.000000000 -0500
-+++ mongodb-src-r2.2.4/src/mongo/bson/util/atomic_int.h 2013-05-04 08:29:04.787000000 -0500
+diff -up mongodb-src-r2.4.5/src/mongo/bson/util/atomic_int.h.atomics mongodb-src-r2.4.5/src/mongo/bson/util/atomic_int.h
+--- mongodb-src-r2.4.5/src/mongo/bson/util/atomic_int.h.atomics 2013-07-02 15:27:08.000000000 -0400
++++ mongodb-src-r2.4.5/src/mongo/bson/util/atomic_int.h 2013-07-11 10:20:25.474610585 -0400
@@ -24,6 +24,10 @@
#include "mongo/platform/compiler.h"
@@ -41,10 +41,10 @@ diff -upr mongodb-src-r2.2.4.orig/src/mongo/bson/util/atomic_int.h mongodb-src-r
#elif defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
// this is in GCC >= 4.1
inline void AtomicUInt::set(unsigned newX) { __sync_synchronize(); x = newX; }
-diff -upr mongodb-src-r2.2.4.orig/src/mongo/platform/atomic_intrinsics_gcc.h mongodb-src-r2.2.4/src/mongo/platform/atomic_intrinsics_gcc.h
---- mongodb-src-r2.2.4.orig/src/mongo/platform/atomic_intrinsics_gcc.h 2013-03-31 21:41:49.000000000 -0500
-+++ mongodb-src-r2.2.4/src/mongo/platform/atomic_intrinsics_gcc.h 2013-05-04 08:29:04.780000000 -0500
-@@ -14,16 +14,56 @@
+diff -up mongodb-src-r2.4.5/src/mongo/platform/atomic_intrinsics_gcc.h.atomics mongodb-src-r2.4.5/src/mongo/platform/atomic_intrinsics_gcc.h
+--- mongodb-src-r2.4.5/src/mongo/platform/atomic_intrinsics_gcc.h.atomics 2013-07-02 15:27:08.000000000 -0400
++++ mongodb-src-r2.4.5/src/mongo/platform/atomic_intrinsics_gcc.h 2013-07-11 10:20:25.479611190 -0400
+@@ -14,16 +14,60 @@
*/
/**
@@ -85,6 +85,10 @@ diff -upr mongodb-src-r2.2.4.orig/src/mongo/platform/atomic_intrinsics_gcc.h mon
+ return __atomic_load_n (value, __ATOMIC_SEQ_CST);
+ }
+
++ static T loadRelaxed(volatile const T* value) {
++ return *value;
++ }
++
+ static void store(volatile T* dest, T newValue) {
+ __atomic_store_n (dest, newValue, __ATOMIC_SEQ_CST);
+ }
@@ -103,16 +107,16 @@ diff -upr mongodb-src-r2.2.4.orig/src/mongo/platform/atomic_intrinsics_gcc.h mon
/**
* Instantiation of AtomicIntrinsics<> for all word types T where sizeof<T> <= sizeof(void *).
*
-@@ -159,4 +199,6 @@ namespace mongo {
+@@ -163,4 +207,6 @@ namespace mongo {
~AtomicIntrinsics();
};
+#endif // GCC_VERSION >= 40700
+
} // namespace mongo
-diff -upr mongodb-src-r2.2.4.orig/src/mongo/platform/bits.h mongodb-src-r2.2.4/src/mongo/platform/bits.h
---- mongodb-src-r2.2.4.orig/src/mongo/platform/bits.h 2013-03-31 21:41:49.000000000 -0500
-+++ mongodb-src-r2.2.4/src/mongo/platform/bits.h 2013-05-04 08:29:04.781000000 -0500
+diff -up mongodb-src-r2.4.5/src/mongo/platform/bits.h.atomics mongodb-src-r2.4.5/src/mongo/platform/bits.h
+--- mongodb-src-r2.4.5/src/mongo/platform/bits.h.atomics 2013-07-02 15:27:08.000000000 -0400
++++ mongodb-src-r2.4.5/src/mongo/platform/bits.h 2013-07-11 10:20:25.484611795 -0400
@@ -21,7 +21,7 @@
#if defined(__x86_64__) || defined(__amd64__) || defined(_WIN64)
diff --git a/mongodb-2.4.5-boost-fix.patch b/mongodb-2.4.5-boost-fix.patch
new file mode 100644
index 0000000..073827e
--- /dev/null
+++ b/mongodb-2.4.5-boost-fix.patch
@@ -0,0 +1,247 @@
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/db/db.cpp mongodb-src-r2.4.4/src/mongo/db/db.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/db/db.cpp 2013-06-16 20:57:57.398198115 +0200
++++ mongodb-src-r2.4.4/src/mongo/db/db.cpp 2013-06-28 20:44:18.029137049 +0200
+@@ -396,7 +396,11 @@
+ boost::filesystem::path path( dbpath );
+ for ( boost::filesystem::directory_iterator i( path );
+ i != boost::filesystem::directory_iterator(); ++i ) {
++ #if BOOST_VERSION >= 104400
+ string fileName = boost::filesystem::path(*i).leaf().string();
++ #else
++ string fileName = boost::filesystem::path(*i).leaf();
++ #endif
+ if ( boost::filesystem::is_directory( *i ) &&
+ fileName.length() && fileName[ 0 ] == '$' )
+ boost::filesystem::remove_all( *i );
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/db/dur_journal.cpp mongodb-src-r2.4.4/src/mongo/db/dur_journal.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/db/dur_journal.cpp 2013-06-16 20:57:57.418194086 +0200
++++ mongodb-src-r2.4.4/src/mongo/db/dur_journal.cpp 2013-06-28 20:44:18.032137434 +0200
+@@ -190,7 +190,11 @@
+ for ( boost::filesystem::directory_iterator i( jdir );
+ i != boost::filesystem::directory_iterator();
+ ++i ) {
++ #if BOOST_VERSION >= 104400
+ string fileName = boost::filesystem::path(*i).leaf().string();
++ #else
++ string fileName = boost::filesystem::path(*i).leaf();
++ #endif
+ if( anyFiles || str::startsWith(fileName, "j._") )
+ return true;
+ }
+@@ -208,7 +212,11 @@
+ for ( boost::filesystem::directory_iterator i( getJournalDir() );
+ i != boost::filesystem::directory_iterator();
+ ++i ) {
++ #if BOOST_VERSION >= 104400
+ string fileName = boost::filesystem::path(*i).leaf().string();
++ #else
++ string fileName = boost::filesystem::path(*i).leaf();
++ #endif
+ if( str::startsWith(fileName, "j._") ) {
+ try {
+ removeOldJournalFile(*i);
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/db/dur_recover.cpp mongodb-src-r2.4.4/src/mongo/db/dur_recover.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/db/dur_recover.cpp 2013-06-16 20:57:57.407196302 +0200
++++ mongodb-src-r2.4.4/src/mongo/db/dur_recover.cpp 2013-06-28 20:44:18.035137819 +0200
+@@ -75,7 +75,11 @@
+ i != boost::filesystem::directory_iterator();
+ ++i ) {
+ boost::filesystem::path filepath = *i;
++ #if BOOST_VERSION >= 104400
+ string fileName = boost::filesystem::path(*i).leaf().string();
++ #else
++ string fileName = boost::filesystem::path(*i).leaf();
++ #endif
+ if( str::startsWith(fileName, "j._") ) {
+ unsigned u = str::toUnsigned( str::after(fileName, '_') );
+ if( m.count(u) ) {
+@@ -87,8 +91,13 @@
+ for( map<unsigned,boost::filesystem::path>::iterator i = m.begin(); i != m.end(); ++i ) {
+ if( i != m.begin() && m.count(i->first - 1) == 0 ) {
+ uasserted(13532,
+- str::stream() << "unexpected file in journal directory " << dir.string()
+- << " : " << boost::filesystem::path(i->second).leaf().string() << " : can't find its preceding file");
++ str::stream() << "unexpected file in journal directory " << dir.string() << " : "
++ #if BOOST_VERSION >= 104400
++ << boost::filesystem::path(i->second).leaf().string()
++ #else
++ << boost::filesystem::path(i->second).leaf()
++ #endif
++ << " : can't find its preceding file");
+ }
+ files.push_back(i->second);
+ }
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/db/initialize_server_global_state.cpp mongodb-src-r2.4.4/src/mongo/db/initialize_server_global_state.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/db/initialize_server_global_state.cpp 2013-06-16 20:57:57.384200935 +0200
++++ mongodb-src-r2.4.4/src/mongo/db/initialize_server_global_state.cpp 2013-06-28 20:44:18.042138718 +0200
+@@ -166,8 +166,13 @@
+ #endif
+ if (!cmdLine.logpath.empty() && !isMongodShutdownSpecialCase) {
+ fassert(16448, !cmdLine.logWithSyslog);
++ #if BOOST_VERSION >= 104400
+ string absoluteLogpath = boost::filesystem::absolute(
+ cmdLine.logpath, cmdLine.cwd).string();
++ #else
++ string absoluteLogpath = boost::filesystem::complete(
++ cmdLine.logpath, cmdLine.cwd).string();
++ #endif
+ if (!initLogging(absoluteLogpath, cmdLine.logAppend)) {
+ cout << "Bad logpath value: \"" << absoluteLogpath << "\"; terminating." << endl;
+ return false;
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/db/instance.cpp mongodb-src-r2.4.4/src/mongo/db/instance.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/db/instance.cpp 2013-06-16 20:57:57.400197712 +0200
++++ mongodb-src-r2.4.4/src/mongo/db/instance.cpp 2013-06-28 20:44:18.037138076 +0200
+@@ -891,13 +891,21 @@
+ i != boost::filesystem::directory_iterator(); ++i ) {
+ if ( directoryperdb ) {
+ boost::filesystem::path p = *i;
++ #if BOOST_VERSION >= 104400
+ string dbName = p.leaf().string();
++ #else
++ string dbName = p.leaf();
++ #endif
+ p /= ( dbName + ".ns" );
+ if ( exists( p ) )
+ names.push_back( dbName );
+ }
+ else {
++ #if BOOST_VERSION >= 104400
+ string fileName = boost::filesystem::path(*i).leaf().string();
++ #else
++ string fileName = boost::filesystem::path(*i).leaf();
++ #endif
+ if ( fileName.length() > 3 && fileName.substr( fileName.length() - 3, 3 ) == ".ns" )
+ names.push_back( fileName.substr( 0, fileName.length() - 3 ) );
+ }
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/db/pdfile.cpp mongodb-src-r2.4.4/src/mongo/db/pdfile.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/db/pdfile.cpp 2013-06-16 20:57:57.418194086 +0200
++++ mongodb-src-r2.4.4/src/mongo/db/pdfile.cpp 2013-06-28 20:44:18.045139103 +0200
+@@ -30,6 +30,7 @@
+ #include <algorithm>
+ #include <boost/filesystem/operations.hpp>
+ #include <boost/optional/optional.hpp>
++#include <boost/utility/in_place_factory.hpp>
+ #include <list>
+
+ #include "mongo/base/counter.h"
+@@ -1916,7 +1917,11 @@
+ virtual bool apply( const Path &p ) {
+ if ( !boost::filesystem::exists( p ) )
+ return false;
++ #if BOOST_VERSION >= 104400
+ boostRenameWrapper( p, newPath_ / ( p.leaf().string() + ".bak" ) );
++ #else
++ boostRenameWrapper( p, newPath_ / ( p.leaf() + ".bak" ) );
++ #endif
+ return true;
+ }
+ virtual const char * op() const {
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/pch.h mongodb-src-r2.4.4/src/mongo/pch.h
+--- mongodb-src-r2.4.4.orig/src/mongo/pch.h 2013-06-16 20:57:57.424192878 +0200
++++ mongodb-src-r2.4.4/src/mongo/pch.h 2013-06-28 20:44:18.046139231 +0200
+@@ -47,6 +47,7 @@
+ #define BOOST_FILESYSTEM_VERSION 3
+ #include <boost/shared_ptr.hpp>
+ #include <boost/smart_ptr.hpp>
++#include <boost/make_shared.hpp>
+ #include <boost/function.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/version.hpp>
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/shell/shell_utils_extended.cpp mongodb-src-r2.4.4/src/mongo/shell/shell_utils_extended.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/shell/shell_utils_extended.cpp 2013-06-16 20:57:57.487180186 +0200
++++ mongodb-src-r2.4.4/src/mongo/shell/shell_utils_extended.cpp 2013-06-28 20:44:18.043138846 +0200
+@@ -58,7 +58,11 @@
+ while ( i != end ) {
+ boost::filesystem::path p = *i;
+ BSONObjBuilder b;
++ #if BOOST_VERSION >= 104400
+ b << "name" << p.generic_string();
++ #else
++ b << "name" << p.string();
++ #endif
+ b.appendBool( "isDirectory", is_directory( p ) );
+ if ( ! boost::filesystem::is_directory( p ) ) {
+ try {
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/tools/restore.cpp mongodb-src-r2.4.4/src/mongo/tools/restore.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/tools/restore.cpp 2013-06-16 20:57:57.425192676 +0200
++++ mongodb-src-r2.4.4/src/mongo/tools/restore.cpp 2013-06-28 20:44:18.041138589 +0200
+@@ -231,7 +231,11 @@
+ LOG(2) << "drillDown: " << root.string() << endl;
+
+ // skip hidden files and directories
++ #if BOOST_VERSION >= 104400
+ if (root.leaf().string()[0] == '.' && root.leaf().string() != ".")
++ #else
++ if (root.leaf()[0] == '.' && root.leaf() != ".")
++ #endif
+ return;
+
+ if ( is_directory( root ) ) {
+@@ -306,14 +310,24 @@
+ ns += _db;
+ }
+ else {
++ #if BOOST_VERSION >= 104400
+ ns = root.parent_path().filename().string();
++ #else
++ ns = root.parent_path().filename();
++ #endif
+ if (ns.empty())
+ ns = "test";
+ }
+
+ verify( ns.size() );
+
+- string oldCollName = root.leaf().string(); // Name of the collection that was dumped from
++ // Name of the collection that was dumped from
++ #if BOOST_VERSION >= 104400
++ string oldCollName = root.leaf().string();
++ #else
++ string oldCollName = root.leaf();
++ #endif
++
+ oldCollName = oldCollName.substr( 0 , oldCollName.find_last_of( "." ) );
+ if (use_coll) {
+ ns += "." + _coll;
+@@ -352,7 +366,11 @@
+ if (!boost::filesystem::exists(metadataFile.string())) {
+ // This is fine because dumps from before 2.1 won't have a metadata file, just print a warning.
+ // System collections shouldn't have metadata so don't warn if that file is missing.
++ #if BOOST_VERSION >= 104400
+ if (!startsWith(metadataFile.leaf().string(), "system.")) {
++ #else
++ if (!startsWith(metadataFile.leaf(), "system.")) {
++ #endif
+ log() << metadataFile.string() << " not found. Skipping." << endl;
+ }
+ } else {
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/util/mmap.cpp mongodb-src-r2.4.4/src/mongo/util/mmap.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/util/mmap.cpp 2013-06-16 20:57:57.462185223 +0200
++++ mongodb-src-r2.4.4/src/mongo/util/mmap.cpp 2013-06-28 20:44:18.044138974 +0200
+@@ -198,7 +198,11 @@
+ void MongoFile::setFilename(const std::string& fn) {
+ LockMongoFilesExclusive lk;
+ verify( _filename.empty() );
++ #if BOOST_VERSION >= 104400
+ _filename = boost::filesystem::absolute(fn).generic_string();
++ #else
++ _filename = boost::filesystem::system_complete(fn).string();
++ #endif
+ MongoFile *&ptf = pathToFile[_filename];
+ massert(13617, "MongoFile : multiple opens of same filename", ptf == 0);
+ ptf = this;
+@@ -206,8 +210,12 @@
+
+ MongoFile* MongoFileFinder::findByPath(const std::string& path) const {
+ return mapFindWithDefault(pathToFile,
+- boost::filesystem::absolute(path).generic_string(),
+- static_cast<MongoFile*>(NULL));
++ #if BOOST_VERSION >= 104400
++ boost::filesystem::absolute(path).generic_string(),
++ #else
++ boost::filesystem::system_complete(path).string(),
++ #endif
++ static_cast<MongoFile*>(NULL));
+ }
+
+
diff --git a/mongodb-2.4.5-boost-size-fix.patch b/mongodb-2.4.5-boost-size-fix.patch
new file mode 100644
index 0000000..63d2a78
--- /dev/null
+++ b/mongodb-2.4.5-boost-size-fix.patch
@@ -0,0 +1,51 @@
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/db/auth/privilege_set.cpp mongodb-src-r2.4.4/src/mongo/db/auth/privilege_set.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/db/auth/privilege_set.cpp 2013-06-16 20:57:57.411195496 +0200
++++ mongodb-src-r2.4.4/src/mongo/db/auth/privilege_set.cpp 2013-06-30 12:37:08.567699530 +0200
+@@ -79,7 +79,7 @@
+ resourceSearchList[1] = nsToDatabaseSubstring(desiredPrivilege.getResource());
+
+ ActionSet unmetRequirements = desiredPrivilege.getActions();
+- for (int i = 0; i < boost::size(resourceSearchList); ++i) {
++ for (int i = 0; i < static_cast<int>(boost::size(resourceSearchList)); ++i) {
+ ResourcePrivilegeCacheEntry* entry = _lookupEntry(resourceSearchList[i]);
+ if (NULL == entry)
+ continue;
+diff -Nur mongodb-src-r2.4.4.orig/src/mongo/db/cmdline_test.cpp mongodb-src-r2.4.4/src/mongo/db/cmdline_test.cpp
+--- mongodb-src-r2.4.4.orig/src/mongo/db/cmdline_test.cpp 2013-06-16 20:57:57.399197914 +0200
++++ mongodb-src-r2.4.4/src/mongo/db/cmdline_test.cpp 2013-06-30 12:37:08.571700380 +0200
+@@ -102,7 +102,7 @@
+ "--servicePassword",
+ "xxxxxxxxxxxxxxxx"
+ };
+- ASSERT_EQUALS(boost::size(expected), argc);
++ ASSERT_EQUALS(static_cast<int>(boost::size(expected)), argc);
+
+ testCensoringArgv(expected, argv, argc);
+ }
+@@ -134,7 +134,7 @@
+ "-servicePassword",
+ "xxxxxxxxxxxxxxxx"
+ };
+- ASSERT_EQUALS(boost::size(expected), argc);
++ ASSERT_EQUALS(static_cast<int>(boost::size(expected)), argc);
+
+ testCensoringArgv(expected, argv, argc);
+ }
+@@ -183,7 +183,7 @@
+ "--servicePassword",
+ "<password>"
+ };
+- ASSERT_EQUALS(boost::size(expected), argc);
++ ASSERT_EQUALS(static_cast<int>(boost::size(expected)), argc);
+
+ testCensoringVector(expected, argv, argc);
+ }
+@@ -215,7 +215,7 @@
+ "-servicePassword",
+ "<password>"
+ };
+- ASSERT_EQUALS(boost::size(expected), argc);
++ ASSERT_EQUALS(static_cast<int>(boost::size(expected)), argc);
+
+ testCensoringVector(expected, argv, argc);
+ }
diff --git a/mongodb-2.4.5-gcc48.patch b/mongodb-2.4.5-gcc48.patch
new file mode 100644
index 0000000..1b22937
--- /dev/null
+++ b/mongodb-2.4.5-gcc48.patch
@@ -0,0 +1,62 @@
+diff -Nur mongodb-src-r2.4.4.orig/src/third_party/s2/base/casts.h mongodb-src-r2.4.4/src/third_party/s2/base/casts.h
+--- mongodb-src-r2.4.4.orig/src/third_party/s2/base/casts.h 2013-07-06 16:26:05.497291822 +0200
++++ mongodb-src-r2.4.4/src/third_party/s2/base/casts.h 2013-07-07 12:27:23.350678970 +0200
+@@ -160,7 +160,7 @@
+ inline Dest bit_cast(const Source& source) {
+ // Compile time assertion: sizeof(Dest) == sizeof(Source)
+ // A compile error here means your Dest and Source have different sizes.
+- typedef char VerifySizesAreEqual [sizeof(Dest) == sizeof(Source) ? 1 : -1];
++ typedef char VerifySizesAreEqual [sizeof(Dest) == sizeof(Source) ? 1 : -1] __attribute__((unused));
+
+ Dest dest;
+ memcpy(&dest, &source, sizeof(dest));
+diff -Nur mongodb-src-r2.4.4.orig/src/third_party/s2/base/macros.h mongodb-src-r2.4.4/src/third_party/s2/base/macros.h
+--- mongodb-src-r2.4.4.orig/src/third_party/s2/base/macros.h 2013-07-06 16:26:05.499292077 +0200
++++ mongodb-src-r2.4.4/src/third_party/s2/base/macros.h 2013-07-07 12:22:38.549907130 +0200
+@@ -46,7 +46,7 @@
+ };
+
+ #define COMPILE_ASSERT(expr, msg) \
+- typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1]
++ typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] __attribute__((unused))
+
+ // Implementation details of COMPILE_ASSERT:
+ //
+diff -Nur mongodb-src-r2.4.4.orig/src/third_party/s2/util/coding/coder.h mongodb-src-r2.4.4/src/third_party/s2/util/coding/coder.h
+--- mongodb-src-r2.4.4.orig/src/third_party/s2/util/coding/coder.h 2013-07-06 16:26:05.509293353 +0200
++++ mongodb-src-r2.4.4/src/third_party/s2/util/coding/coder.h 2013-07-07 12:20:37.419825340 +0200
+@@ -358,14 +358,14 @@
+
+ inline void Encoder::putfloat(float f) {
+ uint32 v;
+- typedef char VerifySizesAreEqual[sizeof(f) == sizeof(v) ? 1 : -1];
++ typedef char VerifySizesAreEqual[sizeof(f) == sizeof(v) ? 1 : -1] __attribute__((unused));
+ memcpy(&v, &f, sizeof(f));
+ put32(v);
+ }
+
+ inline void Encoder::putdouble(double d) {
+ uint64 v;
+- typedef char VerifySizesAreEqual[sizeof(d) == sizeof(v) ? 1 : -1];
++ typedef char VerifySizesAreEqual[sizeof(d) == sizeof(v) ? 1 : -1] __attribute__((unused));
+ memcpy(&v, &d, sizeof(d));
+ put64(v);
+ }
+@@ -408,7 +408,7 @@
+ inline float Decoder::getfloat() {
+ uint32 v = get32();
+ float f;
+- typedef char VerifySizesAreEqual[sizeof(f) == sizeof(v) ? 1 : -1];
++ typedef char VerifySizesAreEqual[sizeof(f) == sizeof(v) ? 1 : -1] __attribute__((unused));
+ memcpy(&f, &v, sizeof(f));
+ return f;
+ }
+@@ -416,7 +416,7 @@
+ inline double Decoder::getdouble() {
+ uint64 v = get64();
+ double d;
+- typedef char VerifySizesAreEqual[sizeof(d) == sizeof(v) ? 1 : -1];
++ typedef char VerifySizesAreEqual[sizeof(d) == sizeof(v) ? 1 : -1] __attribute__((unused));
+ memcpy(&d, &v, sizeof(d));
+ return d;
+ }
diff --git a/mongodb-2.4.5-no-term.patch b/mongodb-2.4.5-no-term.patch
new file mode 100644
index 0000000..47369e9
--- /dev/null
+++ b/mongodb-2.4.5-no-term.patch
@@ -0,0 +1,12 @@
+diff -Nur mongodb-src-r2.4.4.orig/SConstruct mongodb-src-r2.4.4/SConstruct
+--- mongodb-src-r2.4.4.orig/SConstruct 2013-06-16 20:57:58.272022055 +0200
++++ mongodb-src-r2.4.4/SConstruct 2013-06-28 20:32:06.306624632 +0200
+@@ -702,7 +702,7 @@
+ env.Append( LIBS=[] )
+
+ #make scons colorgcc friendly
+- for key in ('HOME', 'TERM'):
++ for key in ('HOME'):
+ try:
+ env['ENV'][key] = os.environ[key]
+ except KeyError:
diff --git a/mongodb-2.4.5-pass-flags.patch b/mongodb-2.4.5-pass-flags.patch
new file mode 100644
index 0000000..855996a
--- /dev/null
+++ b/mongodb-2.4.5-pass-flags.patch
@@ -0,0 +1,38 @@
+diff -urp mongodb-src-r2.4.5.orig/SConstruct mongodb-src-r2.4.5/SConstruct
+--- mongodb-src-r2.4.5.orig/SConstruct 2013-07-08 16:30:00.013000000 -0500
++++ mongodb-src-r2.4.5/SConstruct 2013-07-08 16:30:32.853000000 -0500
+@@ -154,6 +154,9 @@ add_option( "cxx", "compiler to use" , 1
+ add_option( "cc", "compiler to use for c" , 1 , True )
+ add_option( "ld", "linker to use" , 1 , True )
+
++add_option( "extraccflags", "add'l ccflag options (--extraccflags -fPIC)" , 1 , True )
++add_option( "extralinkflags", "add'l linkflag options (--extralinkflags -fPIC)" , 1 , True )
++
+ add_option( "cpppath", "Include path if you have headers in a nonstandard directory" , 1 , True )
+ add_option( "libpath", "Library path if you have libraries in a nonstandard directory" , 1 , True )
+
+@@ -450,6 +453,14 @@ if has_option( "extralib" ):
+ for x in GetOption( "extralib" ).split( "," ):
+ env.Append( LIBS=[ x ] )
+
++if has_option( "extraccflags" ):
++ for x in GetOption( "extraccflags" ).split( " " ):
++ env.Append( CCFLAGS=[ x ] )
++
++if has_option( "extralinkflags" ):
++ for x in GetOption( "extralinkflags" ).split( " " ):
++ env.Append( LINKFLAGS=[ x ] )
++
+ class InstallSetup:
+ binaries = False
+ libraries = False
+@@ -765,6 +776,9 @@ if nix:
+ print( "removing precompiled headers" )
+ os.unlink( env.File("$BUILD_DIR/mongo/pch.h.$GCHSUFFIX").abspath ) # gcc uses the file if it exists
+
++ print( "DEBUG - CCFLAGS::" + env["CCFLAGS"] + "::" )
++ print( "DEBUG - LINKFLAGS::" + env["LINKFLAGS"] + "::" )
++
+ if usesm:
+ env.Append( CPPDEFINES=["JS_C_STRINGS_ARE_UTF8"] )
+
diff --git a/mongodb-2.4.5-signed-char-for-BSONType-enumerations.patch b/mongodb-2.4.5-signed-char-for-BSONType-enumerations.patch
new file mode 100644
index 0000000..12a270e
--- /dev/null
+++ b/mongodb-2.4.5-signed-char-for-BSONType-enumerations.patch
@@ -0,0 +1,35 @@
+From a1689790db10139d09c4fb29f500470564faabde Mon Sep 17 00:00:00 2001
+From: Robie Basak <robie.basak at canonical.com>
+Date: Mon, 6 May 2013 23:01:56 +0100
+Subject: [PATCH] SERVER-9680 Use a signed char to store BSONType enumerations
+
+MinKey is defined as -1, so a signed char must be used to store BSONType
+enumerations. Using a char to store a negative value results in
+undefined behaviour. On i386 and amd64 architectures it happens to work
+because on these platforms a char is generally signed, but this is not
+guaranteed.
+
+This fixes a build failure on ARM, where chars are unsigned by default,
+and using MinKey (defined as -1) results in a compiler error.
+---
+ src/mongo/bson/bson_validate.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/mongo/bson/bson_validate.cpp b/src/mongo/bson/bson_validate.cpp
+index 9ac0bcb..88e6d48 100644
+--- a/src/mongo/bson/bson_validate.cpp
++++ b/src/mongo/bson/bson_validate.cpp
+@@ -130,8 +130,8 @@
+ Status validateElementInfo(Buffer* buffer, ValidationState::State* nextState) {
+ Status status = Status::OK();
+
+- char type;
+- if ( !buffer->readNumber<char>(&type) )
++ signed char type;
++ if ( !buffer->readNumber<signed char>(&type) )
+ return Status( ErrorCodes::InvalidBSON, "invalid bson" );
+
+ if ( type == EOO ) {
+--
+1.8.1.6
+
diff --git a/mongodb-2.2.4-use-system-version.patch b/mongodb-2.4.5-use-system-version.patch
similarity index 80%
rename from mongodb-2.2.4-use-system-version.patch
rename to mongodb-2.4.5-use-system-version.patch
index 3f9ec2d..638b8f0 100644
--- a/mongodb-2.2.4-use-system-version.patch
+++ b/mongodb-2.4.5-use-system-version.patch
@@ -1,7 +1,7 @@
-diff -urp mongodb-src-r2.2.4.orig/SConstruct mongodb-src-r2.2.4/SConstruct
---- mongodb-src-r2.2.4.orig/SConstruct 2013-05-02 14:59:37.226000000 -0500
-+++ mongodb-src-r2.2.4/SConstruct 2013-05-02 15:04:25.164000000 -0500
-@@ -249,7 +249,7 @@ def printLocalInfo():
+diff -Nur mongodb-src-r2.4.4.orig/SConstruct mongodb-src-r2.4.4/SConstruct
+--- mongodb-src-r2.4.4.orig/SConstruct 2013-06-16 20:57:58.272022055 +0200
++++ mongodb-src-r2.4.4/SConstruct 2013-06-28 20:37:15.266916910 +0200
+@@ -246,7 +246,7 @@
printLocalInfo()
@@ -10,7 +10,7 @@ diff -urp mongodb-src-r2.2.4.orig/SConstruct mongodb-src-r2.2.4/SConstruct
onlyServer = len( COMMAND_LINE_TARGETS ) == 0 or ( len( COMMAND_LINE_TARGETS ) == 1 and str( COMMAND_LINE_TARGETS[0] ) in [ "mongod" , "mongos" , "test" ] )
nix = False
-@@ -791,6 +791,28 @@ def doConfigure(myenv):
+@@ -805,6 +805,28 @@
print( "c++ compiler not installed!" )
Exit(1)
@@ -39,4 +39,3 @@ diff -urp mongodb-src-r2.2.4.orig/SConstruct mongodb-src-r2.2.4/SConstruct
if use_system_version_of_library("boost"):
if not conf.CheckCXXHeader( "boost/filesystem/operations.hpp" ):
print( "can't find boost headers" )
-Only in mongodb-src-r2.2.4: SConstruct.orig
diff --git a/mongodb.init b/mongodb.init
index 0477bb7..488e7f6 100644
--- a/mongodb.init
+++ b/mongodb.init
@@ -2,7 +2,7 @@
#
# mongodb init file for starting up the MongoDB server
#
-# chkconfig: - 20 80
+# chkconfig: - 90 10
# description: Starts and stops the MongDB daemon that handles all \
# database requests.
@@ -19,6 +19,80 @@ options="$MONGODB_OPTIONS -f /etc/mongodb.conf"
lockfile="/var/lock/subsys/mongod"
+# Nicer version of killproc that does not kill mongodb when it takes
+# a long time to shut down and does not hang for a long time when mongo
+# shuts down quickly
+killproc_nice() {
+ local RC base pid pid_file= delay i
+
+ RC=0; delay=3
+ # Test syntax.
+ if [ "$#" -eq 0 ]; then
+ echo $"Usage: killproc [-p pidfile] [ -d delay] {program} [-signal]"
+ return 1
+ fi
+ if [ "$1" = "-p" ]; then
+ pid_file=$2
+ shift 2
+ fi
+ if [ "$1" = "-d" ]; then
+ delay=$2
+ shift 2
+ fi
+
+ # Save basename.
+ base=${1##*/}
+
+ # Find pid.
+ __pids_var_run "$1" "$pid_file"
+ RC=$?
+ if [ -z "$pid" ]; then
+ if [ -z "$pid_file" ]; then
+ pid="$(__pids_pidof "$1")"
+ else
+ [ "$RC" = "4" ] && { failure $"$base shutdown" ; return $RC ;}
+ fi
+ fi
+
+ # Kill it.
+ if [ -n "$pid" ] ; then
+ [ "$BOOTUP" = "verbose" -a -z "${LSB:-}" ] && echo -n "$base "
+ if checkpid $pid 2>&1; then
+ # TERM first, then KILL if not dead
+ kill -TERM $pid >/dev/null 2>&1
+ usleep 100000
+
+ # Check every one second if the program is stopped.
+ # Do so for a maximum of $delay seconds
+ for ((i = 0 ; i < $delay; i++))
+ do
+ if checkpid $pid; then
+ sleep 1
+ else
+ break
+ fi
+ done
+
+ # If the program is not stopped, kill it
+ if checkpid $pid ; then
+ kill -KILL $pid >/dev/null 2>&1
+ usleep 100000
+ fi
+ fi
+ checkpid $pid
+ RC=$?
+ [ "$RC" -eq 0 ] && failure $"$base shutdown" || success $"$base shutdown"
+ RC=$((! $RC))
+ else
+ failure $"$base shutdown"
+ RC=0
+ fi
+
+ # Remove pid file if any.
+ rm -f "${pid_file:-/var/run/$base.pid}"
+ return $RC
+}
+
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
@@ -31,7 +105,7 @@ start() {
stop() {
echo -n $"Stopping $prog: "
- killproc -p ${pidfile} $prog
+ killproc_nice -p ${pidfile} -d 300 $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
diff --git a/mongodb.spec b/mongodb.spec
index 678065c..40fa6dc 100644
--- a/mongodb.spec
+++ b/mongodb.spec
@@ -1,8 +1,8 @@
%global daemon mongod
Name: mongodb
-Version: 2.2.4
-Release: 2%{?dist}
+Version: 2.4.5
+Release: 3%{?dist}
Summary: High-performance, schema-free document-oriented database
Group: Applications/Databases
License: AGPLv3 and zlib and ASL 2.0
@@ -18,23 +18,24 @@ Source3: %{name}.conf
Source4: %{daemon}.sysconf
Source5: %{name}-tmpfile
Source6: %{daemon}.service
-Patch1: mongodb-2.2.4-no-term.patch
-##Patch 5 - https://jira.mongodb.org/browse/SERVER-6686
-Patch5: mongodb-2.2.4-fix-xtime.patch
-%if 0%{?el6} == 0
-##Patch 6 - https://jira.mongodb.org/browse/SERVER-4314
-Patch6: mongodb-2.2.4-boost-filesystem3.patch
-%endif
-##Patch 7 - make it possible to use system libraries
-Patch7: mongodb-2.2.4-use-system-version.patch
-##Patch 8 - make it possible to build shared libraries
-Patch8: mongodb-2.2.4-shared-library.patch
-##Patch 9 - https://jira.mongodb.org/browse/SERVER-5575
-Patch9: mongodb-2.2.4-full-flag.patch
-##Patch 11 - Support atomics, needed for ARM
-Patch11: mongodb-2.2.4-arm-atomics.patch
-
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Patch1: mongodb-2.4.5-no-term.patch
+##Patch 2 - make it possible to use system libraries
+Patch2: mongodb-2.4.5-use-system-version.patch
+##Patch 5 - https://jira.mongodb.org/browse/SERVER-9210
+Patch5: mongodb-2.4.5-boost-fix.patch
+##Patch 6 - https://github.com/mongodb/mongo/commit/1d42a534e0eb1e9ac868c0234495c0333d57d7c1
+Patch6: mongodb-2.4.5-boost-size-fix.patch
+##Patch 7 - https://bugzilla.redhat.com/show_bug.cgi?id=958014
+## Need to work on getting this properly patched upstream
+Patch7: mongodb-2.4.5-pass-flags.patch
+##Patch 8 - Compile with GCC 4.8
+Patch8: mongodb-2.4.5-gcc48.patch
+##Patch 10 - Support atomics on ARM
+Patch10: mongodb-2.4.5-atomics.patch
+##From: Robie Basak <robie.basak at canonical.com>
+## Use a signed char to store BSONType enumerations
+##Patch 11 https://jira.mongodb.org/browse/SERVER-9680
+Patch11: mongodb-2.4.5-signed-char-for-BSONType-enumerations.patch
BuildRequires: python-devel
BuildRequires: scons
@@ -46,25 +47,10 @@ BuildRequires: readline-devel
BuildRequires: libpcap-devel
BuildRequires: snappy-devel
BuildRequires: gperftools-devel
-
%if 0%{?fedora} >= 15
-Requires(post): systemd-units
-Requires(preun): systemd-units
-%else
-Requires(post): chkconfig
-Requires(preun): chkconfig
+BuildRequires: systemd
%endif
-Requires(pre): shadow-utils
-
-%if 0%{?fedora} >= 15
-Requires(postun): systemd-units
-%else
-Requires(postun): initscripts
-%endif
-
-Requires: lib%{name} = %{version}-%{release}
-
# Mongodb must run on a little-endian CPU (see bug #630898)
ExcludeArch: ppc ppc64 %{sparc} s390 s390x
@@ -93,20 +79,30 @@ Group: Development/Libraries
%description -n lib%{name}
This package provides the shared library for the MongoDB client.
-%package devel
+%package -n lib%{name}-devel
Summary: MongoDB header files
Group: Development/Libraries
Requires: lib%{name} = %{version}-%{release}
Requires: boost-devel
+Obsoletes: mongodb-devel < 2.4
-%description devel
+%description -n lib%{name}-devel
This package provides the header files and C++ driver for MongoDB. MongoDB is
a high-performance, open source, schema-free document-oriented database.
%package server
Summary: MongoDB server, sharding server and support scripts
Group: Applications/Databases
-Requires: %{name} = %{version}-%{release}
+Requires(pre): shadow-utils
+%if 0%{?fedora} >= 15
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+%else
+Requires(post): chkconfig
+Requires(preun): chkconfig
+Requires(postun): initscripts
+%endif
%description server
This package provides the mongo server software, mongo sharding server
@@ -116,16 +112,13 @@ software, default configuration files, and init scripts.
%prep
%setup -q -n mongodb-src-r%{version}
%patch1 -p1
+%patch2 -p1
%patch5 -p1
-%if 0%{?el6} == 0
%patch6 -p1
-%endif
%patch7 -p1
%patch8 -p1
-%ifarch %ix86 %{arm}
-%patch9 -p1
-%endif
-%patch11 -p1 -b .atomics
+%patch10 -p1 -b .atomics
+%patch11 -p1 -b .type
# spurious permissions
chmod -x README
@@ -133,36 +126,39 @@ chmod -x README
# wrong end-of-file encoding
sed -i 's/\r//' README
+# Put lib dir in correct place
+# https://jira.mongodb.org/browse/SERVER-10049
+sed -i -e "s@\$INSTALL_DIR/lib@\$INSTALL_DIR/%{_lib}@g" src/SConscript.client
+
%build
# NOTE: Build flags must be EXACTLY the same in the install step!
# If you fail to do this, mongodb will be built twice...
scons \
- %{?_smp_mflags} \
- --sharedclient \
- --use-system-all \
- --prefix=%{buildroot}%{_prefix} \
- --extrapath=%{_prefix} \
- --usev8 \
- --nostrip \
- --ssl \
- --full
+ %{?_smp_mflags} \
+ --sharedclient \
+ --use-system-all \
+ --prefix=%{buildroot}%{_prefix} \
+ --extrapath=%{_prefix} \
+ --usev8 \
+ --nostrip \
+ --ssl \
+ --full
%install
-rm -rf %{buildroot}
# NOTE: Install flags must be EXACTLY the same in the build step!
# If you fail to do this, mongodb will be built twice...
scons install \
- %{?_smp_mflags} \
- --sharedclient \
- --use-system-all \
- --prefix=%{buildroot}%{_prefix} \
- --extrapath=%{_prefix} \
- --usev8 \
- --nostrip \
- --ssl \
- --full
+ %{?_smp_mflags} \
+ --sharedclient \
+ --use-system-all \
+ --prefix=%{buildroot}%{_prefix} \
+ --extrapath=%{_prefix} \
+ --usev8 \
+ --nostrip \
+ --ssl \
+ --full
rm -f %{buildroot}%{_libdir}/libmongoclient.a
-rm -f %{buildroot}/usr/lib/libmongoclient.a
+rm -f %{buildroot}%{_libdir}/../lib/libmongoclient.a
mkdir -p %{buildroot}%{_sharedstatedir}/%{name}
mkdir -p %{buildroot}%{_localstatedir}/log/%{name}
@@ -170,9 +166,9 @@ mkdir -p %{buildroot}%{_localstatedir}/run/%{name}
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
%if 0%{?fedora} >= 15
-mkdir -p %{buildroot}/lib/systemd/system
+mkdir -p %{buildroot}%{_unitdir}
install -p -D -m 644 %{SOURCE5} %{buildroot}%{_libdir}/../lib/tmpfiles.d/mongodb.conf
-install -p -D -m 644 %{SOURCE6} %{buildroot}/lib/systemd/system/%{daemon}.service
+install -p -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/%{daemon}.service
%else
install -p -D -m 755 %{SOURCE1} %{buildroot}%{_initddir}/%{daemon}
%endif
@@ -185,20 +181,6 @@ cp -p debian/*.1 %{buildroot}%{_mandir}/man1/
mkdir -p %{buildroot}%{_localstatedir}/run/%{name}
-# In mongodb 2.2.2 we have duplicate headers
-# Everything should be in %{_includedir}/mongo
-# but it is almost all duplicated in %{_includedir}
-# which could potentially conflict
-# or cause problems.
-mkdir -p %{buildroot}/%{name}-hold
-mv %{buildroot}/%{_includedir}/mongo %{buildroot}/%{name}-hold/mongo
-rm -rf %{buildroot}/%{_includedir}/*
-mv %{buildroot}/%{name}-hold/mongo %{buildroot}/%{_includedir}/mongo
-rm -rf %{buildroot}/%{name}-hold
-
-%clean
-rm -rf %{buildroot}
-
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
@@ -212,6 +194,7 @@ exit 0
%post server
%if 0%{?fedora} >= 15
+/bin/systemd-tmpfiles --create mongodb.conf
/bin/systemctl daemon-reload &> /dev/null || :
%else
/sbin/chkconfig --add %{daemon}
@@ -224,7 +207,7 @@ if [ $1 = 0 ] ; then
/bin/systemctl --no-reload disable %{daemon}.service &> /dev/null
/bin/systemctl stop %{daemon}.service &> /dev/null
%else
- /sbin/service stop >/dev/null 2>&1
+ /sbin/service %{daemon} stop >/dev/null 2>&1
/sbin/chkconfig --del %{daemon}
%endif
fi
@@ -244,7 +227,6 @@ fi
%files
-%defattr(-,root,root,-)
%{_bindir}/bsondump
%{_bindir}/mongo
%{_bindir}/mongodump
@@ -254,27 +236,28 @@ fi
%{_bindir}/mongooplog
%{_bindir}/mongoperf
%{_bindir}/mongorestore
-%{_bindir}/mongostat
%{_bindir}/mongosniff
+%{_bindir}/mongostat
%{_bindir}/mongotop
+%{_mandir}/man1/bsondump.1*
%{_mandir}/man1/mongo.1*
%{_mandir}/man1/mongodump.1*
%{_mandir}/man1/mongoexport.1*
%{_mandir}/man1/mongofiles.1*
%{_mandir}/man1/mongoimport.1*
+%{_mandir}/man1/mongooplog.1*
+%{_mandir}/man1/mongoperf.1*
+%{_mandir}/man1/mongorestore.1*
%{_mandir}/man1/mongosniff.1*
%{_mandir}/man1/mongostat.1*
-%{_mandir}/man1/mongorestore.1*
-%{_mandir}/man1/bsondump.1*
+%{_mandir}/man1/mongotop.1*
%files -n lib%{name}
-%defattr(-,root,root,-)
%doc README GNU-AGPL-3.0.txt APACHE-2.0.txt
%{_libdir}/libmongoclient.so
%files server
-%defattr(-,root,root,-)
%{_bindir}/mongod
%{_bindir}/mongos
%{_mandir}/man1/mongod.1*
@@ -286,19 +269,53 @@ fi
%config(noreplace) %{_sysconfdir}/mongodb.conf
%config(noreplace) %{_sysconfdir}/sysconfig/%{daemon}
%if 0%{?fedora} >= 15
-/lib/systemd/system/*.service
+%{_unitdir}/*.service
%{_libdir}/../lib/tmpfiles.d/mongodb.conf
%else
%{_initddir}/%{daemon}
%endif
-%{_mandir}/man1/mongod.1*
-
-%files devel
-%defattr(-,root,root,-)
+%files -n lib%{name}-devel
%{_includedir}
%changelog
+* Fri Jul 12 2013 Troy Dawson <tdawson at redhat.com> - 2.4.5-3
+- Removed hardening section. Currently doesn't work with 2.4.x
+ Wasn't really being applied when we thought it was.
+- Cleaned up RHEL5 spec leftovers
+
+* Thu Jul 11 2013 David Marlin <dmarlin at redhat.com> - 2.4.5-2
+- Updated arm patches to work with 2.4.x
+
+* Mon Jul 08 2013 Troy Dawson <tdawson at redhat.com> - 2.4.5-1
+- Update to version 2.4.5 to fix CVE-2013-4650
+- Patch3 fixed upstream - https://jira.mongodb.org/browse/SERVER-5575
+- Patch4 fixed upstream - https://jira.mongodb.org/browse/SERVER-6514
+- Put lib dir in correct place
+- no longer have to remove duplicate headers
+
+* Sun Jul 07 2013 Johan Hedin <johan.o.hedin at gmail.com> - 2.4.4-4
+- Added patch to make mongodb compile with gcc 4.8
+
+* Wed Jul 03 2013 Johan Hedin <johan.o.hedin at gmail.com> - 2.4.4-3
+- Added missing daemon name to the preun script for the server
+- Fixed init script so that it does not kill the server on shutdown
+- Renamed mongodb-devel to libmongdb-devel
+- Dependency cleanup between the sub packages
+- Moved Requires for the server to the server sub package
+- Using %%{_unitdir} macro for where to put systemd unit files
+- Fixed rpmlint warnings regarding %% in comments and mixed tabs/spaces
+- Run systemd-tmpfiles --create mongodb.conf in post server
+
+* Mon Jul 01 2013 Troy Dawson <tdawson at redhat.com> - 2.4.4-2
+- Turn on hardened build (#958014)
+- Apply patch to accept env flags
+
+* Sun Jun 30 2013 Johan Hedin <johan.o.hedin at gmail.com> - 2.4.4-1
+- Bumped version up to 2.4.4
+- Rebased the old 2.2 patches that are still needed to 2.4.4
+- Added some new patches to build 2.4.4 properly
+
* Sat May 04 2013 David Marlin <dmarlin at redhat.com> - 2.2.4-2
- Updated patch to work on both ARMv5 and ARMv7 (#921226)
@@ -348,7 +365,7 @@ fi
* Tue Oct 02 2012 Troy Dawson <tdawson at redhat.com> - 2.2.0-5
- shared libraries patch
-- Fix up minor %files issues
+- Fix up minor %%files issues
* Fri Sep 28 2012 Troy Dawson <tdawson at redhat.com> - 2.2.0-4
- Fix spec files problems
diff --git a/sources b/sources
index b42e126..f01efe7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-033354c543c053f5d539b573ac8c28b0 mongodb-src-r2.2.4.tar.gz
+de629f865449d3c75b767054fde27549 mongodb-src-r2.4.5.tar.gz
More information about the scm-commits
mailing list