summaryrefslogtreecommitdiff
path: root/community/mongodb
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-03-25 00:05:30 -0700
committerroot <root@rshg054.dnsready.net>2013-03-25 00:05:30 -0700
commit32793d9a5b60ef0591c71c12ad75121d9b155adf (patch)
treeab1afae584dd06fd4ab20f57fb5a624e907f0985 /community/mongodb
parent31416859638d756d88136e4e0eb78027c16ac17f (diff)
Mon Mar 25 00:05:30 PDT 2013
Diffstat (limited to 'community/mongodb')
-rw-r--r--community/mongodb/PKGBUILD29
-rw-r--r--community/mongodb/boost1.50.patch237
-rw-r--r--community/mongodb/mongodb.rc39
-rw-r--r--community/mongodb/removeWerror.patch11
4 files changed, 24 insertions, 292 deletions
diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD
index 4ea5062fa..85f4842c1 100644
--- a/community/mongodb/PKGBUILD
+++ b/community/mongodb/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 83665 2013-02-04 10:18:57Z fyan $
+# $Id: PKGBUILD 86909 2013-03-24 11:55:43Z fyan $
# Maintainer: Felix Yan <felixonmars@gmail.com>
# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Thomas Dziedzic < gostrc at gmail >
@@ -6,7 +6,7 @@
# Contributor: Alec Thomas
pkgname=mongodb
-pkgver=2.2.3
+pkgver=2.4.1
pkgrel=1
pkgdesc='A high-performance, open source, schema-free document-oriented database'
arch=('i686' 'x86_64')
@@ -19,8 +19,8 @@ optdepends=('libpcap: needed for mongosniff')
backup=('etc/mongodb.conf')
install=mongodb.install
source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz"
- 'mongodb.rc' 'mongodb.conf' 'mongodb.service'
- 'SConscript.client.patch' 'boost1.50.patch')
+ 'mongodb.conf' 'mongodb.service' 'SConscript.client.patch'
+ 'removeWerror.patch')
build() {
# fucking mongo aint no fun to package
@@ -31,8 +31,8 @@ build() {
# fix https://jira.mongodb.org/browse/SERVER-5575
patch -Np1 -i ${srcdir}/SConscript.client.patch
- # fix boost incompatibility
- patch -Np1 -i ${srcdir}/boost1.50.patch
+ # failed to build with -Werror since 2.4.0
+ patch -Np1 -i "$srcdir/removeWerror.patch"
scons all --use-system-boost # --sharedclient currently fails
}
@@ -54,21 +54,18 @@ package() {
scons install --use-system-boost --full --prefix=$pkgdir/usr # --sharedclient currently fails
- install -Dm755 $srcdir/mongodb.rc $pkgdir/etc/rc.d/mongodb
- install -Dm644 $srcdir/mongodb.conf $pkgdir/etc/mongodb.conf
- [[ -f $pkgdir/usr/lib ]] && rm $pkgdir/usr/lib # wtf mongo
- install -Dm644 $srcdir/mongodb.service $pkgdir/usr/lib/systemd/system/mongodb.service
- install -dm700 $pkgdir/var/lib/mongodb
- install -dm755 $pkgdir/var/log/mongodb
+ install -Dm644 "$srcdir/mongodb.conf" "$pkgdir/etc/mongodb.conf"
+ [[ -f "$pkgdir/usr/lib" ]] && rm "$pkgdir/usr/lib" # wtf mongo
+ install -Dm644 "$srcdir/mongodb.service" "$pkgdir/usr/lib/systemd/system/mongodb.service"
+ install -dm700 "$pkgdir/var/lib/mongodb"
+ install -dm755 "$pkgdir/var/log/mongodb"
# the earlier SConscript patch actually gives us some trouble on x86_64 so we need to hack it out again
mv ${pkgdir}/usr/lib64/libmongoclient.a ${pkgdir}/usr/lib/ || true
rm -r ${pkgdir}/usr/lib64 || true
-
}
-md5sums=('4308c72b1342236dc585e0df0201db48'
- '9c67e00f4626ad761a8f7d4e037a54d7'
+md5sums=('2123758b166144947860b2af490996c1'
'4839fe1d638187ca3226e8267b947318'
'96ab4517b48974ce0e566d9746a75a4f'
'a9529e2a6e392ffecef7a9178394c814'
- 'da8a9d78e4a38d1ed8e92a210d4b5ba7')
+ 'c980ebfe46df6dc87f4b3380af69a6cc')
diff --git a/community/mongodb/boost1.50.patch b/community/mongodb/boost1.50.patch
deleted file mode 100644
index 203826ae7..000000000
--- a/community/mongodb/boost1.50.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-diff --git a/src/mongo/db/db.cpp b/src/mongo/db/db.cpp
-index 6a80fe9..4a42e73 100644
---- a/src/mongo/db/db.cpp
-+++ b/src/mongo/db/db.cpp
-@@ -18,6 +18,7 @@
-
- #include "mongo/pch.h"
-
-+#include <boost/version.hpp>
- #include <boost/thread/thread.hpp>
- #include <boost/filesystem/operations.hpp>
- #include <fstream>
-@@ -348,7 +349,7 @@ namespace mongo {
- boost::filesystem::path path( dbpath );
- for ( boost::filesystem::directory_iterator i( path );
- i != boost::filesystem::directory_iterator(); ++i ) {
-- string fileName = boost::filesystem::path(*i).leaf();
-+ string fileName = boost::filesystem::path(*i).leaf().string();
- if ( boost::filesystem::is_directory( *i ) &&
- fileName.length() && fileName[ 0 ] == '$' )
- boost::filesystem::remove_all( *i );
-@@ -748,11 +749,6 @@ static int mongoDbMain(int argc, char* argv[]) {
- dbExecCommand = argv[0];
-
- srand(curTimeMicros());
--#if( BOOST_VERSION >= 104500 )
-- boost::filesystem::path::default_name_check( boost::filesystem2::no_check );
--#else
-- boost::filesystem::path::default_name_check( boost::filesystem::no_check );
--#endif
-
- {
- unsigned x = 0x12345678;
-@@ -1083,7 +1079,7 @@ static int mongoDbMain(int argc, char* argv[]) {
- if (params.count("shutdown")){
- bool failed = false;
-
-- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string();
-+ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string();
- if ( !boost::filesystem::exists( name ) || boost::filesystem::file_size( name ) == 0 )
- failed = true;
-
-diff --git a/src/mongo/db/dur.cpp b/src/mongo/db/dur.cpp
-index b83957b..242fe00 100644
---- a/src/mongo/db/dur.cpp
-+++ b/src/mongo/db/dur.cpp
-@@ -770,7 +770,7 @@ namespace mongo {
-
- bool samePartition = true;
- try {
-- const string dbpathDir = boost::filesystem::path(dbpath).native_directory_string();
-+ const string dbpathDir = boost::filesystem::path(dbpath).string();
- samePartition = onSamePartition(getJournalDir().string(), dbpathDir);
- }
- catch(...) {
-diff --git a/src/mongo/db/dur_journal.cpp b/src/mongo/db/dur_journal.cpp
-index 9957d41..9f693b9 100644
---- a/src/mongo/db/dur_journal.cpp
-+++ b/src/mongo/db/dur_journal.cpp
-@@ -176,7 +176,7 @@ namespace mongo {
- for ( boost::filesystem::directory_iterator i( getJournalDir() );
- i != boost::filesystem::directory_iterator();
- ++i ) {
-- string fileName = boost::filesystem::path(*i).leaf();
-+ string fileName = boost::filesystem::path(*i).leaf().string();
- if( anyFiles || str::startsWith(fileName, "j._") )
- return true;
- }
-@@ -194,7 +194,7 @@ namespace mongo {
- for ( boost::filesystem::directory_iterator i( getJournalDir() );
- i != boost::filesystem::directory_iterator();
- ++i ) {
-- string fileName = boost::filesystem::path(*i).leaf();
-+ string fileName = boost::filesystem::path(*i).leaf().string();
- if( str::startsWith(fileName, "j._") ) {
- try {
- removeOldJournalFile(*i);
-diff --git a/src/mongo/db/dur_recover.cpp b/src/mongo/db/dur_recover.cpp
-index a7efd4d..e352db6 100644
---- a/src/mongo/db/dur_recover.cpp
-+++ b/src/mongo/db/dur_recover.cpp
-@@ -72,7 +72,7 @@ namespace mongo {
- i != boost::filesystem::directory_iterator();
- ++i ) {
- boost::filesystem::path filepath = *i;
-- string fileName = boost::filesystem::path(*i).leaf();
-+ string fileName = boost::filesystem::path(*i).leaf().string();
- if( str::startsWith(fileName, "j._") ) {
- unsigned u = str::toUnsigned( str::after(fileName, '_') );
- if( m.count(u) ) {
-@@ -85,7 +85,7 @@ namespace mongo {
- 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() << " : can't find its preceeding file");
-+ << " : " << boost::filesystem::path(i->second).leaf().string() << " : can't find its preceeding file");
- }
- files.push_back(i->second);
- }
-diff --git a/src/mongo/db/instance.cpp b/src/mongo/db/instance.cpp
-index 218fb9e..42794f0 100644
---- a/src/mongo/db/instance.cpp
-+++ b/src/mongo/db/instance.cpp
-@@ -833,13 +833,13 @@ namespace mongo {
- i != boost::filesystem::directory_iterator(); ++i ) {
- if ( directoryperdb ) {
- boost::filesystem::path p = *i;
-- string dbName = p.leaf();
-+ string dbName = p.leaf().string();
- p /= ( dbName + ".ns" );
- if ( exists( p ) )
- names.push_back( dbName );
- }
- else {
-- string fileName = boost::filesystem::path(*i).leaf();
-+ string fileName = boost::filesystem::path(*i).leaf().string();
- if ( fileName.length() > 3 && fileName.substr( fileName.length() - 3, 3 ) == ".ns" )
- names.push_back( fileName.substr( 0, fileName.length() - 3 ) );
- }
-@@ -1102,7 +1102,7 @@ namespace mongo {
- }
-
- void acquirePathLock(bool doingRepair) {
-- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string();
-+ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string();
-
- bool oldFile = false;
-
-diff --git a/src/mongo/db/pdfile.cpp b/src/mongo/db/pdfile.cpp
-index 0c424f0..9fbbde7 100644
---- a/src/mongo/db/pdfile.cpp
-+++ b/src/mongo/db/pdfile.cpp
-@@ -1675,7 +1675,7 @@ namespace mongo {
- virtual bool apply( const Path &p ) {
- if ( !boost::filesystem::exists( p ) )
- return false;
-- boostRenameWrapper( p, newPath_ / ( p.leaf() + ".bak" ) );
-+ boostRenameWrapper( p, newPath_ / ( p.leaf().string() + ".bak" ) );
- return true;
- }
- virtual const char * op() const {
-@@ -1783,7 +1783,7 @@ namespace mongo {
- uniqueReservedPath( ( preserveClonedFilesOnFailure || backupOriginalFiles ) ?
- "backup" : "_tmp" );
- MONGO_ASSERT_ON_EXCEPTION( boost::filesystem::create_directory( reservedPath ) );
-- string reservedPathString = reservedPath.native_directory_string();
-+ string reservedPathString = reservedPath.string();
-
- bool res;
- {
-diff --git a/src/mongo/dbtests/framework.cpp b/src/mongo/dbtests/framework.cpp
-index 813705a..d0a3ba4 100644
---- a/src/mongo/dbtests/framework.cpp
-+++ b/src/mongo/dbtests/framework.cpp
-@@ -199,7 +199,7 @@ namespace mongo {
- boost::filesystem::create_directory(p);
- }
-
-- string dbpathString = p.native_directory_string();
-+ string dbpathString = p.string();
- dbpath = dbpathString.c_str();
-
- cmdLine.prealloc = false;
-diff --git a/src/mongo/pch.h b/src/mongo/pch.h
-index 7044097..6bb9df6 100644
---- a/src/mongo/pch.h
-+++ b/src/mongo/pch.h
-@@ -44,7 +44,7 @@
- #include "string.h"
- #include "limits.h"
-
--#define BOOST_FILESYSTEM_VERSION 2
-+#define BOOST_FILESYSTEM_VERSION 3
- #include <boost/shared_ptr.hpp>
- #include <boost/smart_ptr.hpp>
- #include <boost/function.hpp>
-diff --git a/src/mongo/shell/shell_utils_launcher.cpp b/src/mongo/shell/shell_utils_launcher.cpp
-index 60af4f3..fa0d6ad 100644
---- a/src/mongo/shell/shell_utils_launcher.cpp
-+++ b/src/mongo/shell/shell_utils_launcher.cpp
-@@ -184,7 +184,7 @@ namespace mongo {
- }
- #endif
-
-- _argv.push_back( programPath.native_file_string() );
-+ _argv.push_back( programPath.string() );
-
- _port = -1;
-
-diff --git a/src/mongo/tools/restore.cpp b/src/mongo/tools/restore.cpp
-index d7779e6..5c68bde 100644
---- a/src/mongo/tools/restore.cpp
-+++ b/src/mongo/tools/restore.cpp
-@@ -174,7 +174,7 @@ public:
- log(2) << "drillDown: " << root.string() << endl;
-
- // skip hidden files and directories
-- if (root.leaf()[0] == '.' && root.leaf() != ".")
-+ if (root.leaf().string()[0] == '.' && root.leaf().string() != ".")
- return;
-
- if ( is_directory( root ) ) {
-@@ -255,7 +255,7 @@ public:
-
- verify( ns.size() );
-
-- string oldCollName = root.leaf(); // Name of the collection that was dumped from
-+ string oldCollName = root.leaf().string(); // Name of the collection that was dumped from
- oldCollName = oldCollName.substr( 0 , oldCollName.find_last_of( "." ) );
- if (use_coll) {
- ns += "." + _coll;
-@@ -287,7 +287,7 @@ public:
- 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 (!startsWith(metadataFile.leaf(), "system.")) {
-+ if (!startsWith(metadataFile.leaf().string(), "system.")) {
- log() << metadataFile.string() << " not found. Skipping." << endl;
- }
- } else {
-diff --git a/src/mongo/tools/tool.cpp b/src/mongo/tools/tool.cpp
-index c092cdb..76834fa 100644
---- a/src/mongo/tools/tool.cpp
-+++ b/src/mongo/tools/tool.cpp
-@@ -118,12 +118,6 @@ namespace mongo {
- // we want durability to be disabled.
- cmdLine.dur = false;
-
--#if( BOOST_VERSION >= 104500 )
-- boost::filesystem::path::default_name_check( boost::filesystem2::no_check );
--#else
-- boost::filesystem::path::default_name_check( boost::filesystem::no_check );
--#endif
--
- _name = argv[0];
-
- /* using the same style as db.cpp */
diff --git a/community/mongodb/mongodb.rc b/community/mongodb/mongodb.rc
deleted file mode 100644
index 30f2bbf79..000000000
--- a/community/mongodb/mongodb.rc
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-# vim: syntax=sh
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-
-PID=$(pidof /usr/bin/mongod)
-case "$1" in
- start)
- stat_busy "Starting mongodb"
- [ -z "$PID" ] && /bin/su mongodb -c "/usr/bin/mongod --config /etc/mongodb.conf --fork" > /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- add_daemon mongodb
- stat_done
- fi
- ;;
- stop)
- stat_busy "Stopping mongodb"
- [ ! -z "$PID" ] && /bin/su mongodb -c "/usr/bin/mongod --config /etc/mongodb.conf --shutdown" &> /dev/null
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon mongodb
- while [ ! -z "$(pidof /usr/bin/mongod)" ]; do
- sleep 1;
- done
- stat_done
- fi
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
-esac
-exit 0
diff --git a/community/mongodb/removeWerror.patch b/community/mongodb/removeWerror.patch
new file mode 100644
index 000000000..c5220cc1e
--- /dev/null
+++ b/community/mongodb/removeWerror.patch
@@ -0,0 +1,11 @@
+--- a/SConstruct 2013-03-16 02:59:55.000000000 +0800
++++ b/SConstruct 2013-03-20 10:55:20.009645869 +0800
+@@ -692,7 +692,7 @@
+ "-Winvalid-pch"] )
+ # env.Append( " -Wconversion" ) TODO: this doesn't really work yet
+ if linux:
+- env.Append( CCFLAGS=["-Werror", "-pipe"] )
++ env.Append( CCFLAGS=["-pipe"] )
+ if not has_option('clang'):
+ env.Append( CCFLAGS=["-fno-builtin-memcmp"] ) # glibc's memcmp is faster than gcc's
+