summaryrefslogtreecommitdiff
path: root/databases/arangodb33/files
diff options
context:
space:
mode:
Diffstat (limited to 'databases/arangodb33/files')
-rw-r--r--databases/arangodb33/files/arangod.in85
-rw-r--r--databases/arangodb33/files/patch-CMakeLists.txt103
-rw-r--r--databases/arangodb33/files/patch-arangod_Agency_Store.cpp11
-rw-r--r--databases/arangodb33/files/patch-arangod_RestHandler_RestAuthHandler.cpp11
-rw-r--r--databases/arangodb33/files/patch-arangod_RocksDBEngine_RocksDBThrottle.cpp25
-rw-r--r--databases/arangodb33/files/patch-cmake_ArangoDBInstall.cmake11
-rw-r--r--databases/arangodb33/files/patch-lib_Basics_process-utils.cpp36
-rw-r--r--databases/arangodb33/files/patch-lib_Basics_socket-utils.h15
-rw-r--r--databases/arangodb33/files/patch-lib_Logger_LogAppenderSyslog.cpp11
9 files changed, 308 insertions, 0 deletions
diff --git a/databases/arangodb33/files/arangod.in b/databases/arangodb33/files/arangod.in
new file mode 100644
index 000000000000..4edc4bf9a59e
--- /dev/null
+++ b/databases/arangodb33/files/arangod.in
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+# PROVIDE: arangod
+# REQUIRE: NETWORK ldconfig
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# arangod_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable arangod.
+# arangod_limits (bool): Set to "NO" by default.
+# Set it to yes to run `limits -e -U arangodb`
+# just before arangod starts.
+# arangod_dbpath (str): Default to "/var/db/arangodb"
+# Base database directory.
+# arangod_logpath (str): Default to "/var/log/arangodb"
+# Base logging directory
+# arangod_apppath (str): Default to "/var/db/arangodb-apps"
+# Base apps directory
+# arangod_flags (str): Custom additional arguments to be passed to arangod.
+# Default to "".
+# arangod_config (str): Default to "%%PREFIX%%/etc/arangodb/arangod.conf"
+# Path to config file
+#
+
+. /etc/rc.subr
+
+name="arangod"
+rcvar=arangod_enable
+
+load_rc_config $name
+
+: ${arangod_enable="NO"}
+: ${arangod_limits="NO"}
+: ${arangod_dbpath="/var/db/arangodb"}
+: ${arangod_logpath="/var/log/arangodb"}
+: ${arangod_apppath="/var/db/arangodb-apps"}
+: ${arangod_flags=""}
+: ${arangod_user="arangodb"}
+: ${arangod_group="arangodb"}
+: ${arangod_config="%%PREFIX%%/etc/arangodb/arangod.conf"}
+
+pidfile="${arangod_dbpath}/arangod.lock"
+command=%%PREFIX%%/sbin/${name}
+command_args="--configuration $arangod_config --database.directory $arangod_dbpath --log.output ${arangod_logpath}/arangod.log --javascript.app-path ${arangod_apppath} --daemon --pid-file ${pidfile} >/dev/null 2>/dev/null"
+start_precmd="${name}_prestart"
+
+arangod_create_dbpath()
+{
+ mkdir ${arangod_dbpath} >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && chown -R ${arangod_user}:${arangod_group} ${arangod_dbpath}
+}
+
+arangod_create_logpath()
+{
+ mkdir ${arangod_logpath} >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && chown -R ${arangod_user}:${arangod_group} ${arangod_logpath}
+}
+
+arangod_create_apppath()
+{
+ mkdir ${arangod_apppath} >/dev/null 2>/dev/null
+ [ $? -eq 0 ] && chown -R ${arangod_user}:${arangod_group} ${arangod_apppath}
+}
+
+arangod_prestart()
+{
+ if [ ! -d ${arangod_dbpath} ]; then
+ arangod_create_dbpath || return 1
+ fi
+ if [ ! -d ${arangod_logpath} ]; then
+ arangod_create_logpath || return 1
+ fi
+ if [ ! -d ${arangod_apppath} ]; then
+ arangod_create_apppath || return 1
+ fi
+ if checkyesno arangod_limits; then
+ eval `/usr/bin/limits -e -U ${arangod_user}` 2>/dev/null
+ else
+ return 0
+ fi
+}
+
+run_rc_command "$1"
diff --git a/databases/arangodb33/files/patch-CMakeLists.txt b/databases/arangodb33/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..b5e7720bcd0d
--- /dev/null
+++ b/databases/arangodb33/files/patch-CMakeLists.txt
@@ -0,0 +1,103 @@
+--- CMakeLists.txt.orig 2018-01-05 13:56:52 UTC
++++ CMakeLists.txt
+@@ -38,9 +38,9 @@ if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
+ endif ()
+
+ if (WIN32)
+- project(arangodb3 CXX C)
++ project(arangodb CXX C)
+ else ()
+- project(arangodb3 CXX C ASM)
++ project(arangodb CXX C ASM)
+ endif ()
+
+ # required for clang completion in editors
+@@ -370,7 +370,7 @@ if (CMAKE_COMPILER_IS_GNUCC OR APPLE)
+ endif ()
+
+ if (CMAKE_COMPILER_IS_CLANG)
+- if (APPLE)
++ if (APPLE OR FREEBSD)
+ set(BASE_CXX_FLAGS "${BASE_CXX_FLAGS} -stdlib=libc++")
+ add_definitions("-Wno-deprecated-declarations")
+ else ()
+@@ -505,7 +505,11 @@ if (USE_BACKTRACE)
+ if (MSVC)
+ set(BT_LIBS "Dbghelp" CACHE path "Debug Helper libraries")
+ else ()
+- set(BT_LIBS "" CACHE path "Debug Helper libraries")
++ if (FREEBSD)
++ set(BT_LIBS execinfo)
++ else ()
++ set(BT_LIBS "" CACHE path "Debug Helper libraries")
++ endif ()
+ endif ()
+
+ add_definitions("-DARANGODB_ENABLE_BACKTRACE=1")
+@@ -580,7 +584,9 @@ endif ()
+ ################################################################################
+
+ if (NOT WINDOWS)
+- set(SYS_LIBS ${SYS_LIBS} resolv)
++ if (NOT FREEBSD)
++ set(SYS_LIBS ${SYS_LIBS} resolv)
++ endif ()
+
+ if (NOT DARWIN)
+ set(SYS_LIBS ${SYS_LIBS} rt)
+@@ -651,17 +657,17 @@ if (CMAKE_COMPILER_IS_GNUCC)
+
+ set(BASE_FLAGS "-Wall -Wextra -Wno-unused-parameter ${BASE_FLAGS}")
+
+- set(CMAKE_C_FLAGS "-g" CACHE INTERNAL "default C compiler flags")
+- set(CMAKE_C_FLAGS_DEBUG "-O0 -g -D_DEBUG=1" CACHE INTERNAL "C debug flags")
+- set(CMAKE_C_FLAGS_MINSIZEREL "-Os" CACHE INTERNAL "C minimal size flags")
+- set(CMAKE_C_FLAGS_RELEASE "-O3 -fomit-frame-pointer" CACHE INTERNAL "C release flags")
+- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -g -fno-omit-frame-pointer" CACHE INTERNAL "C release with debug info flags")
++ #set(CMAKE_C_FLAGS "-g" CACHE INTERNAL "default C compiler flags")
++ set(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS} CACHE INTERNAL "C debug flags")
++ set(CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS} CACHE INTERNAL "C minimal size flags")
++ set(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS} CACHE INTERNAL "C release flags")
++ set(CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS} CACHE INTERNAL "C release with debug info flags")
+
+- set(CMAKE_CXX_FLAGS "-g -Wnon-virtual-dtor" CACHE INTERNAL "default C++ compiler flags")
+- set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -D_DEBUG=1" CACHE INTERNAL "C++ debug flags")
+- set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os" CACHE INTERNAL "C++ minimal size flags")
+- set(CMAKE_CXX_FLAGS_RELEASE "-O3 -fomit-frame-pointer" CACHE INTERNAL "C++ release flags")
+- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -fno-omit-frame-pointer" CACHE INTERNAL "C++ release with debug info flags")
++ #set(CMAKE_CXX_FLAGS "-g -Wnon-virtual-dtor" CACHE INTERNAL "default C++ compiler flags")
++ set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -D_DEBUG=1" CACHE INTERNAL "C++ debug flags")
++ set(CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS} CACHE INTERNAL "C++ minimal size flags")
++ set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS} CACHE INTERNAL "C++ release flags")
++ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS} CACHE INTERNAL "C++ release with debug info flags")
+
+ elseif (CMAKE_COMPILER_IS_CLANG)
+ if (VERBOSE)
+@@ -670,17 +676,17 @@ elseif (CMAKE_COMPILER_IS_CLANG)
+
+ set(BASE_FLAGS "-Wall -Wextra -Wno-unused-parameter ${BASE_FLAGS}")
+
+- set(CMAKE_C_FLAGS "-g" CACHE INTERNAL "default C compiler flags")
+- set(CMAKE_C_FLAGS_DEBUG "-O0 -g -D_DEBUG=1" CACHE INTERNAL "C debug flags")
+- set(CMAKE_C_FLAGS_MINSIZEREL "-Os" CACHE INTERNAL "C minimal size flags")
+- set(CMAKE_C_FLAGS_RELEASE "-O3 -fomit-frame-pointer" CACHE INTERNAL "C release flags")
+- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -g -fno-omit-frame-pointer" CACHE INTERNAL "C release with debug info flags")
++ #set(CMAKE_C_FLAGS "-g" CACHE INTERNAL "default C compiler flags")
++ set(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS} CACHE INTERNAL "C debug flags")
++ set(CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS} CACHE INTERNAL "C minimal size flags")
++ set(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS} CACHE INTERNAL "C release flags")
++ set(CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS} CACHE INTERNAL "C release with debug info flags")
+
+- set(CMAKE_CXX_FLAGS "-g -Wnon-virtual-dtor" CACHE INTERNAL "default C++ compiler flags")
+- set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -D_DEBUG=1" CACHE INTERNAL "C++ debug flags")
+- set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os" CACHE INTERNAL "C++ minimal size flags")
+- set(CMAKE_CXX_FLAGS_RELEASE "-O3 -fomit-frame-pointer" CACHE INTERNAL "C++ release flags")
+- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -fno-omit-frame-pointer" CACHE INTERNAL "C++ release with debug info flags")
++ #set(CMAKE_CXX_FLAGS "-g -Wnon-virtual-dtor" CACHE INTERNAL "default C++ compiler flags")
++ set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS} CACHE INTERNAL "C++ debug flags")
++ set(CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS} CACHE INTERNAL "C++ minimal size flags")
++ set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS} CACHE INTERNAL "C++ release flags")
++ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS} CACHE INTERNAL "C++ release with debug info flags")
+
+ elseif (MSVC)
+ if (VERBOSE)
diff --git a/databases/arangodb33/files/patch-arangod_Agency_Store.cpp b/databases/arangodb33/files/patch-arangod_Agency_Store.cpp
new file mode 100644
index 000000000000..aaf556283e4e
--- /dev/null
+++ b/databases/arangodb33/files/patch-arangod_Agency_Store.cpp
@@ -0,0 +1,11 @@
+--- arangod/Agency/Store.cpp.orig 2018-01-05 13:56:52 UTC
++++ arangod/Agency/Store.cpp
+@@ -603,7 +603,7 @@ void Store::dumpToBuilder(Builder& build
+ auto ts = std::chrono::duration_cast<std::chrono::seconds>(
+ i.first.time_since_epoch())
+ .count();
+- builder.add(i.second, VPackValue(ts));
++ builder.add(i.second, VPackValue((int64_t)ts));
+ }
+ }
+ {
diff --git a/databases/arangodb33/files/patch-arangod_RestHandler_RestAuthHandler.cpp b/databases/arangodb33/files/patch-arangod_RestHandler_RestAuthHandler.cpp
new file mode 100644
index 000000000000..b3134688347a
--- /dev/null
+++ b/databases/arangodb33/files/patch-arangod_RestHandler_RestAuthHandler.cpp
@@ -0,0 +1,11 @@
+--- arangod/RestHandler/RestAuthHandler.cpp.orig 2017-11-15 11:23:07 UTC
++++ arangod/RestHandler/RestAuthHandler.cpp
+@@ -59,7 +59,7 @@ std::string RestAuthHandler::generateJwt
+ VPackObjectBuilder p(&bodyBuilder);
+ bodyBuilder.add("preferred_username", VPackValue(username));
+ bodyBuilder.add("iss", VPackValue("arangodb"));
+- bodyBuilder.add("exp", VPackValue(exp.count()));
++ bodyBuilder.add("exp", VPackValue((int64_t)exp.count()));
+ }
+ return authentication->authInfo()->generateJwt(bodyBuilder);
+ }
diff --git a/databases/arangodb33/files/patch-arangod_RocksDBEngine_RocksDBThrottle.cpp b/databases/arangodb33/files/patch-arangod_RocksDBEngine_RocksDBThrottle.cpp
new file mode 100644
index 000000000000..1b8be3c36734
--- /dev/null
+++ b/databases/arangodb33/files/patch-arangod_RocksDBEngine_RocksDBThrottle.cpp
@@ -0,0 +1,25 @@
+--- arangod/RocksDBEngine/RocksDBThrottle.cpp.orig 2018-01-05 13:56:52 UTC
++++ arangod/RocksDBEngine/RocksDBThrottle.cpp
+@@ -515,8 +515,8 @@ void RocksDBThrottle::AdjustThreadPriori
+ pid_t tid;
+ int ret_val;
+
+- tid = syscall(SYS_gettid);
+- if (-1!=(int)tid)
++ ret_val = syscall(SYS_thr_self, &tid);
++ if (-1!=ret_val)
+ {
+ errno=0;
+ ret_val=getpriority(PRIO_PROCESS, tid);
+@@ -534,8 +534,9 @@ void RocksDBThrottle::AdjustThreadPriori
+ && (gThreadPriority._basePriority+Adjustment)!=gThreadPriority._currentPriority) {
+
+ pid_t tid;
+- tid = syscall(SYS_gettid);
+- if (-1!=(int)tid)
++ int ret_val;
++ ret_val = syscall(SYS_thr_self, &tid);
++ if (-1!=(int)ret_val)
+ {
+ gThreadPriority._currentPriority = gThreadPriority._basePriority + Adjustment;
+ setpriority(PRIO_PROCESS, tid, gThreadPriority._currentPriority);
diff --git a/databases/arangodb33/files/patch-cmake_ArangoDBInstall.cmake b/databases/arangodb33/files/patch-cmake_ArangoDBInstall.cmake
new file mode 100644
index 000000000000..91a7456014ad
--- /dev/null
+++ b/databases/arangodb33/files/patch-cmake_ArangoDBInstall.cmake
@@ -0,0 +1,11 @@
+--- cmake/ArangoDBInstall.cmake.orig 2017-11-16 20:17:40 UTC
++++ cmake/ArangoDBInstall.cmake
+@@ -100,7 +100,7 @@ endif ()
+
+ install(
+ DIRECTORY
+- ${PROJECT_BINARY_DIR}/var/log/arangodb3
++ ${PROJECT_BINARY_DIR}/var/log/arangodb
+ DESTINATION
+ ${CMAKE_INSTALL_LOCALSTATEDIR}/log
+ )
diff --git a/databases/arangodb33/files/patch-lib_Basics_process-utils.cpp b/databases/arangodb33/files/patch-lib_Basics_process-utils.cpp
new file mode 100644
index 000000000000..052bc9d3ee68
--- /dev/null
+++ b/databases/arangodb33/files/patch-lib_Basics_process-utils.cpp
@@ -0,0 +1,36 @@
+--- lib/Basics/process-utils.cpp.orig 2018-01-05 13:56:52 UTC
++++ lib/Basics/process-utils.cpp
+@@ -23,7 +23,7 @@
+
+ #include "process-utils.h"
+
+-#if defined(TRI_HAVE_MACOS_MEM_STATS)
++#if defined(TRI_HAVE_MACOS_MEM_STATS) || defined(__FreeBSD__)
+ #include <sys/types.h>
+ #include <sys/sysctl.h>
+ #endif
+@@ -557,6 +557,7 @@ ProcessInfo TRI_ProcessInfoSelf() {
+ }
+
+ #else
++#ifdef _WIN32
+ /// --------------------------------------------
+ /// transform a file time to timestamp
+ /// Particularities:
+@@ -648,6 +649,7 @@ ProcessInfo TRI_ProcessInfoSelf() {
+ return result;
+ }
+ #endif
++#endif
+
+ ////////////////////////////////////////////////////////////////////////////////
+ /// @brief returns information about the process
+@@ -1435,7 +1437,7 @@ bool TRI_ContinueExternalProcess(Externa
+ /// @brief gets the physical memory
+ ////////////////////////////////////////////////////////////////////////////////
+
+-#if defined(TRI_HAVE_MACOS_MEM_STATS)
++#if defined(TRI_HAVE_MACOS_MEM_STATS) || defined(__FreeBSD__)
+
+ static uint64_t GetPhysicalMemory() {
+ int mib[2];
diff --git a/databases/arangodb33/files/patch-lib_Basics_socket-utils.h b/databases/arangodb33/files/patch-lib_Basics_socket-utils.h
new file mode 100644
index 000000000000..0bb3c0dd8b6b
--- /dev/null
+++ b/databases/arangodb33/files/patch-lib_Basics_socket-utils.h
@@ -0,0 +1,15 @@
+--- lib/Basics/socket-utils.h.orig 2017-11-15 11:23:07 UTC
++++ lib/Basics/socket-utils.h
+@@ -31,6 +31,12 @@
+ #include <WS2tcpip.h>
+ #endif
+
++#ifdef __FreeBSD__
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <netinet/in.h>
++#endif
++
+ ////////////////////////////////////////////////////////////////////////////////
+ /// @brief socket types
+ ////////////////////////////////////////////////////////////////////////////////
diff --git a/databases/arangodb33/files/patch-lib_Logger_LogAppenderSyslog.cpp b/databases/arangodb33/files/patch-lib_Logger_LogAppenderSyslog.cpp
new file mode 100644
index 000000000000..976c757c8338
--- /dev/null
+++ b/databases/arangodb33/files/patch-lib_Logger_LogAppenderSyslog.cpp
@@ -0,0 +1,11 @@
+--- lib/Logger/LogAppenderSyslog.cpp.orig 2017-11-15 11:23:07 UTC
++++ lib/Logger/LogAppenderSyslog.cpp
+@@ -64,7 +64,7 @@ LogAppenderSyslog::LogAppenderSyslog(std
+ if ('0' <= facility[0] && facility[0] <= '9') {
+ value = StringUtils::int32(facility);
+ } else {
+- CODE* ptr = reinterpret_cast<CODE*>(TRI_facilitynames);
++ const CODE* ptr = reinterpret_cast<const CODE*>(TRI_facilitynames);
+
+ while (ptr->c_name != 0) {
+ if (strcmp(ptr->c_name, facility.c_str()) == 0) {