]> git.pld-linux.org Git - packages/mongodb.git/commitdiff
- added. NFY
authoraredridel <aredridel@pld-linux.org>
Fri, 17 Sep 2010 03:26:52 +0000 (03:26 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    mongodb.init -> 1.1
    mongodb.logrotate -> 1.1
    mongodb.spec -> 1.1

mongodb.init [new file with mode: 0644]
mongodb.logrotate [new file with mode: 0644]
mongodb.spec [new file with mode: 0644]

diff --git a/mongodb.init b/mongodb.init
new file mode 100644 (file)
index 0000000..c93e33f
--- /dev/null
@@ -0,0 +1,142 @@
+#!/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
diff --git a/mongodb.logrotate b/mongodb.logrotate
new file mode 100644 (file)
index 0000000..ac11647
--- /dev/null
@@ -0,0 +1,11 @@
+/var/log/mongo/*.log {
+  weekly
+  rotate 10
+  copytruncate
+  delaycompress
+  compress
+  notifempty
+  missingok
+}
+
+
diff --git a/mongodb.spec b/mongodb.spec
new file mode 100644 (file)
index 0000000..e65f2ad
--- /dev/null
@@ -0,0 +1,156 @@
+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
This page took 0.053442 seconds and 4 git commands to generate.