From: "Michael Orlitzky" <mjo@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-analyzer/nagios-core/
Date: Sun, 20 Sep 2020 14:47:27 +0000 (UTC) [thread overview]
Message-ID: <1600613123.2af8886ca2faaabdc66c0e502319b3e94c4b98b2.mjo@gentoo> (raw)
commit: 2af8886ca2faaabdc66c0e502319b3e94c4b98b2
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 20 14:45:08 2020 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Sun Sep 20 14:45:23 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2af8886c
net-analyzer/nagios-core: new revision with web groups in BDEPEND.
The apache/lighttpd groups are needed in src_install(), so they are
needed in BDEPEND as well as RDEPEND (where they appear transitively).
Closes: https://bugs.gentoo.org/743610
Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
.../nagios-core/nagios-core-4.4.6-r1.ebuild | 260 +++++++++++++++++++++
1 file changed, 260 insertions(+)
diff --git a/net-analyzer/nagios-core/nagios-core-4.4.6-r1.ebuild b/net-analyzer/nagios-core/nagios-core-4.4.6-r1.ebuild
new file mode 100644
index 00000000000..b345507323e
--- /dev/null
+++ b/net-analyzer/nagios-core/nagios-core-4.4.6-r1.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P="${PN/-core}-${PV}"
+DESCRIPTION="Nagios core - monitoring daemon, web GUI, and documentation"
+HOMEPAGE="https://www.nagios.org/"
+
+# The name of the directory into which our Gentoo icons will be
+# extracted, and also the basename of the archive containing it.
+GENTOO_ICONS="${PN}-gentoo-icons-20141125"
+SRC_URI="mirror://sourceforge/nagios/${MY_P}.tar.gz
+ web? ( https://dev.gentoo.org/~mjo/distfiles/${GENTOO_ICONS}.tar )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="apache2 classicui lighttpd perl +web vim-syntax"
+
+# In pkg_postinst(), we change the group of the Nagios configuration
+# directory to that of the web server user. It can't belong to both
+# apache/lighttpd groups at the same time, so we block this combination
+# for our own sanity.
+#
+# This could be made to work, but we would need a better way to allow
+# the web user read-only access to Nagios's configuration directory.
+#
+REQUIRED_USE="apache2? ( !lighttpd )"
+
+#
+# Note, we require one of the apache2 CGI modules:
+#
+# * mod_cgi (USE=apache2_modules_cgi)
+# * mod_cgid (USE=apache2_modules_cgid)
+# * mod_fcgid (www-apache/mod_fcgid)
+#
+# We just don't care /which/ one. And of course PHP supports both CGI
+# (USE=cgi) and FastCGI (USE=fpm). We're pretty lenient with the
+# dependencies, and expect the user not to do anything /too/
+# stupid. (For example, installing Apache with only FastCGI support, and
+# PHP with only CGI support.)
+#
+# Another annoyance is that the upstream Makefile uses app-arch/unzip to
+# extract a snapshot of AngularJS, but that's only needed when USE=web.
+#
+MOD_ALIAS=apache2_modules_alias
+
+# The dependencies checked by the configure script. All of these are
+# also runtime dependencies; that's why ./configure checks for them.
+CONFIGURE_DEPEND="acct-group/nagios
+ acct-user/nagios
+ virtual/mailx
+ perl? ( dev-lang/perl:= )"
+
+# In addition to the things that the ./configure script checks for,
+# we also need to be able to unzip stuff on the build host.
+#
+# We need the apache/lighttpd groups in src_install() for the things
+# installed as the --with-command-group argument, so they go here too.
+# The groups are also needed at runtime, but that is ensured by apache
+# and lighttpd themselves being in RDEPEND.
+BDEPEND="${CONFIGURE_DEPEND}
+ apache2? ( acct-group/apache )
+ lighttpd? ( acct-group/lighttpd )
+ web? ( app-arch/unzip )"
+
+# This is linked into /usr/bin/nagios{,tats}
+DEPEND="dev-libs/libltdl:0"
+
+RDEPEND="${CONFIGURE_DEPEND}
+ ${DEPEND}
+ web? (
+ media-libs/gd[jpeg,png]
+ lighttpd? ( www-servers/lighttpd[php] )
+ apache2? (
+ || (
+ www-servers/apache[${MOD_ALIAS},apache2_modules_cgi]
+ www-servers/apache[${MOD_ALIAS},apache2_modules_cgid]
+ ( www-servers/apache[${MOD_ALIAS}] www-apache/mod_fcgid ) )
+ || (
+ dev-lang/php:*[apache2]
+ dev-lang/php:*[cgi]
+ dev-lang/php:*[fpm] )
+ )
+ )
+ vim-syntax? ( app-vim/nagios-syntax )"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ local myconf
+
+ if use perl; then
+ myconf="${myconf} --enable-embedded-perl --with-perlcache"
+ fi
+
+ if use !apache2 && use !lighttpd ; then
+ myconf="${myconf} --with-command-group=nagios"
+ else
+ if use apache2 ; then
+ myconf="${myconf} --with-command-group=apache"
+ myconf="${myconf} --with-httpd-conf=/etc/apache2/conf.d"
+ elif use lighttpd ; then
+ myconf="${myconf} --with-command-group=lighttpd"
+ fi
+ fi
+
+ econf ${myconf} \
+ --prefix="${EPREFIX}/usr" \
+ --bindir="${EPREFIX}/usr/sbin" \
+ --localstatedir="${EPREFIX}/var/lib/nagios" \
+ --sysconfdir="${EPREFIX}/etc/nagios" \
+ --libexecdir="${EPREFIX}/usr/$(get_libdir)/nagios/plugins" \
+ --with-cgibindir="${EPREFIX}/usr/$(get_libdir)/nagios/cgi-bin" \
+ --with-webdir="${EPREFIX}/usr/share/nagios/htdocs"
+
+ # The paths in the web server configuration files need to match
+ # those passed to econf above.
+ cp "${FILESDIR}/99_nagios4-r1.conf" \
+ "${FILESDIR}/lighttpd_nagios4-r1.conf" \
+ "${T}/" || die "failed to create copies of web server conf files"
+
+ sed -e "s|@CGIBINDIR@|${EPREFIX}/usr/$(get_libdir)/nagios/cgi-bin|g" \
+ -e "s|@WEBDIR@|${EPREFIX}/usr/share/nagios/htdocs|" \
+ -i "${T}/99_nagios4-r1.conf" \
+ -i "${T}/lighttpd_nagios4-r1.conf" \
+ || die "failed to substitute paths into web server conf files"
+
+}
+
+src_compile() {
+ emake CC=$(tc-getCC) nagios
+
+ if use web; then
+ # Only compile the CGIs/HTML when USE=web is set.
+ emake CC=$(tc-getCC) DESTDIR="${D}" cgis html
+ fi
+}
+
+src_install() {
+ dodoc Changelog CONTRIBUTING.md README.md THANKS UPGRADING
+
+ # There is no way to install the CGIs unstripped from the top-level
+ # makefile, so descend into base/ here. The empty INSTALL_OPTS
+ # ensures that root:root: owns the nagios executables.
+ cd "${S}/base" || die
+ emake INSTALL_OPTS="" DESTDIR="${D}" install-unstripped
+ cd "${S}" || die
+
+ # Otherwise this gets installed as 770 and you get "access denied"
+ # for some reason or other when starting nagios. The permissions
+ # on nagiostats are just for consistency (these should both get
+ # fixed upstream).
+ fperms 775 /usr/sbin/nagios /usr/sbin/nagiostats
+
+ # INSTALL_OPTS are needed for most of install-basic, but we don't
+ # want them on the LIBEXECDIR, argh.
+ emake DESTDIR="${D}" install-basic
+ fowners root:root /usr/$(get_libdir)/nagios/plugins
+
+ # Don't make the configuration owned by the nagios user, because
+ # then he can edit nagios.cfg and trick nagios into running as root
+ # and doing his bidding.
+ emake INSTALL_OPTS="" DESTDIR="${D}" install-config
+
+ # No INSTALL_OPTS used in install-commandmode, thankfully.
+ emake DESTDIR="${D}" install-commandmode
+
+ # The build system installs these directories, but portage assumes
+ # that the build system doesn't know what it's doing so we have to
+ # keepdir them, too. I guess you'll have to manually re-check the
+ # upstream build system forever to see if this is still necessary.
+ keepdir /var/lib/nagios{,/archives,/rw,/spool,/spool/checkresults}
+
+ if use web; then
+ # There is no way to install the CGIs unstripped from the
+ # top-level makefile, so descend into cgi/ here. The empty
+ # INSTALL_OPTS ensures that root:root: owns the CGI executables.
+ cd "${S}/cgi" || die
+ emake INSTALL_OPTS="" DESTDIR="${D}" install-unstripped
+ cd "${S}" || die
+
+ # install-html installs the new exfoliation theme
+ emake INSTALL_OPTS="" DESTDIR="${D}" install-html
+
+ if use classicui; then
+ # This overwrites the already-installed exfoliation theme
+ emake INSTALL_OPTS="" DESTDIR="${D}" install-classicui
+ fi
+
+ # Install cute Gentoo icons (bug #388323), setting their
+ # owner, group, and mode to match those of the rest of Nagios's
+ # images.
+ insinto /usr/share/nagios/htdocs/images/logos
+ doins "${WORKDIR}/${GENTOO_ICONS}"/*.*
+ fi
+
+ newinitd startup/openrc-init nagios
+
+ if use web ; then
+ if use apache2 ; then
+ # Install the Nagios configuration file for Apache.
+ insinto "/etc/apache2/modules.d"
+ newins "${T}/99_nagios4-r1.conf" "99_nagios4.conf"
+ elif use lighttpd ; then
+ # Install the Nagios configuration file for Lighttpd.
+ insinto /etc/lighttpd
+ newins "${T}/lighttpd_nagios4-r1.conf" nagios.conf
+ else
+ ewarn "${CATEGORY}/${PF} only supports apache or lighttpd"
+ ewarn "out of the box. Since you are not using one of them, you"
+ ewarn "will have to configure your webserver yourself."
+ fi
+ fi
+}
+
+pkg_postinst() {
+
+ if use web; then
+ if use apache2 || use lighttpd ; then
+ if use apache2; then
+ elog "To enable the Nagios web front-end, please edit"
+ elog "${ROOT}/etc/conf.d/apache2 and add \"-D NAGIOS -D PHP\""
+ elog "to APACHE2_OPTS. Then Nagios will be available at,"
+ elog
+ elif use lighttpd; then
+ elog "To enable the Nagios web front-end, please add"
+ elog "'include \"nagios.conf\"' to the lighttpd configuration"
+ elog "file at ${ROOT}/etc/lighttpd/lighttpd.conf. Then Nagios"
+ elog "will be available at,"
+ elog
+ fi
+
+ elog " http://localhost/nagios/"
+ fi
+ fi
+
+ elog
+ elog "If your kernel has /proc protection, nagios"
+ elog "will not be happy as it relies on accessing the proc"
+ elog "filesystem. You can fix this by adding nagios into"
+ elog "the group wheel, but this is not recomended."
+ elog
+
+ if [ -n "${REPLACING_VERSIONS}" ]; then
+ ewarn "The local state directory for nagios has changed in v4.4.5,"
+ ewarn "from ${EROOT}/var/nagios to ${EROOT}/var/lib/nagios. If you"
+ ewarn "wish to migrate your state to the new location, first stop"
+ ewarn "nagios and then run"
+ ewarn ""
+ ewarn " diff --recursive --brief ${EROOT}/var/nagios ${EROOT}/var/lib/nagios"
+ ewarn ""
+ ewarn "to identify any files that should be moved to the new"
+ ewarn "location. They can simply be moved with \"mv\" before"
+ ewarn "restarting nagios."
+ fi
+}
next reply other threads:[~2020-09-20 14:47 UTC|newest]
Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-20 14:47 Michael Orlitzky [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-03-03 1:20 [gentoo-commits] repo/gentoo:master commit in: net-analyzer/nagios-core/ Michael Orlitzky
2024-02-18 22:49 Michael Orlitzky
2024-02-18 22:42 Sam James
2024-02-18 19:57 Arthur Zamarin
2024-02-18 19:57 Arthur Zamarin
2024-02-18 19:57 Arthur Zamarin
2023-09-09 23:44 Michael Orlitzky
2023-06-19 21:54 Michael Orlitzky
2023-06-10 11:43 Michael Orlitzky
2023-06-09 18:16 Arthur Zamarin
2023-06-09 17:54 Arthur Zamarin
2023-03-07 2:33 Michael Orlitzky
2023-03-07 2:33 Michael Orlitzky
2022-12-07 18:23 Michael Orlitzky
2022-11-06 11:53 Michael Orlitzky
2022-11-06 11:53 Michael Orlitzky
2022-08-30 1:05 Michael Orlitzky
2022-08-29 12:38 Jakov Smolić
2022-08-12 14:27 Sam James
2022-08-03 17:51 Arthur Zamarin
2022-08-03 16:12 Arthur Zamarin
2022-06-02 17:23 Michael Orlitzky
2022-03-28 12:11 Michael Orlitzky
2022-03-28 6:53 Agostino Sarubbo
2022-03-28 6:51 Agostino Sarubbo
2022-03-26 19:45 Sam James
2022-03-26 17:10 Arthur Zamarin
2022-03-20 18:43 Sam James
2022-01-25 14:13 Michael Orlitzky
2021-08-19 1:37 Michael Orlitzky
2021-08-19 1:25 Agostino Sarubbo
2021-08-18 12:58 Agostino Sarubbo
2021-08-17 5:37 Agostino Sarubbo
2021-08-17 5:37 Agostino Sarubbo
2021-08-17 5:36 Agostino Sarubbo
2021-02-24 0:36 Michael Orlitzky
2020-06-11 12:34 Michael Orlitzky
2020-06-11 8:34 Agostino Sarubbo
2020-06-11 8:31 Agostino Sarubbo
2020-06-11 8:29 Agostino Sarubbo
2020-06-11 8:25 Agostino Sarubbo
2020-06-10 13:01 Agostino Sarubbo
2020-05-10 11:26 Michael Orlitzky
2020-04-13 9:57 Agostino Sarubbo
2020-04-04 14:11 Michael Orlitzky
2020-04-04 13:27 Agostino Sarubbo
2020-04-03 16:14 Agostino Sarubbo
2020-04-03 16:14 Agostino Sarubbo
2020-04-03 16:13 Agostino Sarubbo
2020-01-17 17:02 Michael Orlitzky
2019-08-31 21:35 Michael Orlitzky
2019-08-31 21:35 Michael Orlitzky
2019-08-31 21:35 Michael Orlitzky
2019-08-31 21:35 Michael Orlitzky
2019-08-15 0:05 Michael Orlitzky
2019-08-15 0:05 Michael Orlitzky
2019-03-02 4:38 Michael Orlitzky
2019-01-19 21:07 Michael Orlitzky
2019-01-19 0:00 Michael Orlitzky
2018-12-02 16:02 Michael Orlitzky
2018-12-02 16:02 Michael Orlitzky
2018-10-12 12:47 Mikle Kolyada
2018-07-12 0:00 Mikle Kolyada
2018-06-23 11:40 Michael Orlitzky
2018-06-19 22:44 Michael Orlitzky
2018-06-19 11:46 Michael Orlitzky
2018-06-11 16:28 Aaron Bauman
2018-05-14 11:49 Tobias Klausmann
2018-05-08 18:43 Sergei Trofimovich
2018-04-24 23:41 Thomas Deutschmann
2018-04-23 3:16 Aaron Bauman
2017-10-13 22:59 Aaron Bauman
2017-10-13 9:50 Sergei Trofimovich
2017-10-03 0:42 Thomas Deutschmann
2017-09-24 19:50 Sergei Trofimovich
2017-09-24 11:00 Sergei Trofimovich
2017-09-07 20:59 Sergei Trofimovich
2017-08-31 15:18 Matt Turner
2017-08-30 14:12 Michael Orlitzky
2017-08-16 11:37 Michael Orlitzky
2017-08-08 23:09 Michael Orlitzky
2017-06-07 12:40 Michael Orlitzky
2017-03-08 12:50 Michael Orlitzky
2017-03-08 5:16 Jeroen Roovers
2017-03-04 14:02 Agostino Sarubbo
2017-03-02 10:47 Agostino Sarubbo
2017-03-02 10:30 Agostino Sarubbo
2017-02-28 11:22 Tobias Klausmann
2017-02-27 21:49 Michael Weber
2017-02-25 19:29 Michael Orlitzky
2017-01-14 21:05 Michael Orlitzky
2017-01-14 12:01 Jeroen Roovers
2017-01-05 20:47 Andreas Hüttel
2016-12-22 9:34 Agostino Sarubbo
2016-12-20 9:44 Agostino Sarubbo
2016-12-19 14:35 Agostino Sarubbo
2016-12-13 11:30 Agostino Sarubbo
2016-12-13 11:05 Agostino Sarubbo
2016-12-12 15:55 Tobias Klausmann
2016-12-11 17:11 Michael Orlitzky
2016-12-11 17:11 Michael Orlitzky
2016-12-06 11:53 Agostino Sarubbo
2016-12-06 11:50 Agostino Sarubbo
2016-12-05 15:49 Tobias Klausmann
2016-10-28 15:16 Michael Orlitzky
2016-10-28 15:16 Michael Orlitzky
2016-09-26 13:25 Michael Orlitzky
2016-05-23 8:42 Tobias Klausmann
2016-04-26 0:30 Michael Orlitzky
2016-03-15 11:30 Agostino Sarubbo
2015-08-31 14:13 Michael Orlitzky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1600613123.2af8886ca2faaabdc66c0e502319b3e94c4b98b2.mjo@gentoo \
--to=mjo@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox