1
0
Fork 0

Merge branch 'devel' of https://github.com/arangodb/arangodb into devel

This commit is contained in:
Kaveh Vahedipour 2016-10-10 12:30:54 +02:00
commit bc6e88e264
13 changed files with 190 additions and 15 deletions

View File

@ -495,6 +495,8 @@ endif ()
## JEMALLOC ## JEMALLOC
################################################################################ ################################################################################
set(DEFAULT_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
find_package(jemalloc) find_package(jemalloc)
set(JEMALLOC_DEFAULT_VALUE ${JEMALLOC_FOUND}) set(JEMALLOC_DEFAULT_VALUE ${JEMALLOC_FOUND})
@ -521,6 +523,7 @@ if (USE_JEMALLOC)
set(SYS_LIBS ${SYS_LIBS} ${FORCE_JEMALLOC_LIB}) set(SYS_LIBS ${SYS_LIBS} ${FORCE_JEMALLOC_LIB})
endif () endif ()
endif () endif ()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${DEFAULT_LIBRARY_SUFFIXES})
################################################################################ ################################################################################
## TCMALLOC ## TCMALLOC
@ -929,6 +932,19 @@ if( EXISTS "${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json" )
endif() endif()
################################################################################
## SNAPCRAFT PACKAGE
################################################################################
#set(USE_SNAPCRAFT "ON")
if (USE_SNAPCRAFT)
if(NOT DEFINED SNAP_PORT)
set(SNAP_PORT 8529)
endif()
include(packages/snap)
endif ()
add_custom_target(packages add_custom_target(packages
DEPENDS ${PACKAGES_LIST} DEPENDS ${PACKAGES_LIST}
) )

View File

@ -1,5 +1,7 @@
!CHAPTER Audit Configuration !CHAPTER Audit Configuration
__This feature is available in the Enterprise Edition.__
!SECTION Output !SECTION Output
`--audit.output output` `--audit.output output`

View File

@ -1,5 +1,7 @@
!CHAPTER Audit Events !CHAPTER Audit Events
__This feature is available in the Enterprise Edition.__
!SECTION Authentication !SECTION Authentication
!SUBSECTION Unknown authentication methods !SUBSECTION Unknown authentication methods

View File

@ -1,6 +1,6 @@
!CHAPTER Auditing !CHAPTER Auditing
*This feature is available in the Enterprise Edition.* __This feature is available in the Enterprise Edition.__
Auditing allows you to monitor access to the database in detail. In general Auditing allows you to monitor access to the database in detail. In general
audit logs are of the form audit logs are of the form

View File

@ -0,0 +1,84 @@
name: @CMAKE_PROJECT_NAME@
version: @CPACK_PACKAGE_VERSION@
description: "ArangoDB is a native multi-model database with flexible data models for
documents, graphs, and key-values. Build high performance applications using a convenient
SQL-like query language or JavaScript extensions. https://www.arangodb.com"
summary: ArangoDB3 Server - One Core. One Query Language. Multiple Data Models.
confinement: strict
#confinement: devmode
grade: stable
#grade: devel
parts:
arangodb3:
source: @CPACK_PACKAGE_TGZ@
plugin: dump
snap:
- -etc
- -var
- -lib
apps:
arangod:
command: arangod \
--configuration=none \
--server.endpoint=tcp://0.0.0.0:@SNAP_PORT@ \
--javascript.startup-directory=${SNAP}/@CMAKE_INSTALL_DATAROOTDIR_ARANGO@/js \
--database.directory=${SNAP_COMMON}/db3 \
--javascript.app-path=${SNAP_COMMON} \
--temp.path=${SNAP_DATA} \
--log.file=${SNAP_DATA}/arangodb3.log
daemon: simple # run as service
plugs: # enable interfaces
- network
- network-bind
arango:
command: arangod
plugs: # enable interfaces
- network
- network-bind
arangosh:
command: arangosh \
--server.endpoint=tcp://127.0.0.1:@SNAP_PORT@ \
--javascript.startup-directory=${SNAP}/@CMAKE_INSTALL_DATAROOTDIR_ARANGO@/js
plugs: # enable interfaces
- network
arangodump:
command: arangodump \
--server.endpoint=tcp://127.0.0.1:@SNAP_PORT@ \
--output-directory=${SNAP_DATA}/dump
plugs: # enable interfaces
- network
arangoimp:
command: arangoimp \
--server.endpoint=tcp://127.0.0.1:@SNAP_PORT@ \
--temp.path=${SNAP_DATA}
plugs: # enable interfaces
- network
arangorestore:
command: arangorestore \
--server.endpoint=tcp://127.0.0.1:@SNAP_PORT@ \
--input-directory=${SNAP_DATA}/dump \
--temp.path=${SNAP_DATA}
plugs: # enable interfaces
- network
arangobench:
command: arangobench \
--server.endpoint=tcp://127.0.0.1:@SNAP_PORT@ \
--temp.path=${SNAP_DATA}
plugs: # enable interfaces
- network
arangovpack:
command: arangovpack

