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
################################################################################
set(DEFAULT_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
find_package(jemalloc)
set(JEMALLOC_DEFAULT_VALUE ${JEMALLOC_FOUND})
@ -521,6 +523,7 @@ if (USE_JEMALLOC)
set(SYS_LIBS ${SYS_LIBS} ${FORCE_JEMALLOC_LIB})
endif ()
endif ()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${DEFAULT_LIBRARY_SUFFIXES})
################################################################################
## TCMALLOC
@ -929,6 +932,19 @@ if( EXISTS "${CMAKE_CURRENT_BINARY_DIR}/compile_commands.json" )
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
DEPENDS ${PACKAGES_LIST}
)

View File

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

View File

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

View File

@ -1,6 +1,6 @@
!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
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.md README.md)
install_readme(LICENSE LICENSE.txt)
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 ----------------------------------------------------------------
# love
add_custom_target (love

View File

@ -1,6 +1,7 @@
################################################################################
## INSTALL
################################################################################
if (NOT CMAKE_INSTALL_SYSCONFDIR_ARANGO
OR NOT CMAKE_INSTALL_FULL_SYSCONFDIR_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_PACKAGE_VENDOR ${ARANGODB_PACKAGE_VENDOR})
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_SHLIBDEPS ON)
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})
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"
CPACK_DEBIAN_PACKAGE_DESCRIPTION)
################################################################################
# specify which target archcitecture the package is going to be:
################################################################################
if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*")
set(ARANGODB_PACKAGE_ARCHITECTURE "amd64")
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "aarch64")

View File

@ -1,12 +1,14 @@
################################################################################
# the client package is a complete cmake sub package.
################################################################################
project(arangodb3-client)
cmake_minimum_required(VERSION 2.8)
################################################################################
# variables from the main build have to be explicitely forwarded:
################################################################################
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY @CMAKE_BINARY_DIR@/bin)
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:
################################################################################
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
@ -25,6 +28,7 @@ set(BIN_ARANGOVPACK @BIN_ARANGOVPACK@)
################################################################################
# build specific variables:
################################################################################
set(ARANGODB_URL_INFO_ABOUT @ARANGODB_URL_INFO_ABOUT@)
set(ARANGODB_SOURCE_DIR @ARANGODB_SOURCE_DIR@)
set(ARANGODB_VERSION @ARANGODB_VERSION@)
@ -51,32 +55,32 @@ endif ()
set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@)
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
set(LIB_EAY_RELEASE_DLL @LIB_EAY_RELEASE_DLL@)
set(SSL_EAY_RELEASE_DLL @SSL_EAY_RELEASE_DLL@)
set(ICU_DT @ICU_DT@)
set(ICU_DT_DEST @ICU_DT_DEST@)
################################################################################
# Get the final values for cpack:
################################################################################
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-client")
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")
endif ()
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:
set(CMAKE_INSTALL_FULL_SBINDIR "${CMAKE_INSTALL_FULL_BINDIR}")
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_NAME "arangodb3-client")
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_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb, arangodb3")
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
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"
CPACK_DEBIAN_PACKAGE_DESCRIPTION)

View File

@ -8,7 +8,11 @@ set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
# TODO just for rpm?
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 ()
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() {
#if defined(__clang__)
return "clang";
return "clang [" + (std::string)__VERSION__ + "]";
#elif defined(__GNUC__) || defined(__GNUG__)
return "gcc";
return "gcc [" + (std::string)__VERSION__ + "]";
#elif defined(_MSC_VER)
return "msvc";
return "msvc [" + (std::string)_MSC_VER + "]";
#endif
return "unknown";
}