From 04298a8b6ec63dd2039550630d83c0b8a262ab03 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Mon, 7 Nov 2011 17:48:21 +0000 Subject: [PATCH] - updated to 2.0.1 (1.8.x left on MONGODB_1_8 branch) - updated config patch - added system-libs patch to use system snappy and pcre - added build patch to fix shared lib build Changed files: config.patch -> 1.2 mongodb-build.patch -> 1.1 mongodb-system-libs.patch -> 1.1 mongodb.spec -> 1.17 --- config.patch | 36 +++++++++++++++++++++++++++++------- mongodb-build.patch | 20 ++++++++++++++++++++ mongodb-system-libs.patch | 10 ++++++++++ mongodb.spec | 18 ++++++++++++++---- 4 files changed, 73 insertions(+), 11 deletions(-) create mode 100644 mongodb-build.patch create mode 100644 mongodb-system-libs.patch diff --git a/config.patch b/config.patch index c582bc1..7ddb51a 100644 --- a/config.patch +++ b/config.patch @@ -1,14 +1,14 @@ ---- mongodb-src-r1.8.3/SConstruct~ 2011-09-01 19:06:02.082655213 +0200 -+++ mongodb-src-r1.8.3/SConstruct 2011-09-01 19:07:59.250802930 +0200 -@@ -671,7 +671,6 @@ +--- mongodb-src-r2.0.1/SConstruct.orig 2011-10-22 02:52:16.000000000 +0200 ++++ mongodb-src-r2.0.1/SConstruct 2011-11-01 19:46:50.060469479 +0100 +@@ -673,7 +673,6 @@ env.Append( CPPFLAGS="-fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch" ) # env.Append( " -Wconversion" ) TODO: this doesn't really work yet if linux: - env.Append( CPPFLAGS=" -Werror " ) - env.Append( CPPFLAGS=" -fno-builtin-memcmp " ) # glibc's memcmp is faster than gcc's - env.Append( CXXFLAGS=" -Wnon-virtual-dtor " ) - env.Append( LINKFLAGS=" -fPIC -pthread -rdynamic" ) -@@ -679,7 +678,8 @@ + if not has_option('clang'): + env.Append( CPPFLAGS=" -fno-builtin-memcmp " ) # glibc's memcmp is faster than gcc's + +@@ -684,7 +683,8 @@ #make scons colorgcc friendly env['ENV']['HOME'] = os.environ['HOME'] @@ -18,3 +18,25 @@ if linux and has_option( "sharedclient" ): env.Append( LINKFLAGS=" -Wl,--as-needed -Wl,-zdefs " ) +@@ -732,10 +732,6 @@ + print( "removing precompiled headers" ) + os.unlink('pch.h.gch') # gcc uses the file if it exists + +-if usev8: +- env.Prepend( CPPPATH=["../v8/include/"] ) +- env.Prepend( LIBPATH=["../v8/"] ) +- + if "uname" in dir(os): + hacks = buildscripts.findHacks( os.uname() ) + if hacks is not None: +@@ -919,6 +915,10 @@ + else: + myCheckLib( "v8" , True ) + ++ myCheckLib(["pcrecpp"], True) ++ myCheckLib(["pcre"], True) ++ myCheckLib(["snappy"], True) ++ + # requires ports devel/libexecinfo to be installed + if freebsd or openbsd: + myCheckLib( "execinfo", True ) diff --git a/mongodb-build.patch b/mongodb-build.patch new file mode 100644 index 0000000..0346fa2 --- /dev/null +++ b/mongodb-build.patch @@ -0,0 +1,20 @@ +--- mongodb-src-r2.0.1/SConstruct.orig 2011-11-07 17:32:11.944223596 +0100 ++++ mongodb-src-r2.0.1/SConstruct 2011-11-07 17:35:10.547562910 +0100 +@@ -327,7 +327,7 @@ + + # ------ SOURCE FILE SETUP ----------- + +-commonFiles = Split( "pch.cpp buildinfo.cpp db/indexkey.cpp db/jsobj.cpp bson/oid.cpp db/json.cpp db/lasterror.cpp db/nonce.cpp db/queryutil.cpp db/querypattern.cpp db/projection.cpp shell/mongo.cpp db/security_common.cpp db/security_commands.cpp" ) ++commonFiles = Split( "pch.cpp buildinfo.cpp db/indexkey.cpp db/jsobj.cpp bson/oid.cpp db/json.cpp db/lasterror.cpp db/nonce.cpp db/queryutil.cpp db/querypattern.cpp db/projection.cpp shell/mongo.cpp" ) + commonFiles += [ "util/background.cpp" , "util/util.cpp" , "util/file_allocator.cpp" , + "util/assert_util.cpp" , "util/log.cpp" , "util/ramlog.cpp" , "util/md5main.cpp" , "util/base64.cpp", "util/concurrency/vars.cpp", "util/concurrency/task.cpp", "util/debug_util.cpp", + "util/concurrency/thread_pool.cpp", "util/password.cpp", "util/version.cpp", "util/signal_handlers.cpp", +@@ -343,7 +343,7 @@ + coreServerFiles = [ "util/net/message_server_port.cpp" , + "client/parallel.cpp" , "db/common.cpp", + "util/net/miniwebserver.cpp" , "db/dbwebserver.cpp" , +- "db/matcher.cpp" , "db/dbcommands_generic.cpp" , "db/dbmessage.cpp" ] ++ "db/matcher.cpp" , "db/dbcommands_generic.cpp" , "db/dbmessage.cpp", "db/security_common.cpp", "db/security_commands.cpp"] + + mmapFiles = [ "util/mmap.cpp" ] + diff --git a/mongodb-system-libs.patch b/mongodb-system-libs.patch new file mode 100644 index 0000000..161d4bb --- /dev/null +++ b/mongodb-system-libs.patch @@ -0,0 +1,10 @@ +--- mongodb-src-r2.0.1/util/compress.cpp.orig 2011-10-22 02:52:16.000000000 +0200 ++++ mongodb-src-r2.0.1/util/compress.cpp 2011-11-02 19:02:01.943272460 +0100 +@@ -1,6 +1,6 @@ + // @file compress.cpp + +-#include "../third_party/snappy/snappy.h" ++#include + #include "compress.h" + #include + #include diff --git a/mongodb.spec b/mongodb.spec index c81f581..bd8e930 100644 --- a/mongodb.spec +++ b/mongodb.spec @@ -2,15 +2,17 @@ Summary: MongoDB client shell and tools Summary(pl.UTF-8): Powłoka kliencka i narzędzia dla bazy danych MongoDB Name: mongodb -Version: 1.8.4 +Version: 2.0.1 Release: 1 License: AGPL v3 Group: Applications/Databases Source0: http://downloads.mongodb.org/src/%{name}-src-r%{version}.tar.gz -# Source0-md5: 65da0fe8a08917dafd11b069debbf810 +# Source0-md5: cb8579074b7c9752eb382a2094ac4523 Source1: %{name}.logrotate Source2: %{name}.init Patch0: config.patch +Patch1: %{name}-system-libs.patch +Patch2: %{name}-build.patch URL: http://www.mongodb.org/ BuildRequires: boost-devel >= 1.42 BuildRequires: libpcap-devel @@ -21,6 +23,7 @@ BuildRequires: readline-devel BuildRequires: rpmbuild(macros) >= 1.228 BuildRequires: scons >= 1.2 BuildRequires: sed >= 4.0 +BuildRequires: snappy-devel BuildRequires: v8-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -126,11 +129,16 @@ konfiguracji oraz skrypty init.d. %prep %setup -q -n %{name}-src-r%{version} %patch0 -p1 -%{__sed} -i 's,-O3,%{rpmcxxflags} %{rpmcppflags},;/,\.\.\/v8/d' SConstruct +%patch1 -p1 +%patch2 -p1 +%{__sed} -i -e 's,-O3,%{rpmcxxflags} %{rpmcppflags},' SConstruct # Fix permissions find -type f -executable | xargs chmod a-x +# force system pcre/js/snappy +%{__rm} -r third_party/{js-1.7,pcre-7.4,snappy,*.py} + %build %scons \ --prefix=$RPM_BUILD_ROOT%{_prefix} \ @@ -190,6 +198,7 @@ fi %files %defattr(644,root,root,755) %doc README GNU-AGPL-3.0.txt +%attr(755,root,root) %{_bindir}/bsondump %attr(755,root,root) %{_bindir}/mongo %attr(755,root,root) %{_bindir}/mongodump %attr(755,root,root) %{_bindir}/mongoexport @@ -198,7 +207,8 @@ fi %attr(755,root,root) %{_bindir}/mongorestore %attr(755,root,root) %{_bindir}/mongosniff %attr(755,root,root) %{_bindir}/mongostat -%attr(755,root,root) %{_bindir}/bsondump +%attr(755,root,root) %{_bindir}/mongotop +%{_mandir}/man1/bsondump.1* %{_mandir}/man1/mongo.1* %{_mandir}/man1/mongodump.1* %{_mandir}/man1/mongoexport.1* -- 2.43.0