mirror of https://gitee.com/bigwinds/arangodb
91 lines
2.2 KiB
Bash
Executable File
91 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
ROOTDIR="`(cd \`dirname $0\` && pwd)`"
|
|
# create start script
|
|
|
|
mkdir -p ${HOME}@INC_CPACK_ARANGO_DATA_DIR@
|
|
mkdir -p ${HOME}@INC_CPACK_ARANGO_LOG_DIR@
|
|
mkdir -p ${HOME}@INC_CPACK_ARANGODB_APPS_DIRECTORY@
|
|
|
|
SCRIPTS="`( cd ${ROOTDIR}@CMAKE_INSTALL_PREFIX@ && ls -1 {@CMAKE_INSTALL_BINDIR@,@CMAKE_INSTALL_SBINDIR@}/* )`"
|
|
|
|
for script in $SCRIPTS; do
|
|
base="`basename $script`"
|
|
|
|
(
|
|
echo "#!/bin/bash"
|
|
echo
|
|
echo "export ROOTDIR=\"${ROOTDIR}@CMAKE_INSTALL_PREFIX@\""
|
|
echo
|
|
|
|
echo "exec \"\${ROOTDIR}/$script\" -c \"\${ROOTDIR}@CMAKE_INSTALL_SYSCONFDIR_ARANGO@/${base}.conf\" \$*"
|
|
) > ${ROOTDIR}/$base.$$
|
|
|
|
chmod 755 ${ROOTDIR}/$base.$$
|
|
mv ${ROOTDIR}/$base.$$ ${ROOTDIR}/$base
|
|
done
|
|
|
|
# start the server
|
|
|
|
PIDFILE="${ROOTDIR}@INC_CPACK_ARANGO_PID_DIR@/arangod.pid"
|
|
|
|
if [ -f "${PIDFILE}" ]; then
|
|
result=`
|
|
/usr/bin/osascript -s so <<-EOF
|
|
tell application "System Events"
|
|
activate
|
|
display dialog "PID File ${PIDFILE} exists, server already running. Press OK to try to start the server anyhow."
|
|
end tell
|
|
EOF
|
|
`
|
|
|
|
if echo $result | fgrep -q "User canceled"; then
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
|
|
test -d "${ROOTDIR}@INC_CPACK_ARANGO_PID_DIR@" || mkdir "${ROOTDIR}@INC_CPACK_ARANGO_PID_DIR@"
|
|
${ROOTDIR}/arangod --daemon --pid-file "${PIDFILE}"
|
|
|
|
# create some information for the user
|
|
|
|
INFOFILE="/tmp/ArangoDB-CLI.info.$$"
|
|
|
|
(
|
|
echo ""
|
|
echo "ArangoDB server has been started"
|
|
echo ""
|
|
echo "The database directory is located at"
|
|
echo " '${ROOTDIR}@INC_CPACK_ARANGO_DATA_DIR@'"
|
|
echo ""
|
|
echo "The log file is located at"
|
|
echo " '${ROOTDIR}@INC_CPACK_ARANGO_LOG_DIR@/arangod.log'"
|
|
echo ""
|
|
echo "You can access the server using a browser at 'http://127.0.0.1:8529/'"
|
|
echo "or start the ArangoDB shell"
|
|
echo " '${ROOTDIR}/arangosh'"
|
|
echo ""
|
|
echo "Switching to log-file now, killing this windows will NOT stop the server."
|
|
echo ""
|
|
echo ""
|
|
) > $INFOFILE
|
|
|
|
# start a Terminal.app session
|
|
|
|
/usr/bin/osascript <<-EOF
|
|
tell application "Terminal"
|
|
do script "clear && cat $INFOFILE && rm $INFOFILE && sleep 20 && exec tail -1 -f ${HOME}@INC_CPACK_ARANGO_LOG_DIR@/arangod.log"
|
|
activate
|
|
end tell
|
|
EOF
|
|
|
|
# start safari and open web ui
|
|
|
|
sleep 10;
|
|
/usr/bin/osascript <<-EOF
|
|
tell application "Safari"
|
|
open location "http://127.0.0.1:8529/"
|
|
activate
|
|
end tell
|
|
EOF
|