diff --git a/Installation/rpm/arangodb.spec.in b/Installation/rpm/arangodb.spec.in index b53e02b8e6..6a79f930d7 100644 --- a/Installation/rpm/arangodb.spec.in +++ b/Installation/rpm/arangodb.spec.in @@ -39,19 +39,16 @@ Name: @CPACK_PACKAGE_NAME@ Version: @CPACK_PACKAGE_VERSION@ -Release: 1.1 +Release: @ARANGODB_PACKAGE_REVISION@ Summary: The open-source, multi-model NoSQL database License: Apache-2.0 Group: Productivity/Databases/Servers Conflicts: arangodb3-client Url: http://www.arangodb.com -Source: arangodb-%{version}.tar.bz2 -Source1: init-files.tar.bz2 Vendor: @CPACK_PACKAGE_VENDOR@ Prefix: @CPACK_PACKAGING_INSTALL_PREFIX@ BuildRoot: @CMAKE_CURRENT_BINARY_DIR@/_CPack_Packages/Linux/RPM/@CPACK_PACKAGE_FILE_NAME@ -BuildRequires: cmake make, python %{?systemd_requires} %define debug_package %{nil} @@ -60,139 +57,6 @@ BuildRequires: cmake make, python ## --SECTION-- build dependencies ## ----------------------------------------------------------------------------- -################################################################################ -### @brief SUSE -################################################################################ - -%if 0%{?suse_version} - -%if 0%{?sles_version} == 11 -BuildRequires: python-argparse -%endif - -BuildRequires: cmake -BuildRequires: libopenssl-devel -BuildRequires: pwdutils -BuildRequires: fdupes -BuildRequires: libicu-devel - -%if 0%{?suse_version} == 1310 || 0%{?suse_version} == 1320 -BuildRequires: libstdc++6 -%endif - -%if 0%{?suse_version} >= 1210 -BuildRequires: systemd -%endif - -%if 0%{?suse_version} == 1315 || 0%{?suse_version} == 1330 -BuildRequires: gcc5-c++ - -%define C_COMPILER gcc-5 -%define CXX_COMPILER g++-5 -%else -BuildRequires: arangodb-gcc54 - -%define C_COMPILER /opt/arangodb/bin/gcc -%define CXX_COMPILER /opt/arangodb/bin/g++ -%endif - -%if 0%{?sles_version} == 11 -BuildRequires: libicu-devel -%define JEMALLOC_OPT %{nil} -%else -%if 0%{?suse_version} == 1315 -BuildRequires: arangodb-jemalloc-devel-static -%else -BuildRequires: jemalloc-devel-static -%endif -%define JEMALLOC_OPT -DFORCE_JEMALLOC_LIB=:libjemalloc.a -%endif - -%endif - -################################################################################ -### @brief red-hat or centos -################################################################################ - -%if 0%{?centos_version} || 0%{?rhel_version} - -%if 0%{?centos_version} == 600 -BuildRequires: python-argparse -%endif - -%if 0%{?rhel_version} == 600 -BuildRequires: cmake = 3.5.2 -BuildRequires: python-argparse -%else -BuildRequires: cmake -%endif - -%define _skipFdupes 1 - -BuildRequires: glibc-devel -BuildRequires: arangodb-gcc54 -BuildRequires: arangodb-jemalloc-devel-static -BuildRequires: openssl-devel -BuildRequires: redhat-rpm-config - -%define JEMALLOC_OPT -DFORCE_JEMALLOC_LIB=:libjemalloc.a -%define C_COMPILER /opt/arangodb/bin/gcc -%define CXX_COMPILER /opt/arangodb/bin/g++ - -%ifarch i686 i586 i486 i386 -%define optflags -O2 -g -march=i586 -%endif - -%endif - -################################################################################ -### @brief fedora -################################################################################ - -%if 0%{?fedora_version} - -%define _skipFdupes 1 - -BuildRequires: cmake -BuildRequires: glibc-devel -BuildRequires: openssl-devel -BuildRequires: libicu-devel - -%if 0%{fedora_version} == 22 || 0%{fedora_version} == 23 -BuildRequires: libstdc++-static -BuildRequires: gcc-c++ -BuildRequires: jemalloc-devel - -%define JEMALLOC_OPT %{nil} -%define C_COMPILER gcc -%define CXX_COMPILER g++ - -%else -BuildRequires: arangodb-gcc54 -BuildRequires: arangodb-jemalloc-devel-static - -%define JEMALLOC_OPT -DFORCE_JEMALLOC_LIB=:libjemalloc.a -%define C_COMPILER /opt/arangodb/bin/gcc -%define CXX_COMPILER /opt/arangodb/bin/g++ -%endif - -%endif - -################################################################################ -### @brief mdk -################################################################################ - -%if 0%{?mdkversion} -BuildRequires: openssl-devel -BuildRequires: libicu-devel - -%define _skipFdupes 1 -%endif - -## ----------------------------------------------------------------------------- -## --SECTION-- client only package -## ----------------------------------------------------------------------------- - %package client Summary: ArangoDB shell as stand-alone package Group: Productivity/Databases/Servers @@ -216,92 +80,20 @@ The ArangoDB shell as stand-alone program. It also contains the utility programs ## ----------------------------------------------------------------------------- ## --SECTION-- build ## ----------------------------------------------------------------------------- - -%prep -%setup -q -n arangodb-%{version} -%setup -q -n arangodb-%{version} -T -D -a 1 - -%build -export CC="%{C_COMPILER}" -export CXX="%{CXX_COMPILER}" -export CFLAGS="-g -static-libgcc -O3 -fno-omit-frame-pointer" -export CXXFLAGS="-g -static-libgcc -static-libstdc++ -O3 -fno-omit-frame-pointer" -export V8_CFLAGS="-static-libgcc" -export V8_CXXFLAGS="-static-libgcc -static-libstdc++" -export V8_LDFLAGS="-static-libgcc -static-libstdc++" -export PATH="/opt/arangodb/bin:$PATH" - -mkdir build -cd build - -cmake \ - -DVERBOSE=On \ - -DUSE_OPTIMIZE_FOR_ARCHITECTURE=Off \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_C_FLAGS="${CFLAGS}" \ - -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ - -DCMAKE_C_COMPILER="%{C_COMPILER}" \ - -DCMAKE_CXX_COMPILER="%{CXX_COMPILER}" \ - %{JEMALLOC_OPT} \ - -DETCDIR=/etc \ - -DVARDIR=/var \ - -DCMAKE_INSTALL_PREFIX:PATH=/usr \ - -DCMAKE_INSTALL_DATADIR:PATH=/usr/share \ - -DCMAKE_SKIP_RPATH:BOOL=ON \ - -DCMAKE_USER_MAKE_RULES_OVERRIDE= \ - .. - -make %{?_smp_mflags} VERBOSE=1 V=1 Verbose=1 all +# requires source: +#%prep +#%setup -q -n arangodb-%{version} +#%setup -q -n arangodb-%{version} -T -D -a 1 ## ----------------------------------------------------------------------------- ## --SECTION-- install ## ----------------------------------------------------------------------------- -%install -export CC="%{C_COMPILER}" -export CXX="%{CXX_COMPILER}" -export CFLAGS="-g -static-libgcc -O3 -fno-omit-frame-pointer" -export CXXFLAGS="-g -static-libgcc -static-libstdc++ -O3 -fno-omit-frame-pointer" -export V8_CFLAGS="-static-libgcc" -export V8_CXXFLAGS="-static-libgcc -static-libstdc++" -export V8_LDFLAGS="-static-libgcc -static-libstdc++" -export PATH="/opt/arangodb/bin:$PATH" - -find js -xtype l -exec rm "{}" ";" - -cd build -make DESTDIR=%{buildroot} install - mkdir -p %{buildroot}%{_databasedir} mkdir -p %{buildroot}%{_appdir} mkdir -p %{buildroot}%{_logdir} mkdir -p %{buildroot}%{_piddir} -# use %doc to install readme -rm -f %{buildroot}/usr/share/doc/packages/arangodb3/* -rm -f %{buildroot}/usr/share/doc/arangodb3/* - -%if 0%{?suse_version} - -%if 0%{?suse_version} >= 1230 -%{__install} -D -m 0755 ../rc.arangod.OpenSuSE_13 %{buildroot}%{_sysconfdir}/init.d/arangodb3 -%else -%{__install} -D -m 0755 ../rc.arangod.OpenSuSE %{buildroot}%{_sysconfdir}/init.d/arangodb3 -%endif - -ln -s %{_sysconfdir}/init.d/arangodb3 %{buildroot}%{_sbindir}/rcarangodb - -%if 0%{?suse_version} >= 1210 -%{__install} -D -m 0644 ../arangodb.service %{buildroot}%{_unitdir}/arangodb3.service -%endif - -%else -%{__install} -D -m 0755 ../rc.arangod.Centos %{buildroot}%{_sysconfdir}/init.d/arangodb3 -%endif - -%if %{_skipFdupes} == 0 -%fdupes %{buildroot}%{_datadir}/arangodb3 -%endif ## ----------------------------------------------------------------------------- ## --SECTION-- check @@ -315,10 +107,17 @@ ln -s %{_sysconfdir}/init.d/arangodb3 %{buildroot}%{_sbindir}/rcarangodb %files %defattr(-,root,root,0755) -%doc README -%doc README.md -%doc LICENSE -%doc LICENSES-OTHER-COMPONENTS.md +#@CPACK_PACKAGING_INSTALL_PREFIX@/@LIB_INSTALL_DIR@/* +#@CPACK_PACKAGING_INSTALL_PREFIX@/bin/* +#%doc README +#%doc README.md +#%doc LICENSE +#%doc LICENSES-OTHER-COMPONENTS.md +/usr/share/doc/arangodb3/LICENSE.txt +/usr/share/doc/arangodb3/LICENSES-OTHER-COMPONENTS.md +/usr/share/doc/arangodb3/README.md +/usr/share/doc/arangodb3/README.txt + %attr(0755,arangodb,arangodb) %{_databasedir} %attr(0755,arangodb,arangodb) %{_appdir} %attr(0755,arangodb,arangodb) %{_logdir} @@ -339,10 +138,10 @@ ln -s %{_sysconfdir}/init.d/arangodb3 %{buildroot}%{_sbindir}/rcarangodb %files client %defattr(-,root,root,0755) -%doc README -%doc README.md -%doc LICENSE -%doc LICENSES-OTHER-COMPONENTS.md +#%doc README +#%doc README.md +#%doc LICENSE +#%doc LICENSES-OTHER-COMPONENTS.md %config(noreplace) %attr(-,arangodb,arangodb) %{_cfgdir}/arangosh.conf %config(noreplace) %attr(-,arangodb,arangodb) %{_cfgdir}/arangoimp.conf diff --git a/Installation/rpm/rc.arangod.Centos b/Installation/rpm/rc.arangod.Centos new file mode 100644 index 0000000000..391b6081b5 --- /dev/null +++ b/Installation/rpm/rc.arangod.Centos @@ -0,0 +1,99 @@ +#!/bin/bash +# +# arangod Startup script for the ArangoDB Server +# +# chkconfig: - 85 15 +# description: ArangoDB Server +# processname: arangod +# config: /etc/arangodb3/arangod.conf + +# Source function library. +. /etc/rc.d/init.d/functions + +# Path to the server binary +ARANGO_BIN=/usr/sbin/arangod +test -x $ARANGO_BIN || exit 5 + +ARANGO_SYSCONFIG=/etc/arangodb3/arangod.conf +test -r $ARANGO_SYSCONFIG || exit 6 + +pidfile=/var/run/arangodb/arangod.pid + +RETVAL=0 + +start() { + echo -n $"Starting $ARANGO_BIN: " + + PIDDIR=`dirname $pidfile` + [ -d $PIDDIR ] || mkdir $PIDDIR || exit 1 + + ( cd /var/log/arangodb3 && chown -R arangodb:arangodb . && chmod 700 .) || exit 1 + ( cd /var/lib/arangodb3 && chown -R arangodb:arangodb . && chmod 700 .) || exit 1 + ( cd /var/lib/arangodb3-apps && chown -R arangodb:arangodb . && chmod 700 .) || exit 1 + ( cd $PIDDIR && chown arangodb:arangodb . && chmod 700 .) || exit 1 + + ulimit -H -n 131072 || true + ulimit -S -n 131072 || true + + if [ "$1" = "--upgrade" ]; then + $ARANGO_BIN --uid arangodb --gid arangodb $@ + RETVAL=$? + else + $ARANGO_BIN --uid arangodb --gid arangodb --log.foreground-tty false --database.check-version + RETVAL=$? + + if test $RETVAL -eq 0; then + $ARANGO_BIN --uid arangodb --gid arangodb --log.foreground-tty false --pid-file "$pidfile" --temp.path "/var/tmp/arangod" --supervisor $@ + RETVAL=$? + else + echo "database version check failed, maybe need to run 'upgrade'?" + fi + fi + + echo + return $RETVAL +} + + + +stop() { + echo -n $"Stopping $ARANGO_BIN: " + killproc -p "${pidfile}" -d 10 $ARANGO_BIN + + RETVAL=$? + echo +} + + +# See how we were called. +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + status) + status -p ${pidfile} $ARANGO_BIN + RETVAL=$? + ;; + + restart) + stop + start + ;; + + upgrade) + echo $"Upgrading ArangoDB database files" + + start --upgrade + ;; + + *) + echo $"Usage: $0 {start|stop|restart|status|help|upgrade}" + exit 1 +esac + +exit $RETVAL diff --git a/Installation/rpm/rc.arangod.OpenSuSE b/Installation/rpm/rc.arangod.OpenSuSE new file mode 100644 index 0000000000..b95eb664b0 --- /dev/null +++ b/Installation/rpm/rc.arangod.OpenSuSE @@ -0,0 +1,183 @@ +#!/bin/sh +# Copyright (c) 2011-2012 triAGENS GmbH Cologne, Germany. +# +# Author: Achim Brandt +# +# /etc/init.d/arangodb3 +# +# and symbolic its link +# +# /usr/sbin/rcarangodb3 +# +### BEGIN INIT INFO +# Provides: arangodb +# Required-Start: $network $remote_fs +# Required-Stop: $network $remote_fs +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Start the ArangoDB daemon +# Description: Start the Arango Database Server daemon. +### END INIT INFO + +ARANGO_BIN=/usr/sbin/arangod +test -x $ARANGO_BIN || exit 5 + +ARANGO_SYSCONFIG=/etc/arangodb3/arangod.conf +test -r $ARANGO_SYSCONFIG || exit 6 + + +ARANGO_TIMEOUT=120 +ARANGO_PIDFILE=/var/run/arangodb/arangod.pid + +. /etc/rc.status + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_failed set local and overall rc status to failed +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status + +# First reset status of this service +rc_reset + +start () { + PIDDIR=`dirname $ARANGO_PIDFILE` + [ -d $PIDDIR ] || mkdir $PIDDIR || exit 1 + + ( cd /var/log/arangodb3 && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1 + ( cd /var/lib/arangodb3 && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1 + ( cd /var/lib/arangodb3-apps && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1 + ( cd $PIDDIR && chown arangodb:arangodb . && chmod 700 . ) || exit 1 + + ulimit -H -n 131072 || true + ulimit -S -n 131072 || true + + if [ "$1" = "--upgrade" ]; then + $ARANGO_BIN --uid arangodb --gid arangodb $@ + rc_status -v + else + $ARANGO_BIN --uid arangodb --gid arangodb --log.foreground-tty false --database.check-version + RETVAL=$? + + if test $RETVAL -eq 0; then + startproc $ARANGO_BIN --uid arangodb --gid arangodb --log.foreground-tty false --pid-file "$ARANGO_PIDFILE" --temp.path "/var/tmp/arangod" --supervisor $@ + rc_status -v + else + echo "database version check failed, maybe need to run 'upgrade'?" + rc_status -v + fi + fi +} + +case "$1" in + + ################################################################################ + ## Start daemon with startproc(8). If this fails + ## the echo return value is set appropriate. + ################################################################################ + + start) + echo -n "Starting ArangoDB daemon" + + start + ;; + + ################################################################################ + ## Stop daemon with killproc(8) and if this fails + ## set echo the echo return value. + ################################################################################ + + stop) + echo -n "Shutting down ArangoDB daemon" + + killproc -t $ARANGO_TIMEOUT -p $ARANGO_PIDFILE -TERM $ARANGO_BIN + + # Remember status and be verbose + rc_status -v + ;; + + ################################################################################ + ## Stop the service and if this succeeds (i.e. the + ## service was running before), start it again. + ################################################################################ + + try-restart) + $0 status >/dev/null && $0 restart + + # Remember status and be quiet + rc_status + + ;; + + ################################################################################ + ## Stop the service and regardless of whether it was + ## running or not, start it again. + ################################################################################ + + restart) + $0 stop + $0 start + + # Remember status and be quiet + rc_status + ;; + + ################################################################################ + ## Signal the daemon to reload its config. Most daemons + ## do this on signal 1 (SIGHUP). + ################################################################################ + + force-reload|reload) + echo -n "Reload service ArangoDB" + + echo "reload is currently not supported" + + rc_status -v + + ;; + + ################################################################################ + ## Check status with checkproc(8), if process is running + ## checkproc will return with exit status 0. + ## Status has a slightly different for the status command: + ## + ## 0 - service running + ## 1 - service dead, but /var/run/ pid file exists + ## 2 - service dead, but /var/lock/ lock file exists + ## 3 - service not running + ################################################################################ + + status) + echo -n "Checking for service ArangoDB" + + checkproc -p $ARANGO_PIDFILE $ARANGO_BIN + + rc_status -v + + ;; + + ################################################################################ + ## upgrade database + ################################################################################ + + upgrade) + echo -n "Upgrading ArangoDB database files" + + start --upgrade + ;; + + ################################################################################ + ## print usage message + ################################################################################ + + *) + echo "Usage: $0 {start|stop|restart|force-reload|status|upgrade}" + exit 1 + + ;; +esac + +rc_exit diff --git a/Installation/rpm/rc.arangod.OpenSuSE_13 b/Installation/rpm/rc.arangod.OpenSuSE_13 new file mode 100644 index 0000000000..cd8ba81a5f --- /dev/null +++ b/Installation/rpm/rc.arangod.OpenSuSE_13 @@ -0,0 +1,183 @@ +#!/bin/sh +# Copyright (c) 2011-2012 triAGENS GmbH Cologne, Germany. +# +# Author: Achim Brandt +# +# /etc/init.d/arangodb3 +# +# and symbolic its link +# +# /usr/sbin/rcarangodb3 +# +### BEGIN INIT INFO +# Provides: arangodb +# Required-Start: $network $remote_fs +# Required-Stop: $network $remote_fs +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Start the ArangoDB daemon +# Description: Start the Arango Database Server daemon. +### END INIT INFO + +ARANGO_BIN=/usr/sbin/arangod +test -x $ARANGO_BIN || exit 5 + +ARANGO_SYSCONFIG=/etc/arangodb3/arangod.conf +test -r $ARANGO_SYSCONFIG || exit 6 + + +ARANGO_TIMEOUT=120 +ARANGO_PIDFILE=/run/arangodb/arangod.pid + +. /etc/rc.status + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_failed set local and overall rc status to failed +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status + +# First reset status of this service +rc_reset + +start () { + PIDDIR=`dirname $ARANGO_PIDFILE` + [ -d $PIDDIR ] || mkdir $PIDDIR || exit 1 + + ( cd /var/log/arangodb3 && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1 + ( cd /var/lib/arangodb3 && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1 + ( cd /var/lib/arangodb3-apps && chown -R arangodb:arangodb . && chmod 700 . ) || exit 1 + ( cd $PIDDIR && chown arangodb:arangodb . && chmod 700 . ) || exit 1 + + ulimit -H -n 131072 || true + ulimit -S -n 131072 || true + + if [ "$1" = "--upgrade" ]; then + $ARANGO_BIN --uid arangodb --gid arangodb $@ + rc_status -v + else + $ARANGO_BIN --uid arangodb --gid arangodb --log.foreground-tty false --database.check-version + RETVAL=$? + + if test $RETVAL -eq 0; then + startproc $ARANGO_BIN --uid arangodb --gid arangodb --pid-file "$ARANGO_PIDFILE" --temp.path "/var/tmp/arangod" --log.foreground-tty false --supervisor $@ + rc_status -v + else + echo "database version check failed, maybe need to run 'upgrade'?" + rc_status -v + fi + fi +} + +case "$1" in + + ################################################################################ + ## Start daemon with startproc(8). If this fails + ## the echo return value is set appropriate. + ################################################################################ + + start) + echo -n "Starting ArangoDB daemon" + + start + ;; + + ################################################################################ + ## Stop daemon with killproc(8) and if this fails + ## set echo the echo return value. + ################################################################################ + + stop) + echo -n "Shutting down ArangoDB daemon" + + killproc -t $ARANGO_TIMEOUT -p $ARANGO_PIDFILE -TERM $ARANGO_BIN + + # Remember status and be verbose + rc_status -v + ;; + + ################################################################################ + ## Stop the service and if this succeeds (i.e. the + ## service was running before), start it again. + ################################################################################ + + try-restart) + $0 status >/dev/null && $0 restart + + # Remember status and be quiet + rc_status + + ;; + + ################################################################################ + ## Stop the service and regardless of whether it was + ## running or not, start it again. + ################################################################################ + + restart) + $0 stop + $0 start + + # Remember status and be quiet + rc_status + ;; + + ################################################################################ + ## Signal the daemon to reload its config. Most daemons + ## do this on signal 1 (SIGHUP). + ################################################################################ + + force-reload|reload) + echo -n "Reload service ArangoDB" + + echo "reload is currently not supported" + + rc_status -v + + ;; + + ################################################################################ + ## Check status with checkproc(8), if process is running + ## checkproc will return with exit status 0. + ## Status has a slightly different for the status command: + ## + ## 0 - service running + ## 1 - service dead, but /var/run/ pid file exists + ## 2 - service dead, but /var/lock/ lock file exists + ## 3 - service not running + ################################################################################ + + status) + echo -n "Checking for service ArangoDB" + + checkproc -p $ARANGO_PIDFILE $ARANGO_BIN + + rc_status -v + + ;; + + ################################################################################ + ## upgrade database + ################################################################################ + + upgrade) + echo -n "Upgrading ArangoDB database files" + + start --upgrade + ;; + + ################################################################################ + ## print usage message + ################################################################################ + + *) + echo "Usage: $0 {start|stop|restart|force-reload|status|upgrade}" + exit 1 + + ;; +esac + +rc_exit diff --git a/cmake/ArangoDBInstall.cmake b/cmake/ArangoDBInstall.cmake index 7b46cf0399..940d67064b 100644 --- a/cmake/ArangoDBInstall.cmake +++ b/cmake/ArangoDBInstall.cmake @@ -104,4 +104,5 @@ install( #get_cmake_property(_variableNames VARIABLES) #foreach (_variableName ${_variableNames}) # message(STATUS "${_variableName}=${${_variableName}}") -##-------------------------------------------------------------------------------- +#endforeach() +#-------------------------------------------------------------------------------- diff --git a/cmake/packages/deb.cmake b/cmake/packages/deb.cmake index 41dce29def..301f5b8602 100644 --- a/cmake/packages/deb.cmake +++ b/cmake/packages/deb.cmake @@ -4,7 +4,7 @@ ################################################################################ FILE(READ "${PROJECT_SOURCE_DIR}/Installation/debian/packagedesc.txt" CPACK_DEBIAN_PACKAGE_DESCRIPTION) set(CPACK_DEBIAN_PACKAGE_SECTION "database") -set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb") +set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb, arangodb3-client") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_DEBIAN_COMPRESSION_TYPE "xz") set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT}) diff --git a/cmake/packages/packages.cmake b/cmake/packages/packages.cmake index b8b814cbfd..81432feb4a 100644 --- a/cmake/packages/packages.cmake +++ b/cmake/packages/packages.cmake @@ -1,10 +1,12 @@ -if (NOT(MSVC)) +if (NOT(MSVC) AND NOT ("${PACKAGING}" STREQUAL "RPM")) set(CPACK_SET_DESTDIR ON) endif() set(CPACK_PACKAGE_VENDOR ${ARANGODB_PACKAGE_VENDOR}) set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT}) set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}") +# TODO just for rpm? +set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") diff --git a/cmake/packages/rpm.cmake b/cmake/packages/rpm.cmake index 2cc5e7b59d..43ff0a576d 100644 --- a/cmake/packages/rpm.cmake +++ b/cmake/packages/rpm.cmake @@ -13,13 +13,22 @@ set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${AR # deploy the Init script: -#install( -# FILES ${PROJECT_SOURCE_DIR}/Installation/debian/arangodb.init -# PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE -# DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/init.d -# RENAME arangodb3 -# COMPONENT debian-extras -# ) +set(RPM_INIT_SCRIPT "${PROJECT_SOURCE_DIR}/Installation/rpm/rc.arangod.Centos") +set(RPM_INIT_SCRIPT_TARGET "${CMAKE_INSTALL_FULL_SYSCONFDIR}/init.d") +set(RPM_INIT_SCRIPT_TARGET_NAME arangodb3) + +get_cmake_property(_variableNames VARIABLES) +foreach (_variableName ${_variableNames}) + message(STATUS "${_variableName}=${${_variableName}}") +endforeach() + +install( + FILES ${RPM_INIT_SCRIPT} + PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE + DESTINATION ${RPM_INIT_SCRIPT_TARGET} + RENAME ${RPM_INIT_SCRIPT_TARGET_NAME} + COMPONENT debian-extras + ) ################################################################################ # hook to build the server package @@ -27,20 +36,21 @@ set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${AR add_custom_target(package-arongodb-server COMMAND ${CMAKE_COMMAND} . COMMAND ${CMAKE_CPACK_COMMAND} -G RPM + COMMAND cp "${PROJECT_BINARY_DIR}/_CPack_Packages/${CMAKE_SYSTEM_NAME}/RPM/PRMS/${ARANGODB_PACKAGE_ARCHITECTURE}/*.rpm" "${PROJECT_BINARY_DIR}" +# _CPack_Packages/Linux/RPM/RPMS/x86_64/ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) - list(APPEND PACKAGES_LIST package-arongodb-server) -################################################################################ -# hook to build the client package -################################################################################ -set(CLIENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client) -configure_file(cmake/packages/client/rpm.txt ${CLIENT_BUILD_DIR}/CMakeLists.txt @ONLY) -add_custom_target(package-arongodb-client - COMMAND ${CMAKE_COMMAND} . - COMMAND ${CMAKE_CPACK_COMMAND} -G RPM - COMMAND cp *.rpm ${PROJECT_BINARY_DIR} - WORKING_DIRECTORY ${CLIENT_BUILD_DIR}) - - -list(APPEND PACKAGES_LIST package-arongodb-client) +################################################################################# +## hook to build the client package +################################################################################# +#set(CLIENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client) +#configure_file(cmake/packages/client/rpm.txt ${CLIENT_BUILD_DIR}/CMakeLists.txt @ONLY) +#add_custom_target(package-arongodb-client +# COMMAND ${CMAKE_COMMAND} . +# COMMAND ${CMAKE_CPACK_COMMAND} -G RPM +# COMMAND cp *.rpm ${PROJECT_BINARY_DIR} +# WORKING_DIRECTORY ${CLIENT_BUILD_DIR}) +# +# +#list(APPEND PACKAGES_LIST package-arongodb-client)