mirror of https://gitee.com/bigwinds/arangodb
Add current state of RPM build
This commit is contained in:
parent
92d2c13b44
commit
59c57a207f
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -0,0 +1,183 @@
|
|||
#!/bin/sh
|
||||
# Copyright (c) 2011-2012 triAGENS GmbH Cologne, Germany.
|
||||
#
|
||||
# Author: Achim Brandt <a.brandt@triagens.de>
|
||||
#
|
||||
# /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
|
|
@ -0,0 +1,183 @@
|
|||
#!/bin/sh
|
||||
# Copyright (c) 2011-2012 triAGENS GmbH Cologne, Germany.
|
||||
#
|
||||
# Author: Achim Brandt <a.brandt@triagens.de>
|
||||
#
|
||||
# /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
|
|
@ -104,4 +104,5 @@ install(
|
|||
#get_cmake_property(_variableNames VARIABLES)
|
||||
#foreach (_variableName ${_variableNames})
|
||||
# message(STATUS "${_variableName}=${${_variableName}}")
|
||||
##--------------------------------------------------------------------------------
|
||||
#endforeach()
|
||||
#--------------------------------------------------------------------------------
|
||||
|
|
|
@ -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})
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue