From 667c4d4c33593e983947d5a4ce2f59288bd9dc76 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Thu, 2 Nov 2017 16:42:36 -0400 Subject: net-analyzer/pnp4nagios: use consistent perfdata directories. Past revisions have stored the RRDtool data and the process_perdata.pl logs in (for example) /var/nagios or /var/icinga, depending on whether or you had Nagios or Icinga installed. That's silly: the data format doesn't change, so it makes more sense to choose one location (now: /var/lib/pnp) and stick with it. Package-Manager: Portage-2.3.8, Repoman-2.3.3 --- .../pnp4nagios/pnp4nagios-0.6.26-r4.ebuild | 100 --------------------- .../pnp4nagios/pnp4nagios-0.6.26-r5.ebuild | 98 ++++++++++++++++++++ 2 files changed, 98 insertions(+), 100 deletions(-) delete mode 100644 net-analyzer/pnp4nagios/pnp4nagios-0.6.26-r4.ebuild create mode 100644 net-analyzer/pnp4nagios/pnp4nagios-0.6.26-r5.ebuild (limited to 'net-analyzer') diff --git a/net-analyzer/pnp4nagios/pnp4nagios-0.6.26-r4.ebuild b/net-analyzer/pnp4nagios/pnp4nagios-0.6.26-r4.ebuild deleted file mode 100644 index c173abd999e4..000000000000 --- a/net-analyzer/pnp4nagios/pnp4nagios-0.6.26-r4.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="A performance data analyzer for nagios" -HOMEPAGE="http://www.pnp4nagios.org/" -SRC_URI="mirror://sourceforge/${PN}/PNP-0.6/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -IUSE="apache2 icinga icinga2 +nagios" -KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" - -REQUIRED_USE="^^ ( icinga icinga2 nagios )" - -# Some things (sync mode, for one) are broken with nagios-4.x, but since -# nagios-3.x has been end-of-life'd, we don't have much choice here but -# to accept it. -DEPEND=" - dev-lang/php:*[filter,gd,json,simplexml,xml,zlib] - net-analyzer/rrdtool[graph,perl] - icinga? ( net-analyzer/icinga ) - icinga2? ( net-analyzer/icinga2 ) - nagios? ( net-analyzer/nagios-core )" - -# A list of modules used in our Apache config file. -APACHE_MODS="apache2_modules_alias," # "Alias" directive -APACHE_MODS+="apache2_modules_authz_core," # "Require" directive -APACHE_MODS+="apache2_modules_rewrite" # "RewriteEngine" and friends - -RDEPEND="${DEPEND} - virtual/perl-Getopt-Long - virtual/perl-Time-HiRes - media-fonts/dejavu - apache2? ( >=www-servers/apache-2.4[${APACHE_MODS}] )" - -PATCHES=( "${FILESDIR}/${PN}-0.6.14-makefile.patch" ) - -src_configure() { - local var_dir user_group - - if use icinga; then - var_dir=/var/lib/icinga - user_group=icinga - elif use icinga2; then - var_dir=/var/lib/icinga2 - user_group=icinga - else - # Thanks to REQUIRED_USE, "use nagios" is the only other case. - var_dir=/var/nagios - user_group=nagios - fi - - econf \ - --sysconfdir="${EPREFIX}"/etc/pnp \ - --datarootdir="${EPREFIX}"/usr/share/pnp \ - --with-perfdata-dir="${EPREFIX}"${var_dir}/perfdata \ - --with-nagios-user=${user_group} \ - --with-nagios-group=${user_group} \ - --with-perfdata-logfile="${EPREFIX}"${var_dir}/perfdata.log \ - --with-perfdata-spool-dir="${EPREFIX}"/var/spool/pnp -} - -src_compile() { - # The default target just shows a help - emake all -} - -src_install() { - # Don't use INSTALL_OPTS because they set insecure permissions on - # all of /etc/pnp (https://github.com/lingej/pnp4nagios/issues/140). - emake INSTALL_OPTS="" DESTDIR="${D}" install install-config - einstalldocs - newinitd "${FILESDIR}"/npcd.initd npcd - rm "${ED%/}/usr/share/pnp/install.php" || \ - die "unable to remove ${ED%/}/usr/share/pnp/install.php" - - # Fix CVE-2012-3457 (Gentoo bug 430358) - fperms o-rwx /etc/pnp/process_perfdata.cfg - - if use apache2 ; then - insinto /etc/apache2/modules.d - newins "${FILESDIR}"/98_pnp4nagios-2.4.conf 98_pnp4nagios.conf - - # This one file isn't world-readable, but it should be group- - # readable. Give it to the "apache" group to let the web - # server read it. - fowners :apache /etc/pnp/process_perfdata.cfg - fi -} - -pkg_postinst() { - elog "To enable the pnp4nagios web front-end, please visit" - elog "${EROOT%/}/etc/conf.d/apache2 and add \"-D PNP -D PHP\"" - elog "to APACHE2_OPTS. Then pnp4nagios will be available at," - elog - elog " http://localhost/pnp4nagios" - elog -} diff --git a/net-analyzer/pnp4nagios/pnp4nagios-0.6.26-r5.ebuild b/net-analyzer/pnp4nagios/pnp4nagios-0.6.26-r5.ebuild new file mode 100644 index 000000000000..3e886eb89dc7 --- /dev/null +++ b/net-analyzer/pnp4nagios/pnp4nagios-0.6.26-r5.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="A performance data analyzer for nagios" +HOMEPAGE="http://www.pnp4nagios.org/" +SRC_URI="mirror://sourceforge/${PN}/PNP-0.6/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +IUSE="apache2 icinga icinga2 +nagios" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" + +REQUIRED_USE="^^ ( icinga icinga2 nagios )" + +# Some things (sync mode, for one) are broken with nagios-4.x, but since +# nagios-3.x has been end-of-life'd, we don't have much choice here but +# to accept it. +DEPEND=" + dev-lang/php:*[filter,gd,json,simplexml,xml,zlib] + net-analyzer/rrdtool[graph,perl] + icinga? ( net-analyzer/icinga ) + icinga2? ( net-analyzer/icinga2 ) + nagios? ( net-analyzer/nagios-core )" + +# A list of modules used in our Apache config file. +APACHE_MODS="apache2_modules_alias," # "Alias" directive +APACHE_MODS+="apache2_modules_authz_core," # "Require" directive +APACHE_MODS+="apache2_modules_rewrite" # "RewriteEngine" and friends + +RDEPEND="${DEPEND} + virtual/perl-Getopt-Long + virtual/perl-Time-HiRes + media-fonts/dejavu + apache2? ( >=www-servers/apache-2.4[${APACHE_MODS}] )" + +PATCHES=( "${FILESDIR}/${PN}-0.6.14-makefile.patch" ) + +src_configure() { + local user_group=nagios + ( use icinga || use icinga2 ) && user_group=icinga + + econf \ + --sysconfdir="${EPREFIX}"/etc/pnp \ + --datarootdir="${EPREFIX}"/usr/share/pnp \ + --with-nagios-user="${user_group}" \ + --with-nagios-group="${user_group}" \ + --with-perfdata-dir="${EPREFIX}"/var/lib/pnp/perfdata \ + --with-perfdata-logfile="${EPREFIX}"/var/log/pnp/process_perfdata.log \ + --with-perfdata-spool-dir="${EPREFIX}"/var/spool/pnp +} + +src_compile() { + # The default target just shows a help + emake all +} + +src_install() { + # Don't use INSTALL_OPTS because they set insecure permissions on + # all of /etc/pnp (https://github.com/lingej/pnp4nagios/issues/140). + emake INSTALL_OPTS="" DESTDIR="${D}" install install-config + einstalldocs + newinitd "${FILESDIR}"/npcd.initd npcd + rm "${ED%/}/usr/share/pnp/install.php" || \ + die "unable to remove ${ED%/}/usr/share/pnp/install.php" + + # Fix CVE-2012-3457 (Gentoo bug 430358) + fperms o-rwx /etc/pnp/process_perfdata.cfg + + if use apache2 ; then + insinto /etc/apache2/modules.d + newins "${FILESDIR}"/98_pnp4nagios-2.4.conf 98_pnp4nagios.conf + + # This one file isn't world-readable, but it should be group- + # readable. Give it to the "apache" group to let the web + # server read it. + fowners :apache /etc/pnp/process_perfdata.cfg + fi + + # The nagios or icinga user will also need to be able to write + # performance data to the perfdata-dir and perfdata-spool-dir + # directories. + local user_group=nagios + ( use icinga || use icinga2 ) && user_group=icinga + dodir /var/lib/pnp/{,perfdata} /var/log/pnp + fowners "${user_group}:${user_group}" /var/lib/pnp/{,perfdata} + fowners "${user_group}:${user_group}" /var/log/pnp +} + +pkg_postinst() { + elog "To enable the pnp4nagios web front-end, please visit" + elog "${EROOT%/}/etc/conf.d/apache2 and add \"-D PNP -D PHP\"" + elog "to APACHE2_OPTS. Then pnp4nagios will be available at," + elog + elog " http://localhost/pnp4nagios" + elog +} -- cgit v1.2.3-65-gdbad