diff --git a/.gitignore b/.gitignore index 37714a1119..58f4864c8c 100644 --- a/.gitignore +++ b/.gitignore @@ -74,6 +74,8 @@ arangod/Ahuacatl/ahuacatl-tokens.c bin/ etc/arangodb/arangob.conf etc/arangodb/arangod-uid.conf +etc/arangodb/arangod-arm.conf +etc/arangodb/arangod-uid-arm.conf etc/arangodb/arangod.conf etc/arangodb/arangodump.conf etc/arangodb/arangoimp.conf diff --git a/CMakeLists.txt b/CMakeLists.txt index 4cc72c6023..2b983ed6f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -82,6 +82,7 @@ set(ARANGODB_VERSION "1.x.y-rc1" CACHE path "ArangoDB version") ### Posible options are: ### - dmg-cli: Mac OS X shell client application ### - debian: debian package +### - raspbian: raspberry debian package ################################################################################ set(BUILD_PACKAGE "unknown" CACHE path "Package type to build") @@ -350,6 +351,8 @@ set(CPACK_SET_DESTDIR ON) if (BUILD_PACKAGE STREQUAL "dmg-cli") set(CPACK_PACKAGE_NAME "ArangoDB-CLI") +elseif (BUILD_PACKAGE STREQUAL "raspbian") + set(CPACK_PACKAGE_NAME "arangodb") elseif (BUILD_PACKAGE STREQUAL "debian") set(CPACK_PACKAGE_NAME "arangodb") endif () @@ -374,13 +377,14 @@ endif () ### @brief debian package ################################################################################ -if (BUILD_PACKAGE STREQUAL "debian") +if ((BUILD_PACKAGE STREQUAL "debian") OR (BUILD_PACKAGE STREQUAL "raspbian")) set(CPACK_DEBIAN_PACKAGE_SECTION "database") set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJECT_SOURCE_DIR}/Installation/Debian/postinst;${PROJECT_SOURCE_DIR}/Installation/Debian/preinst;${PROJECT_SOURCE_DIR}/Installation/Debian/postrm;${PROJECT_SOURCE_DIR}/Installation/Debian/prerm;") install( FILES ${PROJECT_SOURCE_DIR}/Installation/Debian/rc.arangodb + PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE DESTINATION /etc/init.d RENAME arangodb) diff --git a/Makefile.am b/Makefile.am index 49154386b9..f9d19e58e5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -64,6 +64,26 @@ BISON_FILES = BISONXX_FILES = +################################################################################ +### @brief configuration files +################################################################################ + +BUILT_SOURCES += etc/arangodb/arangod-uid.conf + +etc/arangodb/arangod-uid.conf: @srcdir@/etc/arangodb/arangod.conf + sed -e 's:^# \([ug]id\):\1:' $< > $@ + +BUILT_SOURCES += etc/arangodb/arangod-arm.conf + +etc/arangodb/arangod-arm.conf: @srcdir@/etc/arangodb/arangod.conf + sed -e '/^\[server\]/,/^\[/s:^threads.*:threads = 1:' $< > $@ + +BUILT_SOURCES += etc/arangodb/arangod-uid-arm.conf + +etc/arangodb/arangod-uid-arm.conf: @srcdir@/etc/arangodb/arangod.conf + sed -e 's:^# \([ug]id\):\1:' $< \ + | sed -e '/^\[server\]/,/^\[/s:^threads.*:threads = 1:' > $@ + ## ----------------------------------------------------------------------------- ## --SECTION-- PATHS ## ----------------------------------------------------------------------------- @@ -86,11 +106,6 @@ TRI_BINDIR = ${bindir} endif -BUILT_SOURCES += etc/arangodb/arangod-uid.conf - -etc/arangodb/arangod-uid.conf: @srcdir@/etc/arangodb/arangod.conf - sed -e 's:# \([ug]id\):\1:' $< > $@ - ## ----------------------------------------------------------------------------- ## --SECTION-- FLAGS ## ----------------------------------------------------------------------------- @@ -501,7 +516,7 @@ endif ### @brief MacOSX bundle ################################################################################ -.PHONY: pack-dmg +.PHONY: pack-dmg pack-dmg-cmake DMG_NAME := ArangoDB-CLI.app @@ -515,9 +530,14 @@ pack-dmg: --enable-all-in-one-libev \ --enable-mruby + ${MAKE} pack-dmg-cmake + +pack-dmg-cmake: cd Build && cmake \ -D "BUILD_PACKAGE=dmg-cli" \ - -D "CMAKE_INSTALL_PREFIX=/opt/arangodb" \ + -D "CMAKE_INSTALL_PREFIX=${prefix}" \ + -D "ETCDIR=${sysconfdir}" \ + -D "VARDIR=${localstatedir}" \ -D "USE_MRUBY=ON" \ -D "USE_RAW_CONFIG=ON" \ -D "ARANGODB_VERSION=@VERSION@" \ @@ -534,22 +554,28 @@ pack-dmg: ### @brief debian arm package ################################################################################ -.PHONY: pack-arm +.PHONY: pack-arm pack-arm-cmake pack-arm: rm -rf Build && mkdir Build ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ --enable-all-in-one-icu \ --enable-all-in-one-v8 \ --enable-all-in-one-libev \ --disable-mruby + ${MAKE} pack-arm-cmake + +pack-arm-cmake: cd Build && cmake \ -D "BUILD_PACKAGE=debian" \ - -D "CMAKE_INSTALL_PREFIX=/usr" \ - -D "ETCDIR=/etc" \ - -D "VARDIR=/var" \ + -D "CMAKE_INSTALL_PREFIX=${prefix}" \ + -D "ETCDIR=${sysconfdir}" \ + -D "VARDIR=${localstatedir}" \ -D "USE_MRUBY=OFF" \ -D "USE_RAW_CONFIG=OFF" \ -D "ARANGODB_VERSION=@VERSION@" \ diff --git a/arangod/CMakeLists.txt b/arangod/CMakeLists.txt index cad83d8065..a33488e1bf 100644 --- a/arangod/CMakeLists.txt +++ b/arangod/CMakeLists.txt @@ -156,13 +156,23 @@ if (USE_RAW_CONFIG) RENAME arangod-relative.conf) endif () -install( - FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod.conf - DESTINATION ${ETCDIR_NATIVE}) +if (BUILD_PACKAGE STREQUAL "raspbian") + install( + FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod-arm.conf + DESTINATION ${ETCDIR_NATIVE}) -install( - FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod-uid.conf - DESTINATION ${ETCDIR_NATIVE}) + install( + FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod-uid-arm.conf + DESTINATION ${ETCDIR_NATIVE}) +else () + install( + FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod.conf + DESTINATION ${ETCDIR_NATIVE}) + + install( + FILES ${PROJECT_SOURCE_DIR}/etc/arangodb/arangod-uid.conf + DESTINATION ${ETCDIR_NATIVE}) +endif () install( DIRECTORY ${PROJECT_SOURCE_DIR}/js/common ${PROJECT_SOURCE_DIR}/js/server ${PROJECT_SOURCE_DIR}/js/actions