mirror of https://gitee.com/bigwinds/arangodb
added startup script
This commit is contained in:
parent
eed8ceebd1
commit
96d3c32cb7
|
@ -92,6 +92,7 @@ cppcheck.log
|
|||
cppcheck.tmp
|
||||
|
||||
Installation/epm/arangodb.sublist
|
||||
Installation/MacOSX/Bundle/Info.plist
|
||||
nbproject/
|
||||
|
||||
test.cpp.txt
|
||||
|
|
|
@ -80,17 +80,23 @@ if (USE_MRUBY)
|
|||
add_definitions("-DTRI_ENABLE_MRUBY=1")
|
||||
endif ()
|
||||
|
||||
################################################################################
|
||||
### @brief RAW_CONFIG
|
||||
################################################################################
|
||||
|
||||
option(USE_RAW_CONFIG "Do you want to install configuration files with variables" OFF)
|
||||
|
||||
################################################################################
|
||||
### @brief SYSTEM CONFIGURATION DIRECTORY (/etc)
|
||||
################################################################################
|
||||
|
||||
set(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" CACHE path "System configuration directory")
|
||||
set(SYSCONFDIR "etc" CACHE path "System configuration directory")
|
||||
set(ARANGODB_CONF_DIR ${SYSCONFDIR}/arangodb)
|
||||
|
||||
file(TO_NATIVE_PATH "${SYSCONFDIR}" SYSCONFDIR)
|
||||
file(TO_NATIVE_PATH "${ARANGODB_CONF_DIR}" ARANGODB_CONF_DIR)
|
||||
file(TO_NATIVE_PATH "${CMAKE_INSTALL_PREFIX}/${ARANGODB_CONF_DIR}" ETCDIR)
|
||||
|
||||
add_definitions("-D_SYSCONFDIR_=\"${ARANGODB_CONF_DIR}\"")
|
||||
add_definitions("-D_SYSCONFDIR_=\"${ETCDIR}\"")
|
||||
|
||||
set(TRI_BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
set(TRI_DATABASEDIR "${CMAKE_INSTALL_PREFIX}/var/lib/arangodb")
|
||||
|
@ -118,7 +124,7 @@ include_directories(${PROJECT_SOURCE_DIR})
|
|||
set(ICU_INCLUDE ${PROJECT_SOURCE_DIR}/3rdParty/icu/BUILD/include CACHE path "ICU include path")
|
||||
set(ICU_LIB_PATH ${PROJECT_SOURCE_DIR}/3rdParty/icu/BUILD/libs CACHE path "ICU library path")
|
||||
set(ICU_LIBS icui18n;icuuc;icudata;pthread;m CACHE path "ICU libraries")
|
||||
set(ICU_VERSION "49.1.2" CACHE string "ICU version")
|
||||
set(ICU_VERSION "52.1" CACHE string "ICU version")
|
||||
|
||||
if (ICU_INCLUDE)
|
||||
include_directories(${ICU_INCLUDE})
|
||||
|
@ -279,9 +285,13 @@ add_subdirectory(UnitTests)
|
|||
|
||||
set(CPACK_SET_DESTDIR ON)
|
||||
|
||||
set(CPACK_BUNDLE_NAME "ArangoDB CLI")
|
||||
set(CPACK_BUNDLE_PLIST "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/Info.plist")
|
||||
set(CPACK_BUNDLE_ICON "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/icon.icns")
|
||||
set(CPACK_PACKAGE_NAME "ArangoDB-CLI")
|
||||
set(CPACK_PACKAGE_VENDOR "triAGENS GmbH")
|
||||
|
||||
set(CPACK_BUNDLE_NAME "${CPACK_PACKAGE_NAME}")
|
||||
set(CPACK_BUNDLE_PLIST "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/Info.plist")
|
||||
set(CPACK_BUNDLE_ICON "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/icon.icns")
|
||||
set(CPACK_BUNDLE_STARTUP_COMMAND "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/arangodb-cli.sh")
|
||||
|
||||
include(CPack)
|
||||
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>ArangoDB-CLI</string>
|
||||
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>ArangoDB-CLI</string>
|
||||
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>ArangoDB-CLI</string>
|
||||
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.arangodb.ArangoDB-CLI</string>
|
||||
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
|
||||
<key>CFBundleName</key>
|
||||
<string>ArangoDB-CLI</string>
|
||||
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>@VERSION@</string>
|
||||
|
||||
<key>CFBundleSignature</key>
|
||||
<string>acli</string>
|
||||
|
||||
<key>CFBundleVersion</key>
|
||||
<string>@VERSION@</string>
|
||||
|
||||
<key>NSAppleScriptEnabled</key>
|
||||
<string>NO</string>
|
||||
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2013 triAgens. All rights reserved.</string>
|
||||
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.8</string>
|
||||
|
||||
<key>NSSupportsSuddenTermination</key>
|
||||
<false/>
|
||||
|
||||
<key>NSSupportsAutomaticTermination</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,78 @@
|
|||
#!/bin/bash
|
||||
|
||||
ARANGO_ROOT="`echo $0 | sed -e 's/\/Contents\/MacOS\/ArangoDB-CLI//'`"
|
||||
|
||||
# create start script
|
||||
|
||||
SCRIPTS="`( cd $ARANGO_ROOT/Contents/MacOS/opt/arangodb && ls -1 {bin,sbin}/* )`"
|
||||
|
||||
for script in $SCRIPTS; do
|
||||
base="`basename $script`"
|
||||
|
||||
(
|
||||
echo "#!/bin/bash"
|
||||
echo
|
||||
echo "export ARANGO_ROOT=\"${ARANGO_ROOT}/Contents/MacOS//opt/arangodb\""
|
||||
echo "export DATABASEDIR=\"${ARANGO_ROOT}/Contents/MacOS//opt/arangodb/var/lib/arangodb\""
|
||||
echo "export LOGDIR=\"${ARANGO_ROOT}/Contents/MacOS//opt/arangodb/var/log/arangodb\""
|
||||
echo "export PKGDATADIR=\"${ARANGO_ROOT}/Contents/MacOS//opt/arangodb/share/arangodb\""
|
||||
echo
|
||||
echo "exec \"${ARANGO_ROOT}/Contents/MacOS/opt/arangodb/$script\" -c \"${ARANGO_ROOT}/Contents/MacOS/opt/arangodb/etc/arangodb/${base}-relative.conf\" \$*"
|
||||
) > ${ARANGO_ROOT}/Contents/MacOS/$base.$$
|
||||
|
||||
chmod 755 ${ARANGO_ROOT}/Contents/MacOS/$base.$$
|
||||
mv ${ARANGO_ROOT}/Contents/MacOS/$base.$$ ${ARANGO_ROOT}/Contents/MacOS/$base
|
||||
done
|
||||
|
||||
# start the server
|
||||
|
||||
PIDFILE="${ARANGO_ROOT}/Contents/MacOS/opt/arangodb/var/run/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 "${ARANGO_ROOT}/Contents/MacOS/opt/arangodb/var/run" || mkdir "${ARANGO_ROOT}/Contents/MacOS/opt/arangodb/var/run"
|
||||
${ARANGO_ROOT}/Contents/MacOS/arangod --daemon --pid-file "${PIDFILE}"
|
||||
|
||||
# create some information for the user
|
||||
|
||||
INFOFILE="/tmp/ArangoDB-CLI.info.$$"
|
||||
|
||||
(
|
||||
echo "ArangoDB server has been started"
|
||||
echo ""
|
||||
echo "The database directory is located at"
|
||||
echo " '${ARANGO_ROOT}/Contents/MacOS/opt/arangodb/var/lib/arangodb'"
|
||||
echo ""
|
||||
echo "The log file is located at"
|
||||
echo " '${ARANGO_ROOT}/Contents/MacOS/opt/arangodb/var/log/arangodb/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 " '${ARANGO_ROOT}/Contents/MacOS/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"
|
||||
activate
|
||||
do script "clear && cat $INFOFILE && rm $INFOFILE && sleep 20 && exec tail -1 -f ${ARANGO_ROOT}/Contents/MacOS/opt/arangodb/var/log/arangodb/arangod.log"
|
||||
end tell
|
||||
EOF
|
31
Makefile.am
31
Makefile.am
|
@ -8,6 +8,9 @@ comma := ,
|
|||
empty :=
|
||||
space := $(empty) $(empty)
|
||||
MAJOR_MINOR := $(subst $(space),.,$(wordlist 1,2,$(subst ., ,$(VERSION))))
|
||||
VERSION_MAJOR := $(wordlist 1,1,$(subst ., ,$(VERSION)))
|
||||
VERSION_MINOR := $(wordlist 2,2,$(subst ., ,$(VERSION)))
|
||||
VERSION_PATCH := $(wordlist 3,3,$(subst ., ,$(VERSION)))
|
||||
|
||||
## -----------------------------------------------------------------------------
|
||||
## --SECTION-- FILES
|
||||
|
@ -490,6 +493,34 @@ if ENABLE_ALL_IN_ONE_ICU
|
|||
include 3rdParty/Makefile.all-in-one-icu
|
||||
endif
|
||||
|
||||
## -----------------------------------------------------------------------------
|
||||
## --SECTION-- CMAKE & CPACK
|
||||
## -----------------------------------------------------------------------------
|
||||
|
||||
.PHONY: pack-dmg
|
||||
|
||||
DMG_NAME := ArangoDB-CLI.app
|
||||
|
||||
pack-dmg:
|
||||
rm -rf Build && mkdir Build
|
||||
|
||||
./configure \
|
||||
--prefix=/opt/arangodb \
|
||||
--enable-mruby
|
||||
|
||||
cd Build && cmake \
|
||||
-D "CMAKE_INSTALL_PREFIX=/opt/arangodb" \
|
||||
-D "USE_MRUBY=ON" \
|
||||
-D "USE_RAW_CONFIG=ON" \
|
||||
-D "CPACK_PACKAGE_VERSION_MAJOR=${VERSION_MAJOR}" \
|
||||
-D "CPACK_PACKAGE_VERSION_MINOR=${VERSION_MINOR}" \
|
||||
-D "CPACK_PACKAGE_VERSION_PATCH=${VERSION_PATCH}" \
|
||||
..
|
||||
|
||||
cd Build && cpack \
|
||||
-G Bundle \
|
||||
-D "CPACK_INSTALL_PREFIX=${DMG_NAME}/Contents/MacOS/opt/arangodb"
|
||||
|
||||
## -----------------------------------------------------------------------------
|
||||
## --SECTION-- END-OF-FILE
|
||||
## -----------------------------------------------------------------------------
|
||||
|
|
|
@ -149,6 +149,13 @@ install(
|
|||
TARGETS ${BIN_ARANGOD}
|
||||
RUNTIME DESTINATION sbin)
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod.conf.in
|
||||
DESTINATION ${ARANGODB_CONF_DIR}
|
||||
RENAME arangod-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod.conf
|
||||
DESTINATION ${ARANGODB_CONF_DIR})
|
||||
|
|
|
@ -46,6 +46,13 @@ install(
|
|||
TARGETS ${BIN_ARANGOIRB}
|
||||
RUNTIME DESTINATION bin)
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangoirb.conf.in
|
||||
DESTINATION ${ARANGODB_CONF_DIR}
|
||||
RENAME arangoirb-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangoirb.conf
|
||||
DESTINATION ${ARANGODB_CONF_DIR})
|
||||
|
|
|
@ -43,6 +43,13 @@ install(
|
|||
TARGETS ${BIN_ARANGOB}
|
||||
RUNTIME DESTINATION bin)
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangob.conf.in
|
||||
DESTINATION ${ARANGODB_CONF_DIR}
|
||||
RENAME arangob-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangob.conf
|
||||
DESTINATION ${ARANGODB_CONF_DIR})
|
||||
|
@ -81,6 +88,13 @@ install(
|
|||
TARGETS ${BIN_ARANGODUMP}
|
||||
RUNTIME DESTINATION bin)
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangodump.conf.in
|
||||
DESTINATION ${ARANGODB_CONF_DIR}
|
||||
RENAME arangodump-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangodump.conf
|
||||
DESTINATION ${ARANGODB_CONF_DIR})
|
||||
|
@ -121,6 +135,13 @@ install(
|
|||
TARGETS ${BIN_ARANGOIMP}
|
||||
RUNTIME DESTINATION bin)
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangoimp.conf.in
|
||||
DESTINATION ${ARANGODB_CONF_DIR}
|
||||
RENAME arangoimp-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangoimp.conf
|
||||
DESTINATION ${ARANGODB_CONF_DIR})
|
||||
|
@ -159,6 +180,13 @@ install(
|
|||
TARGETS ${BIN_ARANGORESTORE}
|
||||
RUNTIME DESTINATION bin)
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangorestore.conf.in
|
||||
DESTINATION ${ARANGODB_CONF_DIR}
|
||||
RENAME arangorestore-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangorestore.conf
|
||||
DESTINATION ${ARANGODB_CONF_DIR})
|
||||
|
@ -199,6 +227,13 @@ install(
|
|||
TARGETS ${BIN_ARANGOSH}
|
||||
RUNTIME DESTINATION bin)
|
||||
|
||||
if (USE_RAW_CONFIG)
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangosh.conf.in
|
||||
DESTINATION ${ARANGODB_CONF_DIR}
|
||||
RENAME arangosh-relative.conf)
|
||||
endif ()
|
||||
|
||||
install(
|
||||
FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangosh.conf
|
||||
DESTINATION ${ARANGODB_CONF_DIR})
|
||||
|
|
|
@ -214,7 +214,7 @@ dnl ============================================================================
|
|||
BUILD_H="\$(top_srcdir)/build.h"
|
||||
AC_SUBST(BUILD_H)
|
||||
|
||||
AC_CONFIG_FILES([Makefile Documentation/arango.template])
|
||||
AC_CONFIG_FILES([Makefile Documentation/arango.template Installation/MacOSX/Bundle/Info.plist])
|
||||
AC_CONFIG_HEADER([config/config.h lib/BasicsC/local-configuration.h])
|
||||
AC_OUTPUT
|
||||
|
||||
|
|
Loading…
Reference in New Issue