@@ -, +, @@ - port some patches for 3.1.2; - embedded Perl patch was committed upstream, but the committed patch lacks the checks for strdup() return values -- they were added; - since Nagios now wants PHP, the dependency was added, note was placed in the pkg-message and automated installation of config.inc.php was replaced with installation of config.inc.php.dist to disable overwrites of modified file contents. - packaging list was synced to the current Nagios contents. --- net-mgmt/nagios/Makefile | 10 ++- net-mgmt/nagios/distinfo | 6 +- net-mgmt/nagios/files/patch-base-utils.c | 51 ++++--------- net-mgmt/nagios/files/patch-configure.in | 12 --- net-mgmt/nagios/files/patch-html-Makefile.in | 75 +++++++++++++------- .../nagios/files/patch-html-docs-configcgi.html | 22 +++--- net-mgmt/nagios/files/pkg-message.in | 14 ++++ net-mgmt/nagios/pkg-plist | 13 +++- 8 files changed, 108 insertions(+), 95 deletions(-) --- b/net-mgmt/nagios/Makefile +++ b/net-mgmt/nagios/Makefile @@ -6,8 +6,7 @@ # PORTNAME= nagios -PORTVERSION= 3.0.6 -PORTREVISION= 1 +PORTVERSION= 3.1.2 CATEGORIES= net-mgmt MASTER_SITES= SF @@ -21,6 +20,7 @@ USE_ICONV= yes USE_PERL5_BUILD= yes USE_AUTOTOOLS= autoconf:262 libltdl:15 USE_RC_SUBR= nagios +USE_PHP= yes CONFLICTS= nagios-[12].* nagios-devel-* @@ -55,7 +55,8 @@ CONFIGURE_ARGS= --with-command-user=${NAGIOSUSER} \ --with-cgiurl=${NAGIOSCGIURL} \ --sbindir=${PREFIX}/${NAGIOSWWWDIR}/cgi-bin \ --libexecdir=${PREFIX}/libexec/nagios \ - --datadir=${PREFIX}/${NAGIOSWWWDIR} \ + --datarootdir=${PREFIX}/${NAGIOSWWWDIR} \ + --docdir=${PREFIX}/${NAGIOSWWWDIR} \ --sysconfdir=${PREFIX}/etc/nagios \ --localstatedir=${NAGIOSDIR} \ --with-httpd-conf=${PREFIX}/etc \ @@ -79,7 +80,8 @@ PLIST_SUB= NAGIOSDIR=${NAGIOSDIR} \ NAGIOSGID=${NAGIOSGID} \ NAGIOSHTMURL=${NAGIOSHTMURL} \ NAGIOSCGIURL=${NAGIOSCGIURL} \ - WWWGRP=${WWWGRP} + WWWGRP=${WWWGRP} \ + CONFIG_INC=${PREFIX}/${NAGIOSWWWDIR}/config.inc.php SUB_FILES= pkg-install \ pkg-deinstall \ --- b/net-mgmt/nagios/distinfo +++ b/net-mgmt/nagios/distinfo @@ -1,3 +1,3 @@ -MD5 (nagios-3.0.6.tar.gz) = 900e3f4164f4b2a18485420eeaefe812 -SHA256 (nagios-3.0.6.tar.gz) = bedeb2c1ffbf7525ec19ac84a66bad60a19d2b0544cbf050a53bfc363c09bb22 -SIZE (nagios-3.0.6.tar.gz) = 2735504 +MD5 (nagios-3.1.2.tar.gz) = f3c60428cba14264c709749182b8d93e +SHA256 (nagios-3.1.2.tar.gz) = 216800ea2ad1f8b1adccc2dccfa6bbdf63223ffe5109d18bea71ffb9a126b846 +SIZE (nagios-3.1.2.tar.gz) = 3172982 --- b/net-mgmt/nagios/files/patch-base-utils.c +++ b/net-mgmt/nagios/files/patch-base-utils.c @@ -1,38 +1,19 @@ ---- base/utils.c.orig 2008-12-01 03:52:58.000000000 +1030 -+++ base/utils.c 2009-05-03 11:51:19.000000000 +0930 -@@ -3597,7 +3597,7 @@ - /* initializes embedded perl interpreter */ - int init_embedded_perl(char **env){ - #ifdef EMBEDDEDPERL -- char *embedding[]={ "", "" }; -+ char **embedding = NULL; - int exitstatus=0; - char *temp_buffer=NULL; - int argc=2; -@@ -3613,6 +3613,17 @@ - - else{ - -+ embedding = malloc(argc * sizeof(char *)); -+ if (embedding == NULL) { -+ use_embedded_perl = FALSE; -+ logit(NSLOG_RUNTIME_ERROR, TRUE, "Error: Unable to allocate memory for embedded Perl interpreter! (see ports/131993)\n"); -+ } else { -+ embedding[0] = malloc(sizeof(char)); -+ if (embedding[0] == NULL) { -+ use_embedded_perl = FALSE; -+ logit(NSLOG_RUNTIME_ERROR, TRUE, "Error: Unable to allocate memory for embedded Perl interpreter! (see ports/131993)\n"); -+ } else { -+ *embedding[0] = '\0'; - embedding[1]=p1_file; +--- base/utils.c.orig 2009-07-05 10:04:01.000000000 +0400 ++++ base/utils.c 2009-07-05 10:05:36.000000000 +0400 +@@ -3691,7 +3691,16 @@ + if(embedding==NULL) + return ERROR; + *embedding=strdup(""); ++ if(*embedding==NULL){ ++ free(embedding); ++ return ERROR; ++ } + *(embedding+1)=strdup(p1_file); ++ if(*(embedding+1)==NULL){ ++ free(*embedding); ++ free(embedding); ++ return ERROR; ++ } use_embedded_perl=TRUE; -@@ -3624,6 +3635,8 @@ - logit(NSLOG_RUNTIME_ERROR,TRUE,"Error: Could not allocate memory for embedded Perl interpreter!\n"); - } - } -+ } -+ } - /* a fatal error occurred... */ - if(use_embedded_perl==FALSE){ --- b/net-mgmt/nagios/files/patch-configure.in +++ b/net-mgmt/nagios/files/patch-configure.in @@ -41,18 +41,6 @@ AC_SUBST(INSTALL_OPTS) AC_ARG_WITH(command_user,--with-command-user= sets user name for command access,command_user=$withval,command_user=$nagios_user) -@@ -520,9 +528,9 @@ - fi - - dnl Try and locate glib --GLIB_INCLUDE=`pkg-config --cflags glib-2.0` -+GLIB_INCLUDE="" - AC_SUBST(GLIB_INCLUDE) --GLIB_LIBS=`pkg-config --libs glib-2.0` -+GLIB_LIBS="" - AC_SUBST(GLIB_LIBS) - if test x$GLIB_LIBS != x; then - AC_DEFINE_UNQUOTED(HAVE_GLIB) @@ -667,6 +675,9 @@ AC_DEFINE_UNQUOTED(EMBEDDEDPERL) --- b/net-mgmt/nagios/files/patch-html-Makefile.in +++ b/net-mgmt/nagios/files/patch-html-Makefile.in @@ -1,6 +1,16 @@ ---- html/Makefile.in.orig 2008-11-03 04:02:03.000000000 +1030 -+++ html/Makefile.in 2008-11-05 15:11:08.000000000 +1030 -@@ -33,39 +33,39 @@ +--- html/Makefile.in.orig 2009-06-17 07:57:21.000000000 +0400 ++++ html/Makefile.in 2009-07-05 14:18:47.000000000 +0400 +@@ -15,6 +15,9 @@ + + CP=@CP@ + ++DIRMODE=755 ++FILEMODE=644 ++ + all html: + + clean: +@@ -33,46 +36,49 @@ devclean: distclean install: @@ -12,53 +22,66 @@ - $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/docs/images - $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/images - $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/images/logos +- $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/includes - $(INSTALL) -m 775 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/ssi - $(INSTALL) -m 664 $(INSTALL_OPTS) robots.txt $(DESTDIR)$(HTMLDIR) - $(INSTALL) -m 664 $(INSTALL_OPTS) docs/robots.txt $(DESTDIR)$(HTMLDIR)/docs -+ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR) -+ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/media -+ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/stylesheets -+ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/contexthelp -+ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/docs -+ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/docs/images -+ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/images -+ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/images/logos -+ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/ssi -+ $(INSTALL) -m 644 $(INSTALL_OPTS) robots.txt $(DESTDIR)$(HTMLDIR) -+ $(INSTALL) -m 644 $(INSTALL_OPTS) docs/robots.txt $(DESTDIR)$(HTMLDIR)/docs - for file in *.html; \ ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR) ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/media ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/stylesheets ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/contexthelp ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/docs ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/docs/images ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/images ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/images/logos ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/includes ++ $(INSTALL) -m ${DIRMODE} $(INSTALL_OPTS) -d $(DESTDIR)$(HTMLDIR)/ssi ++ $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) robots.txt $(DESTDIR)$(HTMLDIR) ++ $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) docs/robots.txt $(DESTDIR)$(HTMLDIR)/docs + # Remove old HTML files (PHP files are used now) + rm -f $(DESTDIR)$(HTMLDIR)/index.html + rm -f $(DESTDIR)$(HTMLDIR)/main.html + rm -f $(DESTDIR)$(HTMLDIR)/side.html +- for file in *.php; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR); done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR); done ++ for file in *.php; do \ ++ if [ "$$file" = config.inc.php ]; \ ++ then $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/config.inc.php.dist; \ ++ else $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR); \ ++ fi; done # for file in media/*.wav; \ -# do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/media; done -+# do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/media; done ++# do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/media; done for file in stylesheets/*.css; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/stylesheets; done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/stylesheets; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/stylesheets; done for file in contexthelp/*.html; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/contexthelp; done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/contexthelp; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/contexthelp; done for file in docs/*.html; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/docs; done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/docs; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/docs; done for file in docs/images/*.*; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/docs/images; done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/docs/images; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/docs/images; done for file in images/*.gif; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done for file in images/*.jpg; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done for file in images/*.png; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done for file in images/*.ico; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images; done for file in images/logos/*.*; \ - do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images/logos; done -+ do $(INSTALL) -m 644 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images/logos; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/images/logos; done + for file in includes/*.*; \ +- do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/includes; done ++ do $(INSTALL) -m ${FILEMODE} $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/includes; done install-unstripped: $(MAKE) install --- b/net-mgmt/nagios/files/patch-html-docs-configcgi.html +++ b/net-mgmt/nagios/files/patch-html-docs-configcgi.html @@ -1,11 +1,11 @@ ---- html/docs/configcgi.html.orig 2008-11-08 17:49:55.000000000 +0100 -+++ html/docs/configcgi.html 2008-11-08 17:50:33.000000000 +0100 -@@ -616,7 +616,7 @@ - - - Example: --ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$ -+ping_syntax=/sbin/ping -n -c 5 $HOSTADDRESS$ - - - +--- html/docs/configcgi.html.orig 2009-06-17 19:13:52.000000000 +0400 ++++ html/docs/configcgi.html 2009-07-05 10:55:03.000000000 +0400 +@@ -1250,7 +1250,7 @@ + + Example: + +-ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$ ++ping_syntax=/sbin/ping -n -U -c 5 $HOSTADDRESS$ + + + --- b/net-mgmt/nagios/files/pkg-message.in +++ b/net-mgmt/nagios/files/pkg-message.in @@ -18,6 +18,7 @@ Order deny,allow Deny from all Allow from 127.0.0.1 + DirectoryIndex index.php @@ -27,4 +28,17 @@ ScriptAlias %%NAGIOSCGIURL%%/ %%PREFIX%%/%%NAGIOSWWWDIR%%/cgi-bin/ Alias %%NAGIOSHTMURL%%/ %%PREFIX%%/%%NAGIOSWWWDIR%%/ + +NOTE FOR UPGRADES FROM 3.0.x AND OLDER VERSIONS +=============================================== + +Nagios now uses PHP for its main Web-interface files. So, you must +enable PHP in the configuration of your Web server and create frontend +configuration file %%CONFIG_INC%%. + +Usually it is sufficient to use the contents of + %%CONFIG_INC%%.dist +but in case of non-standard configuration you may want to modify the +default template before using it. + ********************************************************************** --- b/net-mgmt/nagios/pkg-plist +++ b/net-mgmt/nagios/pkg-plist @@ -192,6 +192,8 @@ etc/nagios/resource.cfg-sample %%NAGIOSWWWDIR%%/docs/images/multiple-templates1.png %%NAGIOSWWWDIR%%/docs/images/multiple-templates2.png %%NAGIOSWWWDIR%%/docs/images/nagios.jpg +%%NAGIOSWWWDIR%%/docs/images/nagiosexchange.png +%%NAGIOSWWWDIR%%/docs/images/nagiossupport.png %%NAGIOSWWWDIR%%/docs/images/ndoutils.png %%NAGIOSWWWDIR%%/docs/images/network-outage1.png %%NAGIOSWWWDIR%%/docs/images/network-outage2.png @@ -319,7 +321,7 @@ etc/nagios/resource.cfg-sample %%NAGIOSWWWDIR%%/images/redundancy.png %%NAGIOSWWWDIR%%/images/restart.gif %%NAGIOSWWWDIR%%/images/right.gif -%%NAGIOSWWWDIR%%/images/sblogo.jpg +%%NAGIOSWWWDIR%%/images/sblogo.png %%NAGIOSWWWDIR%%/images/serviceevent.gif %%NAGIOSWWWDIR%%/images/splunk1.gif %%NAGIOSWWWDIR%%/images/splunk2.gif @@ -345,10 +347,12 @@ etc/nagios/resource.cfg-sample %%NAGIOSWWWDIR%%/images/weblogo1.png %%NAGIOSWWWDIR%%/images/zoom1.gif %%NAGIOSWWWDIR%%/images/zoom2.gif -%%NAGIOSWWWDIR%%/index.html -%%NAGIOSWWWDIR%%/main.html +%%NAGIOSWWWDIR%%/includes/utils.inc.php +%%NAGIOSWWWDIR%%/config.inc.php.dist +%%NAGIOSWWWDIR%%/index.php +%%NAGIOSWWWDIR%%/main.php %%NAGIOSWWWDIR%%/robots.txt -%%NAGIOSWWWDIR%%/side.html +%%NAGIOSWWWDIR%%/side.php %%NAGIOSWWWDIR%%/stylesheets/avail.css %%NAGIOSWWWDIR%%/stylesheets/checksanity.css %%NAGIOSWWWDIR%%/stylesheets/cmd.css @@ -374,6 +378,7 @@ etc/nagios/resource.cfg-sample @dirrm %%NAGIOSWWWDIR%%/docs @dirrm %%NAGIOSWWWDIR%%/images/logos @dirrm %%NAGIOSWWWDIR%%/images +@dirrm %%NAGIOSWWWDIR%%/includes @dirrm %%NAGIOSWWWDIR%%/media @dirrm %%NAGIOSWWWDIR%%/ssi @dirrm %%NAGIOSWWWDIR%%/stylesheets --