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)
|
ROOTDIR=$(cd "$WD" && pwd)
|
||||||
# create start script
|
# 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_DATA_DIR@"
|
||||||
mkdir -p "${HOME}@INC_CPACK_ARANGO_LOG_DIR@"
|
mkdir -p "${HOME}@INC_CPACK_ARANGO_LOG_DIR@"
|
||||||
mkdir -p "${HOME}@INC_CPACK_ARANGODB_APPS_DIRECTORY@"
|
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
|
if test ! -f "${HOME}@INC_CPACK_ARANGO_DATA_DIR@/SERVER" -a ! -f "${HOME}@INC_CPACK_ARANGO_DATA_DIR@/ENGINE"; then
|
||||||
STORAGE_ENGINE=$(
|
STORAGE_ENGINE=$(
|
||||||
/usr/bin/osascript <<-EOF
|
/usr/bin/osascript <<-EOF
|
||||||
|
@ -20,9 +25,9 @@ EOF
|
||||||
STORAGE_ENGINE=auto
|
STORAGE_ENGINE=auto
|
||||||
fi
|
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
|
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."
|
echo "database doesn't need an upgrade."
|
||||||
else
|
else
|
||||||
UPGRADE_DB=$(/usr/bin/osascript<<END
|
UPGRADE_DB=$(/usr/bin/osascript<<END
|
||||||
|
@ -33,7 +38,7 @@ end tell
|
||||||
END
|
END
|
||||||
)
|
)
|
||||||
if test "${UPGRADE_DB}" == "Yes"; then
|
if test "${UPGRADE_DB}" == "Yes"; then
|
||||||
"${ROOTDIR}/arangod" --database.auto-upgrade
|
"${ROOTDIR}/arangod" --database.auto-upgrade -c "${ARANGOD_CONF}"
|
||||||
else
|
else
|
||||||
echo "Can't continue with not updated database."
|
echo "Can't continue with not updated database."
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -52,7 +57,7 @@ for script in $SCRIPTS; do
|
||||||
echo "export ROOTDIR=\"${ROOTDIR}@CMAKE_INSTALL_PREFIX@\""
|
echo "export ROOTDIR=\"${ROOTDIR}@CMAKE_INSTALL_PREFIX@\""
|
||||||
echo
|
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.$$"
|
) > "${ROOTDIR}/$base.$$"
|
||||||
|
|
||||||
chmod 755 "${ROOTDIR}/$base.$$"
|
chmod 755 "${ROOTDIR}/$base.$$"
|
||||||
|
@ -61,7 +66,7 @@ done
|
||||||
|
|
||||||
# start the server
|
# 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
|
if [ -f "${PIDFILE}" ]; then
|
||||||
result=$(
|
result=$(
|
||||||
|
@ -80,7 +85,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
test -d "${ROOTDIR}@INC_CPACK_ARANGO_PID_DIR@" || mkdir "${ROOTDIR}@INC_CPACK_ARANGO_PID_DIR@"
|
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
|
# 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_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_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_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")
|
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("CPACK_ARANGODB_APPS_DIRECTORY")
|
||||||
to_native_path("CMAKE_INSTALL_DATAROOTDIR_ARANGO")
|
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_PID_DIR")
|
||||||
to_native_path("CPACK_ARANGO_DATA_DIR")
|
to_native_path("CPACK_ARANGO_DATA_DIR")
|
||||||
to_native_path("CPACK_ARANGO_STATE_DIR")
|
to_native_path("CPACK_ARANGO_STATE_DIR")
|
||||||
to_native_path("CPACK_ARANGO_LOG_DIR")
|
to_native_path("CPACK_ARANGO_LOG_DIR")
|
||||||
|
to_native_path("CPACK_INSTALL_FULL_SYSCONFDIR")
|
||||||
|
|
||||||
# we wrap HDIUTIL to inject our own parameter:
|
# we wrap HDIUTIL to inject our own parameter:
|
||||||
find_program(HDIUTIL_EXECUTABLE hdiutil)
|
find_program(HDIUTIL_EXECUTABLE hdiutil)
|
||||||
# for now 240MB seems to be enough:
|
# for now 260MB seems to be enough:
|
||||||
set(CMAKE_DMG_SIZE 260)
|
set(CMAKE_DMG_SIZE 260)
|
||||||
configure_file("${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/hdiutilwrapper.sh.in"
|
configure_file("${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/hdiutilwrapper.sh.in"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/hdiutilwrapper.sh"
|
"${CMAKE_CURRENT_BINARY_DIR}/hdiutilwrapper.sh"
|
||||||
|
|
Loading…
Reference in New Issue