diff options
author | Richard Kreuter <richard@10gen.com> | 2010-03-16 10:41:04 -0400 |
---|---|---|
committer | Richard Kreuter <richard@10gen.com> | 2010-03-16 10:41:04 -0400 |
commit | 6e44c363413a553a3380fdbf50548fb97c5be645 (patch) | |
tree | 835aeb7055a9fb697ac58517d11b43f49a912ecc | |
parent | 639c39189fefbab21580e10695289e44cbb65bc2 (diff) | |
download | mongo-6e44c363413a553a3380fdbf50548fb97c5be645.tar.gz |
Backport 2b7eb1021 (RPM improvements) to 1.2. SERVER-575, SERVER-576
-rw-r--r-- | rpm/init.d-mongod | 45 | ||||
-rw-r--r-- | rpm/mongo.spec | 24 | ||||
-rw-r--r-- | rpm/mongod.conf | 5 | ||||
-rw-r--r-- | rpm/mongod.sysconfig | 1 |
4 files changed, 48 insertions, 27 deletions
diff --git a/rpm/init.d-mongod b/rpm/init.d-mongod index c099ef958d0..2c634f6aa0c 100644 --- a/rpm/init.d-mongod +++ b/rpm/init.d-mongod @@ -12,30 +12,37 @@ # things from mongod.conf get there by mongod reading it + + OPTIONS=" -f /etc/mongod.conf" +SYSCONFIG="/etc/sysconfig/mongod" mongod=${MONGOD-/usr/bin/mongod} -pidfile=${PIDFILE-/var/run/mongod.pid} -lockfile=${LOCKFILE-/var/lock/subsys/mongod} + +MONGO_USER=mongod +MONGO_GROUP=mongod + +. "$SYSCONFIG" || true start() { echo -n $"Starting mongod: " - #daemon --pidfile=${pidfile} $mongod $OPTIONS > /var/log/mongod - $mongod $OPTIONS > /var/log/mongod 2>&1 & + daemon --user "$MONGO_USER" $mongod $OPTIONS RETVAL=$? - [ $RETVAL = 0 ] && touch ${lockfile} - echo OK + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod && success } stop() { echo -n $"Stopping mongod: " - #killproc -p ${pidfile} -d 10 $mongod - #RETVAL=$? - killall mongod > /dev/null 2>&1 - #[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} - echo OK + killproc -p /var/lib/mongo/mongod.lock -t30 -TERM /usr/bin/mongod + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mongod &7 success +} + +restart () { + stop + start } ulimit -n 12000 @@ -48,15 +55,17 @@ case "$1" in stop) stop ;; - restart) - stop - start + restart|reload|force-reload) + restart + ;; + condrestart) + [ -f /var/lock/subsys/mongodb ] && restart || : + ;; + status) + status $mongod ;; -# status) -# status -p ${pidfile} $mongod -# ;; *) - echo $"Usage: $0 {start|stop|restart}" + echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" RETVAL=1 esac diff --git a/rpm/mongo.spec b/rpm/mongo.spec index 18386baef06..eb2c0433163 100644 --- a/rpm/mongo.spec +++ b/rpm/mongo.spec @@ -1,5 +1,5 @@ Name: mongo -Version: 1.2.4 +Version: 1.3.3 Release: mongodb_1%{?dist} Summary: mongo client shell and tools License: AGPL 3.0 @@ -23,6 +23,7 @@ client utilities. %package server Summary: mongo server, sharding server, and support scripts Group: Applications/Databases +Requires: mongo %description server Mongo (from "huMONGOus") is a schema-free document-oriented database. @@ -56,17 +57,19 @@ cp rpm/init.d-mongod $RPM_BUILD_ROOT/etc/rc.d/init.d/mongod chmod a+x $RPM_BUILD_ROOT/etc/rc.d/init.d/mongod mkdir -p $RPM_BUILD_ROOT/etc cp rpm/mongod.conf $RPM_BUILD_ROOT/etc/mongod.conf +mkdir -p $RPM_BUILD_ROOT/etc/sysconfig +cp rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod mkdir -p $RPM_BUILD_ROOT/var/lib/mongo -mkdir -p $RPM_BUILD_ROOT/var/log -touch $RPM_BUILD_ROOT/var/log/mongo +mkdir -p $RPM_BUILD_ROOT/var/log/mongo +touch $RPM_BUILD_ROOT/var/log/mongo/mongod.log %clean scons -c rm -rf $RPM_BUILD_ROOT %pre server -#/usr/sbin/useradd -M -o -r -d /var/mongo -s /bin/bash \ -# -c "mongod" mongod > /dev/null 2>&1 || : +/usr/sbin/useradd -M -r -U -d /var/lib/mongo -s /bin/false \ + -c mongod mongod > /dev/null 2>&1 %post server if test $1 = 1 @@ -98,10 +101,12 @@ fi %{_bindir}/mongorestore %{_mandir}/man1/mongo.1* +%{_mandir}/man1/mongod.1* %{_mandir}/man1/mongodump.1* %{_mandir}/man1/mongoexport.1* %{_mandir}/man1/mongofiles.1* %{_mandir}/man1/mongoimport.1* +%{_mandir}/man1/mongosniff.1* %{_mandir}/man1/mongorestore.1* %files server @@ -114,8 +119,9 @@ fi /etc/rc.d/init.d/mongod /etc/sysconfig/mongod #/etc/rc.d/init.d/mongos -%attr(0755,root,root) %dir /var/mongo -%attr(0640,root,root) %config(noreplace) %verify(not md5 size mtime) /var/log/mongo +%attr(0755,mongod,mongod) %dir /var/lib/mongo +%attr(0755,mongod,mongod) %dir /var/log/mongo +%attr(0640,mongod,mongod) %config(noreplace) %verify(not md5 size mtime) /var/log/mongo/mongod.log %files devel /usr/include/mongo @@ -123,6 +129,8 @@ fi #%{_libdir}/libmongotestfiles.a %changelog +* Thu Jan 28 2010 Richard M Kreuter <richard@10gen.com> +- Minor fixes. + * Sat Oct 24 2009 Joe Miklojcik <jmiklojcik@shopwiki.com> - - Wrote mongo.spec. - diff --git a/rpm/mongod.conf b/rpm/mongod.conf index 0c871866cde..b8897b27b4c 100644 --- a/rpm/mongod.conf +++ b/rpm/mongod.conf @@ -1,7 +1,10 @@ # mongo.conf #where to log -logpath=/var/log/mongod +logpath=/var/log/mongo/mongod.log + +# fork and run in background +fork = true #port = 27017 diff --git a/rpm/mongod.sysconfig b/rpm/mongod.sysconfig new file mode 100644 index 00000000000..5dbfce1dad9 --- /dev/null +++ b/rpm/mongod.sysconfig @@ -0,0 +1 @@ +# TODO: add relevant configuration stuff here. |