#
# chkconfig: 345 60 40
#
-# description: mongod is a cache daemon.
+# description: mongod is a NoSQL database daemon.
#
# processname: mongod
# pidfile: /var/run/mongod.pid
fi
MONGOD_BIN="/usr/bin/mongod"
-MONGOD_LOGFILE="/var/log/mongo/mongod.log"
MONGOD_PIDFILE="/var/run/mongod.pid"
MONGOD_CONFIG="/etc/sysconfig/mongod"
return
fi
- msg_starting "mongod"
- daemon --pidfile $MONGOD_PIDFILE --user $MONGOD_USER \
- $MONGOD_BIN --config /etc/mongod.conf run
- ret=$?
- [ $ret = 0 ] || RETVAL=$?
+ started=0
+ for config in /etc/mongod/*.conf ; do
+ instance=$(basename "$config" .conf)
+ msg_starting "mongod '$instance' instance"
+ if [ "$instance" = "default" ] ; then
+ pidfile="$MONGOD_PIDFILE"
+ else
+ pidfile="${MONGOD_PIDFILE%.pid}-$instance.log"
+ fi
+ daemon --pidfile "$pidfile" --user $MONGOD_USER \
+ $MONGOD_BIN --config "$config" run
+ [ $? -eq 0 ] && started=$(($started + 1))
+ done
+ # at least one started - the service is running
+ [ $started -eq 0 ] && RETVAL=1
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod
}
return
fi
- msg_stopping "mongod"
- killproc --pidfile $MONGOD_PIDFILE mongod
+ for config in /etc/mongod/*.conf ; do
+ instance=$(basename "$config" .conf)
+ msg_stopping "mongod '$instance' instance"
+ if [ "$instance" = "default" ] ; then
+ pidfile="$MONGOD_PIDFILE"
+ else
+ pidfile="${MONGOD_PIDFILE%.pid}-$instance.log"
+ fi
+ killproc --pidfile "$pidfile" mongod
+ done
rm -f /var/lock/subsys/mongod >/dev/null 2>&1
}
return
fi
- msg_reloading "mongod"
- killproc --pidfile $MONGOD_PIDFILE mongod -HUP
+ for config in /etc/mongod/*.conf ; do
+ instance=$(basename "$config" .conf)
+ msg_reloading "mongod '$instance' instance"
+ if [ "$instance" = "default" ] ; then
+ pidfile="$MONGOD_PIDFILE"
+ else
+ pidfile="${MONGOD_PIDFILE%.pid}-$instance.log"
+ fi
+ killproc --pidfile "$pidfile" mongod -HUP
+ done
}
RETVAL=0
Summary(pl.UTF-8): Powłoka kliencka i narzędzia dla bazy danych MongoDB
Name: mongodb
Version: 2.0.6
-Release: 2
+Release: 3
License: AGPL v3
Group: Applications/Databases
Source0: http://downloads.mongodb.org/src/%{name}-src-r%{version}.tar.gz
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir}/man1} \
- $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig} \
+ $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mongod} \
$RPM_BUILD_ROOT%{_var}/{lib,log}/mongo
# XXX: scons is so great, recompiles everything here!
cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/mongod
install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mongod
cp -p rpm/mongod.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/mongod
-cp -p rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf
+cp -p rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod/default.conf
cp -p debian/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
touch $RPM_BUILD_ROOT%{_var}/log/mongo/mongod.log
%groupremove mongod
fi
+%triggerpostun server -- %{name}-server < 2.0.6-3
+if [ -f %{_sysconfdir}/mongod.conf.rpmsave ] ; then
+ cp -f %{_sysconfdir}/mongod/default.conf{,.rpmnew} || :
+ echo "Moving %{_sysconfdir}/mongod.conf to %{_sysconfdir}/mongod/default.conf"
+ mv -f %{_sysconfdir}/mongod.conf.rpmsave %{_sysconfdir}/mongod/default.conf
+fi
+
%files
%defattr(644,root,root,755)
%doc README GNU-AGPL-3.0.txt
%files server
%defattr(644,root,root,755)
#%dir %{_sysconfdir}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mongod.conf
+%dir %{_sysconfdir}/mongod
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mongod/default.conf
%attr(754,root,root) /etc/rc.d/init.d/mongod
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mongod
%config(noreplace) /etc/logrotate.d/mongod