diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f13401ae3..8fcf802a61 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -716,10 +716,10 @@ if ((BUILD_PACKAGE STREQUAL "debian") OR (BUILD_PACKAGE STREQUAL "raspbian")) set(CPACK_DEBIAN_PACKAGE_SECTION "database") set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA - "${PROJECT_SOURCE_DIR}/Installation/Debian/postinst;${PROJECT_SOURCE_DIR}/Installation/Debian/preinst;${PROJECT_SOURCE_DIR}/Installation/Debian/postrm;${PROJECT_SOURCE_DIR}/Installation/Debian/prerm;") + "${PROJECT_SOURCE_DIR}/Installation/ARM/postinst;${PROJECT_SOURCE_DIR}/Installation/ARM/preinst;${PROJECT_SOURCE_DIR}/Installation/ARM/postrm;${PROJECT_SOURCE_DIR}/Installation/ARM/prerm;") install( - FILES ${PROJECT_SOURCE_DIR}/Installation/Debian/rc.arangodb + FILES ${PROJECT_SOURCE_DIR}/Installation/ARM/rc.arangodb PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE DESTINATION /etc/init.d RENAME arangodb) diff --git a/Installation/ARM/postinst b/Installation/ARM/postinst new file mode 100644 index 0000000000..9641e2cd78 --- /dev/null +++ b/Installation/ARM/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 2 (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/ARM/postrm b/Installation/ARM/postrm new file mode 100644 index 0000000000..04f639c32c --- /dev/null +++ b/Installation/ARM/postrm @@ -0,0 +1,10 @@ +#!/bin/sh + +if [ purge = "$1" ]; then + update-rc.d arangodb remove >/dev/null + + rm -rf /usr/share/arangodb/js/apps + rm -rf /var/log/arangodb + rm -rf /var/lib/arangodb + rm -rf /var/lib/arangodb-apps +fi diff --git a/Installation/ARM/preinst b/Installation/ARM/preinst new file mode 100644 index 0000000000..445c877fa1 --- /dev/null +++ b/Installation/ARM/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/ARM/prerm b/Installation/ARM/prerm new file mode 100644 index 0000000000..f551d37a41 --- /dev/null +++ b/Installation/ARM/prerm @@ -0,0 +1,3 @@ +#!/bin/sh + +/etc/init.d/arangodb stop diff --git a/Installation/Linux/rc.arangod.Ubuntu b/Installation/ARM/rc.arangodb similarity index 63% rename from Installation/Linux/rc.arangod.Ubuntu rename to Installation/ARM/rc.arangodb index a3b239cc75..c48eaa7941 100644 --- a/Installation/Linux/rc.arangod.Ubuntu +++ b/Installation/ARM/rc.arangodb @@ -5,20 +5,19 @@ # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 -# Default-Stop: +# Default-Stop: 0 1 6 # Short-Description: arangodb -# Description: arangodb database server +# Description: arango database server ### END INIT INFO . /lib/lsb/init-functions -[ -f /etc/default/rcS ] && . /etc/default/rcS PATH=/bin:/usr/bin:/sbin:/usr/sbin DAEMON=/usr/sbin/arangod -DESC="ArangoDB" +DESC="arango database server" NAME="arangod" PIDDIR=/var/run/arangodb -PIDFILE=${PIDDIR}/arangod.pid +PIDFILE=/var/run/arangodb/arangod.pid CONF=/etc/arangodb/arangod.conf test -x $DAEMON || exit 0 @@ -41,14 +40,21 @@ start () { if [ "$1" = "--upgrade" ]; then $DAEMON -c $CONF --uid arangodb --gid arangodb $@ + RETVAL=$? + log_end_msg $RETVAL else - $DAEMON -c $CONF --uid arangodb --gid arangodb --pid-file "$PIDFILE" --temp-path "/var/tmp/arangod" --supervisor $@ + $DAEMON -c $CONF --uid arangodb --gid arangodb --check-version + RETVAL=$? + + if test $RETVAL -eq 0; then + $DAEMON -c $CONF --uid arangodb --gid arangodb --pid-file "$PIDFILE" --temp-path "/var/tmp/arangod" --supervisor $@ + RETVAL=$? + log_end_msg $RETVAL + else + log_failure_msg "database version check failed, maybe need to run 'upgrade'?" + fi fi - RETVAL=$? - - log_end_msg $RETVAL - return $RETVAL } @@ -63,7 +69,7 @@ case "$1" in stop) log_daemon_msg "Stopping $DESC" "$NAME" - start-stop-daemon --stop --quiet --oknodo --exec $DAEMON --startas $DAEMON + start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON RETVAL=$? log_end_msg $RETVAL @@ -84,7 +90,7 @@ case "$1" in ;; status) - status_of_proc $DAEMON $NAME && exit 0 || exit $? + status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? ;; upgrade) @@ -95,7 +101,7 @@ case "$1" in ;; *) - log_success_msg "Usage: /etc/init.d/arango {start|stop|restart|force-reload|status|upgrade}" + log_success_msg "Usage: /etc/init.d/arangodb {start|stop|restart|force-reload|status|upgrade}" exit 1 ;; esac diff --git a/Installation/Linux/rc.arangod.Centos b/Installation/Linux/rc.arangod.Centos deleted file mode 100644 index a9e77439fd..0000000000 --- a/Installation/Linux/rc.arangod.Centos +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/bash -# -# arangod Startup script for the ArangoDB Server -# -# chkconfig: - 85 15 -# description: ArangoDB Server -# processname: arangod -# config: /etc/arango.conf - -# Source function library. -. /etc/rc.d/init.d/functions - -# Path to the server binary -ARANGO_BIN=/usr/sbin/arangod -test -x $ARANGO_BIN || exit 5 - -ARANGO_SYSCONFIG=/etc/arangodb/arangod.conf -test -r $ARANGO_SYSCONFIG || exit 6 - -pidfile=/var/run/arangodb/arangod.pid - -RETVAL=0 - - - -start() { - echo -n $"Starting $ARANGO_BIN: " - - ARANGO_PIDDIR=`dirname $pidfile` - test -d $ARANGO_PIDDIR || (mkdir $ARANGO_PIDDIR && chown arangodb:arangodb $ARANGO_PIDDIR) - - if test -d /var/log/arangodb; then - chown -R arangodb:arangodb /var/log/arangodb - fi - - if test -d /var/lib/arangodb; then - chown -R arangodb:arangodb /var/lib/arangodb - fi - - if test -d /var/lib/arangodb-apps; then - chown -R arangodb:arangodb /var/lib/arangodb-apps - fi - - if [ "$1" = "--upgrade" ]; then - $ARANGO_BIN -c $ARANGO_SYSCONFIG --uid arangodb --gid arangodb $@ - else - $ARANGO_BIN -c $ARANGO_SYSCONFIG --uid arangodb --gid arangodb --pid-file "$pidfile" --temp-path "/var/tmp/arangod" --supervisor $@ - fi - - RETVAL=$? - echo - - return $RETVAL -} - - - -stop() { - echo -n $"Stopping $ARANGO_BIN: " - killproc -p "${pidfile}" -d 10 $ARANGO_BIN - - RETVAL=$? - echo -} - - -# See how we were called. -case "$1" in - start) - start - ;; - - stop) - stop - ;; - - status) - status -p ${pidfile} $ARANGO_BIN - RETVAL=$? - ;; - - restart) - stop - start - ;; - - upgrade) - echo $"Upgrading ArangoDB database files" - - start --upgrade - ;; - - *) - echo $"Usage: $0 {start|stop|restart|status|help|upgrade}" - exit 1 -esac - -exit $RETVAL diff --git a/Installation/Linux/rc.arangod.OpenSuSE b/Installation/Linux/rc.arangod.OpenSuSE deleted file mode 100644 index 58adc23461..0000000000 --- a/Installation/Linux/rc.arangod.OpenSuSE +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/sh -# Copyright (c) 2011-2012 triAGENS GmbH Cologne, Germany. -# -# Author: Achim Brandt -# -# /etc/init.d/arangodb -# -# and symbolic its link -# -# /usr/sbin/rcarangodb -# -### BEGIN INIT INFO -# Provides: arangodb -# Required-Start: $network $remote_fs -# Required-Stop: $network $remote_fs -# Default-Start: 3 5 -# Default-Stop: 0 1 2 6 -# Short-Description: Start the ArangoDB daemon -# Description: Start the Arango Database Server daemon. -### END INIT INFO - -ARANGO_BIN=/usr/sbin/arangod -test -x $ARANGO_BIN || exit 5 - -ARANGO_SYSCONFIG=/etc/arangodb/arangod.conf -test -r $ARANGO_SYSCONFIG || exit 6 - - -ARANGO_TIMEOUT=120 -ARANGO_PIDFILE=/var/run/arangodb/arangod.pid - -. /etc/rc.status - -# 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 ditto but be verbose in local rc status -# rc_status -v -r ditto and clear the local rc status -# rc_failed set local and overall rc status to failed -# rc_reset clear local rc status (overall remains) -# rc_exit exit appropriate to overall rc status - -# First reset status of this service -rc_reset - -start () { - ARANGO_PIDDIR=`dirname $ARANGO_PIDFILE` - test -d $ARANGO_PIDDIR || (mkdir $ARANGO_PIDDIR && chown arangodb:arangodb $ARANGO_PIDDIR) - - if test -d /var/log/arangodb; then - chown -R arangodb:arangodb /var/log/arangodb - fi - - if test -d /var/lib/arangodb; then - chown -R arangodb:arangodb /var/lib/arangodb - fi - - if test -d /var/lib/arangodb-apps; then - chown -R arangodb:arangodb /var/lib/arangodb-apps - fi - - if [ "$1" = "--upgrade" ]; then - $ARANGO_BIN -c $ARANGO_SYSCONFIG --uid arangodb --gid arangodb $@ - else - startproc $ARANGO_BIN -c $ARANGO_SYSCONFIG --uid arangodb --gid arangodb --pid-file "$ARANGO_PIDFILE" --temp-path "/var/tmp/arangod" --supervisor $@ - fi - - # Remember status and be verbose - rc_status -v -} - -case "$1" in - - ################################################################################ - ## Start daemon with startproc(8). If this fails - ## the echo return value is set appropriate. - ################################################################################ - - start) - echo -n "Starting ArangoDB daemon" - - start - ;; - - ################################################################################ - ## Stop daemon with killproc(8) and if this fails - ## set echo the echo return value. - ################################################################################ - - stop) - echo -n "Shutting down ArangoDB daemon" - - killproc -t $ARANGO_TIMEOUT -p $ARANGO_PIDFILE -TERM $ARANGO_BIN - - # Remember status and be verbose - rc_status -v - ;; - - ################################################################################ - ## Stop the service and if this succeeds (i.e. the - ## service was running before), start it again. - ################################################################################ - - try-restart) - $0 status >/dev/null && $0 restart - - # Remember status and be quiet - rc_status - - ;; - - ################################################################################ - ## Stop the service and regardless of whether it was - ## running or not, start it again. - ################################################################################ - - restart) - $0 stop - $0 start - - # Remember status and be quiet - rc_status - ;; - - ################################################################################ - ## Signal the daemon to reload its config. Most daemons - ## do this on signal 1 (SIGHUP). - ################################################################################ - - force-reload|reload) - echo -n "Reload service ArangoDB" - - echo "reload is currently not supported" - - rc_status -v - - ;; - - ################################################################################ - ## Check status with checkproc(8), if process is running - ## checkproc will return with exit status 0. - ## Status has a slightly different for the status command: - ## - ## 0 - service running - ## 1 - service dead, but /var/run/ pid file exists - ## 2 - service dead, but /var/lock/ lock file exists - ## 3 - service not running - ################################################################################ - - status) - echo -n "Checking for service ArangoDB" - - checkproc -p $ARANGO_PIDFILE $ARANGO_BIN - - rc_status -v - - ;; - - ################################################################################ - ## upgrade database - ################################################################################ - - upgrade) - echo -n "Upgrading ArangoDB database files" - - start --upgrade - ;; - - ################################################################################ - ## print usage message - ################################################################################ - - *) - echo "Usage: $0 {start|stop|restart|force-reload|status|upgrade}" - exit 1 - - ;; -esac - -rc_exit diff --git a/etc/systemd/arangodb.service b/etc/systemd/arangodb.service deleted file mode 100644 index 4aafd84e68..0000000000 --- a/etc/systemd/arangodb.service +++ /dev/null @@ -1,27 +0,0 @@ -# This file is part of package arangodb. -# -# Description: -# -# Used to start ArangoDB -# -# A universal open-source database with a flexible data model -# for documents, graphs, and key-values. Build high -# performance applications using a convenient sql-like query -# language or JavaScript/Ruby extensions. -# -# http://www.arangodb.org -# - -[Unit] -Description=ArangoDB -After=syslog.target network.target - -[Service] -Type=forking -PIDFile=/var/run/arangodb/arangod.pid -ExecStartPre=/usr/bin/install -g arangodb -o arangodb -d /var/run/arangodb -ExecStart=/usr/sbin/arangod -c /etc/arangodb/arangod.conf --uid arangodb --gid arangodb --pid-file /var/run/arangodb/arangod.pid --supervisor - -[Install] -WantedBy=multi-user.target - diff --git a/js/common/modules/org/arangodb/general-graph.js b/js/common/modules/org/arangodb/general-graph.js index 436ff5760f..03c77feeb6 100644 --- a/js/common/modules/org/arangodb/general-graph.js +++ b/js/common/modules/org/arangodb/general-graph.js @@ -892,7 +892,7 @@ AQLGenerator.prototype.neighbors = function(vertexExample, options) { } else { opts = {}; } - opts.vertexExamples = ex; + opts.neighborExamples = ex; this.bindVars["options_" + this.stack.length] = opts; var stmt = new AQLStatement(query, "neighbor"); this.stack.push(stmt); diff --git a/js/common/tests/shell-general-graph.js b/js/common/tests/shell-general-graph.js index 6378f61964..35b57a578e 100644 --- a/js/common/tests/shell-general-graph.js +++ b/js/common/tests/shell-general-graph.js @@ -1422,7 +1422,7 @@ function ChainedFluentAQLResultsSuite() { assertEqual(stmt, expected.join(" ")); assertEqual(query.bindVars.options_0, {}); assertEqual(query.bindVars.options_1, { - vertexExamples: {} + neighborExamples: {} }); }, @@ -1451,7 +1451,7 @@ function ChainedFluentAQLResultsSuite() { assertEqual(stmt, expected.join(" ")); assertEqual(query.bindVars.options_0, {}); assertEqual(query.bindVars.options_1, { - vertexExamples: [{ + neighborExamples: [{ name: uaName },{ name: p1Name @@ -1489,7 +1489,7 @@ function ChainedFluentAQLResultsSuite() { assertEqual(stmt, expected.join(" ")); assertEqual(query.bindVars.options_0, {}); assertEqual(query.bindVars.options_1, { - vertexExamples: {} + neighborExamples: {} }); assertEqual(query.bindVars.options_2, { direction: "outbound",