View File

@ -35,9 +35,14 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/Documentation/man/
install_readme(README README.txt) install_readme(README README.txt)
install_readme(README.md README.md) install_readme(README.md README.md)
install_readme(LICENSE LICENSE.txt)
install_readme(LICENSES-OTHER-COMPONENTS.md LICENSES-OTHER-COMPONENTS.md) install_readme(LICENSES-OTHER-COMPONENTS.md LICENSES-OTHER-COMPONENTS.md)
if (USE_ENTERPRISE)
install_readme(enterprise/LICENSE LICENSE.txt)
else ()
install_readme(LICENSE LICENSE.txt)
endif ()
# Custom targets ---------------------------------------------------------------- # Custom targets ----------------------------------------------------------------
# love # love
add_custom_target (love add_custom_target (love

View File

@ -1,6 +1,7 @@
################################################################################ ################################################################################
## INSTALL ## INSTALL
################################################################################ ################################################################################
if (NOT CMAKE_INSTALL_SYSCONFDIR_ARANGO if (NOT CMAKE_INSTALL_SYSCONFDIR_ARANGO
OR NOT CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO OR NOT CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO
OR NOT CMAKE_INSTALL_DATAROOTDIR_ARANGO OR NOT CMAKE_INSTALL_DATAROOTDIR_ARANGO

View File

@ -59,7 +59,6 @@ set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-client")
set(CPACK_DEBIAN_PACKAGE_SECTION "shell") set(CPACK_DEBIAN_PACKAGE_SECTION "shell")
set(CPACK_PACKAGE_VENDOR ${ARANGODB_PACKAGE_VENDOR}) set(CPACK_PACKAGE_VENDOR ${ARANGODB_PACKAGE_VENDOR})
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT}) set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT}) set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT})
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb, ${CPACKG_PACKAGE_CONFLICTS}, ${CPACKG_PACKAGE_CONFLICTS}-client, ${CPACK_PACKAGE_NAME}") set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb, ${CPACKG_PACKAGE_CONFLICTS}, ${CPACKG_PACKAGE_CONFLICTS}-client, ${CPACK_PACKAGE_NAME}")
@ -70,12 +69,19 @@ set(CPACK_SET_DESTDIR ON)
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
if (USE_ENTERPRISE)
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/enterprise/LICENSE")
else ()
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
endif ()
file(READ "${PROJECT_SOURCE_DIR}/Installation/debian/client_packagedesc.txt" file(READ "${PROJECT_SOURCE_DIR}/Installation/debian/client_packagedesc.txt"
CPACK_DEBIAN_PACKAGE_DESCRIPTION) CPACK_DEBIAN_PACKAGE_DESCRIPTION)
################################################################################ ################################################################################
# specify which target archcitecture the package is going to be: # specify which target archcitecture the package is going to be:
################################################################################ ################################################################################
if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*") if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*")
set(ARANGODB_PACKAGE_ARCHITECTURE "amd64") set(ARANGODB_PACKAGE_ARCHITECTURE "amd64")
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "aarch64") elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "aarch64")

