--- /dev/null
+#!/bin/sh
+#
+# /etc/init.d/mongod
+#
+### BEGIN INIT INFO
+# Provides: mongod
+# Required-Start: $syslog $local_fs $network
+# Required-Stop: $syslog $local_fs $network
+# Should-Start: $remote_fs
+# Should-Stop: $remote_fs
+# Default-Start: 3 4 5
+# Default-Stop: 0 1 2 6
+# Short-Description: MongoDB server
+# Description: Starts and stops the MongoDB daemon
+### END INIT INFO
+
+
+# Check for missing binaries (stale symlinks should not happen)
+# Note: Special treatment of stop for LSB conformance
+
+MONGOD_BIN="/usr/bin/mongod"
+MONGOD_LOGFILE="/var/log/mongo/mongod.log"
+MONGOD_PIDFILE="/var/run/mongod.pid"
+MONGOD_CONFIG="/etc/sysconfig/mongod"
+
+MONGOD_USER=mongod
+MONGOD_GROUP=mongod
+
+test -x $MONGOD_BIN || { echo "$MONGOD_BIN not installed";
+ if [ "$1" = "stop" ]; then exit 0;
+ else exit 5; fi; }
+
+# Check for existence of needed config file and read it
+# test -r $MONGOD_CONFIG || { echo "$MONGOD_CONFIG not existing";
+# if [ "$1" = "stop" ]; then exit 0;
+# else exit 6; fi; }
+# Read config
+# . $MONGOD_CONFIG
+
+# Read config
+[ -e $MONGOD_CONFIG ] && . $MONGOD_CONFIG
+
+
+# Source LSB init functions
+# providing start_daemon, killproc, pidofproc,
+# log_success_msg, log_failure_msg and log_warning_msg.
+# This is currently not used by UnitedLinux based distributions and
+# not needed for init scripts for UnitedLinux only. If it is used,
+# the functions from rc.status should not be sourced or used.
+#. /lib/lsb/init-functions
+
+# Shell functions sourced from /etc/rc.status:
+# rc_check check and set local and overall rc status
+# rc_status check and set local and overall rc status
+# rc_status -v be verbose in local rc status and clear it afterwards
+# rc_status -v -r ditto and clear both the local and overall rc status
+# rc_status -s display "skipped" and exit with status 3
+# rc_status -u display "unused" and exit with status 3
+# rc_failed set local and overall rc status to failed
+# rc_failed <num> set local and overall rc status to <num>
+# rc_reset clear both the local and overall rc status
+# rc_exit exit appropriate to overall rc status
+# rc_active checks whether a service is activated by symlinks
+. /etc/rc.status
+
+# Reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - generic or unspecified error
+# 2 - invalid or excess argument(s)
+# 3 - unimplemented feature (e.g. "reload")
+# 4 - user had insufficient privileges
+# 5 - program is not installed
+# 6 - program is not configured
+# 7 - program is not running
+# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signaling is not supported) are
+# considered a success.
+
+# Set ulimit setting
+# ulimit -n 10240
+ulimit -n 12000
+
+case "$1" in
+ start)
+ echo -n "Starting service MongoDB "
+ ## Start daemon with startproc(8). If this fails
+ ## the return value is set appropriately by startproc.
+ /sbin/startproc -u $MONGOD_USER -g $MONGOD_GROUP -s -e $MONGOD_BIN --config /etc/mongod.conf run
+ # Remember status and be verbose
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Stopping service MongoDB "
+# killproc -p /var/lib/mongo/mongod.lock -t30 -TERM /usr/bin/mongod
+ /sbin/killproc -TERM $MONGOD_BIN
+ rc_status -v
+ ;;
+ try-restart|condrestart)
+ ## Do a restart only if the service was active before.
+ ## Note: try-restart is now part of LSB (as of 1.9).
+ ## RH has a similar command named condrestart.
+ if test "$1" = "condrestart"; then
+ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
+ fi
+ $0 status
+ if test $? = 0; then
+ $0 restart
+ else
+ rc_reset # Not running is not a failure.
+ fi
+ # Remember status and be quiet
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ $0 start
+
+ # Remember status and be quiet
+ rc_status
+ ;;
+ reload)
+ $0 restart
+ ;;
+ status)
+ echo -n "Checking for service MongoDB: "
+ /sbin/checkproc -p $MONGOD_PIDFILE $MONGOD_BIN
+ rc_status -v
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|reload}"
+ exit 1
+ ;;
+esac
+rc_exit
--- /dev/null
+Summary: MongoDB client shell and tools
+Name: mongodb
+Version: 1.6.2
+Release: 0
+License: AGPL 3.0
+Group: Applications/Databases
+URL: http://www.mongodb.org
+Source0: http://downloads.mongodb.org/src/%{name}-src-r%{version}.tar.gz
+#Source0: %{name}-src-r%{version}.tar.gz
+Source1: mongod.logrotate
+Source2: mongod.init
+# BuildRequires: libpcap-devel
+BuildRequires: boost-devel >= 1.42
+BuildRequires: gcc >= 4.0
+BuildRequires: libstdc++-devel
+BuildRequires: libstdc++-devel >= 4.0
+BuildRequires: pcre-devel
+BuildRequires: readline-devel
+BuildRequires: scons >= 1.2
+BuildRequires: v8-devel
+Requires: libstdc++
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+Requires(pre): pwdutils
+
+%description
+Mongo (from "huMONGOus") is a schema-free document-oriented database.
+It features dynamic profileable queries, full indexing, replication
+and fail-over support, efficient storage of large binary data objects,
+and auto-sharding.
+
+This package provides the mongo shell, import/export tools, and other
+client utilities.
+
+%package server
+Summary: MongoDB server, sharding server, and support scripts
+Group: Applications/Databases
+Requires: %{name} = %{version}
+Requires: logrotate
+
+%description server
+Mongo (from "huMONGOus") is a schema-free document-oriented database.
+
+This package provides the mongo server software, mongo sharding server
+softwware, default configuration files, and init.d scripts.
+
+%package devel
+Summary: Headers and libraries for mongo development.
+Group: Development/Libraries
+Requires: %{name} = %{version}
+
+%description devel
+Mongo (from "huMONGOus") is a schema-free document-oriented database.
+
+This package provides the mongo static library and header files needed
+to develop mongo client software.
+
+%prep
+%setup -q -n %{name}-src-r%{version}
+
+%build
+# Fix permission
+find %{_builddir}/%{name}-src-r%{version} -type f -executable -exec chmod a-x '{}' \;
+
+scons -j 3 --prefix=$RPM_BUILD_ROOT%{_prefix} --sharedclient --full all --usev8
+# XXX really should have shared library here
+
+%install
+rm -rf $RPM_BUILD_ROOT
+scons --prefix=$RPM_BUILD_ROOT%{_usr} --sharedclient --full --usev8 install
+
+install -d $RPM_BUILD_ROOT%{_mandir}/man1
+cp debian/*.1 $RPM_BUILD_ROOT%{_mandir}/man1/
+#install -d $RPM_BUILD_ROOT%{_sysconfdir}/init.d
+#cp rpm/init.d-mongod $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod
+#chmod a+x $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod
+
+install -d $RPM_BUILD_ROOT%{_sysconfdir}
+cp rpm/mongod.conf $RPM_BUILD_ROOT%{_sysconfdir}/mongod.conf
+#install -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
+#cp rpm/mongod.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/mongod
+#cp rpm/mongod.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/mongod
+
+install -d $RPM_BUILD_ROOT%{_var}/lib/mongo
+install -d $RPM_BUILD_ROOT%{_var}/log/mongo
+touch $RPM_BUILD_ROOT%{_var}/log/mongo/mongod.log
+# install logrotate
+install -D %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mongod
+# install init script
+install -D %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/mongod
+
+#install -d $RPM_BUILD_ROOT%{_sbindir}
+#ln -s %{_sysconfdir}/init.d/mongod $RPM_BUILD_ROOT%{_sbindir}/rcmongod
+ln -s ../..%{_sysconfdir}/init.d/mongod $RPM_BUILD_ROOT%{_sbindir}/rcmongod
+
+%clean
+scons -c --usev8
+rm -rf $RPM_BUILD_ROOT
+
+%pre server
+groupadd -r mongod 2>/dev/null || :
+useradd -r -g mongod -d %{_var}/lib/mongo -s /sbin/nologin -c "user for MongoDB Database Server" mongod 2>/dev/null || :
+
+%post server
+#%fillup_and_insserv -n mongod mongod
+#%restart_on_update mongod
+
+%preun server
+#%stop_on_removal mongod
+
+%postun server
+
+%post devel -p /sbin/ldconfig
+
+%postun devel -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README GNU-AGPL-3.0.txt
+%attr(755,root,root) %{_bindir}/mongo
+%attr(755,root,root) %{_bindir}/mongodump
+%attr(755,root,root) %{_bindir}/mongoexport
+%attr(755,root,root) %{_bindir}/mongofiles
+%attr(755,root,root) %{_bindir}/mongoimport
+%attr(755,root,root) %{_bindir}/mongorestore
+%attr(755,root,root) %{_bindir}/mongostat
+%attr(755,root,root) %{_bindir}/bsondump
+%{_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/mongostat.1*
+%{_mandir}/man1/mongorestore.1*
+
+%files server
+%defattr(644,root,root,755)
+%config(noreplace) %{_sysconfdir}/mongod.conf
+%config(noreplace) /etc/logrotate.d/mongod
+%attr(754,root,root) %config /etc/rc.d/init.d/mongod
+%attr(755,root,root) %{_sbindir}/rcmongod
+%config %{_var}/adm/fillup-templates/sysconfig.mongod
+%attr(755,root,root) %{_bindir}/mongod
+%attr(755,root,root) %{_bindir}/mongos
+%{_mandir}/man1/mongos.1*
+%attr(755,mongod,mongod) %dir %{_var}/lib/mongo
+%attr(755,mongod,mongod) %dir %{_var}/log/mongo
+%attr(640,mongod,mongod) %config(noreplace) %verify(not md5 mtime size) %{_var}/log/mongo/mongod.log
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/mongo
+%{_libdir}/libmongoclient.a
+%{_libdir}/libmongoclient.so
+#%{_libdir}/libmongotestfiles.a