From 03079b2b672df2cb95b351be9b1710c0791dbc47 Mon Sep 17 00:00:00 2001 From: Frank Celler Date: Tue, 14 Jun 2016 16:51:48 +0200 Subject: [PATCH] 3.0 fixes for paths --- CMakeLists.txt | 11 ++-- GNUmakefile | 30 +++------ Installation/ARM/postinst | 10 +-- Installation/ARM/postrm | 6 +- Installation/ARM/preinst | 8 +-- Installation/ARM/prerm | 2 +- Installation/ARM/rc.arangodb | 2 +- Installation/MacOSX/Bundle/arangodb-cli.sh | 4 +- Installation/debian/arangodb.dirs | 2 +- Installation/debian/arangodb.init | 2 +- Installation/debian/postrm | 2 +- Installation/debian/preinst | 2 +- Installation/release.sh | 66 +++++++++++++++---- .../RestHandler/RestPleaseUpgradeHandler.cpp | 6 +- cmake/ArangoDBMacros.cmake | 12 +++- 15 files changed, 99 insertions(+), 66 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d788654c33..c514bacdc7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -334,12 +334,12 @@ else () option(USE_OPTIMIZE_FOR_ARCHITECTURE "try to determine CPU architecture" ON) - if (NOT ${USE_OPTIMIZE_FOR_ARCHITECTURE}) + if (USE_OPTIMIZE_FOR_ARCHITECTURE) # mop: core2 (merom) is our absolute minimum! - SET(TARGET_ARCHITECTURE "merom") + # SET(TARGET_ARCHITECTURE "merom") + include(OptimizeForArchitecture) + OptimizeForArchitecture() endif () - include(OptimizeForArchitecture) - OptimizeForArchitecture() set(BASE_FLAGS "${Vc_ARCHITECTURE_FLAGS} ${BASE_FLAGS}") endif () @@ -804,9 +804,6 @@ add_dependencies(arangodump zlibstatic) add_dependencies(arangoimp zlibstatic) add_dependencies(arangorestore zlibstatic) add_dependencies(arangosh zlibstatic) -if (TARGET prepare_debian) - add_dependencies(arangod prepare_debian) -endif() if (NOT USE_PRECOMPILED_V8) # all binaries depend on v8_build because it contains ICU as well diff --git a/GNUmakefile b/GNUmakefile index 10aefe62fd..f5eee17007 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -91,22 +91,15 @@ pack-dmg: pack-dmg-cmake: cd Build && cmake \ - -D "BUILD_PACKAGE=dmg-cli" \ - -D "CMAKE_INSTALL_PREFIX=${prefix}" \ - -D "OPENSSL_INCLUDE=`brew --prefix`/opt/openssl/include" \ - -D "OPENSSL_LIB_PATH=`brew --prefix`/opt/openssl/lib" \ - -D "OPENSSL_LIBS=`brew --prefix`/opt/openssl/lib/libssl.a;`brew --prefix`/opt/openssl/lib/libcrypto.a" \ + -D "USE_OPTIMIZE_FOR_ARCHITECTURE=Off" \ + -D "CMAKE_BUILD_TYPE=RelWithDebInfo" \ + -D "CMAKE_OSX_DEPLOYMENT_TARGET=10.10" \ + -D "CMAKE_INSTALL_PREFIX=/opt/arangodb" \ + -D "OPENSSL_ROOT_DIR=`brew --prefix`/opt/openssl" \ .. - ${MAKE} ${BUILT_SOURCES} - - test -d bin || mkdir bin - - rm -f ./.file-list-js cd Build && ${MAKE} - ./Installation/file-copy-js.sh . Build - cd Build && cpack \ -G Bundle \ -D "CPACK_INSTALL_PREFIX=${DMG_NAME}/Contents/MacOS/opt/arangodb" @@ -124,19 +117,16 @@ pack-macosxcode: ${MAKE} -f GNUMakefile pack-macosxcode-cmake MOREOPTS='$(MOREOPTS)' pack-macosxcode-cmake: - rm -f ./.file-list-js cd Build && cmake \ - -D "BUILD_PACKAGE=dmg-cli" \ - -D "CMAKE_INSTALL_PREFIX=${prefix}" \ - -D "OPENSSL_INCLUDE=`brew --prefix`/opt/openssl/include" \ - -D "OPENSSL_LIB_PATH=`brew --prefix`/opt/openssl/lib" \ - -D "OPENSSL_LIBS=`brew --prefix`/opt/openssl/lib/libssl.a;`brew --prefix`/opt/openssl/lib/libcrypto.a" \ + -D "USE_OPTIMIZE_FOR_ARCHITECTURE=Off" \ + -D "CMAKE_BUILD_TYPE=RelWithDebInfo" \ + -D "CMAKE_OSX_DEPLOYMENT_TARGET=10.10" \ + -D "CMAKE_INSTALL_PREFIX=/opt/arangodb" \ + -D "OPENSSL_ROOT_DIR=`brew --prefix`/opt/openssl" \ -G Xcode \ $(MOREOPTS) \ .. - ./Installation/file-copy-js.sh . Build - ################################################################################ ### @brief MacOSX diff --git a/Installation/ARM/postinst b/Installation/ARM/postinst index 72ad00c4c4..33bfa56846 100755 --- a/Installation/ARM/postinst +++ b/Installation/ARM/postinst @@ -1,6 +1,6 @@ #!/bin/sh -update-rc.d arangodb start 99 2 3 4 5 . stop 00 0 1 6 . >/dev/null -/etc/init.d/arangodb start +update-rc.d arangodb3 start 99 2 3 4 5 . stop 00 0 1 6 . >/dev/null +/etc/init.d/arangodb3 start echo " ArangoDB 2 (http://www.arangodb.com) @@ -14,14 +14,14 @@ Upgrading ArangoDB: https://docs.arangodb.com/Installing/Upgrading.html Upgrading ArangoDB database files: - > /etc/init.d/arangodb upgrade + > /etc/init.d/arangodb3 upgrade Configuration file: - /etc/arangodb/arangod.conf + /etc/arangodb3/arangod.conf Start ArangoDB shell client: > /usr/bin/arangosh Start ArangoDB service: - > /etc/init.d/arangodb start + > /etc/init.d/arangodb3 start " diff --git a/Installation/ARM/postrm b/Installation/ARM/postrm index acf52dd77b..8bf9fb2aba 100644 --- a/Installation/ARM/postrm +++ b/Installation/ARM/postrm @@ -1,10 +1,10 @@ #!/bin/sh if [ purge = "$1" ]; then - update-rc.d arangodb remove >/dev/null + update-rc.d arangodb3 remove >/dev/null - rm -rf /usr/share/arangodb/js/apps - rm -rf /var/log/arangodb + rm -rf /usr/share/arangodb3/js/apps + rm -rf /var/log/arangodb3 rm -rf /var/lib/arangodb3 rm -rf /var/lib/arangodb3-apps fi diff --git a/Installation/ARM/preinst b/Installation/ARM/preinst index 445c877fa1..058ab75dc8 100644 --- a/Installation/ARM/preinst +++ b/Installation/ARM/preinst @@ -1,9 +1,9 @@ #!/bin/sh getent group arangodb >/dev/null || groupadd -r arangodb -getent passwd arangodb >/dev/null || useradd -r -g arangodb -d /usr/share/arangodb -s /bin/false -c "ArangoDB Application User" arangodb +getent passwd arangodb >/dev/null || useradd -r -g arangodb -d /usr/share/arangodb3 -s /bin/false -c "ArangoDB Application User" arangodb -install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb -install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb-apps +install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb3 +install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb3-apps install -o arangodb -g arangodb -m 755 -d /var/run/arangodb -install -o arangodb -g arangodb -m 755 -d /var/log/arangodb +install -o arangodb -g arangodb -m 755 -d /var/log/arangodb3 diff --git a/Installation/ARM/prerm b/Installation/ARM/prerm index f551d37a41..f6adcd2400 100644 --- a/Installation/ARM/prerm +++ b/Installation/ARM/prerm @@ -1,3 +1,3 @@ #!/bin/sh -/etc/init.d/arangodb stop +/etc/init.d/arangodb3 stop diff --git a/Installation/ARM/rc.arangodb b/Installation/ARM/rc.arangodb index 3550c60b3b..d48810b902 100644 --- a/Installation/ARM/rc.arangodb +++ b/Installation/ARM/rc.arangodb @@ -31,7 +31,7 @@ start () { [ -d $PIDDIR ] || mkdir $PIDDIR || exit 1 [ -d /var/run/arangodb ] || mkdir /var/run/arangodb || exit 1 - ( cd /var/log/arangodb && chown -R arangodb:arangodb . ) || exit 1 + ( cd /var/log/arangodb3 && chown -R arangodb:arangodb . ) || exit 1 ( cd /var/lib/arangodb3 && chown -R arangodb:arangodb . ) || exit 1 ( cd /var/lib/arangodb3-apps && chown -R arangodb:arangodb . ) || exit 1 ( cd /var/run/arangodb && chown -R arangodb:arangodb . ) || exit 1 diff --git a/Installation/MacOSX/Bundle/arangodb-cli.sh b/Installation/MacOSX/Bundle/arangodb-cli.sh index 7ac80f7f9b..13ed13e5b1 100755 --- a/Installation/MacOSX/Bundle/arangodb-cli.sh +++ b/Installation/MacOSX/Bundle/arangodb-cli.sh @@ -55,7 +55,7 @@ INFOFILE="/tmp/ArangoDB-CLI.info.$$" echo " '${ROOTDIR}/Contents/MacOS/opt/arangodb/var/lib/arangodb3'" echo "" echo "The log file is located at" - echo " '${ROOTDIR}/Contents/MacOS/opt/arangodb/var/log/arangodb/arangod.log'" + echo " '${ROOTDIR}/Contents/MacOS/opt/arangodb/var/log/arangodb3/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" @@ -71,6 +71,6 @@ INFOFILE="/tmp/ArangoDB-CLI.info.$$" /usr/bin/osascript <<-EOF tell application "Terminal" activate - do script "clear && cat $INFOFILE && rm $INFOFILE && sleep 20 && exec tail -1 -f ${ROOTDIR}/Contents/MacOS/opt/arangodb/var/log/arangodb/arangod.log" + do script "clear && cat $INFOFILE && rm $INFOFILE && sleep 20 && exec tail -1 -f ${ROOTDIR}/Contents/MacOS/opt/arangodb/var/log/arangodb3/arangod.log" end tell EOF diff --git a/Installation/debian/arangodb.dirs b/Installation/debian/arangodb.dirs index 3fb69c91e4..09e8a274fe 100644 --- a/Installation/debian/arangodb.dirs +++ b/Installation/debian/arangodb.dirs @@ -1,3 +1,3 @@ /var/lib/arangodb3 /var/lib/arangodb3-apps -/var/log/arangodb +/var/log/arangodb3 diff --git a/Installation/debian/arangodb.init b/Installation/debian/arangodb.init index 48f0e44385..b53a87f212 100755 --- a/Installation/debian/arangodb.init +++ b/Installation/debian/arangodb.init @@ -30,7 +30,7 @@ fi start () { [ -d $PIDDIR ] || mkdir $PIDDIR || exit 1 - ( cd /var/log/arangodb && chown -R arangodb:arangodb . ) || exit 1 + ( cd /var/log/arangodb3 && chown -R arangodb:arangodb . ) || exit 1 ( cd /var/lib/arangodb3 && chown -R arangodb:arangodb . ) || exit 1 ( cd /var/lib/arangodb3-apps && chown -R arangodb:arangodb . ) || exit 1 ( cd $PIDDIR && chown arangodb:arangodb . ) || exit 1 diff --git a/Installation/debian/postrm b/Installation/debian/postrm index 8488a3fa62..7b58aa6214 100755 --- a/Installation/debian/postrm +++ b/Installation/debian/postrm @@ -5,7 +5,7 @@ set -e if [ purge = "$1" ]; then rm -rf /usr/share/arangodb/js/apps - rm -rf /var/log/arangodb + rm -rf /var/log/arangodb3 rm -rf /var/lib/arangodb3 rm -rf /var/lib/arangodb3-apps rm -rf /var/run/arangodb diff --git a/Installation/debian/preinst b/Installation/debian/preinst index 438a359a2b..235f8fa7c6 100755 --- a/Installation/debian/preinst +++ b/Installation/debian/preinst @@ -6,6 +6,6 @@ getent passwd arangodb >/dev/null || useradd -r -g arangodb -d /usr/share/arango install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb3 install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb3-apps -install -o arangodb -g arangodb -m 755 -d /var/log/arangodb +install -o arangodb -g arangodb -m 755 -d /var/log/arangodb3 #DEBHELPER# diff --git a/Installation/release.sh b/Installation/release.sh index 03df900c67..4813c13050 100755 --- a/Installation/release.sh +++ b/Installation/release.sh @@ -3,6 +3,35 @@ set -e TAG=1 BOOK=1 +BUILD=1 +SWAGGER=1 +EXAMPLES=1 +LINT=1 + +if [ "$1" == "--no-lint" ]; then + LINT=0 + shift +fi + +if [ "$1" == "--no-build" ]; then + BUILD=0 + shift +fi + +if [ "$1" == "--recycle-build" ]; then + BUILD=2 + shift +fi + +if [ "$1" == "--no-swagger" ]; then + SWAGGER=0 + shift +fi + +if [ "$1" == "--no-examples" ]; then + EXAMPLES=0 + shift +fi if [ "$1" == "--no-commit" ]; then TAG=0 @@ -51,17 +80,24 @@ if [ `uname` == "Darwin" ]; then CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11" fi -echo "COMPILING" -rm -rf build && mkdir build +if [ "$BUILD" != "0" ]; then + echo "COMPILING" -( - cd build - cmake .. ${CMAKE_CONFIGURE} - make -j 8 -) + if [ "$BUILD" == "1" ]; then + rm -rf build && mkdir build + fi -echo "LINTING" -./utils/jslint.sh + ( + cd build + cmake .. ${CMAKE_CONFIGURE} + make -j 8 + ) +fi + +if [ "$LINT" == "1" ]; then + echo "LINTING" + ./utils/jslint.sh +fi git add -f \ README \ @@ -75,11 +111,15 @@ git add -f \ js/common/bootstrap/errors.js \ CMakeLists.txt -echo "SWAGGER" -./utils/generateSwagger.sh +if [ "$EXAMPLES" == "1" ]; then + echo "EXAMPLES" + ./utils/generateExamples.sh +fi -echo "EXAMPLES" -./utils/generateExamples.sh +if [ "$SWAGGER" == "1" ]; then + echo "SWAGGER" + ./utils/generateSwagger.sh +fi echo "GRUNT" ( diff --git a/arangod/RestHandler/RestPleaseUpgradeHandler.cpp b/arangod/RestHandler/RestPleaseUpgradeHandler.cpp index 46be6fe5b6..905364918c 100644 --- a/arangod/RestHandler/RestPleaseUpgradeHandler.cpp +++ b/arangod/RestHandler/RestPleaseUpgradeHandler.cpp @@ -42,9 +42,9 @@ HttpHandler::status_t RestPleaseUpgradeHandler::execute() { buffer.appendText("\r\n\r\n"); buffer.appendText("It appears that your database must be upgraded. "); buffer.appendText("Normally this can be done using\r\n\r\n"); - buffer.appendText(" /etc/init.d/arangodb stop\r\n"); - buffer.appendText(" /etc/init.d/arangodb upgrade\r\n"); - buffer.appendText(" /etc/init.d/arangodb start\r\n\r\n"); + buffer.appendText(" /etc/init.d/arangodb3 stop\r\n"); + buffer.appendText(" /etc/init.d/arangodb3 upgrade\r\n"); + buffer.appendText(" /etc/init.d/arangodb3 start\r\n\r\n"); buffer.appendText("Please check the log file for details.\r\n"); return status_t(HANDLER_DONE); diff --git a/cmake/ArangoDBMacros.cmake b/cmake/ArangoDBMacros.cmake index da3db1e906..1e6ca2345e 100644 --- a/cmake/ArangoDBMacros.cmake +++ b/cmake/ArangoDBMacros.cmake @@ -52,7 +52,7 @@ FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb3") FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb3-apps") # logs -FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/log/arangodb") +FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/log/arangodb3") # package set(TRI_PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/arangodb3") @@ -284,7 +284,12 @@ if (DH_INSTALLINIT AND FAKEROOT) endif() # General -set(CPACK_PACKAGE_NAME "arangodb3") +if (DARWIN) + set(CPACK_PACKAGE_NAME "ArangoDB-CLI") +else () + set(CPACK_PACKAGE_NAME "arangodb3") +endif () + set(CPACK_PACKAGE_VENDOR "ArangoDB GmbH") set(CPACK_PACKAGE_CONTACT "info@arangodb.com") set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}") @@ -309,6 +314,7 @@ set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_DEBIAN_COMPRESSION_TYPE "xz") set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://www.arangodb.com/") set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJECT_BINARY_DIR}/debian-work/debian/${CPACK_PACKAGE_NAME}/DEBIAN/postinst;${PROJECT_BINARY_DIR}/debian-work/debian/${CPACK_PACKAGE_NAME}/DEBIAN/preinst;${PROJECT_BINARY_DIR}/debian-work/debian/${CPACK_PACKAGE_NAME}/DEBIAN/postrm;${PROJECT_BINARY_DIR}/debian-work/debian/${CPACK_PACKAGE_NAME}/DEBIAN/prerm;") + set(CPACK_BUNDLE_NAME "${CPACK_PACKAGE_NAME}") configure_file("${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/Info.plist.in" "${CMAKE_CURRENT_BINARY_DIR}/Info.plist") set(CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_BINARY_DIR}/Info.plist") @@ -412,7 +418,7 @@ install( ################################################################################ install( - DIRECTORY ${PROJECT_BINARY_DIR}/var/log/arangodb + DIRECTORY ${PROJECT_BINARY_DIR}/var/log/arangodb3 DESTINATION ${VARDIR_INSTALL}/log) ################################################################################