moved /var/icinga to /var/lib/icinga
authorMatt Thode <prometheanfire@gentoo.org>
Fri, 2 Dec 2011 22:09:06 +0000 (22:09 +0000)
committerMatt Thode <prometheanfire@gentoo.org>
Fri, 2 Dec 2011 22:09:06 +0000 (22:09 +0000)
init updated to remove redundant config check (done by default now)
add icinga to nagios group all the time
moved loging around
removed api use flag

Package-Manager: portage-2.1.10.11/cvs/Linux x86_64

net-analyzer/icinga/ChangeLog
net-analyzer/icinga/Manifest
net-analyzer/icinga/files/icinga-apache.conf
net-analyzer/icinga/files/icinga-init.d-2
net-analyzer/icinga/icinga-1.6.1.ebuild [new file with mode: 0644]

index 11fd3585d475bb68cd27dd2c845b3b0831d2fb56..2d0b193fcf7e41a36aff6a9f5080fb3167982143 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for net-analyzer/icinga
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/icinga/ChangeLog,v 1.5 2011/11/22 19:53:37 prometheanfire Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/icinga/ChangeLog,v 1.6 2011/12/02 22:09:06 prometheanfire Exp $
+
+*icinga-1.6.1 (02 Dec 2011)
+
+  02 Dec 2011; mthode <mthode@gentoo.org> +icinga-1.6.1.ebuild,
+  files/icinga-init.d-2, files/icinga-apache.conf:
+  moved /var/icinga to /var/lib/icinga; init updated to remove redundant config
+  check (done by default now); add icinga to nagios group all the time; moved
+  loging around; removed api use flag
 
   22 Nov 2011; mthode <mthode@gentoo.org> -icinga-1.5.1-r2.ebuild:
   removed icinga-1.5.1-r2.ebuild for init.d error (fix is in r3)
index 335a0abe9a6e4becdffab99606fc1934050dfb64..25569a522f4cdb93e0b8fd6943ff9630296ce05b 100644 (file)
@@ -1,14 +1,16 @@
 AUX fix-prestripped-binaries.patch 775 RMD160 45828e00c34df96bd808d211e26ccecbb7ef7923 SHA1 3664f9443b5f261d45a3420809f6d688b1a5df03 SHA256 0e436d2db97e5f0c1985e2ab3c7e8518196468b99e43ac4e7c2a73f1fcb08957
-AUX icinga-apache.conf 377 RMD160 bd009d51035802deb5efd3aaf0b726ca7ef34e2e SHA1 7ba572b8ed52695a8278cc5d57df3fd8cf59dca8 SHA256 e2a17742d8a74f31fd038cbf33533ccdeaed8604cfa026d0fdbb24d3a46e30f9
+AUX icinga-apache.conf 591 RMD160 e2286c2a17869c1dc7e5229ad46ae20e8f9d65a1 SHA1 a52d44d21ea28488838de50a2151b29a341203dd SHA256 a5e7b64baa21f04d5ce6540571260f5de45382e3af93dca99ae8f57b5fb299df
 AUX icinga-conf.d 178 RMD160 3e8a497619b16ce9e33a8d6ff824b5e5cc8f9c63 SHA1 7824227018db79beb7984cdedda7345fe54f70aa SHA256 68dde656424fc57e66babceb3c6623a235fac8bf1f9cd885138e31878db740db
 AUX icinga-init.d 1207 RMD160 fe0f17d9247da24208281077b6cb46089dc9f22f SHA1 58c8fc60da8f4fb5a7d29a8be83948e11a8719e4 SHA256 d9014a1ce527282e5a404e602b3f08e0a4b842e02bd2fcdd8fffb8e67922557d
