1
0
Fork 0
arangodb/Installation/epm/arangodb.list

213 lines
7.1 KiB
Plaintext

################################################################################
## epm configuration file
## Documentation: http://www.epmhome.org
################################################################################
$version=${arangodb_version}
$release=${arangodb_release}
################################################################################
## ArangoDB
################################################################################
%product ArangoDB
%copyright 2012 by triAGENS GmbH
%vendor triAGENS GmbH
%license COPYING
%readme README
%description ArangoDB Software
%version ${version}
%release ${release}
################################################################################
## File List
################################################################################
d 0755 ${susr} ${sgrp} /etc/arangodb -
d 0755 ${susr} ${sgrp} /etc/arangodb/ -
c 0644 ${susr} ${sgrp} /etc/arangodb/arangod.conf ${project_dir}/etc/arangodb/arangod.conf
c 0644 ${susr} ${sgrp} /etc/arangodb/arangosh.conf ${project_dir}/etc/arangodb/arangosh.conf
f 0755 ${susr} ${sgrp} ${sbindir}/arangod-${arangodb_version} ${project_dir}/bin/arangod
l 000 ${rusr} ${rgrp} ${sbindir}/arangod ${sbindir}/arangod-${arangodb_version}
f 0755 ${susr} ${sgrp} ${bindir}/arangoimp ${project_dir}/bin/arangoimp
f 0755 ${susr} ${sgrp} ${bindir}/arangosh ${project_dir}/bin/arangosh
f 0755 ${susr} ${sgrp} ${bindir}/arango-password ${project_dir}/bin/arango-password
f 0755 ${susr} ${sgrp} ${bindir}/arango-upgrade ${project_dir}/bin/arango-upgrade
# database directory
d 0755 ${rusr} ${rgrp} ${data_dir} -
d 0755 ${susr} ${sgrp} ${data_dir}/arangodb -
# static files
d 0755 ${susr} ${sgrp} ${static_dir} -
d 0755 ${susr} ${sgrp} ${static_dir}/arangodb -
d 0755 ${susr} ${sgrp} ${static_dir}/arangodb/js -
d 0755 ${susr} ${sgrp} ${static_dir}/arangodb/html -
# PID file directory
d 0755 ${susr} ${sgrp} /var/run/arangodb -
# logfile directory
d 0755 ${susr} ${sgrp} /var/log/arangodb -
d 0755 ${rusr} ${rgrp} ${mandir} -
d 0755 ${rusr} ${rgrp} ${mandir}/man1 -
d 0755 ${rusr} ${rgrp} ${mandir}/man8 -
%include ${project_dir}/Installation/epm/arangodb.sublist
################################################################################
## Pre/Post Install
################################################################################
## -----------------------------------------------------------------------------
## MAC OS X
## -----------------------------------------------------------------------------
%ifdef macosx
d 0755 ${rusr} ${rgrp} /Library/LaunchDaemons/ -
f 0755 ${rusr} ${rgrp} /Library/LaunchDaemons/org.arangodb.plist.template ${project_dir}/Installation/MacOSX/org.arangodb.plist
%postinstall <<EOF
sed -e 's%@BINARY@%${sbindir}/arangod-${version}%g' -e 's%@CONFIGDIR@%/etc/arangodb%g' /Library/LaunchDaemons/org.arangodb.plist.template > /Library/LaunchDaemons/org.arangodb.plist
launchctl unload /Library/LaunchDaemons/org.arangodb.plist
if [ "`/usr/bin/find ${data_dir}/arangodb -type d -name 'collection-*'`" == "" ] ; then
${bindir}/arango-upgrade --database.directory "${data_dir}/arangodb"
fi
launchctl load /Library/LaunchDaemons/org.arangodb.plist
EOF
%preremove <<EOF
launchctl stop de.triagens.arango
launchctl unload /Library/LaunchDaemons/org.arangodb.plist
EOF
## -----------------------------------------------------------------------------
## LINUX
## -----------------------------------------------------------------------------
%else
%preinstall <<EOF
getent group arangodb >/dev/null || groupadd -r arangodb
getent passwd arangodb >/dev/null || useradd -r -g arangodb -d ${static_dir}/arangodb -s /bin/false -c "ArangoDB Application User" arangodb
EOF
%endif
## -----------------------------------------------------------------------------
## CHKCONF
## -----------------------------------------------------------------------------
%ifdef chkconf
f 0755 ${rusr} ${rgrp} ${initdir}/arangodb ${project_dir}/Installation/Linux/${START_SCRIPT}
%postinstall <<EOF
chkconfig --level ${runlevels} arangodb on
if [ "`find ${data_dir}/arangodb -type d -name 'collection-*'`" == "" ] ; then
${bindir}/arango-upgrade --database.directory "${data_dir}/arangodb" --uid ${susr}
fi
echo "${install_message}"
exit 0
EOF
%preremove <<EOF
${initdir}/arangodb stop 2&>1 > /dev/null || true
chkconfig --del arangodb
exit 0
EOF
## -----------------------------------------------------------------------------
## INSSERV
## -----------------------------------------------------------------------------
%elseifdef insserv
f 0755 ${rusr} ${rgrp} ${initdir}/arangodb ${project_dir}/Installation/Linux/${START_SCRIPT}
%postinstall <<EOF
test -x /sbin/insserv && /sbin/insserv /etc/init.d/arangodb 2&>1 > /dev/null
if [ "`find ${data_dir}/arangodb -type d -name 'collection-*'`" == "" ] ; then
${bindir}/arango-upgrade --database.directory "${data_dir}/arangodb" --uid ${susr}
fi
echo "${install_message}"
exit 0
EOF
%preremove <<EOF
${initdir}/arangodb stop 2&>1 > /dev/null || true
test -x /sbin/insserv && /sbin/insserv -r /etc/init.d/arangodb 2&>1 > /dev/null
exit 0
EOF
## -----------------------------------------------------------------------------
## use_systemd
## -----------------------------------------------------------------------------
%elseifdef use_systemd
f 0544 ${rusr} ${rgrp} ${systemddir}/arangodb.service ${project_dir}/etc/systemd/arangodb.service
%postinstall <<EOF
/bin/systemctl daemon-reload > /dev/null 2>&1
/bin/systemctl preset arangodb.service > /dev/null 2>&1
if [ "`find ${data_dir}/arangodb -type d -name 'collection-*'`" == "" ] ; then
${bindir}/arango-upgrade --database.directory "${data_dir}/arangodb" --uid ${susr}
fi
echo "${install_message}"
exit 0
EOF
%preremove <<EOF
test -n "$FIRST_ARG" || FIRST_ARG=$1
if [ $FIRST_ARG -eq 0 ]; then
# Package removal, not upgrade
/bin/systemctl --no-reload disable arangodb.service > /dev/null 2>&1 || :
/bin/systemctl stop arangodb.service > /dev/null 2>&1 || :
fi
exit 0
EOF
%postremove <<EOF
test -n "$FIRST_ARG" || FIRST_ARG=$1
if [ $FIRST_ARG -ge 1 ]; then
# Package upgrade, not uninstall
/bin/systemctl try-restart arangodb.service >/dev/null 2>&1 || :
else # package uninstall
for service in arangodb.service ; do
sysv_service=${service%.*}
rm -f "/var/lib/systemd/migrated/$sysv_service" 2> /dev/null || :
done
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
EOF
## -----------------------------------------------------------------------------
## EPM
## -----------------------------------------------------------------------------
%else
%system linux
i 0755 ${rusr} ${rgrp} arangodb ${project_dir}/Installation/Linux/${START_SCRIPT} runlevel(${runlevels})
echo "${install_message}"
%endif
## -----------------------------------------------------------------------------
## RC skript
## -----------------------------------------------------------------------------
%system linux
l 000 ${rusr} ${rgrp} ${sbindir}/rcarangodb /etc/init.d/arangodb