diff options
author | Amadeusz Żołnowski <aidecoe@gentoo.org> | 2015-08-15 11:57:13 +0059 |
---|---|---|
committer | Amadeusz Żołnowski <aidecoe@gentoo.org> | 2015-08-15 14:01:25 +0059 |
commit | 8ff07efe8002a7ee0545cac58e6ec9a78c7481d6 (patch) | |
tree | 08883973f249970964d991f15ff239c2b1c4222a /app-admin | |
parent | app-admin/logstash-forwarder: Correct postinst log (diff) | |
download | gentoo-8ff07efe8002a7ee0545cac58e6ec9a78c7481d6.tar.gz gentoo-8ff07efe8002a7ee0545cac58e6ec9a78c7481d6.tar.bz2 gentoo-8ff07efe8002a7ee0545cac58e6ec9a78c7481d6.zip |
app-admin/logstash-forwarder: Keep state at constant path
At every service start initd script used to create random temporary
directory for keeping state, but as of reasons explained in bug #557530
it's better to keep it constant.
Gentoo-Bug: 557530
Package-Manager: portage-2.2.20
Diffstat (limited to 'app-admin')
-rw-r--r-- | app-admin/logstash-forwarder/files/logstash-forwarder.initd | 40 | ||||
-rw-r--r-- | app-admin/logstash-forwarder/logstash-forwarder-0.4.0.ebuild | 5 |
2 files changed, 9 insertions, 36 deletions
diff --git a/app-admin/logstash-forwarder/files/logstash-forwarder.initd b/app-admin/logstash-forwarder/files/logstash-forwarder.initd index 38e09b65ab68..263ea8c7bd07 100644 --- a/app-admin/logstash-forwarder/files/logstash-forwarder.initd +++ b/app-admin/logstash-forwarder/files/logstash-forwarder.initd @@ -3,47 +3,19 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ -create_tmpdir() { - local tmpdir="$(mktemp -d -p /tmp logstash-forwarder.XXXXXXXXXX)" - - chown logstash:logstash "${tmpdir}" || return 1 - chmod 0750 "${tmpdir}" || return 1 - - echo "${tmpdir}" -} - -remove_tmpdir() { - local d='' - local tmpdir='' - - for d in /tmp/logstash-forwarder.??????????; do - [[ -e ${d} ]] || return 0 - [[ -d ${d} ]] || continue - - if ! [[ ${tmpdir} ]]; then - tmpdir="${d}" - else - # There are more directories like that, so better keep them all. - return 1 - fi - done - - rm -r "${tmpdir}" -} - start() { local config_file=/etc/logstash-forwarder/logstash-forwarder.conf - local tmpdir="$(create_tmpdir)" + local statedir=/var/lib/logstash-forwarder - if ! [[ -d ${tmpdir} ]]; then - eend 1 "Failed to create tmp directory for logstash-forwarder" + if ! [[ -d ${statedir} ]]; then + eend 1 "logstash state directory is missing: ${statedir}" return 1 fi ebegin "Starting logstash-forwarder" start-stop-daemon --start --exec /usr/bin/logstash-forwarder \ --make-pidfile --pidfile /run/logstash-forwarder.pid \ - --background --wait 100 --chdir "${tmpdir}" \ + --background --wait 100 --chdir "${statedir}" \ --user logstash --group logstash \ -- -config="${config_file}" ${LOGSTASH_FORWARDER_ARGS} eend $? @@ -55,9 +27,5 @@ stop() { --pidfile /run/logstash-forwarder.pid --user logstash --group logstash local rc=$? - if ! remove_tmpdir; then - ewarn "Failed to remove logstash-forwarder tmp directory" - fi - eend ${rc} } diff --git a/app-admin/logstash-forwarder/logstash-forwarder-0.4.0.ebuild b/app-admin/logstash-forwarder/logstash-forwarder-0.4.0.ebuild index fda913602fcc..a9dbce544f48 100644 --- a/app-admin/logstash-forwarder/logstash-forwarder-0.4.0.ebuild +++ b/app-admin/logstash-forwarder/logstash-forwarder-0.4.0.ebuild @@ -29,6 +29,11 @@ src_install() { dodoc "${PN}".conf.example CHANGELOG README.md newconfd "${FILESDIR}/${PN}.confd" "${PN}" newinitd "${FILESDIR}/${PN}.initd" "${PN}" + + local statedir="/var/lib/${PN}" + keepdir "$statedir" + fowners logstash:logstash "$statedir" + fperms 0750 "$statedir" } pkg_postinst() { |