Improve RPM packaging, init scripts. SERVER-575, SERVER-576.

This commit is contained in:
Richard Kreuter
2010-03-16 10:05:32 -04:00
parent 38028c6e8f
commit 2b7eb10215
3 changed files with 39 additions and 25 deletions

View File

@@ -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

View File

@@ -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.
@@ -59,16 +60,16 @@ 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/lib/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
@@ -120,8 +121,9 @@ fi
/etc/rc.d/init.d/mongod
/etc/sysconfig/mongod
#/etc/rc.d/init.d/mongos
%attr(0755,root,root) %dir /var/lib/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

View File

@@ -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