mirror of https://gitee.com/bigwinds/arangodb
Macos Bundle: copy the config files into the users home directory, and reference them from there so the .dmg remains unchanged (#2687)
This commit is contained in:
parent
7043af264c
commit
c6628edbba
|
@ -3,10 +3,15 @@ WD=$(dirname "$0")
|
|||
ROOTDIR=$(cd "$WD" && 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
|
||||
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
|
||||
|
@ -20,9 +25,9 @@ EOF
|
|||
STORAGE_ENGINE=auto
|
||||
fi
|
||||
|
||||
sed -i -e "s;storage-engine = auto;storage-engine = $STORAGE_ENGINE;" "${ROOTDIR}/@CMAKE_INSTALL_SYSCONFDIR_ARANGO@/arangod.conf"
|
||||
sed -i -e "s;storage-engine = auto;storage-engine = $STORAGE_ENGINE;" "${ARANGOD_CONF}"
|
||||
else
|
||||
if "${ROOTDIR}/arangod" --database.check-version true; then
|
||||
if "${ROOTDIR}/arangod" -c "${ARANGOD_CONF}" --database.check-version true; then
|
||||
echo "database doesn't need an upgrade."
|
||||
else
|
||||
UPGRADE_DB=$(/usr/bin/osascript<<END
|
||||
|
@ -33,7 +38,7 @@ end tell
|
|||
END
|
||||
)
|
||||
if test "${UPGRADE_DB}" == "Yes"; then
|
||||
"${ROOTDIR}/arangod" --database.auto-upgrade
|
||||
"${ROOTDIR}/arangod" --database.auto-upgrade -c "${ARANGOD_CONF}"
|
||||
else
|
||||
echo "Can't continue with not updated database."
|
||||
exit 1
|
||||
|
@ -52,7 +57,7 @@ for script in $SCRIPTS; do
|
|||
echo "export ROOTDIR=\"${ROOTDIR}@CMAKE_INSTALL_PREFIX@\""
|
||||
echo
|
||||
|
||||
echo "exec \"\${ROOTDIR}/$script\" -c \"\${ROOTDIR}/@CMAKE_INSTALL_SYSCONFDIR_ARANGO@/${base}.conf\" \$*"
|
||||
echo "exec \"\${ROOTDIR}/$script\" -c \"\${ARANGOD_CONF_DIR}/${base}.conf\" \$*"
|
||||
) > "${ROOTDIR}/$base.$$"
|
||||
|
||||
chmod 755 "${ROOTDIR}/$base.$$"
|
||||
|
@ -61,7 +66,7 @@ done
|
|||
|
||||
# start the server
|
||||
|
||||
PIDFILE="${ROOTDIR}@INC_CPACK_ARANGO_PID_DIR@/arangod.pid"
|
||||
PIDFILE="${HOMEDIR}@INC_CPACK_ARANGO_PID_DIR@/arangod.pid"
|
||||
|
||||
if [ -f "${PIDFILE}" ]; then
|
||||
result=$(
|
||||
|
@ -80,7 +85,7 @@ fi
|
|||
|
||||
|
||||
test -d "${ROOTDIR}@INC_CPACK_ARANGO_PID_DIR@" || mkdir "${ROOTDIR}@INC_CPACK_ARANGO_PID_DIR@"
|
||||
"${ROOTDIR}/arangod" --daemon --pid-file "${PIDFILE}"
|
||||
"${ROOTDIR}/arangod" -c "${ARANGOD_CONF}" --daemon --pid-file "${PIDFILE}"
|
||||
|
||||
# create some information for the user
|
||||
|
||||
|
|
|
@ -21,19 +21,21 @@ set(CPACK_ARANGO_PID_DIR "/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALSTATEDIR
|
|||
set(CPACK_ARANGO_DATA_DIR "${INST_USR_LIBDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALSTATEDIR}/lib/arangodb3")
|
||||
set(CPACK_ARANGO_LOG_DIR "${INST_USR_LIBDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALSTATEDIR}/log/arangodb3")
|
||||
set(CPACK_ARANGO_STATE_DIR "${INST_USR_LIBDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALSTATEDIR}")
|
||||
|
||||
set(CPACK_INSTALL_SYSCONFDIR "/Library/ArangoDB-${CMAKE_INSTALL_SYSCONFDIR}")
|
||||
set(CPACK_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO}")
|
||||
set(CPACK_ARANGODB_APPS_DIRECTORY "${INST_USR_LIBDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALSTATEDIR}/lib/arangodb3-apps")
|
||||
|
||||
to_native_path("CPACK_ARANGODB_APPS_DIRECTORY")
|
||||
to_native_path("CMAKE_INSTALL_DATAROOTDIR_ARANGO")
|
||||
to_native_path("CPACK_INSTALL_SYSCONFDIR")
|
||||
to_native_path("CPACK_ARANGO_PID_DIR")
|
||||
to_native_path("CPACK_ARANGO_DATA_DIR")
|
||||
to_native_path("CPACK_ARANGO_STATE_DIR")
|
||||
to_native_path("CPACK_ARANGO_LOG_DIR")
|
||||
to_native_path("CPACK_INSTALL_FULL_SYSCONFDIR")
|
||||
|
||||
# we wrap HDIUTIL to inject our own parameter:
|
||||
find_program(HDIUTIL_EXECUTABLE hdiutil)
|
||||
# for now 240MB seems to be enough:
|
||||
# for now 260MB seems to be enough:
|
||||
set(CMAKE_DMG_SIZE 260)
|
||||
configure_file("${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/hdiutilwrapper.sh.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/hdiutilwrapper.sh"
|
||||
|
|
Loading…
Reference in New Issue