View File

@ -1,12 +1,14 @@
################################################################################ ################################################################################
# the client package is a complete cmake sub package. # the client package is a complete cmake sub package.
################################################################################ ################################################################################
project(arangodb3-client) project(arangodb3-client)
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
################################################################################ ################################################################################
# variables from the main build have to be explicitely forwarded: # variables from the main build have to be explicitely forwarded:
################################################################################ ################################################################################
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY @CMAKE_BINARY_DIR@/bin) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY @CMAKE_BINARY_DIR@/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_X @CMAKE_BINARY_DIR@/bin/$<CONFIGURATION>/) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_X @CMAKE_BINARY_DIR@/bin/$<CONFIGURATION>/)
@ -15,6 +17,7 @@ set(CMAKE_BUILD_TYPE @CMAKE_BUILD_TYPE@)
################################################################################ ################################################################################
# Substitute the install binaries: # Substitute the install binaries:
################################################################################ ################################################################################
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@) set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
set(BIN_ARANGODUMP @BIN_ARANGODUMP@) set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
set(BIN_ARANGOIMP @BIN_ARANGOIMP@) set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
@ -25,6 +28,7 @@ set(BIN_ARANGOVPACK @BIN_ARANGOVPACK@)
################################################################################ ################################################################################
# build specific variables: # build specific variables:
################################################################################ ################################################################################
set(ARANGODB_URL_INFO_ABOUT @ARANGODB_URL_INFO_ABOUT@) set(ARANGODB_URL_INFO_ABOUT @ARANGODB_URL_INFO_ABOUT@)
set(ARANGODB_SOURCE_DIR @ARANGODB_SOURCE_DIR@) set(ARANGODB_SOURCE_DIR @ARANGODB_SOURCE_DIR@)
set(ARANGODB_VERSION @ARANGODB_VERSION@) set(ARANGODB_VERSION @ARANGODB_VERSION@)
@ -51,32 +55,32 @@ endif ()
set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@) set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@)
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@) set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
set(LIB_EAY_RELEASE_DLL @LIB_EAY_RELEASE_DLL@) set(LIB_EAY_RELEASE_DLL @LIB_EAY_RELEASE_DLL@)
set(SSL_EAY_RELEASE_DLL @SSL_EAY_RELEASE_DLL@) set(SSL_EAY_RELEASE_DLL @SSL_EAY_RELEASE_DLL@)
set(ICU_DT @ICU_DT@) set(ICU_DT @ICU_DT@)
set(ICU_DT_DEST @ICU_DT_DEST@) set(ICU_DT_DEST @ICU_DT_DEST@)
################################################################################ ################################################################################
# Get the final values for cpack: # Get the final values for cpack:
################################################################################ ################################################################################
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}") set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-client") set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-client")
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT}) set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
if (USE_ENTERPRISE)
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/enterprise/LICENSE")
else ()
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
endif ()
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}") set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
################################################################################ ################################################################################
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
################################################################################ ################################################################################
# so we don't need to ship dll's twice, make it one directory: # so we don't need to ship dll's twice, make it one directory:
set(CMAKE_INSTALL_FULL_SBINDIR "${CMAKE_INSTALL_FULL_BINDIR}") set(CMAKE_INSTALL_FULL_SBINDIR "${CMAKE_INSTALL_FULL_BINDIR}")
set(W_INSTALL_FILES "${PROJECT_SOURCE_DIR}/Installation/Windows/") set(W_INSTALL_FILES "${PROJECT_SOURCE_DIR}/Installation/Windows/")

View File

