1
0
Fork 0

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:
Wilfried Goesgens 2017-06-28 15:16:44 +02:00 committed by Frank Celler
parent 7043af264c
commit c6628edbba
2 changed files with 16 additions and 9 deletions

View File

@ -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

View File

@ -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"