summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kreuter <richard@10gen.com>2010-03-16 10:41:04 -0400
committerRichard Kreuter <richard@10gen.com>2010-03-16 10:41:04 -0400
commit6e44c363413a553a3380fdbf50548fb97c5be645 (patch)
tree835aeb7055a9fb697ac58517d11b43f49a912ecc
parent639c39189fefbab21580e10695289e44cbb65bc2 (diff)
downloadmongo-6e44c363413a553a3380fdbf50548fb97c5be645.tar.gz
Backport 2b7eb1021 (RPM improvements) to 1.2. SERVER-575, SERVER-576
-rw-r--r--rpm/init.d-mongod45
-rw-r--r--rpm/mongo.spec24
-rw-r--r--rpm/mongod.conf5
-rw-r--r--rpm/mongod.sysconfig1
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.