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@
|
Name: @CPACK_PACKAGE_NAME@
|
||||||
Version: @CPACK_PACKAGE_VERSION@
|
Version: @CPACK_PACKAGE_VERSION@
|
||||||
Release: 1.1
|
Release: @ARANGODB_PACKAGE_REVISION@
|
||||||
Summary: The open-source, multi-model NoSQL database
|
Summary: The open-source, multi-model NoSQL database
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
Group: Productivity/Databases/Servers
|
Group: Productivity/Databases/Servers
|
||||||
Conflicts: arangodb3-client
|
Conflicts: arangodb3-client
|
||||||
Url: http://www.arangodb.com
|
Url: http://www.arangodb.com
|
||||||
Source: arangodb-%{version}.tar.bz2
|
|
||||||
Source1: init-files.tar.bz2
|
|
||||||
Vendor: @CPACK_PACKAGE_VENDOR@
|
Vendor: @CPACK_PACKAGE_VENDOR@
|
||||||
Prefix: @CPACK_PACKAGING_INSTALL_PREFIX@
|
Prefix: @CPACK_PACKAGING_INSTALL_PREFIX@
|
||||||
BuildRoot: @CMAKE_CURRENT_BINARY_DIR@/_CPack_Packages/Linux/RPM/@CPACK_PACKAGE_FILE_NAME@
|
BuildRoot: @CMAKE_CURRENT_BINARY_DIR@/_CPack_Packages/Linux/RPM/@CPACK_PACKAGE_FILE_NAME@
|
||||||
|
|
||||||
BuildRequires: cmake make, python
|
|
||||||
%{?systemd_requires}
|
%{?systemd_requires}
|
||||||
|
|
||||||
%define debug_package %{nil}
|
%define debug_package %{nil}
|
||||||
|
@ -60,139 +57,6 @@ BuildRequires: cmake make, python
|
||||||
## --SECTION-- build dependencies
|
## --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
|
%package client
|
||||||
Summary: ArangoDB shell as stand-alone package
|
Summary: ArangoDB shell as stand-alone package
|
||||||
Group: Productivity/Databases/Servers
|
Group: Productivity/Databases/Servers
|
||||||
|
@ -216,92 +80,20 @@ The ArangoDB shell as stand-alone program. It also contains the utility programs
|
||||||
## -----------------------------------------------------------------------------
|
## -----------------------------------------------------------------------------
|
||||||
## --SECTION-- build
|
## --SECTION-- build
|
||||||
## -----------------------------------------------------------------------------
|
## -----------------------------------------------------------------------------
|
||||||
|
# requires source:
|
||||||
%prep
|
#%prep
|
||||||
%setup -q -n arangodb-%{version}
|
#%setup -q -n arangodb-%{version}
|
||||||
%setup -q -n arangodb-%{version} -T -D -a 1
|
#%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
|
|
||||||
|
|
||||||
## -----------------------------------------------------------------------------
|
## -----------------------------------------------------------------------------
|
||||||
## --SECTION-- install
|
## --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}%{_databasedir}
|
||||||
mkdir -p %{buildroot}%{_appdir}
|
mkdir -p %{buildroot}%{_appdir}
|
||||||
mkdir -p %{buildroot}%{_logdir}
|
mkdir -p %{buildroot}%{_logdir}
|
||||||
mkdir -p %{buildroot}%{_piddir}
|
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
|
## --SECTION-- check
|
||||||
|
@ -315,10 +107,17 @@ ln -s %{_sysconfdir}/init.d/arangodb3 %{buildroot}%{_sbindir}/rcarangodb
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,0755)
|
%defattr(-,root,root,0755)
|
||||||
%doc README
|
#@CPACK_PACKAGING_INSTALL_PREFIX@/@LIB_INSTALL_DIR@/*
|
||||||
%doc README.md
|
#@CPACK_PACKAGING_INSTALL_PREFIX@/bin/*
|
||||||
%doc LICENSE
|
#%doc README
|
||||||
%doc LICENSES-OTHER-COMPONENTS.md
|
#%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) %{_databasedir}
|
||||||
%attr(0755,arangodb,arangodb) %{_appdir}
|
%attr(0755,arangodb,arangodb) %{_appdir}
|
||||||
%attr(0755,arangodb,arangodb) %{_logdir}
|
%attr(0755,arangodb,arangodb) %{_logdir}
|
||||||
|
@ -339,10 +138,10 @@ ln -s %{_sysconfdir}/init.d/arangodb3 %{buildroot}%{_sbindir}/rcarangodb
|
||||||
|
|
||||||
%files client
|
%files client
|
||||||
%defattr(-,root,root,0755)
|
%defattr(-,root,root,0755)
|
||||||
%doc README
|
#%doc README
|
||||||
%doc README.md
|
#%doc README.md
|
||||||
%doc LICENSE
|
#%doc LICENSE
|
||||||
%doc LICENSES-OTHER-COMPONENTS.md
|
#%doc LICENSES-OTHER-COMPONENTS.md
|
||||||
|
|
||||||
%config(noreplace) %attr(-,arangodb,arangodb) %{_cfgdir}/arangosh.conf
|
%config(noreplace) %attr(-,arangodb,arangodb) %{_cfgdir}/arangosh.conf
|
||||||
%config(noreplace) %attr(-,arangodb,arangodb) %{_cfgdir}/arangoimp.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)
|
#get_cmake_property(_variableNames VARIABLES)
|
||||||
#foreach (_variableName ${_variableNames})
|
#foreach (_variableName ${_variableNames})
|
||||||
# message(STATUS "${_variableName}=${${_variableName}}")
|
# message(STATUS "${_variableName}=${${_variableName}}")
|
||||||
##--------------------------------------------------------------------------------
|
#endforeach()
|
||||||
|
#--------------------------------------------------------------------------------
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
################################################################################
|
################################################################################
|
||||||
FILE(READ "${PROJECT_SOURCE_DIR}/Installation/debian/packagedesc.txt" CPACK_DEBIAN_PACKAGE_DESCRIPTION)
|
FILE(READ "${PROJECT_SOURCE_DIR}/Installation/debian/packagedesc.txt" CPACK_DEBIAN_PACKAGE_DESCRIPTION)
|
||||||
set(CPACK_DEBIAN_PACKAGE_SECTION "database")
|
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_PACKAGE_SHLIBDEPS ON)
|
||||||
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
|
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
|
||||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT})
|
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)
|
set(CPACK_SET_DESTDIR ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_VENDOR ${ARANGODB_PACKAGE_VENDOR})
|
set(CPACK_PACKAGE_VENDOR ${ARANGODB_PACKAGE_VENDOR})
|
||||||
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
|
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
|
||||||
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
|
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")
|
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:
|
# deploy the Init script:
|
||||||
#install(
|
set(RPM_INIT_SCRIPT "${PROJECT_SOURCE_DIR}/Installation/rpm/rc.arangod.Centos")
|
||||||
# FILES ${PROJECT_SOURCE_DIR}/Installation/debian/arangodb.init
|
set(RPM_INIT_SCRIPT_TARGET "${CMAKE_INSTALL_FULL_SYSCONFDIR}/init.d")
|
||||||
# PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
|
set(RPM_INIT_SCRIPT_TARGET_NAME arangodb3)
|
||||||
# DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/init.d
|
|
||||||
# RENAME arangodb3
|
get_cmake_property(_variableNames VARIABLES)
|
||||||
# COMPONENT debian-extras
|
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
|
# 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
|
add_custom_target(package-arongodb-server
|
||||||
COMMAND ${CMAKE_COMMAND} .
|
COMMAND ${CMAKE_COMMAND} .
|
||||||
COMMAND ${CMAKE_CPACK_COMMAND} -G RPM
|
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})
|
WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
|
||||||
|
|
||||||
list(APPEND PACKAGES_LIST package-arongodb-server)
|
list(APPEND PACKAGES_LIST package-arongodb-server)
|
||||||
|
|
||||||
################################################################################
|
#################################################################################
|
||||||
# hook to build the client package
|
## hook to build the client package
|
||||||
################################################################################
|
#################################################################################
|
||||||
set(CLIENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client)
|
#set(CLIENT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb-client)
|
||||||
configure_file(cmake/packages/client/rpm.txt ${CLIENT_BUILD_DIR}/CMakeLists.txt @ONLY)
|
#configure_file(cmake/packages/client/rpm.txt ${CLIENT_BUILD_DIR}/CMakeLists.txt @ONLY)
|
||||||
add_custom_target(package-arongodb-client
|
#add_custom_target(package-arongodb-client
|
||||||
COMMAND ${CMAKE_COMMAND} .
|
# COMMAND ${CMAKE_COMMAND} .
|
||||||
COMMAND ${CMAKE_CPACK_COMMAND} -G RPM
|
# COMMAND ${CMAKE_CPACK_COMMAND} -G RPM
|
||||||
COMMAND cp *.rpm ${PROJECT_BINARY_DIR}
|
# COMMAND cp *.rpm ${PROJECT_BINARY_DIR}
|
||||||
WORKING_DIRECTORY ${CLIENT_BUILD_DIR})
|
# WORKING_DIRECTORY ${CLIENT_BUILD_DIR})
|
||||||
|
#
|
||||||
|
#
|
||||||
list(APPEND PACKAGES_LIST package-arongodb-client)
|
#list(APPEND PACKAGES_LIST package-arongodb-client)
|
||||||
|
|
Loading…
Reference in New Issue