diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-analyzer/check_mk | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-analyzer/check_mk')
-rw-r--r-- | net-analyzer/check_mk/Manifest | 1 | ||||
-rw-r--r-- | net-analyzer/check_mk/check_mk-1.2.4_p5.ebuild | 306 | ||||
-rw-r--r-- | net-analyzer/check_mk/files/check_mk-1.2.4p3-setup.sh.patch | 36 | ||||
-rw-r--r-- | net-analyzer/check_mk/metadata.xml | 33 |
4 files changed, 376 insertions, 0 deletions
diff --git a/net-analyzer/check_mk/Manifest b/net-analyzer/check_mk/Manifest new file mode 100644 index 000000000000..ba061f483c42 --- /dev/null +++ b/net-analyzer/check_mk/Manifest @@ -0,0 +1 @@ +DIST check_mk-1.2.4p5.tar.gz 6626768 SHA256 e71963542d9d79d98e69aadccb37d05552829acab14665207d6af10415179c21 SHA512 ca2c06288b91f44f017ebbc45bd6712ddcbebdc4e293598b793ae1ad19ad96814983a30bd66ee2f19940dc1d1439fba2ae2b171dcbe0e670ce1b7d0a8c18d890 WHIRLPOOL 7399706ac33246e46795c4c55737043782d8ca12b8e9d03bcd5b4f34f3335baf57d699b4f531e32e732bdb9cb3310a803e93cb5efd593f7986395b88af08939b diff --git a/net-analyzer/check_mk/check_mk-1.2.4_p5.ebuild b/net-analyzer/check_mk/check_mk-1.2.4_p5.ebuild new file mode 100644 index 000000000000..004203d256a0 --- /dev/null +++ b/net-analyzer/check_mk/check_mk-1.2.4_p5.ebuild @@ -0,0 +1,306 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +MY_P="${P/_p/p}" +MY_PV="${MY_P/check_mk-/}" +S="${WORKDIR}/${MY_P}" + +inherit eutils toolchain-funcs + +DESCRIPTION="General purpose Nagios/Icinga plugin for retrieving data" +HOMEPAGE="http://mathias-kettner.de/check_mk.html" +SRC_URI="http://mathias-kettner.de/download/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="agent-only apache_status dmi_sysinfo livestatus logwatch mysql +nfsexports oracle postgres smart wato xinetd zypper" +REQUIRED_USE="livestatus? ( !agent-only ) +wato? ( !agent-only )" + +RDEPEND="${DEPEND} + ( || ( dev-lang/python:2.6 dev-lang/python:2.7 ) ) + wato? ( app-admin/sudo ) + xinetd? ( sys-apps/xinetd ) + !agent-only? ( || ( net-analyzer/nagios-core net-analyzer/icinga ) ) + !agent-only? ( www-servers/apache www-apache/mod_python )" + +src_prepare() { + # modify setup.sh for gentoo + epatch "${FILESDIR}"/${PN}-1.2.4p3-setup.sh.patch +} + +src_configure() { + if has_version net-analyzer/nagios-core; then + export mydaemon=nagios + export nagpipe=/var/nagios/rw/nagios.cmd + export check_result_path=/var/nagios/spool/checkresults + export nagios_status_file=/var/nagios/status.dat + export rrd_path=/var/nagios/perfdata + else + export mydaemon=icinga + export nagpipe=/var/lib/icinga/rw/icinga.cmd + export check_result_path=/var/lib/icinga/spool/checkresults + export nagios_status_file=/var/lib/icinga/status.dat + export rrd_path=/var/lib/icinga/perfdata + fi + + export nagiosuser=${mydaemon} + export nagios_binary=/usr/sbin/${mydaemon} + export nagios_config_file=/etc/${mydaemon}/${mydaemon}.cfg + export nagconfdir=/etc/${mydaemon}/check_mk.d + export nagios_startscript=/etc/init.d/${mydaemon} + export htpasswd_file=/etc/${mydaemon}/htpasswd.users + export nagios_auth_name="${mydaemon} Access" + export docdir=/usr/share/doc/${PF} + export checkmandir=/usr/share/doc/${PF}/checks + export check_icmp_path=/usr/lib/nagios/plugins/check_icmp + export wwwuser=apache + export wwwgroup=apache + export apache_config_dir=/etc/apache2/modules.d/ + + if use livestatus; then + export enable_livestatus=yes + else + export enable_livestatus=no + fi + + export STRIPPROG=/bin/true +} + +src_compile() { + DESTDIR=${S} ./setup.sh --yes || die "Error while running setup.sh" + + # compile waitmax + cd "${S}"/usr/share/check_mk/agents || die "Couldn't cd to ${S}/usr/share/check_mk/agents" + if [[ -f waitmax ]]; then + rm waitmax || die "Couldn't delete precompiled waitmax file" + fi + sed -i -e 's#gcc -s -o waitmax waitmax\.c#gcc -o waitmax waitmax.c#' "${S}"/usr/share/check_mk/agents/Makefile || die "Couldn't modify remove strip from waitmax Makefile" + emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" || die "Couldn't compile waitmax" +} + +src_install() { + if ! use agent-only; then + # Apache configuration + insinto /etc/apache2/modules.d + doins etc/apache2/modules.d/zzz_check_mk.conf + + if use wato; then + # sudoers configuration + cat << EOF > "${T}"/check_mk || die +# Needed for WATO - the Check_MK Web Administration Tool +Defaults:apache !requiretty +apache ALL = (root) NOPASSWD: /usr/bin/check_mk --automation * +EOF + insinto /etc/sudoers.d + doins "${T}"/check_mk + fi + + # check_mk configuration + keepdir /etc/check_mk + insinto /etc/check_mk + doins etc/check_mk/main.mk + doins etc/check_mk/main.mk-${MY_PV} + doins etc/check_mk/multisite.mk + doins etc/check_mk/multisite.mk-${MY_PV} + keepdir /etc/check_mk/conf.d + insinto /etc/check_mk/conf.d + doins etc/check_mk/conf.d/README + keepdir /etc/check_mk/conf.d/wato + touch "${D}"/etc/check_mk/conf.d/distributed_wato.mk + keepdir /etc/check_mk/multisite.d + keepdir /etc/check_mk/multisite.d/wato + touch "${D}"/etc/check_mk/multisite.d/sites.mk + + insinto /etc/${mydaemon} + doins etc/${mydaemon}/auth.serials + + # Nagios / Icinga check_mk templates + insinto /etc/${mydaemon}/check_mk.d + doins etc/${mydaemon}/check_mk.d/check_mk_templates.cfg + + dobin usr/bin/check_mk + dobin usr/bin/mkp + insinto /usr/bin + doins usr/bin/cmk + + # remove compiled agent_modbus + if [[ -f ${S}/usr/share/doc/${PF}/treasures/modbus/agent_modbus ]]; then + rm "${S}"/usr/share/doc/${PF}/treasures/modbus/agent_modbus || die "Couldn't remove precompiled agent_modbus" + fi + + insinto /usr/share/check_mk + doins -r usr/share/check_mk/* + + keepdir /var/lib/check_mk/autochecks + keepdir /var/lib/check_mk/cache + keepdir /var/lib/check_mk/counters + keepdir /var/lib/check_mk/logwatch + keepdir /var/lib/check_mk/notify + keepdir /var/lib/check_mk/packages + insinto /var/lib/check_mk/packages + doins var/lib/check_mk/packages/check_mk + keepdir /var/lib/check_mk/precompiled + keepdir /var/lib/check_mk/snmpwalks + keepdir /var/lib/check_mk/tmp + keepdir /var/lib/check_mk/wato + keepdir /var/lib/check_mk/web + + # Update check_mk defaults + sed -i -e "s#^\(check_mk_automation\s*= 'sudo -u\) portage \(.*\)\$#\1 ${mydaemon} \2#" "${D}"/usr/share/check_mk/modules/defaults || die "Couldn't update check_mk defaults" + cp "${D}"/usr/share/check_mk/modules/defaults "${D}"/usr/share/check_mk/web/htdocs/defaults.py || die "Couldn't copy check_mk defaults" + + # Change permissions + fowners -R ${mydaemon}:apache /etc/${mydaemon}/auth.serials + fperms -R 0660 /etc/${mydaemon}/auth.serials + fowners -R ${mydaemon}:${mydaemon} /etc/${mydaemon}/check_mk.d + fperms -R 0775 /etc/${mydaemon}/check_mk.d + fowners -R root:apache /etc/check_mk/conf.d/wato + fperms -R 0775 /etc/check_mk/conf.d/wato + fowners root:apache /etc/check_mk/conf.d/distributed_wato.mk + fperms 0664 /etc/check_mk/conf.d/distributed_wato.mk + fowners -R root:apache /etc/check_mk/multisite.d/wato + fperms -R 0775 /etc/check_mk/multisite.d/wato + fowners root:apache /etc/check_mk/multisite.d/sites.mk + fperms 0664 /etc/check_mk/multisite.d/sites.mk + fowners root:${mydaemon} /var/lib/check_mk/cache + fperms 0775 /var/lib/check_mk/counters + fowners -R root:${mydaemon} /var/lib/check_mk/counters + fperms 0775 /var/lib/check_mk/notify + fowners -R root:${mydaemon} /var/lib/check_mk/notify + fperms 0775 /var/lib/check_mk/logwatch + fowners -R root:${mydaemon} /var/lib/check_mk/logwatch + fperms 0775 /var/lib/check_mk/cache + fowners -R root:${mydaemon} /var/lib/check_mk/cache + fperms -R 0775 /var/lib/check_mk/tmp + fowners -R root:apache /var/lib/check_mk/tmp + fperms -R 0775 /var/lib/check_mk/web + fowners -R root:apache /var/lib/check_mk/web + fperms -R 0775 /var/lib/check_mk/wato + fowners -R root:apache /var/lib/check_mk/wato + fi + + # Install agent related files + newbin usr/share/check_mk/agents/check_mk_agent.linux check_mk_agent + dobin usr/share/check_mk/agents/waitmax + + if use xinetd; then + insinto /etc/xinetd.d + newins usr/share/check_mk/agents/xinetd.conf check_mk + fi + + keepdir /usr/lib/check_mk_agent/local + keepdir /usr/lib/check_mk_agent/plugins + + # Install Livestatus + if use livestatus; then + cat << EOF > "${T}"/livestatus.cfg || die +define module{ + module_name mk-livestatus + module_type neb + path /usr/lib/check_mk/livestatus.o + args /var/lib/${mydaemon}/rw/live + } +EOF + + insinto /etc/${mydaemon}/modules + doins "${T}"/livestatus.cfg + fowners ${mydaemon}:${mydaemon} /etc/${mydaemon}/modules/livestatus.cfg + + insinto /usr/lib/check_mk + doins usr/lib/check_mk/livestatus.o + + dobin usr/bin/unixcat + + keepdir /usr/share/check_mk/livestatus + fi + + # Documentation + if ! use agent-only; then + dodoc -r usr/share/doc/${PF}/* + docompress -x /usr/share/doc/${PF}/checks/ + else + dodoc usr/share/doc/${PF}/AUTHORS usr/share/doc/${PF}/COPYING usr/share/doc/${PF}/ChangeLog + docompress + fi + + # Install the check_mk_agent logwatch plugin + if use logwatch; then + insinto /etc/check_mk + doins usr/share/check_mk/agents/logwatch.cfg + exeinto /usr/lib/check_mk_agent/plugins + doexe usr/share/check_mk/agents/plugins/mk_logwatch + fi + + # Install the check_mk_agent smart plugin + if use smart; then + exeinto /usr/lib/check_mk_agent/plugins + doexe usr/share/check_mk/agents/plugins/smart + fi + + # Install the check_mk_agent mysql plugin + if use mysql; then + exeinto /usr/lib/check_mk_agent/plugins + doexe usr/share/check_mk/agents/plugins/mk_mysql + fi + + # Install the check_mk_agent postgres plugin + if use postgres; then + exeinto /usr/lib/check_mk_agent/plugins + doexe usr/share/check_mk/agents/plugins/mk_postgres + fi + + # Install the check_mk_agent apache_status plugin + if use apache_status; then + exeinto /usr/lib/check_mk_agent/plugins + doexe usr/share/check_mk/agents/plugins/apache_status + fi + + # Install the check_mk_agent zypper plugin + if use zypper; then + exeinto /usr/lib/check_mk_agent/plugins + doexe usr/share/check_mk/agents/plugins/mk_zypper + fi + + # Install the check_mk_agent oracle plugin + if use oracle; then + exeinto /usr/lib/check_mk_agent/plugins + doexe usr/share/check_mk/agents/plugins/mk_oracle + fi + + # Install the check_mk_agent nfsexports plugin + if use nfsexports; then + exeinto /usr/lib/check_mk_agent/plugins + doexe usr/share/check_mk/agents/plugins/nfsexports + fi + + # Install the check_mk_agent dmi_sysinfo plugin + if use dmi_sysinfo; then + exeinto /usr/lib/check_mk_agent/plugins + doexe usr/share/check_mk/agents/plugins/dmi_sysinfo + fi +} + +pkg_postinst() { + if ! use agent-only; then + elog "IMPORTANT: Please add the following line to your" + elog "/etc/${mydaemon}/${mydaemon}.cfg, so that" + elog "${mydaemon} can load your check_mk configuration." + elog + elog " cfg_dir=/etc/${mydaemon}/check_mk.d" + elog + fi + if use wato; then + elog "INFO: Your webserver needs write access to" + elog "/etc/${mydaemon}/htpasswd.users!" + elog "otherwise wato will not function correctly!" + elog + elog "chown ${mydaemon}: /etc/${mydaemon}/htpasswd.users" + elog "chmod 660 /etc/${mydaemon}/htpasswd.users" + elog + fi +} diff --git a/net-analyzer/check_mk/files/check_mk-1.2.4p3-setup.sh.patch b/net-analyzer/check_mk/files/check_mk-1.2.4p3-setup.sh.patch new file mode 100644 index 000000000000..e9a5080e4cf5 --- /dev/null +++ b/net-analyzer/check_mk/files/check_mk-1.2.4p3-setup.sh.patch @@ -0,0 +1,36 @@ +--- check_mk-1.2.4p3.orig/setup.sh 2014-06-21 11:15:58.090225173 +0200 ++++ check_mk-1.2.4p3/setup.sh 2014-06-22 09:57:51.658670398 +0200 +@@ -572,6 +572,11 @@ + CONFIGURE_OPTS="--with-nagios4" + fi + fi ++ # disable stripping to get meaningful backtraces ++ sed -i -e 's/^INSTALL_STRIP_PROGRAM="\\\$(install_sh) -c -s"$/INSTALL_STRIP_PROGRAM="\\\$(install_sh) -c"/' configure ++ sed -i -e 's/install_sh_PROGRAM="\$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \\$/install_sh_PROGRAM="\$(INSTALL_STRIP_PROGRAM)" \\/' Makefile.in ++ sed -i -e 's/install_sh_PROGRAM="\$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \\$/install_sh_PROGRAM="\$(INSTALL_STRIP_PROGRAM)" \\/' src/Makefile.in ++ sed -i -e 's/\$(CXX) \$(LDFLAGS) -s -fPIC -shared \$(livestatus_so_OBJECTS) -o \$@ -lpthread -lstdc++/\$(CXX) \$(LDFLAGS) -fPIC -shared \$(livestatus_so_OBJECTS) -o \$@ -lpthread -lstdc++/' src/Makefile.in + ./configure --libdir=$libdir --bindir=$bindir $CONFIGURE_OPTS && + make clean && + cat <<EOF > src/livestatus.h && +@@ -581,7 +586,8 @@ + #endif // livestatus_h + EOF + make -j 8 2>&1 && +- strip src/livestatus.o && ++ # disable stripping to get meaningful backtraces ++ #strip src/livestatus.o && + mkdir -p $DESTDIR$libdir && + install -m 755 src/livestatus.o $DESTDIR$libdir && + mkdir -p $DESTDIR$bindir && +@@ -1018,8 +1024,9 @@ + # WATO. Also create an empty and Apache-writable auth.serials + serials_file=$DESTDIR${htpasswd_file%/*}/auth.serials && + touch "$serials_file" && +- (chown $wwwuser "$serials_file" || true) && +- (chown $wwwuser "$htpasswd_file" || true) && ++ # Permissions will be set within src_install ++ #(chown $wwwuser "$serials_file" || true) && ++ #(chown $wwwuser "$htpasswd_file" || true) && + create_sudo_configuration && + if [ "$enable_mkeventd" = yes ] + then diff --git a/net-analyzer/check_mk/metadata.xml b/net-analyzer/check_mk/metadata.xml new file mode 100644 index 000000000000..459b3c542463 --- /dev/null +++ b/net-analyzer/check_mk/metadata.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>proxy-maintainers</herd> + <maintainer> + <email>morlix@morlix.de</email> + <name>Timo Eissler</name> + <description>maintainer, assign bugs</description> + </maintainer> + <longdescription lang="en"> + General purpose Nagios/Icinga plugin for retrieving data. + Check_MK is a collection of extensions for the IT-Monitoring-Kernel of Nagios/Icinga + and together with this, and ideally also with PNP4Nagios and NagVis constitutes + a complete IT-Monitoring-System. + </longdescription> + <use> + <flag name="agent-only">Install only the check_mk agent.</flag> + <flag name="logwatch">Install check_mk-agent logwatch plugin.</flag> + <flag name="smart">Install check_mk-agent S.M.A.R.T plugin.</flag> + <flag name="mysql">Install check_mk-agent mysql plugin.</flag> + <flag name="postgres">Install check_mk-agent postgres plugin.</flag> + <flag name="apache_status">Install check_mk-agent apache-status plugin.</flag> + <flag name="nfsexports">Install check_mk-agent nfsexports plugin.</flag> + <flag name="dmi_sysinfo">Install check_mk-agent dmi_sysinfo plugin.</flag> + <flag name="zypper">Install check_mk-agent zypper plugin.</flag> + <flag name="livestatus">Enable livestatus.</flag> + <flag name="wato">Enable check_mk WATO - check_mk's Web Administration Tool.</flag> + </use> + <upstream> + <changelog>http://mathias-kettner.com/check_mk_download.html</changelog> + <doc>http://mathias-kettner.com/checkmk.html</doc> + </upstream> +</pkgmetadata> |