1
0
Fork 0

Merge remote-tracking branch 'origin/1.4' into devel

Conflicts:
	CHANGELOG
	CMakeLists.txt
	GNUmakefile
	Makefile.in
	VERSION
	arangod/V8Server/ApplicationV8.cpp
	build.h
	configure
	configure.ac
	js/actions/api-foxx.js
	js/apps/system/aardvark/api-docs.json
	js/apps/system/aardvark/api-docs/batch.json
	js/apps/system/aardvark/api-docs/collection.json
	js/apps/system/aardvark/api-docs/cursor.json
	js/apps/system/aardvark/api-docs/database.json
	js/apps/system/aardvark/api-docs/document.json
	js/apps/system/aardvark/api-docs/edge.json
	js/apps/system/aardvark/api-docs/edges.json
	js/apps/system/aardvark/api-docs/endpoint.json
	js/apps/system/aardvark/api-docs/graph.json
	js/apps/system/aardvark/api-docs/index.json
	js/apps/system/aardvark/api-docs/job.json
	js/apps/system/aardvark/api-docs/replication.json
	js/apps/system/aardvark/api-docs/simple.json
	js/apps/system/aardvark/api-docs/system.json
	js/apps/system/aardvark/api-docs/traversal.json
	lib/BasicsC/locks-win32.c
This commit is contained in:
Frank Celler 2014-01-16 08:53:31 +01:00
commit f56ac27dc9
10 changed files with 126 additions and 60 deletions

View File

@ -104,6 +104,7 @@ v1.5.0 (XXXX-XX-XX)
result of <collection>.getIndexes() for each index. This is
currently only implemented for hash indices and skiplist indices.
v1.4.6 (XXXX-XX-XX)
-------------------
@ -111,6 +112,7 @@ v1.4.6 (XXXX-XX-XX)
* include `startupPath` in result of API `/_api/foxx/config`
v1.4.5 (2014-01-15)
-------------------

View File