-AUX icinga-init.d-2 1265 RMD160 253927cf7a49ab64a8be17973b000419a937b1a8 SHA1 b12975884c4c65523d10546fab1c3e13c6395334 SHA256 fb0b1ba20ab69f9fd17f06734f3bf0e6bb3b3f0ac0f8fa699d5514eb48d1a63c
+AUX icinga-init.d-2 972 RMD160 4ca4966313542b7daf8e5e234fe09ee39055f275 SHA1 3c4073287261f1b7db5d8d658544e6b49c5f938a SHA256 affec920a70a5209c9c5f2208847844e409df11041cd8a2fd67d833ae14ececa
 AUX icinga-lighty.conf 465 RMD160 34de76ad07f95e2282ae3e192b35cd9310ef2b4e SHA1 0d74cc2936327121f07b61fb1a348ce66035bfbb SHA256 f4059bc54959fb2544f23c2fc6a86f0ab2467025ce1f468317a0079b55116b44
 AUX ido2db-conf.d 35 RMD160 a2bb1738720a56285da529fb18eeb60739ac817b SHA1 57ba29aec3f80db9577da4aca34d228487dd12c1 SHA256 6cbdf0eb7070121bd466c221d73cf6ca05a4af5caa1d4abedf62828edd1b1372
 AUX ido2db-init.d 924 RMD160 b4756574f38fed0fc85ecfae1bf353a4811fa4e2 SHA1 f7bf09a34fe55dd49c3381ca11781a643e4d1ca0 SHA256 88913ba8d8d2824e52ea26d93bdb7587d6ab53020546a6a98c9e9d337cc17985
 DIST icinga-1.5.1.tar.gz 16518659 RMD160 972d1e4dd49fdddf32970868bd16964c7e3cd87d SHA1 61bd47535e9f49e63e0ee1ef2bb56d62e6893418 SHA256 b2cc23ab8b96e9409ce3e7ed4a0e1aabea7f9b4e9d521f5ed23a99ea1c9ec37b
+DIST icinga-1.6.1.tar.gz 12880538 RMD160 f755d1499c9794fb9a60e0e35dbc091758e72dc1 SHA1 b14cc8be0a8b49ccd41018223d34600db7bc4f3d SHA256 80b980272dd45bcd14b79d98b1125d6aa4184c20644863f71d9f3e00fbced89b
 EBUILD icinga-1.5.1-r1.ebuild 5994 RMD160 a27d0ed3cf235cc84cdb0c884f20830dc43b1b18 SHA1 b1379003bf2f34fcbdb33b0d562b95eb2eb8caf0 SHA256 a9aaf217834524febbbe9da0cc1ece0c0cedfa84925262706d1266499a125728
 EBUILD icinga-1.5.1-r3.ebuild 6539 RMD160 08c91733660dd9b6caedf430a5d6ce9013381d6c SHA1 aabc3626decf788d5443e59cb24d673ea421e43e SHA256 fe983cd551e3740bc1bbde70cfd8e5ce1c91d2a9f5f35adf74f7462843b8359b
 EBUILD icinga-1.5.1.ebuild 6053 RMD160 00f41bc1823d46953883492ce5e2f61e94d2590b SHA1 e8db2ce79b8bd348317e6e5598d07c2ec80ca70b SHA256 37cd668192f7751abe056a66ac8fc13052fbcf61b6d4b7a1d1f24cdd80299702
-MISC ChangeLog 1263 RMD160 3546d154e79d77a55f86468785af3562d7f52f2c SHA1 84c907dcd8297548ef9a924a2bae377b084d7957 SHA256 679b1c3fd518fd376c9c8f838a44f7c67d18a144911e56fc8f3cb3527e80e9c5
+EBUILD icinga-1.6.1.ebuild 6963 RMD160 a18fc79282f187a14f7eb40caee44bbf7f02c601 SHA1 a9c071619cfb8e7990aa203881ccd4d3fb0d4f5e SHA256 35437f349927e334cab3a824072dd93edbf6721ebd48091d4c38c613e92d93d3
+MISC ChangeLog 1604 RMD160 cc5442f6218bc3f7383b38817e158a37f7208799 SHA1 5626cdf8b818869bce9d8198fb08831d2281421b SHA256 5184b216d7dd44ae47f7a47cfbd07c34a6ed5cd992318ffafca442fbcf19fa71
 MISC metadata.xml 614 RMD160 bd86f9fb8e1911deaedaf6e7983e9de3a9e749d4 SHA1 b0ab4641480b5342c67a00edb4bc0bdc1745ca81 SHA256 3814e6b4e6f2d2b42cd82f090136270e834057a170435670c156435e9188ec2d
