diff options
author | root <root@rshg054.dnsready.net> | 2013-03-25 00:05:30 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-03-25 00:05:30 -0700 |
commit | 32793d9a5b60ef0591c71c12ad75121d9b155adf (patch) | |
tree | ab1afae584dd06fd4ab20f57fb5a624e907f0985 /community/mongodb | |
parent | 31416859638d756d88136e4e0eb78027c16ac17f (diff) |
Mon Mar 25 00:05:30 PDT 2013
Diffstat (limited to 'community/mongodb')
-rw-r--r-- | community/mongodb/PKGBUILD | 29 | ||||
-rw-r--r-- | community/mongodb/boost1.50.patch | 237 | ||||
-rw-r--r-- | community/mongodb/mongodb.rc | 39 | ||||
-rw-r--r-- | community/mongodb/removeWerror.patch | 11 |
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 + |