From 36be4b1ffcd80aed72fe7008d9ba2a3d18f6dbab Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Sat, 2 Nov 2013 22:14:03 +0100 Subject: [PATCH] added debian build rule --- Installation/Debian/postinst | 27 +++++++++++ Installation/Debian/postrm | 6 +++ Installation/Debian/preinst | 9 ++++ Installation/Debian/prerm | 4 ++ Installation/Debian/rc.arangodb | 86 +++++++++++++++++++++++++++++++++ 5 files changed, 132 insertions(+) create mode 100644 Installation/Debian/postinst create mode 100644 Installation/Debian/postrm create mode 100644 Installation/Debian/preinst create mode 100644 Installation/Debian/prerm create mode 100644 Installation/Debian/rc.arangodb diff --git a/Installation/Debian/postinst b/Installation/Debian/postinst new file mode 100644 index 0000000000..3ed99d97d9 --- /dev/null +++ b/Installation/Debian/postinst @@ -0,0 +1,27 @@ +#!/bin/sh +update-rc.d arangodb start 99 2 3 4 5 . stop 00 0 1 6 . >/dev/null +/etc/init.d/arangodb start + +echo " +ArangoDB (http://www.arangodb.org) + A multi-purpose open-source database with a flexible data model for documents, + graphs, and key-values. + +First Steps with ArangoDB: + http:/www.arangodb.org/quickstart + +Upgrading ArangoDB: + http://www.arangodb.org/manuals/current/Upgrading.html + +Upgrading ArangoDB database files: + > /etc/init.d/arangodb upgrade + +Configuration file: + /etc/arangodb/arangod.conf + +Start ArangoDB shell client: + > /usr/bin/arangosh + +Start ArangoDB service: + > /etc/init.d/arangodb start +" diff --git a/Installation/Debian/postrm b/Installation/Debian/postrm new file mode 100644 index 0000000000..f9360d5bfb --- /dev/null +++ b/Installation/Debian/postrm @@ -0,0 +1,6 @@ +#!/bin/sh + +if [ purge = "$1" ]; then + update-rc.d arangodb remove >/dev/null +fi + diff --git a/Installation/Debian/preinst b/Installation/Debian/preinst new file mode 100644 index 0000000000..445c877fa1 --- /dev/null +++ b/Installation/Debian/preinst @@ -0,0 +1,9 @@ +#!/bin/sh + +getent group arangodb >/dev/null || groupadd -r arangodb +getent passwd arangodb >/dev/null || useradd -r -g arangodb -d /usr/share/arangodb -s /bin/false -c "ArangoDB Application User" arangodb + +install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb +install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb-apps +install -o arangodb -g arangodb -m 755 -d /var/run/arangodb +install -o arangodb -g arangodb -m 755 -d /var/log/arangodb diff --git a/Installation/Debian/prerm b/Installation/Debian/prerm new file mode 100644 index 0000000000..f01a2a7dec --- /dev/null +++ b/Installation/Debian/prerm @@ -0,0 +1,4 @@ +#!/bin/sh + +/etc/init.d/arangodb stop + diff --git a/Installation/Debian/rc.arangodb b/Installation/Debian/rc.arangodb new file mode 100644 index 0000000000..50462464f7 --- /dev/null +++ b/Installation/Debian/rc.arangodb @@ -0,0 +1,86 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: arangodb +# Required-Start: +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: arangodb +# Description: arango database server +### END INIT INFO + +. /lib/lsb/init-functions + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DAEMON=/usr/sbin/arangod +DESC="arango database server" +NAME="arangod" +PIDDIR=/var/run/arangodb +PIDFILE=/var/run/arangodb/arangod.pid +CONF=/etc/arangodb/arangod.conf + +test -x $DAEMON || exit 0 + +start () { + test -d $PIDDIR || mkdir $PIDDIR + chown arangodb $PIDDIR + + $DAEMON -c $CONF --pid-file "$PIDFILE" --supervisor $@ + RETVAL=$? + + log_end_msg $RETVAL + + return $RETVAL +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + + start + exit $? + ;; + + stop) + log_begin_msg "Stopping $DESC" "$NAME" + + start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON + RETVAL=$? + log_end_msg $RETVAL + + test -f $PIDFILE && rm -f $PIDFILE + exit $RETVAL + ;; + + restart) + $0 stop + sleep 3 + $0 start + exit $? + ;; + + force-reload) + $0 restart + exit $? + ;; + + status) + status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? + ;; + + upgrade) + log_daemon_msg "Upgrading $DESC" "$NAME" + + start --upgrade + exit $? + ;; + + *) + log_success_msg "Usage: /etc/init.d/arangodb {start|stop|restart|force-reload|status|upgrade}" + exit 1 + ;; +esac + +exit 0 +