@ -44,13 +44,18 @@ set(CPACK_GENERATOR "RPM")
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}") set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
set(CPACK_PACKAGE_NAME "arangodb3-client") set(CPACK_PACKAGE_NAME "arangodb3-client")
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT}) set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT}) set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT})
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb, arangodb3") set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb, arangodb3")
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz") set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
set(CPACK_COMPONENTS_ALL debian-extras) set(CPACK_COMPONENTS_ALL debian-extras)
if (USE_ENTERPRISE)
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/enterprise/LICENSE")
else ()
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
endif ()
file(READ "${PROJECT_SOURCE_DIR}/Installation/debian/client_packagedesc.txt" file(READ "${PROJECT_SOURCE_DIR}/Installation/debian/client_packagedesc.txt"
CPACK_DEBIAN_PACKAGE_DESCRIPTION) CPACK_DEBIAN_PACKAGE_DESCRIPTION)

View File

@ -8,7 +8,11 @@ set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
# TODO just for rpm? # TODO just for rpm?
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
if (USE_ENTERPRISE)
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/enterprise/LICENSE")
else ()
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
endif ()
set(CPACK_STRIP_FILES "ON") set(CPACK_STRIP_FILES "ON")

46
cmake/packages/snap.cmake Normal file
View File

@ -0,0 +1,46 @@
find_program (SNAP_EXE snapcraft)
if(EXISTS ${SNAP_EXE})
set(SNAPCRAFT_FOUND ON)
endif()
if(SNAPCRAFT_FOUND)
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}.${ARANGODB_PACKAGE_ARCHITECTURE}")
set(SNAPCRAFT_TEMPLATE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Installation/Ubuntu")
set(CPACK_PACKAGE_TGZ "${CMAKE_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}.tar.gz")
set(SNAPCRAFT_SOURCE_DIR "${CMAKE_BINARY_DIR}/_CPack_Packages/SNAP")
message(STATUS "Create snap package")
if (VERBOSE)
message(STATUS "CPACK_PACKAGE_FILE_NAME :" ${CPACK_PACKAGE_FILE_NAME})
message(STATUS "SNAPCRAFT_TEMPLATE_DIR: " ${SNAPCRAFT_TEMPLATE_DIR})
message(STATUS "CPACK_PACKAGE_TGZ: " ${CPACK_PACKAGE_TGZ})
message(STATUS "SNAPCRAFT_SOURCE_DIR: " ${SNAPCRAFT_SOURCE_DIR})
endif ()
# set(SNAP_PORT 8529)
set(CPACK_STRIP_FILES ON)
set(CMAKE_INSTALL_PREFIX "/")
configure_file(
"${SNAPCRAFT_TEMPLATE_DIR}/snapcraft.yaml.in"
"${SNAPCRAFT_SOURCE_DIR}/snapcraft.yaml"
NEWLINE_STYLE UNIX
@ONLY
)
add_custom_target(snap_TGZ
COMMENT "create TGZ-package"
COMMAND ${CMAKE_CPACK_COMMAND} -G TGZ
)
add_custom_target(snap
COMMENT "create snap-package"
COMMAND ${SNAP_EXE} snap
COMMAND cp *.snap ${PROJECT_BINARY_DIR}
DEPENDS snap_TGZ
WORKING_DIRECTORY ${SNAPCRAFT_SOURCE_DIR}
)
list(APPEND PACKAGES_LIST snap)
endif()

View File

@ -299,11 +299,11 @@ std::string Version::getICUVersion() {
std::string Version::getCompiler() { std::string Version::getCompiler() {
#if defined(__clang__) #if defined(__clang__)
return "clang"; return "clang [" + (std::string)__VERSION__ + "]";
#elif defined(__GNUC__) || defined(__GNUG__) #elif defined(__GNUC__) || defined(__GNUG__)
return "gcc"; return "gcc [" + (std::string)__VERSION__ + "]";
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
return "msvc"; return "msvc [" + (std::string)_MSC_VER + "]";
#endif #endif
return "unknown"; return "unknown";
} }