diff options
author | Daniel Nagy | 2015-06-08 19:41:52 +0200 |
---|---|---|
committer | Daniel Nagy | 2015-06-08 19:41:52 +0200 |
commit | 99f4ed1439ea0fb6f38b7324e5e066c714c551eb (patch) | |
tree | feb53113227c6bb0e5ee42555dfa0ff0d7cc1638 /gerrit.install | |
download | aur-99f4ed1439ea0fb6f38b7324e5e066c714c551eb.tar.gz |
import to aur4
Diffstat (limited to 'gerrit.install')
-rw-r--r-- | gerrit.install | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/gerrit.install b/gerrit.install new file mode 100644 index 000000000000..31a93ce56189 --- /dev/null +++ b/gerrit.install @@ -0,0 +1,127 @@ +#!/bin/sh +# vim:set ts=2 sw=2 et: + +## CHANGE the following two variables according to your preference +## /bin/true: start/enable systemd service during installation +## /bin/false: do not touch systemd services, manually enable/start the service +_service_start=/bin/false +_service_enable=/bin/true + +_service_name=gerrit.service +_service_username=gerrit +_service_groupname=${_service_username} +_service_install_dir=/var/lib/${_service_username} +_service_cache_dir= +_service_log_dir=/var/log/${_service_username} + +_set_dir_permissions() { + for d in "${_service_install_dir}" "${_service_cache_dir}"; do + [ -n "${d}" -a -d "${d}" ] && chown -R ${_service_username}:${_service_groupname} ${d} + done +} + +# Test whether the system is running with systemd. +_is_running_systemd() { + ps -p 1 | grep -q "systemd" +} + +# Test whether the systemd service is enabled (presuming that systemd is running). +_is_systemd_service_enabled() { + /usr/bin/systemctl is-enabled --quiet ${_service_name} 2>/dev/null +} + +_stop_systemd_service() { + if `eval ${_service_start}`; then + /usr/bin/systemctl stop ${_service_name} 2>/dev/null + fi; + return 0; +} + +_start_systemd_service() { + _is_running_systemd || return 0; + _is_systemd_service_enabled || return 0; + if `eval ${_service_start}`; then + /usr/bin/systemctl start ${_service_name}; + fi; + return 0; +} + +_disable_systemd_service() { + if `eval ${_service_enable}`; then + _is_systemd_service_enabled && /usr/bin/systemctl disable ${_service_name} 2>/dev/null + fi; + return 0; +} + +# Install systemd service. +_enable_systemd_service() { + _is_running_systemd || return 0; + _is_systemd_service_enabled && return 0; + if `eval ${_service_enable}`; then + /usr/bin/systemctl enable ${_service_name} 2>/dev/null + fi; + return 0; +} + +_reload_systemd_service() { + _is_running_systemd || return; + /usr/bin/systemctl --system daemon-reload 2>/dev/null + return 0; +} + +# arg 1: the new package version +pre_install() { + /bin/true +} + +# arg 1: the new package version +post_install() { + getent passwd ${_service_username} > /dev/null || /usr/sbin/useradd --user-group --home-dir "${_service_install_dir}" --shell "/bin/bash" ${_service_username} &> /dev/null + _set_dir_permissions + _enable_systemd_service + _start_systemd_service + echo " To initialize gerrit, see http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/index.html" + echo " To setup gerrit do:" + echo " sudo su - gerrit" + echo " java -jar /usr/share/java/gerrit/gerrit.war init -d /var/lib/gerrit" +} + +# arg 1: the new package version +# arg 2: the old package version +pre_upgrade() { + _stop_systemd_service + _disable_systemd_service +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + _set_dir_permissions + _enable_systemd_service + _reload_systemd_service + _start_systemd_service + echo " To update gerrit, see http://gerrit-documentation.googlecode.com/svn/ReleaseNotes/ReleaseNotes-2.8.html" + echo " To update gerrit do:" + echo " sudo su - gerrit" + echo " java -jar /usr/share/java/gerrit/gerrit.war init -d /var/lib/gerrit" +} + +# arg 1: the old package version +pre_remove() { + _stop_systemd_service + _disable_systemd_service + return 0; +} + +# arg 1: the old package version +post_remove() { + getent passwd ${_service_username} > /dev/null && /usr/sbin/userdel ${_service_username} &>/dev/null + for d in ${_service_cache_dir}; do + [ -n "${d}" -a -d "${d}" ] && rm -rf "${d}" + done + for d in ${_service_install_dir} ${_service_log_dir}; do + [ -n "${d}" -a -d "${d}" ] && echo ">>> directory ${d} needs to be removed manually" + done + return 0; +} + |