@ -173,9 +173,6 @@ endif ()
file(TO_NATIVE_PATH "${VARDIR_NATIVE}" VARDIR_NATIVE)
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb")
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb-apps")
## -----------------------------------------------------------------------------
## --SECTION-- DIRECTORIES
## -----------------------------------------------------------------------------
@ -383,6 +380,23 @@ if (MSVC_LIB_PATH)
link_directories(${MSVC_LIB_PATH})
endif ()
################################################################################
### @brief raspberry pi
################################################################################
if (BUILD_PACKAGE STREQUAL "raspbian")
set(ARM_INCLUDE ${PROJECT_SOURCE_DIR}/3rdParty-ARM/include CACHE path "ARM 3rd party include path")
set(ARM_LIB_PATH ${PROJECT_SOURCE_DIR}/3rdParty-ARM/lib CACHE path "ARM 3rd party library path")
endif ()
if (ARM_INCLUDE)
include_directories(${ARM_INCLUDE})
endif ()
if (ARM_LIB_PATH)
link_directories(${ARM_LIB_PATH})
endif ()
################################################################################
### @brief ICU
################################################################################
@ -392,6 +406,9 @@ if (MSVC)
set(ICU_VERSION "52.1" CACHE string "ICU version")
add_definitions("-DU_STATIC_IMPLEMENTATION=1")
elseif (BUILD_PACKAGE STREQUAL "raspbian")
set(ICU_LIBS icui18n;icuuc;icudata;pthread;m CACHE path "ICU libraries")
set(ICU_VERSION "52.1" CACHE string "ICU version")
else ()
set(ICU_INCLUDE ${PROJECT_SOURCE_DIR}/3rdParty/icu/BUILD/include CACHE path "ICU include path")
set(ICU_LIB_PATH ${PROJECT_SOURCE_DIR}/3rdParty/icu/BUILD/libs CACHE path "ICU library path")
@ -413,7 +430,7 @@ add_definitions("-DTRI_ICU_VERSION=\"${ICU_VERSION}\"")
### @brief LIBEV
################################################################################
if (MSVC)
if (MSVC OR (BUILD_PACKAGE STREQUAL "raspbian"))
set(LIBEV_LIBS ev CACHE string "LIBEV libraries")
set(LIBEV_VERSION "4.11" CACHE string "LIBEV version")
else ()
@ -437,7 +454,7 @@ add_definitions("-DTRI_LIBEV_VERSION=\"${LIBEV_VERSION}\"")
### @brief MRUBY
################################################################################
if (MSVC)
if (MSVC OR (BUILD_PACKAGE STREQUAL "raspbian"))
else ()
set(MRUBY_INCLUDE ${PROJECT_SOURCE_DIR}/3rdParty/mruby/include CACHE path "MRUBY include path")
set(MRUBY_LIB_PATH ${PROJECT_SOURCE_DIR}/3rdParty/mruby/build/host/lib CACHE path "MRUBY library path")
@ -464,6 +481,9 @@ endif ()
if (MSVC)
set(OPENSSL_LIBS ssleay;libeay CACHE string "OPENSSL libraries")
set(OPENSSL_VERSION "OpenSSL 1.0.1e" CACHE string "OPENSSL version")
elseif (BUILD_PACKAGE STREQUAL "raspbian")
set(OPENSSL_LIBS ssl;crypto CACHE string "OPENSSL libraries")
set(OPENSSL_VERSION "OpenSSL 0.9.8r 8 Feb 2011" CACHE string "OPENSSL version")
else ()
set(OPENSSL_INCLUDE "" CACHE path "OPENSSL include path")
set(OPENSSL_LIB_PATH "" CACHE path "OPENSSL library path")
@ -488,8 +508,6 @@ add_definitions("-DTRI_OPENSSL_VERSION=\"${OPENSSL_VERSION}\"")
if (MSVC)
set(READLINE_LIBS linenoise CACHE string "LINENOISE libraries")
set(READLINE_VERSION "linenoise" CACHE string "LINENOISE version")
add_definitions("-DREADLINE_STATIC=1")
else ()
set(READLINE_INCLUDE "" CACHE path "READLINE include path")
set(READLINE_LIB_PATH "" CACHE path "READLINE library path")
@ -511,7 +529,7 @@ add_definitions("-DTRI_READLINE_VERSION=\"${READLINE_VERSION}\"")
### @brief V8
################################################################################
if (MSVC)
if (MSVC OR (BUILD_PACKAGE STREQUAL "raspbian"))
set(V8_LIBS v8_base v8_nosnapshot CACHE string "V8 libraries")
set(V8_VERSION "3.16.14" CACHE string "V8 version")
else ()
@ -535,7 +553,7 @@ add_definitions("-DTRI_V8_VERSION=\"${V8_VERSION}\"")
### @brief ZLIB
################################################################################
if (MSVC)
if (MSVC OR (BUILD_PACKAGE STREQUAL "raspbian"))
set(ZLIB_LIBS z CACHE string "ZLIB libraries")
set(ZLIB_VERSION "1.2.7" CACHE string "ZLIB version")
else ()

View File

