#!/bin/bash WD=$(dirname "$0") # We are in Contents/MacOS. However everything is located under Contents/Resources ROOTDIR=$(cd "$WD" && cd "../Resources" && pwd) # create start script ARANGOD_CONF_DIR="${HOME}@INC_CPACK_INSTALL_SYSCONFDIR@/" ARANGOD_CONF="${ARANGOD_CONF_DIR}/arangod.conf" mkdir -p "${HOME}@INC_CPACK_ARANGO_DATA_DIR@" mkdir -p "${HOME}@INC_CPACK_ARANGO_LOG_DIR@" mkdir -p "${HOME}@INC_CPACK_ARANGODB_APPS_DIRECTORY@" if test ! -f "${HOME}@INC_CPACK_INSTALL_SYSCONFDIR@"; then cp -R "${ROOTDIR}@CPACK_PACKAGING_INSTALL_PREFIX@/@CMAKE_INSTALL_SYSCONFDIR_ARANGO@" "${ARANGOD_CONF_DIR}/" fi # binary symlinks 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 \"${ARANGOD_CONF_DIR}/${base}.conf\" \$*" ) > "${ROOTDIR}/$base.$$" chmod 755 "${ROOTDIR}/$base.$$" mv "${ROOTDIR}/$base.$$" "${ROOTDIR}/$base" done if test ! -f "${HOME}@INC_CPACK_ARANGO_DATA_DIR@/SERVER" -a ! -f "${HOME}@INC_CPACK_ARANGO_DATA_DIR@/ENGINE"; then STORAGE_ENGINE=$( /usr/bin/osascript <<-EOF set issueList to {"auto", "mmfiles", "rocksdb"} set selectedIssue to {choose from list issueList} return selectedIssue EOF ) if test "$STORAGE_ENGINE" == "false"; then STORAGE_ENGINE=auto fi sed -i -e "s;storage-engine = auto;storage-engine = $STORAGE_ENGINE;" "${ARANGOD_CONF}" else if "${ROOTDIR}/arangod" -c "${ARANGOD_CONF}" --database.check-version true; then echo "database doesn't need an upgrade." else UPGRADE_DB=$(/usr/bin/osascript< $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