index e1a0199fed1870d96f225c817d2a155c5cbdd416..50fb220095757f50222ec96ef038f98131c3343b 100644 (file)
@@ -5,11 +5,19 @@
                Options ExecCGI
                Order allow,deny
                Allow from all
+               AuthName "Icinga Access"
+               AuthType Basic
+               AuthUserFile /etc/icinga/htpasswd.users
+               Require valid-user
        </Directory>
        Alias /icinga /usr/share/icinga/htdocs
        <Directory "/usr/share/icinga/htdocs">
                AllowOverride AuthConfig
                Order allow,deny
                Allow from all
+               AuthName "Icinga Access"
+               AuthType Basic
+               AuthUserFile /etc/icinga/htpasswd.users
+               Require valid-user
        </Directory>
 </IfDefine>
index e7931d165d79b385f2e67ed2381151032a95735b..062a33aadb7dd5bd2376703af9bad5e9dc540295 100755 (executable)
@@ -16,16 +16,7 @@ reload()
        eend $?
 }
 
-checkconfig() {
-       # Silent Check
-       /usr/sbin/icinga -v /etc/icinga/icinga.cfg &>/dev/null && return 0
-       # Now we know there's problem - run again and display errors
-       /usr/sbin/icinga -v /etc/icinga/icinga.cfg
-       eend $? "Configuration Error. Please fix your configfile"
-}
-
 start() {
-       checkconfig || return 1
        ebegin "Starting icinga"
        checkpath -d -o icinga:icinga /tmp/icinga /var/run/icinga /var/log/icinga /var/lib/icinga
        checkpath -f -o icinga:icinga /var/log/icinga/icinga.log
diff --git a/net-analyzer/icinga/icinga-1.6.1.ebuild b/net-analyzer/icinga/icinga-1.6.1.ebuild
new file mode 100644 (file)
index 0000000..88a675b
--- /dev/null
@@ -0,0 +1,231 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/icinga/icinga-1.6.1.ebuild,v 1.1 2011/12/02 22:09:06 prometheanfire Exp $
+
+EAPI=2
+
+inherit depend.apache eutils multilib toolchain-funcs
+
+DESCRIPTION="Nagios Fork - Check daemon, CGIs, docs, IDOutils"
+HOMEPAGE="http://www.icinga.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+apache2 debug +idoutils lighttpd +mysql perl plugins postgres ssl +vim-syntax +web"
+DEPEND="idoutils? ( dev-db/libdbi-drivers[mysql?,postgres?] )
+       perl? ( dev-lang/perl )
+       virtual/mailx
+       web? (
+               media-libs/gd[jpeg,png]
+               lighttpd? ( www-servers/lighttpd dev-lang/php[cgi] )
+               apache2? ( || ( dev-lang/php[apache2] dev-lang/php[cgi] ) )
+       )
+       !net-analyzer/nagios-core"
+RDEPEND="${DEPEND}
+       plugins? ( net-analyzer/nagios-plugins )"
+
+want_apache2
+
+pkg_setup() {
+       depend.apache_pkg_setup
+       enewgroup icinga
+       enewgroup nagios
+       enewuser icinga -1 -1 /var/spool/icinga "icinga,nagios"
+}
+
+src_prepare() {
+       epatch "${FILESDIR}/fix-prestripped-binaries.patch"
+}
+
+src_configure() {
+       local myconf
+
+       myconf="$(use_enable perl embedded-perl)
+       $(use_with perl perlcache)
+       $(use_enable idoutils)
+       $(use_enable ssl)
+       $(use_enable debug DEBUG0)
+       $(use_enable debug DEBUG1)
+       $(use_enable debug DEBUG2)
+       $(use_enable debug DEBUG3)
+       $(use_enable debug DEBUG4)
+       $(use_enable debug DEBUG5)
+       --disable-statuswrl
+       --with-cgiurl=/icinga/cgi-bin
+       --with-log-dir=/var/log/icinga
+       --bindir=/usr/sbin
+       --sbindir=/usr/$(get_libdir)/icinga/cgi-bin
+       --datarootdir=/usr/share/icinga/htdocs
+       --localstatedir=/var/lib/icinga
+       --sysconfdir=/etc/icinga
+       --with-lockfile=/var/run/icinga/icinga.lock
+       --with-temp-dir=/tmp/icinga"
+
+       if use plugins ; then
+               myconf+=" --libexecdir=/usr/$(get_libdir)/nagios/plugins"
+       else
+               myconf+=" --libexecdir=/usr/$(get_libdir)/icinga/plugins"
+       fi
+
+       if use !apache2 && use !lighttpd ; then
+               myconf+=" --with-command-group=icinga"
+       else
+               if use apache2 ; then
+                       myconf+=" --with-httpd-conf=/etc/apache2/conf.d"
+                       myconf+=" --with-command-group=apache"
+               elif use lighttpd ; then
+                       myconf+=" --with-command-group=lighttpd"
+               fi
+       fi
+
+       econf ${myconf}
+}
+
+src_compile() {
+       tc-export CC
+
+       emake icinga || die "make failed"
+
+       if use web ; then
+               emake DESTDIR="${D}" cgis || die
+       fi
+
+       if use idoutils ; then
+               emake DESTDIR="${D}" idoutils || die
+       fi
+}
+
+src_install() {
+       dodoc Changelog README UPGRADING || die
+
+       if ! use web ; then
+               sed -i -e '/cd $(SRC_\(CGI\|HTM\))/d' Makefile || die
+       fi
+
+       emake DESTDIR="${D}" install{,-config,-commandmode} || die
+
+       sed -i -e 's/var\/lib\/icinga\/icinga.tmp/tmp\/icinga\/icinga.tmp/g' "${D}"/etc/icinga/icinga.cfg || die
+
+       if use idoutils ; then
+                emake DESTDIR="${D}" install-idoutils || die
+       fi
+
+       newinitd "${FILESDIR}"/icinga-init.d-2 icinga || die
+       newconfd "${FILESDIR}"/icinga-conf.d icinga || die
+       if use idoutils ; then
+               newinitd "${FILESDIR}"/ido2db-init.d ido2db || die
+               newconfd "${FILESDIR}"/ido2db-conf.d ido2db || die
+               insinto /usr/share/icinga/contrib/db
+               doins -r module/idoutils/db/* || die
+       fi
+       # Apache Module
+       if use web ; then
+               if use apache2 ; then
+                       insinto "${APACHE_MODULES_CONFDIR}"
+                       newins "${FILESDIR}"/icinga-apache.conf 99_icinga.conf || die
+               elif use lighttpd ; then
+                       insinto /etc/lighttpd
+                       newins "${FILESDIR}"/icinga-lighty.conf lighttpd_icinga.conf || die
+               else
+                       ewarn "${CATEGORY}/${PF} only supports Apache-2.x or Lighttpd webserver"
+                       ewarn "out-of-the-box. Since you are not using one of them, you"
+                       ewarn "have to configure your webserver accordingly yourself."
+               fi
+       fi
+
+       fowners -R root:root /usr/$(get_libdir)/icinga || die
+       cd "${D}" || die
+       find usr/$(get_libdir)/icinga -type d -exec fperms 755 {} +
+       find usr/$(get_libdir)/icinga/cgi-bin -type f -exec fperms 755 {} +
+       dodir /var/run/icinga || die
+       fowners icinga:icinga /var/run/icinga || die
+
+       keepdir /etc/icinga
+       keepdir /var/lib/icinga
+       keepdir /var/lib/icinga/archives
+       keepdir /var/lib/icinga/rw
+       keepdir /var/lib/icinga/spool/checkresults
+
+       if use apache2 ; then
+               webserver=apache
+       elif use lighttpd ; then
+               webserver=lighttpd
+       else
+               webserver=icinga
+       fi
+
+       fowners icinga:icinga /var/lib/icinga || die "Failed chown of /var/lib/icinga"
+       fowners -R icinga:${webserver} /var/lib/icinga/rw || die "Failed chown of /var/lib/icinga/rw"
+
+       fperms 6755 /var/lib/icinga/rw || die "Failed Chmod of ${D}/var/lib/icinga/rw"
+       fperms 0750 /etc/icinga || die "Failed chmod of ${D}/etc/icinga"
+}
+
+pkg_postinst() {
+       if use web ; then
+               elog "This does not include cgis that are perl-dependent"
+               elog "Currently traceroute.cgi is perl-dependent"
+               elog "Note that the user your webserver is running as needs"
+               elog "read-access to /etc/icinga."
+               elog
+               if use apache2 || use lighttpd ; then
+                       elog "There are several possible solutions to accomplish this,"
+                       elog "choose the one you are most comfortable with:"
+                       elog
+                       if use apache2 ; then
+                               elog "  usermod -G icinga apache"
+                               elog "or"
+                               elog "  chown icinga:apache /etc/icinga"
+                               elog
+                               elog "Also edit /etc/conf.d/apache2 and add a line like"
+                               elog "APACHE2_OPTS=\"\$APACHE2_OPTS -D ICINGA\""
+                               elog
+                               elog "Icinga web service needs user authentication. If you"
+                               elog "use the base configuration, you need a password file"
+                               elog "with a password for user \"icingaadmin\""
+                               elog "You can create this file by executing:"
+                               elog "htpasswd -c /etc/icinga/htpasswd.users icingaadmin"
+                       elif use lighttpd ; then
+                               elog "  usermod -G icinga lighttpd "
+                               elog "or"
+                               elog "  chown icinga:lighttpd /etc/icinga"
+                               elog "Also edit /etc/lighttpd/lighttpd.conf and add 'include \"lighttpd_icinga.conf\"'"
+                       fi
+                       elog
+                       elog "That will make icinga's web front end visable via"
+                       elog "http://localhost/icinga/"
+                       elog
+               else
+                       elog "IMPORTANT: Do not forget to add the user your webserver"
+                       elog "is running as to the icinga group!"
+               fi
+       else
+               ewarn "Please note that you have installed Icinga without web interface."
+               ewarn "Please don't file any bugs about having no web interface when you do this."
+               ewarn "Thank you!"
+       fi
+       elog
+       elog "If you want icinga to start at boot time"
+       elog "remember to execute:"
+       elog "  rc-update add icinga default"
+       elog
+       elog "If your kernel has /proc protection, icinga"
+       elog "will not be happy as it relies on accessing the proc"
+       elog "filesystem. You can fix this by adding icinga into"
+       elog "the group wheel, but this is not recomended."
+       elog
+       if [ -d "${ROOT}"/var/icinga ] ; then
+               ewarn
+               ewarn "/var/icinga was moved to /var/lib/icinga"
+               ewarn "please move the files if this was an upgrade"
+               if use idoutils ; then
+                       ewarn "and edit /etc/ido2db.cfg to change the location of the files"
+                       ewarn "it accesses"
+               fi
+               ewarn
+               ewarn "The \"mv /var/icinga /var/lib/\" command works well to move the files"
+               ewarn "remove /var/icinga afterwards to make this warning disappear"
+       fi
+}