diff options
author | Tomas Mozes <hydrapolic@gmail.com> | 2017-08-16 10:39:45 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2017-08-16 16:23:59 +0200 |
commit | 15b28a3312f35244dbe093946f127d046555f42a (patch) | |
tree | f02d2040e05d096c8e029aacdbb3787ad7dc0989 | |
parent | app-i18n/ibus-table-others: initial import (diff) | |
download | gentoo-15b28a3312f35244dbe093946f127d046555f42a.tar.gz gentoo-15b28a3312f35244dbe093946f127d046555f42a.tar.bz2 gentoo-15b28a3312f35244dbe093946f127d046555f42a.zip |
app-admin/logstash-bin: retain user installed plugins (Bug #622602)
Closes: https://github.com/gentoo/gentoo/pull/5098
Package-Manager: Portage-2.3.7, Repoman-2.3.2
-rw-r--r-- | app-admin/logstash-bin/files/logstash-plugin.eselect | 85 | ||||
-rw-r--r-- | app-admin/logstash-bin/logstash-bin-5.4.3-r1.ebuild (renamed from app-admin/logstash-bin/logstash-bin-5.4.3.ebuild) | 17 |
2 files changed, 100 insertions, 2 deletions
diff --git a/app-admin/logstash-bin/files/logstash-plugin.eselect b/app-admin/logstash-bin/files/logstash-plugin.eselect new file mode 100644 index 000000000000..29678309f411 --- /dev/null +++ b/app-admin/logstash-bin/files/logstash-plugin.eselect @@ -0,0 +1,85 @@ +# -*-eselect-*- vim: ft=eselect +# Copyright 2005-2017 Gentoo Foundation +# Distributed under the terms of the GNU GPL version 2 or later + +DESCRIPTION="Manage user installed plugins of logstash" +MAINTAINER="hydrapolic@gmail.com" + +PLUGINS="/var/lib/logstash/plugins-list.txt" +LS_INSTALL_DIR="/opt/logstash" + +ls_plugin_wrapper() { + JARS_SKIP=true "${LS_INSTALL_DIR}/bin/logstash-plugin" "${1}" "${2}" || die +} + +### install action +describe_install() { + echo "Install plugin" +} + +describe_install_parameters() { + echo "<plugin>" +} + +do_install() { + [[ ${#} -lt 1 ]] && die "Please specify at least one plugin" + + local plugin + for plugin; do + ls_plugin_wrapper install "${plugin}" + echo "${plugin}" >> "${PLUGINS}" || die + done + + sort -u "${PLUGINS}" > "${PLUGINS}.tmp" || die + mv "${PLUGINS}.tmp" "${PLUGINS}" || die +} + +### list action +describe_list() { + echo "List user installed plugins" +} + +do_list() { + if [[ -f "${PLUGINS}" ]]; then + write_list_start "Installed plugins:" + + local plugin + while read -r plugin; do + write_kv_list_entry "${plugin}" + done < "${PLUGINS}" + fi +} + +### reinstall action +describe_reinstall() { + echo "Reinstall plugins" +} + +do_reinstall() { + if [[ -f "${PLUGINS}" ]]; then + local plugin + while read -r plugin; do + ls_plugin_wrapper install "${plugin}" + done < "${PLUGINS}" + fi +} + +### uninstall action +describe_uninstall() { + echo "Uninstall plugin" +} + +describe_uninstall_parameters() { + echo "<plugin>" +} + +do_uninstall() { + if [[ -f "${PLUGINS}" ]]; then + local plugin + for plugin; do + grep "^${plugin}\$" "${PLUGINS}" || write_warning_msg "Plugin ${plugin} not recorded" + sed -i "/^${plugin}\$/d" "${PLUGINS}" || die + ls_plugin_wrapper remove "${plugin}" + done + fi +} diff --git a/app-admin/logstash-bin/logstash-bin-5.4.3.ebuild b/app-admin/logstash-bin/logstash-bin-5.4.3-r1.ebuild index f5c4d8c2e292..f8c948c748cf 100644 --- a/app-admin/logstash-bin/logstash-bin-5.4.3.ebuild +++ b/app-admin/logstash-bin/logstash-bin-5.4.3-r1.ebuild @@ -31,6 +31,7 @@ pkg_setup() { src_install() { keepdir /etc/"${MY_PN}"/{conf.d,patterns,plugins} + keepdir "/var/lib/${MY_PN}" keepdir "/var/log/${MY_PN}" insinto "/usr/share/${MY_PN}" @@ -45,15 +46,27 @@ src_install() { newconfd "${FILESDIR}/${MY_PN}.confd" "${MY_PN}" newinitd "${FILESDIR}/${MY_PN}.initd" "${MY_PN}" + + insinto /usr/share/eselect/modules + doins "${FILESDIR}"/logstash-plugin.eselect } pkg_postinst() { ewarn "The default user changed from root to ${MY_PN}. If you wish to run as root (for" ewarn "example to read local logs), be sure to change LS_USER and LS_GROUP in" ewarn "${EROOT%/}/etc/conf.d/${MY_PN}" + ewarn + ewarn "Self installed plugins are removed during Logstash upgrades (Bug #622602)" + ewarn "Install the plugins via eselect module that will automatically re-install" + ewarn "all self installed plugins after Logstash upgrades." + einfo + einfo "Installing plugins:" + einfo "eselect logstash-plugin install logstash-output-gelf" einfo - einfo "Installing plugins: (bug #601294)" - einfo "DEBUG=1 JARS_SKIP='true' bin/logstash-plugin install logstash-output-gelf" + + einfo "Reinstalling self installed plugins (installed via eselect module):" + eselect logstash-plugin reinstall + einfo einfo "Sample configuration:" einfo "${EROOT%/}/usr/share/${MY_PN}" |