@ -24,7 +24,8 @@ We provide packages for
Using a Package Manager to install ArangoDB {#InstallingLinuxPackageManager}
----------------------------------------------------------------------------
Follow the instructions on the @EXTREF_S{http://www.arangodb.org/download,Downloads}
Follow the instructions on the
@EXTREF_S{http://www.arangodb.org/download,Downloads}
page to use your favorite package manager for the major distributions. After setting
up the ArangoDB repository you can then easily install ArangoDB using yum, aptitude,
urpmi, or zypper.
@ -155,11 +156,8 @@ the port used.
Windows {#InstallingWindows}
============================
We provide precompiled Windows binaries for ArangoDB. The binaries
are statically linked with the required libraries such as V8, but
they may still require some Windows platform libraries to be present.
These libraries should be present on a Windows Vista, Windows 7, and
Windows 8 by default, but there may be issues with other platforms.
Choices{#InstallingWindowsChoices}
----------------------------------
The default installation directory is `c:\Program Files\ArangoDB-1.x.y`. During the
installation process you may change this. In the following description we will assume
@ -297,17 +295,16 @@ Limitations for Cygwin{#InstallingWindowsCygwin}
Please note some important limitations when running ArangoDB under Cygwin:
Starting ArangoDB can be started from out of a Cygwin terminal, but pressing
CTRL-C will forcefully kill the server process, without giving it a chance to
handle the kill signal. In this case, a regular server shutdown is not
possible, which may leave a file `LOCK` around in the server's data directory.
This file needs to be removed manually to make ArangoDB start again.
Additionally, as ArangoDB does not have a chance to handle the kill signal,
the server cannot forcefully flush any data to disk on shutdown, leading to
potential data loss.
CTRL-C will forcefully kill the server process, without giving it a chance to
handle the kill signal. In this case, a regular server shutdown is not possible,
which may leave a file `LOCK` around in the server's data directory. This file
needs to be removed manually to make ArangoDB start again. Additionally, as
ArangoDB does not have a chance to handle the kill signal, the server cannot
forcefully flush any data to disk on shutdown, leading to potential data loss.
When starting ArangoDB from a Cygwin terminal it might also happen that no
errors are printed in the terminal output.
Starting ArangoDB from an MS-DOS command prompt does not impose these
limitations and is thus the preferred method.
errors are printed in the terminal output. Starting ArangoDB from an MS-DOS
command prompt does not impose these limitations and is thus the preferred
method.
Please note that ArangoDB uses UTF-8 as its internal encoding and that the
system console must support a UTF-8 codepage (65001) and font. It may be

View File

@ -10,6 +10,12 @@ TOC {#InstallingTOC}
- @ref InstallingMacOSXAppStore
- @ref InstallingMacOSXBundle
- @ref InstallingWindows
- @ref InstallingWindowsChoices
- @ref InstallingWindowsFiles
- @ref InstallingWindowsStarting
- @ref InstallingWindowsAdvanced
- @ref InstallingWindowsClient
- @ref InstallingWindows32Bit
- @ref InstallingWindowsUpgrading
- @ref InstallingWindowsUninstalling
- @ref InstallingWindowsCygwin

View File

@ -186,9 +186,11 @@ pack-arm:
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-all-in-one-icu \
--enable-all-in-one-v8 \
--enable-all-in-one-libev \
--disable-all-in-one-icu \
--disable-all-in-one-v8 \
--disable-all-in-one-libev \
--with-libev=./3rdParty-ARM \
--with-v8=./3rdParty-ARM \
--disable-mruby
${MAKE} pack-arm-cmake
@ -204,16 +206,10 @@ pack-arm-cmake:
-D "CPACK_PACKAGE_VERSION_MAJOR=${VERSION_MAJOR}" \
-D "CPACK_PACKAGE_VERSION_MINOR=${VERSION_MINOR}" \
-D "CPACK_PACKAGE_VERSION_PATCH=${VERSION_PATCH}" \
-D "V8_LIB_PATH=`pwd`/../3rdParty/V8/out/arm.release/obj.target/tools/gyp" \
-D "CMAKE_CXX_FLAGS_RELEASE:STRING=-O2 -DNDEBUG" \
-D "CMAKE_C_FLAGS_RELEASE:STRING=-O2 -DNDEBUG" \
..
${MAKE} .libev-build-32
${MAKE} .zlib-build-32
${MAKE} .icu-build-32
${MAKE} .v8-build-32
${MAKE} ${BUILT_SOURCES}
cd Build && ${MAKE}

View File

@ -2,5 +2,9 @@
if [ purge = "$1" ]; then
update-rc.d arangodb remove >/dev/null
fi
rm -rf /usr/share/arangodb/js/apps
rm -rf /var/log/arangodb
rm -rf /var/lib/arangodb
rm -rf /var/lib/arangodb-apps
fi

View File

@ -8,7 +8,7 @@
**** Please read sections 5 & 6 below if you have an existing database ****
***************************************************************************
1) The default installation directory is "c:\Program Files\ArangoDB-1.x.y". During the
1) The default installation directory is `c:\Program Files\ArangoDB-1.x.y`. During the
installation process you may change this. In the following description we will assume
that ArangoDB has been installed in the location <ROOTDIR>.
@ -20,12 +20,12 @@
Installating for a single user:
Select a different directory during installation. For example
"C:/Users/<username>/arangodb" or "C:/ArangoDB".
`C:/Users/<username>/arangodb` or `C:/ArangoDB`.
Installating for multiple users:
Keep the default directory. After the installation edit the file
"<ROOTDIR>/etc/arangodb/arangod.conf". Adjust the "directory" and "app-path"
`<ROOTDIR>/etc/arangodb/arangod.conf`. Adjust the `directory` and `app-path`
so that these paths point into your home directory.
[database]
@ -39,14 +39,14 @@
Installating as Service
Keep the default directory. After the installation open a command line
as administrator (search for "cmd" and right click "run as administrator")
as administrator (search for `cmd` and right click `run as administrator`)
cmd> arangod --install-service
INFO: adding service 'ArangoDB - the multi-purpose database' (internal 'ArangoDB')
INFO: added service with command line '"C:\Program Files (x86)\ArangoDB 1.4.4\bin\arangod.exe" --start-service'
Open the service manager and start ArangoDB. In order to enable logging
edit the file "<ROOTDIR>/etc/arangodb/arangod.conf" and uncomment the file
edit the file `<ROOTDIR>/etc/arangodb/arangod.conf` and uncomment the file
option.
[log]
@ -60,40 +60,44 @@
unexpectedly.
3) To start an ArangoDB server instance with networking enabled, use the executable
"arangod.exe" located in "<ROOTDIR>/bin". This will use the configuration
file "arangod.conf" located in "<ROOTDIR>/etc/arangodb", which you can adjust
to your needs and use the data directory "<ROOTDIR>/var/lib/arangodb". This
`arangod.exe` located in `<ROOTDIR>/bin`. This will use the configuration
file `arangod.conf` located in `<ROOTDIR>/etc/arangodb`, which you can adjust
to your needs and use the data directory `<ROOTDIR>/var/lib/arangodb`. This
is the place where all your data (databases and collections) will be stored
by default.
Please check the output of the "arangod.exe" executable before going on. If
the server started successully, you should see a line "ArangoDB is ready for
business. Have fun!" at the end of its output.
Please check the output of the `arangod.exe` executable before going on. If
the server started successully, you should see a line `ArangoDB is ready for
business. Have fun!` at the end of its output.
We now wish to check that the installation is working correctly and to do
this we will be using the administration web interface. Execute "arangod.exe"
this we will be using the administration web interface. Execute `arangod.exe`
if you have not already done so, then open up your web browser and point it
to the page: http://127.0.0.1:8529/
To check if your installation was successful, click the "Collection" tab and
open the configutation. Select the "System" TYPE. If the installation was
To check if your installation was successful, click the `Collection` tab and
open the configutation. Select the `System` TYPE. If the installation was
successful, then the page should display a few system collections.
Try to add a new collection and then add some documents to this new
collection. If you have succeeded in creating a new collection and inserting
one or more documents, then your installation is working correctly.
If you want to provide our own start scripts, you can set the environment
variable `ARANGODB_CONFIG_PATH`. This variable should point to a directory
containing the configuration files.
4) To connect to an already running ArangoDB server instance, there is a shell
"arangosh.exe" located in "<ROOTDIR>/bin". This starts a shell which can be
`arangosh.exe` located in `<ROOTDIR>/bin`. This starts a shell which can be
used (amongst other things) to administer and query a local or remote
ArangoDB server.
Note that "arangosh.exe" does NOT start a separate server, it only starts the
Note that `arangosh.exe` does NOT start a separate server, it only starts the
shell. To use it, you must have a server running somewhere, e.g. by using
the "arangod.exe" executable.
the `arangod.exe` executable.
"arangosh.exe" uses configuration from the file "arangosh.conf" located in
"<ROOTDIR>/etc/arangodb/". Please adjust this to your needs if you want to
`arangosh.exe` uses configuration from the file `arangosh.conf` located in
`<ROOTDIR>/etc/arangodb/`. Please adjust this to your needs if you want to
use different connection settings etc.
5) If you have an EXISTING database, then please note that currently a 32 bit
@ -103,8 +107,8 @@
database, and vice versa.
6) To upgrade an EXISTING database created with a previous version of ArangoDB,
please execute the server "arangod.exe" with the option
"--upgrade". Otherwise starting ArangoDB may fail with errors.
please execute the server `arangod.exe` with the option
`--upgrade`. Otherwise starting ArangoDB may fail with errors.
Note that there is no harm in running the upgrade. So you should run this
batch file if you are unsure of the database version you are using.

View File

@ -277,6 +277,29 @@ static void ListTreeRecursively (char const* full,
TRI_DestroyVectorString(&dirs);
}
////////////////////////////////////////////////////////////////////////////////
/// @brief locates a environment given configuration directory
////////////////////////////////////////////////////////////////////////////////
static char* LocateConfigDirectoryEnv () {
char const* v;
char* r;
v = getenv("ARANGODB_CONFIG_PATH");
if (v == NULL) {
return NULL;
}
r = TRI_DuplicateString(v);
NormalizePath(r);
TRI_AppendString(&r, TRI_DIR_SEPARATOR_STR);
return r;
}
// -----------------------------------------------------------------------------
// --SECTION-- public functions
// -----------------------------------------------------------------------------
@ -2016,7 +2039,7 @@ char* TRI_LocateInstallDirectory () {
#endif
////////////////////////////////////////////////////////////////////////////////
/// @brief locate the configuration directory
/// @brief locates the configuration directory
///
/// Will always end in a directory separator.
////////////////////////////////////////////////////////////////////////////////
@ -2026,6 +2049,12 @@ char* TRI_LocateInstallDirectory () {
char* TRI_LocateConfigDirectory () {
char* v;
v = LocateConfigDirectoryEnv();
if (v != NULL) {
return v;
}
v = TRI_LocateInstallDirectory();
if (v != NULL) {
@ -2040,6 +2069,13 @@ char* TRI_LocateConfigDirectory () {
char* TRI_LocateConfigDirectory () {
size_t len;
const char* dir = _SYSCONFDIR_;
char* v;
v = LocateConfigDirectoryEnv();
if (v != NULL) {
return v;
}
if (*dir == '\0') {
return NULL;
@ -2058,7 +2094,7 @@ char* TRI_LocateConfigDirectory () {
#else
char* TRI_LocateConfigDirectory () {
return NULL;
return LocateConfigDirectoryEnv();
}
#endif

View File

@ -52,7 +52,8 @@ tr_LIBEV="yes"
AC_CHECK_HEADERS(ev.h, [], [tr_LIBEV="no"])
AC_CHECK_LIB([rt], [clock_gettime], [LIBEV_LIBS="-lrt" LIBS="-lrt $LIBS"], [tr_LIBEV="no"])
AC_CHECK_LIB([rt], [clock_gettime], [LIBEV_LIBS="-lrt $LIBEV_LIBS" LIBS="-lrt $LIBS"], [])
AC_CHECK_LIB([m], [floor], [LIBEV_LIBS="-lm $LIBEV_LIBS" LIBS="-lm $LIBS"], [])
AC_CHECK_LIB([ev], [ev_now], [LIBEV_LIBS="-lev $LIBEV_LIBS" tr_LIBEV="yes"], [tr_LIBEV="no"])
if test "x$tr_LIBEV" != xyes; then

View File

@ -46,7 +46,9 @@ AC_LANG(C++)
tr_V8="yes"
AX_CXX_CHECK_LIB([v8], [#include <v8.h>], [v8::V8::GetVersion()], [V8_LIBS="-lv8"], [tr_V8="no"])
LIBS="$LIBS -lv8_nosnapshot"
AX_CXX_CHECK_LIB([v8_base], [#include <v8.h>], [v8::V8::GetVersion()], [V8_LIBS="-lv8_base -lv8_nosnapshot"], [tr_V8="no"])
if test "x$tr_V8" != xyes; then
AC_MSG_ERROR([Please install the V8 library from Google])