################################################################################ ## 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 < /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 </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 <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 <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 <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 < /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 < /dev/null 2>&1 || : /bin/systemctl stop arangodb.service > /dev/null 2>&1 || : fi exit 0 EOF %postremove </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 <