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

226 lines
7.4 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 ${project_dir}/LICENSE
%readme ${project_dir}/README
%description ArangoDB is a durable, reliable, transactional multi-model database. It's key-features are: Schema-free schemata, an integrated application server, flexible data modelling, free index choice, and configurable durability.
%version ${version}
%release ${release}
################################################################################
## File List
################################################################################
d 0755 ${susr} ${sgrp} /etc/arangodb -
d 0755 ${susr} ${sgrp} /etc/arangodb/ -
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
# 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
c 0644 ${susr} ${sgrp} /etc/arangodb/arangod.conf ${project_dir}/etc/arangodb/arangod.conf
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
# change user of 1.0 version
/usr/sbin/chown -R ${susr}:${sgrp} /var/run/arangodb
/usr/sbin/chown -R ${susr}:${sgrp} /var/log/arangodb
/usr/sbin/chown -R ${susr}:${sgrp} ${data_dir}/arangodb
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
c 0644 ${susr} ${sgrp} /etc/arangodb/arangod.conf ${project_dir}/etc/arangodb/arangod-uid.conf
%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
# change user of 1.0 version
chown -R ${susr}:${sgrp} /var/run/arangodb
chown -R ${susr}:${sgrp} /var/log/arangodb
chown -R ${susr}:${sgrp} ${data_dir}/arangodb
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
# change user of 1.0 version
chown -R ${susr}:${sgrp} /var/run/arangodb
chown -R ${susr}:${sgrp} /var/log/arangodb
chown -R ${susr}:${sgrp} ${data_dir}/arangodb
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
# change user of 1.0 version
chown -R ${susr}:${sgrp} /var/run/arangodb
chown -R ${susr}:${sgrp} /var/log/arangodb
chown -R ${susr}:${sgrp} ${data_dir}/arangodb
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})
%postinstall <<EOF
# change user of 1.0 version
chown -R ${susr}:${sgrp} /var/run/arangodb
chown -R ${susr}:${sgrp} /var/log/arangodb
chown -R ${susr}:${sgrp} ${data_dir}/arangodb
echo "${install_message}"
exit 0
EOF
%endif
## -----------------------------------------------------------------------------
## RC skript
## -----------------------------------------------------------------------------
%system linux
l 000 ${rusr} ${rgrp} ${sbindir}/rcarangodb /etc/init.d/arangodb