summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-analyzer/check_mk
downloadgentoo-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/Manifest1
-rw-r--r--net-analyzer/check_mk/check_mk-1.2.4_p5.ebuild306
-rw-r--r--net-analyzer/check_mk/files/check_mk-1.2.4p3-setup.sh.patch36
-rw-r--r--net-analyzer/check_mk/metadata.xml33
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>