summaryrefslogtreecommitdiff
path: root/parallel
diff options
context:
space:
mode:
Diffstat (limited to 'parallel')
-rw-r--r--parallel/ganglia-monitor-core/Makefile76
-rw-r--r--parallel/ganglia-monitor-core/PLIST19
-rw-r--r--parallel/ganglia-monitor-core/distinfo32
-rw-r--r--parallel/ganglia-monitor-core/files/dfly-Makefile.am5
-rw-r--r--parallel/ganglia-monitor-core/files/dfly-Makefile.in335
-rw-r--r--parallel/ganglia-monitor-core/files/dfly-metrics.c1149
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-aa47
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ab1305
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ac23
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ad11
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ae13
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-af22
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ag22
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ah13
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ai11
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-aj9
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ak340
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-al78
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-am13
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-an11
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ao13
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ap30
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-aq30
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-ar32
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-as45
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-at13
-rw-r--r--parallel/ganglia-monitor-core/patches/patch-au23
27 files changed, 102 insertions, 3618 deletions
diff --git a/parallel/ganglia-monitor-core/Makefile b/parallel/ganglia-monitor-core/Makefile
index 9629301af05..734e60af3b4 100644
--- a/parallel/ganglia-monitor-core/Makefile
+++ b/parallel/ganglia-monitor-core/Makefile
@@ -1,12 +1,10 @@
-# $NetBSD: Makefile,v 1.23 2009/03/08 06:15:31 hasso Exp $
+# $NetBSD: Makefile,v 1.24 2009/11/10 14:55:17 brook Exp $
#
-DISTNAME= ganglia-3.0.1
-PKGNAME= ganglia-monitor-core-3.0.1
-PKGREVISION= 9
+DISTNAME= ganglia-3.1.2
+PKGNAME= ganglia-monitor-core-3.1.2
CATEGORIES= net parallel
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=ganglia/}
-EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://ganglia.sourceforge.net/
@@ -14,55 +12,65 @@ COMMENT= Ganglia cluster monitor, monitoring daemon
PKG_DESTDIR_SUPPORT= user-destdir
-GNU_CONFIGURE= YES
+GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-gmetad
USE_LIBTOOL= yes
-CONFIG_GUESS_OVERRIDE?= \
- config.guess */config.guess */*/config.guess */*/*/config.guess
-CONFIG_SUB_OVERRIDE?= \
- config.sub */config.sub */*/config.sub */*/*/config.sub
+USE_LANGUAGES+= c c++ fortran
-PATCH_ETC= mans/gmetad.1 mans/gmond.1 \
- gmetad/cmdline.c gmetad/conf.c \
- gmond/cmdline.c gmond/g25_config.h \
- ganglia.html
+PLIST_VARS+= python
+PKG_OPTIONS_VAR= PKG_OPTIONS.ganglia
+PKG_SUPPORTED_OPTIONS= python # Gmond support for python modules
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mpython)
+CONFIGURE_ARGS+= --with-python=${PYTHONBIN}
+PLIST.python= yes
+.include "../../lang/python/application.mk"
+.else
+CONFIGURE_ARGS+= --disable-python
+.endif
+
+SUBST_CLASSES+= pkg_sysconfdir
+SUBST_STAGE.pkg_sysconfdir= pre-configure
+SUBST_MESSAGE.pkg_sysconfdir= Fixing PKG_SYSCONFDIR
+SUBST_FILES.pkg_sysconfdir= ganglia.html \
+ gmetad/cmdline.c gmetad/cmdline.h \
+ gmetric/cmdline.c gmetric/cmdline.h \
+ gmond/cmdline.c gmond/cmdline.h \
+ gmond/g25_config.h gmond/gmond.conf.5 \
+ gmond/modules/conf.d/modpython.conf \
+ gmond/modules/conf.d/modpython.conf.in \
+ gmond/modules/python/README.in \
+ mans/gmetad.1 mans/gmetric.1 mans/gmond.1
+SUBST_SED.pkg_sysconfdir+= -e 's,/etc/ganglia,${PKG_SYSCONFDIR},g'
+SUBST_SED.pkg_sysconfdir+= -e 's,/usr/lib/ganglia,${PREFIX}/lib/ganglia,g'
+
+DOCDIR= ${PREFIX}/share/doc/ganglia
EGDIR= ${PREFIX}/share/examples/ganglia
CONF_FILES= ${EGDIR}/gmond.conf ${PKG_SYSCONFDIR}/gmond.conf
CONF_FILES+= ${EGDIR}/gmetad.conf ${PKG_SYSCONFDIR}/gmetad.conf
RCD_SCRIPTS= gmond gmetad
-INSTALLATION_DIRS= ${EGDIR} ${PKGMANDIR}/man1
-
-pre-patch:
- ${MKDIR} ${WRKSRC}/srclib/libmetrics/netbsd
- ${MKDIR} ${WRKSRC}/srclib/libmetrics/dragonfly
- ${CP} ${FILESDIR}/dfly-metrics.c ${WRKSRC}/srclib/libmetrics/dragonfly/metrics.c
- ${CP} ${FILESDIR}/dfly-Makefile.am ${WRKSRC}/srclib/libmetrics/dragonfly/Makefile.am
- ${CP} ${FILESDIR}/dfly-Makefile.in ${WRKSRC}/srclib/libmetrics/dragonfly/Makefile.in
-
-post-patch:
-.for pfile in ${PATCH_ETC}
- ${SED} -e 's|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g' \
- ${WRKSRC}/${pfile} > ${WRKSRC}/${pfile}.tmp && \
- ${MV} ${WRKSRC}/${pfile}.tmp ${WRKSRC}/${pfile}
-.endfor
+INSTALLATION_DIRS= ${DOCDIR} ${EGDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man5
post-install:
${INSTALL_MAN} ${WRKSRC}/mans/gmetad.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
${INSTALL_MAN} ${WRKSRC}/mans/gmetric.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
${INSTALL_MAN} ${WRKSRC}/mans/gmond.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
${INSTALL_MAN} ${WRKSRC}/mans/gstat.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/
+ ${INSTALL_MAN} ${WRKSRC}/gmond/gmond.conf.5 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man5/
${INSTALL_DATA} ${WRKSRC}/gmetad/gmetad.conf ${DESTDIR}${EGDIR}/
- ${DESTDIR}${PREFIX}/sbin/gmond -t > ${DESTDIR}${EGDIR}/gmond.conf
-
-BUILDLINK_DEPENDS.apr+= apr>=0.9.7.2.0.55nb3
+ ${WRKSRC}/gmond/gmond -t > ${DESTDIR}${EGDIR}/gmond.conf
+ ${INSTALL_DATA} ${WRKSRC}/gmond/modules/python/README ${DESTDIR}${DOCDIR}/
-.include "../../devel/apr0/buildlink3.mk"
-.include "../../textproc/expat/buildlink3.mk"
.include "../../databases/rrdtool/buildlink3.mk"
+.include "../../devel/apr/buildlink3.mk"
+.include "../../devel/confuse/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/parallel/ganglia-monitor-core/PLIST b/parallel/ganglia-monitor-core/PLIST
index 3be0870b241..576fbae43e9 100644
--- a/parallel/ganglia-monitor-core/PLIST
+++ b/parallel/ganglia-monitor-core/PLIST
@@ -1,15 +1,32 @@
-@comment $NetBSD: PLIST,v 1.4 2009/06/14 18:10:40 joerg Exp $
+@comment $NetBSD: PLIST,v 1.5 2009/11/10 14:55:17 brook Exp $
bin/ganglia-config
bin/gmetric
bin/gstat
include/ganglia.h
+include/ganglia_gexec.h
+include/gm_metric.h
+include/gm_mmn.h
+include/gm_msg.h
+include/gm_protocol.h
+include/gm_value.h
+lib/ganglia/modcpu.so
+lib/ganglia/moddisk.so
+lib/ganglia/modload.so
+lib/ganglia/modmem.so
+lib/ganglia/modmulticpu.so
+lib/ganglia/modnet.so
+lib/ganglia/modproc.so
+${PLIST.python}lib/ganglia/modpython.so
+lib/ganglia/modsys.so
lib/libganglia.la
man/man1/gmetad.1
man/man1/gmetric.1
man/man1/gmond.1
man/man1/gstat.1
+man/man5/gmond.conf.5
sbin/gmetad
sbin/gmond
+share/doc/ganglia/README
share/examples/ganglia/gmetad.conf
share/examples/ganglia/gmond.conf
share/examples/rc.d/gmetad
diff --git a/parallel/ganglia-monitor-core/distinfo b/parallel/ganglia-monitor-core/distinfo
index af0155e28a4..06d6386ce08 100644
--- a/parallel/ganglia-monitor-core/distinfo
+++ b/parallel/ganglia-monitor-core/distinfo
@@ -1,26 +1,8 @@
-$NetBSD: distinfo,v 1.8 2006/04/30 22:28:44 joerg Exp $
+$NetBSD: distinfo,v 1.9 2009/11/10 14:55:17 brook Exp $
-SHA1 (ganglia-3.0.1.tar.bz2) = 3e5c4ec4a509713974dd1e8d516127f6aa2c5a20
-RMD160 (ganglia-3.0.1.tar.bz2) = 1f0ecc7388f1058d64df9ab98734810a983e6d26
-Size (ganglia-3.0.1.tar.bz2) = 2649342 bytes
-SHA1 (patch-aa) = 4e5bb79a395f1b34062bc62fce80c809d45ae60d
-SHA1 (patch-ab) = 6b349e90cdbf1a988aceb6222b5d67cacffe0a61
-SHA1 (patch-ac) = 23ad60ea06080a6763b21256e20549868110cf54
-SHA1 (patch-ad) = 4f03c665800827e1d89d7d76b81b667f0cf82ca6
-SHA1 (patch-ae) = 417a7ed552583fc61f8c3e095e9233c68311caf9
-SHA1 (patch-af) = 1874ebe88fa2ac288c5ca0a94f864bd0a71415ba
-SHA1 (patch-ag) = a214bed25baff256c7670285129f77d31b18de82
-SHA1 (patch-ah) = 03ea69fd0e686776d83241f31aeb76c91d174c46
-SHA1 (patch-ai) = 1ae508692d8160aa202e02612590d329d910f434
-SHA1 (patch-aj) = d73aa994a2a6c9441d0b1cbcc9247bdf522b37c4
-SHA1 (patch-ak) = 6d84043aaf005e319517e8df61097dc00067ed10
-SHA1 (patch-al) = fbcf90d61ab6a160cbce7b90d0cdfcab44a1429c
-SHA1 (patch-am) = 719f293496f648cd5829ef35edd046120764312f
-SHA1 (patch-an) = 5b6c7002ead98dec9c45643be6dc6b69e1133355
-SHA1 (patch-ao) = a25381b4c8858112a46e9b61ff0af317f2472d5e
-SHA1 (patch-ap) = 649940b694afd7f10c58f84d323f7b755759f84f
-SHA1 (patch-aq) = 22fe789c666df1f4934046f1aa62d3629257c775
-SHA1 (patch-ar) = f652c74bf48528762e06801760753036651f874e
-SHA1 (patch-as) = 710abfd3dc6e5836818a0de2ce93d873b4b9b259
-SHA1 (patch-at) = aeb83adbcb798099d6c4cf4da58b164e7cb22c06
-SHA1 (patch-au) = ff58e4e0bcd631e8358c1e7cd7824597e32c5b01
+SHA1 (ganglia-3.1.2.tar.gz) = be5db246eb755d8c450140d1c80afef4f1179fe1
+RMD160 (ganglia-3.1.2.tar.gz) = 1f78cf1019759e12c3c65901fd74ac65dfddf4e3
+Size (ganglia-3.1.2.tar.gz) = 1213196 bytes
+SHA1 (patch-aa) = e258e4efb1ae012db51901de87e614cede78812c
+SHA1 (patch-ab) = 260a78711c2c7f1111ce8c4b0d54d2edd60dde08
+SHA1 (patch-ac) = 094e07fac40d39093a80dfbee640a1503abaa4cb
diff --git a/parallel/ganglia-monitor-core/files/dfly-Makefile.am b/parallel/ganglia-monitor-core/files/dfly-Makefile.am
deleted file mode 100644
index ee336f67197..00000000000
--- a/parallel/ganglia-monitor-core/files/dfly-Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-AM_CFLAGS=-I.. -I$(top_builddir)/lib
-
-noinst_LTLIBRARIES = libmetric25.la
-libmetric25_la_SOURCES = metrics.c
-libmetrics25_LIBS = -lkinfo
diff --git a/parallel/ganglia-monitor-core/files/dfly-Makefile.in b/parallel/ganglia-monitor-core/files/dfly-Makefile.in
deleted file mode 100644
index c3f8ee2ae3c..00000000000
--- a/parallel/ganglia-monitor-core/files/dfly-Makefile.in
+++ /dev/null
@@ -1,335 +0,0 @@
-# Makefile.in generated by automake 1.6.3 from Makefile.am.
-# @configure_input@
-
-# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = @program_transform_name@
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AWK = @AWK@
-CC = @CC@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-ECHO = @ECHO@
-EGREP = @EGREP@
-F77 = @F77@
-GCJ = @GCJ@
-GCJFLAGS = @GCJFLAGS@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-OBJDUMP = @OBJDUMP@
-OS = @OS@
-PACKAGE = @PACKAGE@
-RANLIB = @RANLIB@
-RC = @RC@
-STRIP = @STRIP@
-VERSION = @VERSION@
-am__include = @am__include@
-am__quote = @am__quote@
-install_sh = @install_sh@
-AM_CFLAGS = -I.. -I$(top_builddir)/lib
-
-noinst_LTLIBRARIES = libmetric25.la
-libmetric25_la_SOURCES = metrics.c
-subdir = freebsd
-mkinstalldirs = $(SHELL) $(top_srcdir)/build/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-
-libmetric25_la_LDFLAGS =
-libmetric25_la_LIBADD = -lkinfo
-am_libmetric25_la_OBJECTS = metrics.lo
-libmetric25_la_OBJECTS = $(am_libmetric25_la_OBJECTS)
-
-DEFS = @DEFS@
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-depcomp = $(SHELL) $(top_srcdir)/build/depcomp
-am__depfiles_maybe = depfiles
-@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/metrics.Plo
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-CFLAGS = @CFLAGS@
-DIST_SOURCES = $(libmetric25_la_SOURCES)
-DIST_COMMON = Makefile.am Makefile.in
-SOURCES = $(libmetric25_la_SOURCES)
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu freebsd/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test -z "$dir" && dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libmetric25.la: $(libmetric25_la_OBJECTS) $(libmetric25_la_DEPENDENCIES)
- $(LINK) $(libmetric25_la_LDFLAGS) $(libmetric25_la_OBJECTS) $(libmetric25_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT) core *.core
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metrics.Plo@am__quote@
-
-distclean-depend:
- -rm -rf ./$(DEPDIR)
-
-.c.o:
-@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-
-.c.obj:
-@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(COMPILE) -c `cygpath -w $<`
-
-.c.lo:
-@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-CCDEPMODE = @CCDEPMODE@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ETAGS = etags
-ETAGSFLAGS =
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(ETAGS_ARGS)$$tags$$unique" \
- || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
-top_distdir = ..
-distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-
-distdir: $(DISTFILES)
- @list='$(DISTFILES)'; for file in $$list; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkinstalldirs) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-
-installdirs:
-
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -rm -f Makefile $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
-
-distclean-am: clean-am distclean-compile distclean-depend \
- distclean-generic distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-uninstall-am: uninstall-info-am
-
-.PHONY: GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES distclean \
- distclean-compile distclean-depend distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am info \
- info-am install install-am install-data install-data-am \
- install-exec install-exec-am install-info install-info-am \
- install-man install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/parallel/ganglia-monitor-core/files/dfly-metrics.c b/parallel/ganglia-monitor-core/files/dfly-metrics.c
deleted file mode 100644
index 6a186a0b5fc..00000000000
--- a/parallel/ganglia-monitor-core/files/dfly-metrics.c
+++ /dev/null
@@ -1,1149 +0,0 @@
-/*
- * First stab at support for metrics in FreeBSD
- * by Preston Smith <psmith@physics.purdue.edu>
- * Wed Feb 27 14:55:33 EST 2002
- * Improved by Brooks Davis <brooks@one-eyed-alien.net>,
- * Fixed libkvm code.
- * Tue Jul 15 16:42:22 EST 2003
- *
- * $Id: dfly-metrics.c,v 1.1 2006/04/30 22:28:44 joerg Exp $
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <kvm.h>
-
-#include <sys/param.h>
-#include <sys/mount.h>
-#include <sys/sysctl.h>
-#include <sys/time.h>
-#include <sys/user.h>
-#include <kinfo.h>
-#include <sys/stat.h>
-#include <vm/vm_param.h>
-
-#include <sys/socket.h>
-#include <net/if.h>
-#include <net/if_dl.h>
-#include <net/route.h>
-
-#include <unistd.h>
-#include <err.h>
-#include <fcntl.h>
-#include <limits.h>
-#include <paths.h>
-
-#include "interface.h"
-#include "libmetrics.h"
-
-#define MIB_SWAPINFO_SIZE 3
-
-#ifndef MIN_NET_POLL_INTERVAL
-#define MIN_NET_POLL_INTERVAL 0.5
-#endif
-
-#ifndef MIN_CPU_POLL_INTERVAL
-#define MIN_CPU_POLL_INTERVAL 0.5
-#endif
-
-#ifndef UINT64_MAX
-#define UINT64_MAX ULLONG_MAX
-#endif
-
-#define VFCF_NONLOCAL (VFCF_NETWORK|VFCF_SYNTHETIC|VFCF_LOOPBACK)
-
-#define timertod(tvp) \
- ((double)(tvp)->tv_sec + (double)(tvp)->tv_usec/(1000*1000))
-
-#ifndef XSWDEV_VERSION
-#define XSWDEV_VERSION 1
-struct xswdev {
- u_int xsw_version;
- udev_t xsw_dev;
- int xsw_flags;
- int xsw_nblks;
- int xsw_used;
-};
-#endif
-
-struct traffic {
- uint64_t in_bytes;
- uint64_t out_bytes;
- uint64_t in_pkts;
- uint64_t out_pkts;
-};
-
-static void get_netbw(double *, double *, double *, double *);
-static uint64_t counterdiff(uint64_t, uint64_t, uint64_t, uint64_t);
-
-
-static char *makenetvfslist(void);
-static size_t regetmntinfo(struct statfs **, long, const char **);
-static int checkvfsname(const char *, const char **);
-static const char **makevfslist(char *);
-static float find_disk_space(double *, double *);
-
-static int use_vm_swap_info = 0;
-static int mibswap[MIB_SWAPINFO_SIZE];
-static size_t mibswap_size;
-static kvm_t *kd = NULL;
-static int pagesize;
-static int skipvfs;
-
-/*
- * This function is called only once by the gmond. Use to
- * initialize data structures, etc or just return SYNAPSE_SUCCESS;
- */
-g_val_t
-metric_init(void)
-{
- g_val_t val;
-
- /*
- * Try to use the vm.swap_info sysctl to gather swap data. If it
- * isn't implemented, fall back to trying to old kvm based interface.
- */
- mibswap_size = MIB_SWAPINFO_SIZE;
- if (sysctlnametomib("vm.swap_info", mibswap, &mibswap_size) == -1) {
- kd = kvm_open(NULL, NULL, NULL, O_RDONLY, "metric_init()");
- } else {
- /*
- * RELEASE versions of FreeBSD with the swap mib have a version
- * of libkvm that doesn't need root for simple proc access so we
- * just open /dev/null to give us a working handle here.
- */
- kd = kvm_open(_PATH_DEVNULL, NULL, NULL, O_RDONLY, "metric_init()");
- use_vm_swap_info = 1;
- }
- pagesize = getpagesize();
-
- /* Initalize some counters */
- get_netbw(NULL, NULL, NULL, NULL);
- cpu_state(-1);
-
- val.int32 = SYNAPSE_SUCCESS;
- return val;
-}
-
-g_val_t
-cpu_num_func ( void )
-{
- g_val_t val;
- int ncpu;
-
- if (kinfo_get_cpus(&ncpu))
- ncpu = 1;
-
- val.uint16 = ncpu;
- return val;
-}
-
-g_val_t
-cpu_speed_func ( void )
-{
- g_val_t val;
- int cpu_speed;
- size_t len = sizeof(cpu_speed);
-
- /*
- * machdep.tsc_freq is an i386/amd64 only feature, but it's the best
- * we've got at the moment.
- */
- if (sysctlbyname("machdep.tsc_freq", &cpu_speed, &len, NULL, 0) == -1)
- cpu_speed = 0;
- val.uint16 = cpu_speed /= 1000000;
-
- return val;
-}
-
-g_val_t
-mem_total_func ( void )
-{
- g_val_t val;
- size_t len;
- long total;
-
- len = sizeof(total);
-
- if (sysctlbyname("hw.physmem", &total, &len, NULL, 0) == -1)
- total = 0;
- val.uint32 = total / 1024;
-
- return val;
-}
-
-g_val_t
-swap_total_func ( void )
-{
- g_val_t val;
- struct kvm_swap swap[1];
- struct xswdev xsw;
- size_t size;
- int totswap, n;
- val.uint32 = 0;
- totswap = 0;
-
- if (use_vm_swap_info) {
- for (n = 0; ; ++n) {
- mibswap[mibswap_size] = n;
- size = sizeof(xsw);
- if (sysctl(mibswap, mibswap_size + 1, &xsw, &size, NULL, 0) == -1)
- break;
- if (xsw.xsw_version != XSWDEV_VERSION)
- return val;
- totswap += xsw.xsw_nblks;
- }
- } else if(kd != NULL) {
- n = kvm_getswapinfo(kd, swap, 1, 0);
- if (n < 0 || swap[0].ksw_total == 0) {
- val.uint32 = 0;
- }
- totswap = swap[0].ksw_total;
- }
-
- val.uint32 = totswap * (pagesize / 1024);
- return val;
-}
-
-g_val_t
-boottime_func ( void )
-{
- g_val_t val;
- struct timeval boottime;
- size_t size;
-
- size = sizeof(boottime);
- if (sysctlbyname("kern.boottime", &boottime, &size, NULL, 0) == -1)
- boottime.tv_sec = 0;
-
- val.uint32 = (uint32_t) boottime.tv_sec;
-
- return val;
-}
-
-g_val_t
-sys_clock_func ( void )
-{
- g_val_t val;
-
- val.uint32 = time(NULL);
- return val;
-}
-
-g_val_t
-machine_type_func ( void )
-{
- g_val_t val;
- size_t len = sizeof(val.str);
-
- if (sysctlbyname("hw.machine", val.str, &len, NULL, 0) == -1 ||
- (len == 0))
- strlcpy(val.str, "unknown", sizeof(val.str));
-
- return val;
-}
-
-g_val_t
-os_name_func ( void )
-{
- g_val_t val;
- size_t len = sizeof(val.str);
-
- if (sysctlbyname("kern.ostype", val.str, &len, NULL, 0) == -1 ||
- (len == 0))
- strlcpy(val.str, "DragonFly (unknown)", sizeof(val.str));
-
- return val;
-}
-
-g_val_t
-os_release_func ( void )
-{
- g_val_t val;
- size_t len = sizeof(val.str);
-
- if (sysctlbyname("kern.osrelease", val.str, &len, NULL, 0) == -1 ||
- (len == 0))
- strlcpy(val.str, "unknown", sizeof(val.str));
-
- return val;
-}
-
-/* Get the CPU state given by index, from kern.cp_time
- * Use the constants in <sys/dkstat.h>
- * CP_USER=0, CP_NICE=1, CP_SYS=2, CP_INTR=3, CP_IDLE=4
- */
-
-int cpu_state(int which) {
- static struct kinfo_cputime cp_old, cp_diff;
- static uint64_t total_change, half_change;
- static struct timeval this_time, last_time;
-
- struct kinfo_cputime cp_time;
- struct timeval time_diff;
- int i;
-
- if (which == -1) {
- bzero(&cp_old, sizeof(cp_old));
- bzero(&cp_diff, sizeof(cp_diff));
- total_change = 1;
- half_change = 0;
- bzero(&last_time, sizeof(last_time));
- return 0.0;
- }
-
- gettimeofday(&this_time, NULL);
- timersub(&this_time, &last_time, &time_diff);
- if (timertod(&time_diff) < MIN_CPU_POLL_INTERVAL) {
- goto output;
- }
- last_time = this_time;
-
- if (kinfo_get_sched_cputime(&cp_time)) {
- warn("kinfo_get_sched_cputime");
- return 0.0;
- }
- cp_diff.cp_user = cp_time.cp_user - cp_old.cp_user;
- cp_diff.cp_nice = cp_time.cp_nice - cp_old.cp_nice;
- cp_diff.cp_sys = cp_time.cp_sys - cp_old.cp_sys;
- cp_diff.cp_intr = cp_time.cp_intr - cp_old.cp_intr;
- cp_diff.cp_idle = cp_time.cp_idle - cp_old.cp_idle;
- total_change = cp_diff.cp_user + cp_diff.cp_nice + cp_diff.cp_sys
- + cp_diff.cp_sys + cp_diff.cp_intr + cp_diff.cp_idle;
- if (total_change == 0)
- total_change = 1;
- half_change = total_change >> 1;
-
-output:
- switch (which) {
- case 0:
- return (cp_diff.cp_user * 100LL + half_change) / total_change;
- case 1:
- return (cp_diff.cp_nice * 100LL + half_change) / total_change;
- case 2:
- return (cp_diff.cp_sys * 100LL + half_change) / total_change;
- case 3:
- return (cp_diff.cp_intr * 100LL + half_change) / total_change;
- case 4:
- return (cp_diff.cp_idle * 100LL + half_change) / total_change;
- default:
- return 0;
- }
-}
-
-g_val_t
-cpu_user_func ( void )
-{
- g_val_t val;
-
- val.f = (float) cpu_state(0);
-
- return val;
-}
-
-g_val_t
-cpu_nice_func ( void )
-{
- g_val_t val;
-
- val.f = (float) cpu_state(1);
-
- return val;
-}
-
-g_val_t
-cpu_system_func ( void )
-{
- g_val_t val;
-
- val.f = (float) cpu_state(2);
-
- return val;
-}
-
-g_val_t
-cpu_idle_func ( void )
-{
- g_val_t val;
-
- val.f = (float) cpu_state(4);
-
- return val;
-}
-
-/*
-** FIXME - This metric is not valid on FreeBSD.
-*/
-g_val_t
-cpu_wio_func ( void )
-{
- g_val_t val;
-
- val.f = 0.0;
- return val;
-}
-
-/*
-** FIXME - Idle time since startup. The scheduler apparently knows
-** this, but we it's fairly pointless so it's not exported.
-*/
-g_val_t
-cpu_aidle_func ( void )
-{
- g_val_t val;
- val.f = 0.0;
- return val;
-}
-
-g_val_t
-cpu_intr_func ( void )
-{
- g_val_t val;
-
- val.f = (float) cpu_state(3);
-
- return val;
-}
-
-/*
-** FIXME - This metric is not valid on FreeBSD.
-*/
-g_val_t
-cpu_sintr_func ( void )
-{
- g_val_t val;
- val.f = 0.0;
- return val;
-}
-
-g_val_t
-load_one_func ( void )
-{
- g_val_t val;
- double load[3];
-
- getloadavg(load, 3);
- val.f = load[0];
-
- return val;
-}
-
-g_val_t
-load_five_func ( void )
-{
- g_val_t val;
- double load[3];
-
- getloadavg(load, 3);
- val.f = load[1];
-
- return val;
-}
-
-g_val_t
-load_fifteen_func ( void )
-{
- g_val_t val;
- double load[3];
-
- getloadavg(load, 3);
- val.f = load[2];
-
- return val;
-}
-
-g_val_t
-proc_total_func ( void )
-{
- g_val_t val;
- size_t len = 0;
-
- sysctlbyname("kern.proc.all", NULL, &len, NULL, 0);
-
- val.uint32 = (len / sizeof (struct kinfo_proc));
-
- return val;
-}
-
-
-g_val_t
-proc_run_func( void )
-{
- struct kinfo_proc *kp;
- int i;
- int state;
- int nentries;
- int what = KERN_PROC_ALL;
- g_val_t val;
-
- val.uint32 = 0;
-
- if (kd == NULL)
- goto output;
-#ifdef KERN_PROC_NOTHREADS
- what |= KERN_PROC_NOTHREADS
-#endif
- if ((kp = kvm_getprocs(kd, what, 0, &nentries)) == 0 || nentries < 0)
- goto output;
-
- for (i = 0; i < nentries; kp++, i++) {
-#ifdef KINFO_PROC_SIZE
- state = kp->ki_stat;
-#else
- state = kp->kp_proc.p_stat;
-#endif
- switch(state) {
- case SRUN:
- case SIDL:
- val.uint32++;
- break;
- }
- }
-
- if (val.uint32 > 0)
- val.uint32--;
-
-output:
- return val;
-}
-
-/*
-** FIXME - The whole ganglia model of memory is bogus. Free memory is
-** generally a bad idea with a modern VM and so is reporting it. There
-** is simply no way to report a value for "free" memory that makes any
-** kind of sense. Free+inactive might be a decent value for "free".
-*/
-g_val_t
-mem_free_func ( void )
-{
- g_val_t val;
- size_t len;
- int free_pages;
-
- len = sizeof (free_pages);
- if((sysctlbyname("vm.stats.vm.v_free_count", &free_pages, &len, NULL, 0)
- == -1) || !len) free_pages = 0;
-
- val.uint32 = free_pages * (pagesize / 1024);
- return val;
-}
-
-/*
-** FreeBSD don't seem to report this anywhere. It's actually quite
-** complicated as there is SysV shared memory, POSIX shared memory,
-** and mmap shared memory at a minimum.
-*/
-g_val_t
-mem_shared_func ( void )
-{
- g_val_t val;
-
- val.uint32 = 0;
-
- return val;
-}
-
-/*
-** FIXME - this isn't really valid. It lists some VFS buffer space,
-** but the real picture is much more complex.
-*/
-g_val_t
-mem_buffers_func ( void )
-{
- g_val_t val;
- size_t len;
- int buffers;
-
- len = sizeof (buffers);
- if((sysctlbyname("vfs.bufspace", &buffers, &len, NULL, 0) == -1) || !len)
- buffers = 0;
- buffers /= 1024;
-
- val.uint32 = buffers;
- return val;
-}
-
-/*
-** FIXME - this isn't really valid. It lists some VM cache space,
-** but the real picture is more complex.
-*/
-g_val_t
-mem_cached_func ( void )
-{
- g_val_t val;
- size_t len;
- int cache;
-
- len = sizeof (cache);
- if((sysctlbyname("vm.stats.vm.v_cache_count", &cache, &len, NULL, 0) == -1)
- || !len)
- cache = 0;
-
- val.uint32 = cache * (pagesize / 1024);
- return val;
-}
-
-g_val_t
-swap_free_func ( void )
-{
- g_val_t val;
-
- struct kvm_swap swap[1];
- struct xswdev xsw;
- size_t size;
- int totswap, usedswap, freeswap, n;
- val.uint32 = 0;
- totswap = 0;
- usedswap = 0;
- if (use_vm_swap_info) {
- for (n = 0; ; ++n) {
- mibswap[mibswap_size] = n;
- size = sizeof(xsw);
- if (sysctl(mibswap, mibswap_size + 1, &xsw, &size, NULL, 0) == -1)
- break;
- if (xsw.xsw_version != XSWDEV_VERSION)
- return val;
- totswap += xsw.xsw_nblks;
- usedswap += xsw.xsw_used;
- }
- } else if(kd != NULL) {
- n = kvm_getswapinfo(kd, swap, 1, 0);
- totswap = swap[0].ksw_total;
- usedswap = swap[0].ksw_used;
- }
- freeswap = totswap - usedswap;
- val.uint32 = freeswap * (pagesize / 1024);
- return val;
-}
-
-
-g_val_t
-mtu_func ( void )
-{
- /* We want to find the minimum MTU (Max packet size) over all UP interfaces.
-*/
- g_val_t val;
- val.uint32 = get_min_mtu();
- /* A val of 0 means there are no UP interfaces. Shouldn't happen. */
- return val;
-}
-
-g_val_t
-pkts_in_func ( void )
-{
- double in_pkts;
- g_val_t val;
-
- get_netbw(NULL, NULL, &in_pkts, NULL);
-
- val.f = (float)in_pkts;
- return val;
-}
-
-g_val_t
-pkts_out_func ( void )
-{
- double out_pkts;
- g_val_t val;
-
- get_netbw(NULL, NULL, NULL, &out_pkts);
-
- val.f = (float)out_pkts;
- return val;
-}
-
-g_val_t
-bytes_out_func ( void )
-{
- double out_bytes;
- g_val_t val;
-
- get_netbw(NULL, &out_bytes, NULL, NULL);
-
- val.f = (float)out_bytes;
- return val;
-}
-
-g_val_t
-bytes_in_func ( void )
-{
- double in_bytes;
- g_val_t val;
-
- get_netbw(&in_bytes, NULL, NULL, NULL);
-
- val.f = (float)in_bytes;
- return val;
-}
-
-/*
- * Disk space reporting functions from Linux code. find_disk_space()
- * body derived from FreeBSD df and mount code.
- */
-
-g_val_t
-disk_free_func( void )
-{
- double total_free=0.0;
- double total_size=0.0;
- g_val_t val;
-
- find_disk_space(&total_size, &total_free);
-
- val.d = total_free;
- return val;
-}
-
-g_val_t
-disk_total_func( void )
-{
- double total_free=0.0;
- double total_size=0.0;
- g_val_t val;
-
- find_disk_space(&total_size, &total_free);
-
- val.d = total_size;
- return val;
-}
-
-g_val_t
-part_max_used_func( void )
-{
- double total_free=0.0;
- double total_size=0.0;
- float most_full;
- g_val_t val;
-
- most_full = find_disk_space(&total_size, &total_free);
-
- val.f = most_full;
- return val;
-}
-
-
-/*
- * Copyright (c) 1980, 1983, 1990, 1993, 1994, 1995
- * The Regents of the University of California. All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *
- * NOTE: The copyright of UC Berkeley's Berkeley Software Distribution
- * ("BSD") source has been updated. The copyright addendum may be found
- * at ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change.
- */
-
-static float
-find_disk_space(double *total, double *tot_avail)
-{
- struct statfs *mntbuf;
- const char *fstype;
- const char **vfslist;
- char *netvfslist;
- size_t i, mntsize;
- size_t used, availblks;
- const double reported_units = 1e9;
- double toru;
- float pct;
- float most_full = 0.0;
-
- *total = 0.0;
- *tot_avail = 0.0;
-
- fstype = "ufs";
-
- netvfslist = makenetvfslist();
- vfslist = makevfslist(netvfslist);
- free(netvfslist);
-
- mntsize = getmntinfo(&mntbuf, MNT_NOWAIT);
- mntsize = regetmntinfo(&mntbuf, mntsize, vfslist);
- for (i = 0; i < mntsize; i++) {
- if ((mntbuf[i].f_flags & MNT_IGNORE) == 0) {
- used = mntbuf[i].f_blocks - mntbuf[i].f_bfree;
- availblks = mntbuf[i].f_bavail + used;
- pct = (availblks == 0 ? 100.0 :
- (double)used / (double)availblks * 100.0);
- if (pct > most_full)
- most_full = pct;
-
- toru = reported_units/mntbuf[i].f_bsize;
- *total += mntbuf[i].f_blocks / toru;
- *tot_avail += mntbuf[i].f_bavail / toru;
- }
- }
-
- return most_full;
-}
-
-/*
- * Make a pass over the file system info in ``mntbuf'' filtering out
- * file system types not in vfslist and possibly re-stating to get
- * current (not cached) info. Returns the new count of valid statfs bufs.
- */
-static size_t
-regetmntinfo(struct statfs **mntbufp, long mntsize, const char **vfslist)
-{
- int i, j;
- struct statfs *mntbuf;
-
- if (vfslist == NULL)
- return (getmntinfo(mntbufp, MNT_WAIT));
-
- mntbuf = *mntbufp;
- for (j = 0, i = 0; i < mntsize; i++) {
- if (checkvfsname(mntbuf[i].f_fstypename, vfslist))
- continue;
- (void)statfs(mntbuf[i].f_mntonname,&mntbuf[j]);
- j++;
- }
- return (j);
-}
-
-static int
-checkvfsname(vfsname, vfslist)
- const char *vfsname;
- const char **vfslist;
-{
-
- if (vfslist == NULL)
- return (0);
- while (*vfslist != NULL) {
- if (strcmp(vfsname, *vfslist) == 0)
- return (skipvfs);
- ++vfslist;
- }
- return (!skipvfs);
-}
-
-static const char **
-makevfslist(fslist)
- char *fslist;
-{
- const char **av;
- int i;
- char *nextcp;
-
- if (fslist == NULL)
- return (NULL);
- if (fslist[0] == 'n' && fslist[1] == 'o') {
- fslist += 2;
- skipvfs = 1;
- }
- for (i = 0, nextcp = fslist; *nextcp; nextcp++)
- if (*nextcp == ',')
- i++;
- if ((av = malloc((size_t)(i + 2) * sizeof(char *))) == NULL) {
- warnx("malloc failed");
- return (NULL);
- }
- nextcp = fslist;
- i = 0;
- av[i++] = nextcp;
- while ((nextcp = strchr(nextcp, ',')) != NULL) {
- *nextcp++ = '\0';
- av[i++] = nextcp;
- }
- av[i++] = NULL;
- return (av);
-}
-
-static char *
-makenetvfslist(void)
-{
- char *str = NULL, *strptr, **listptr = NULL;
- size_t slen;
- int cnt, i;
-
- int mib[3], maxvfsconf;
- size_t miblen;
- struct ovfsconf *ptr;
-
- mib[0] = CTL_VFS; mib[1] = VFS_GENERIC; mib[2] = VFS_MAXTYPENUM;
- miblen=sizeof(maxvfsconf);
- if (sysctl(mib, (unsigned int)(sizeof(mib) / sizeof(mib[0])),
- &maxvfsconf, &miblen, NULL, 0)) {
- warnx("sysctl failed");
- goto done;
- }
-
- if ((listptr = malloc(sizeof(char*) * maxvfsconf)) == NULL) {
- warnx("malloc failed");
- goto done;
- }
-
- cnt = 0;
- while ((ptr = getvfsent()) != NULL && cnt < maxvfsconf) {
- if (ptr->vfc_flags & VFCF_NONLOCAL)
- continue;
-
- listptr[cnt] = strdup(ptr->vfc_name);
- if (listptr[cnt] == NULL) {
- warnx("malloc failed");
- goto done;
- }
- cnt++;
- }
-
- if (cnt == 0)
- goto done;
-
- /*
- * Count up the string lengths, we need a extra byte to hold
- * the between entries ',' or the NUL at the end.
- */
- for (i = 0; i < cnt; i++)
- slen = strlen(listptr[i]) + 1;
- /* Add 2 for initial "no". */
- slen += 2;
-
- if ((str = malloc(slen)) == NULL) {
- warnx("malloc failed");
- goto done;
- }
-
- str[0] = 'n';
- str[1] = 'o';
- for (i = 0, strptr = str + 2; i < cnt; i++, strptr++) {
- strcpy(strptr, listptr[i]);
- strptr += strlen(listptr[i]);
- *strptr = ',';
- }
- *strptr = '\0';
-
-done:
- if (listptr != NULL) {
- for(i = 0; i < cnt && listptr[i] != NULL; i++)
- free(listptr[i]);
- free(listptr);
- }
- return (str);
-
-}
-
-static void
-get_netbw(double *in_bytes, double *out_bytes,
- double *in_pkts, double *out_pkts)
-{
-#ifdef NETBW_DEBUG
- char name[IFNAMSIZ];
-#endif
- struct if_msghdr *ifm, *nextifm;
- struct sockaddr_dl *sdl;
- char *buf, *lim, *next;
- size_t needed;
- int mib[6];
- int i;
- int index;
- static double ibytes, obytes, ipkts, opkts;
- struct timeval this_time;
- struct timeval time_diff;
- struct traffic traffic;
- static struct timeval last_time = {0,0};
- static int indexes = 0;
- static int *seen = NULL;
- static struct traffic *lastcount = NULL;
- static double o_ibytes, o_obytes, o_ipkts, o_opkts;
-
- ibytes = obytes = ipkts = opkts = 0.0;
-
- mib[0] = CTL_NET;
- mib[1] = PF_ROUTE;
- mib[2] = 0;
- mib[3] = 0; /* address family */
- mib[4] = NET_RT_IFLIST;
- mib[5] = 0; /* interface index */
-
- gettimeofday(&this_time, NULL);
- timersub(&this_time, &last_time, &time_diff);
- if (timertod(&time_diff) < MIN_NET_POLL_INTERVAL) {
- goto output;
- }
-
- if (sysctl(mib, 6, NULL, &needed, NULL, 0) < 0)
- errx(1, "iflist-sysctl-estimate");
- if ((buf = malloc(needed)) == NULL)
- errx(1, "malloc");
- if (sysctl(mib, 6, buf, &needed, NULL, 0) < 0)
- errx(1, "actual retrieval of interface table");
- lim = buf + needed;
-
- next = buf;
- while (next < lim) {
-
- ifm = (struct if_msghdr *)next;
-
- if (ifm->ifm_type == RTM_IFINFO) {
- sdl = (struct sockaddr_dl *)(ifm + 1);
- } else {
- fprintf(stderr, "out of sync parsing NET_RT_IFLIST\n");
- fprintf(stderr, "expected %d, got %d\n", RTM_IFINFO,
- ifm->ifm_type);
- fprintf(stderr, "msglen = %d\n", ifm->ifm_msglen);
- fprintf(stderr, "buf:%p, next:%p, lim:%p\n", buf, next,
- lim);
- exit (1);
- }
-
- next += ifm->ifm_msglen;
- while (next < lim) {
- nextifm = (struct if_msghdr *)next;
-
- if (nextifm->ifm_type != RTM_NEWADDR)
- break;
-
- next += nextifm->ifm_msglen;
- }
-
- if ((ifm->ifm_flags & IFF_LOOPBACK) ||
- !(ifm->ifm_flags & IFF_UP))
- continue;
-
- index = ifm->ifm_index;
-
- /* If we don't have a previous value yet, make a slot. */
- if (index >= indexes) {
- seen = realloc(seen, sizeof(*seen)*(index+1));
- lastcount = realloc(lastcount,
- sizeof(*lastcount)*(index+1));
-
- /* Initalize the new slots */
- for (i = indexes; i <= index; i++) {
- seen[i] = 0;
- }
- indexes = index+1;
- }
-
- /*
- * If this is the first time we've seen this interface,
- * set the last values to the current ones. That causes
- * us to see no bandwidth on the interface the first
- * time, but that's OK.
- */
- if (!seen[index]) {
- seen[index] = 1;
- lastcount[index].in_bytes = ifm->ifm_data.ifi_ibytes;
- lastcount[index].out_bytes = ifm->ifm_data.ifi_obytes;
- lastcount[index].in_pkts = ifm->ifm_data.ifi_ipackets;
- lastcount[index].out_pkts = ifm->ifm_data.ifi_opackets;
- }
-
- traffic.in_bytes = counterdiff(lastcount[index].in_bytes,
- ifm->ifm_data.ifi_ibytes, ULONG_MAX, 0);
- traffic.out_bytes = counterdiff(lastcount[index].out_bytes,
- ifm->ifm_data.ifi_obytes, ULONG_MAX, 0);
- traffic.in_pkts = counterdiff(lastcount[index].in_pkts,
- ifm->ifm_data.ifi_ipackets, ULONG_MAX, 0);
- traffic.out_pkts = counterdiff(lastcount[index].out_pkts,
- ifm->ifm_data.ifi_opackets, ULONG_MAX, 0);
-
- lastcount[index].in_bytes = ifm->ifm_data.ifi_ibytes;
- lastcount[index].out_bytes = ifm->ifm_data.ifi_obytes;
- lastcount[index].in_pkts = ifm->ifm_data.ifi_ipackets;
- lastcount[index].out_pkts = ifm->ifm_data.ifi_opackets;
-
-#ifdef NETBW_DEBUG
- if_indextoname(index, name);
- printf("%s: \n", name);
- printf("\topackets=%llu ipackets=%llu\n",
- traffic.out_pkts, traffic.in_pkts);
- printf("\tobytes=%llu ibytes=%llu\n",
- traffic.out_bytes, traffic.in_bytes);
-#endif
-
- if (timerisset(&last_time)) {
- ibytes += (double)traffic.in_bytes / timertod(&time_diff);
- obytes += (double)traffic.out_bytes / timertod(&time_diff);
- ipkts += (double)traffic.in_pkts / timertod(&time_diff);
- opkts += (double)traffic.out_pkts / timertod(&time_diff);
- }
- }
- free(buf);
-
- /* Save the values from this time */
- last_time = this_time;
- o_ibytes = ibytes;
- o_obytes = obytes;
- o_ipkts = ipkts;
- o_opkts = opkts;
-
-output:
- if (in_bytes != NULL)
- *in_bytes = o_ibytes;
- if (out_bytes != NULL)
- *out_bytes = o_obytes;
- if (in_pkts != NULL)
- *in_pkts = o_ipkts;
- if (out_pkts != NULL)
- *out_pkts = o_opkts;
-}
-
-static uint64_t
-counterdiff(uint64_t oldval, uint64_t newval, uint64_t maxval, uint64_t maxdiff)
-{
- uint64_t diff;
-
- if (maxdiff == 0)
- maxdiff = maxval;
-
- /* Paranoia */
- if (oldval > maxval || newval > maxval)
- return 0;
-
- /*
- * Tackle the easy case. Don't worry about maxdiff here because
- * we're SOL if it happens (i.e. assuming a reset just makes
- * matters worse).
- */
- if (oldval <= newval)
- return (newval - oldval);
-
- /*
- * Now the tricky part. If we assume counters never get reset,
- * this is easy. Unfortunaly, they do get reset on some
- * systems, so we need to try and deal with that. Our huristic
- * is that if out difference is greater then maxdiff and newval
- * is less or equal to maxdiff, then we've probably been reset
- * rather then actually wrapping. Obviously, you need to be
- * careful to poll often enough that you won't exceed maxdiff or
- * you will get undersized numbers when you do wrap.
- */
- diff = maxval - oldval + newval;
- if (diff > maxdiff && newval <= maxdiff)
- return newval;
-
- return diff;
-}
diff --git a/parallel/ganglia-monitor-core/patches/patch-aa b/parallel/ganglia-monitor-core/patches/patch-aa
index 2ede38dde67..73b6fbbb9d0 100644
--- a/parallel/ganglia-monitor-core/patches/patch-aa
+++ b/parallel/ganglia-monitor-core/patches/patch-aa
@@ -1,36 +1,13 @@
-$NetBSD: patch-aa,v 1.3 2006/04/30 22:28:44 joerg Exp $
+$NetBSD: patch-aa,v 1.4 2009/11/10 14:55:18 brook Exp $
---- srclib/libmetrics/configure.orig 2005-02-02 13:24:14.000000000 -0500
-+++ srclib/libmetrics/configure 2005-02-07 22:39:36.000000000 -0500
-@@ -22271,6 +22271,22 @@ cat >>confdefs.h <<\_ACEOF
- _ACEOF
-
- ;;
-+*dragonfly*) OS="dragonfly"
-+ varstatedir="/var/db"
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define DRAGONFLY 1
-+_ACEOF
-+
-+ ;;
-+*netbsd*) OS="netbsd"
-+ varstatedir="/var/db"
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define NETBSD 1
-+_ACEOF
-+
-+ ;;
- *cygwin*) OS="cygwin"
-
- cat >>confdefs.h <<\_ACEOF
-@@ -22281,7 +22297,7 @@ _ACEOF
- esac
-
-
-- ac_config_files="$ac_config_files Makefile tests/Makefile aix/Makefile cygwin/Makefile darwin/Makefile freebsd/Makefile hpux/Makefile irix/Makefile linux/Makefile osf/Makefile solaris/Makefile"
-+ ac_config_files="$ac_config_files Makefile tests/Makefile aix/Makefile cygwin/Makefile darwin/Makefile dragonfly/Makefile freebsd/Makefile hpux/Makefile irix/Makefile linux/Makefile netbsd/Makefile osf/Makefile solaris/Makefile"
-
- cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
+--- gmetad/conf.c.orig 2009-01-28 16:23:20.000000000 -0700
++++ gmetad/conf.c
+@@ -265,7 +265,7 @@ set_defaults (gmetad_config_t *config)
+ config->debug_level = 0;
+ config->should_setuid = 1;
+ config->setuid_username = "nobody";
+- config->rrd_rootdir = "/var/lib/ganglia/rrds";
++ config->rrd_rootdir = "/var/db/ganglia/rrds";
+ config->scalable_mode = 1;
+ config->all_trusted = 0;
+ config->num_RRAs = 5;
diff --git a/parallel/ganglia-monitor-core/patches/patch-ab b/parallel/ganglia-monitor-core/patches/patch-ab
index dbba480ed85..16ae1387058 100644
--- a/parallel/ganglia-monitor-core/patches/patch-ab
+++ b/parallel/ganglia-monitor-core/patches/patch-ab
@@ -1,1296 +1,11 @@
-$NetBSD: patch-ab,v 1.4 2005/05/02 18:15:57 jschauma Exp $
+$NetBSD: patch-ab,v 1.5 2009/11/10 14:55:18 brook Exp $
---- /dev/null 2005-04-12 21:39:02.000000000 -0400
-+++ srclib/libmetrics/netbsd/metrics.c 2005-04-12 21:34:24.000000000 -0400
-@@ -0,0 +1,1291 @@
-+/*
-+ * First stab at support for metrics in NetBSD
-+ * by Jan Schaumann <jschauma@netbsd.org>
-+ * Thu Feb 3 22:33:36 EST 2005
-+ *
-+ */
-+
-+#include <kvm.h>
-+
-+#include <sys/param.h>
-+#include <sys/mount.h>
-+#include <sys/sysctl.h>
-+#include <sys/time.h>
-+#include <sys/user.h>
-+#include <sys/resource.h>
-+#include <sys/sched.h>
-+#include <sys/stat.h>
-+#include <sys/swap.h>
-+#include <uvm/uvm_param.h>
-+
-+#include <sys/socket.h>
-+#include <net/if.h>
-+#include <net/if_dl.h>
-+#include <net/route.h>
-+
-+#include <unistd.h>
-+#include <err.h>
-+#include <fcntl.h>
-+#include <limits.h>
-+#include <paths.h>
-+
-+#include "interface.h"
-+#include "libmetrics.h"
-+
-+#ifdef HAVE_SYS_STATVFS_H
-+#define statfs statvfs
-+#endif
-+
-+#define MIB_SWAPINFO_SIZE 3
-+
-+#ifndef MIN_NET_POLL_INTERVAL
-+#define MIN_NET_POLL_INTERVAL 0.5
-+#endif
-+
-+#ifndef MIN_CPU_POLL_INTERVAL
-+#define MIN_CPU_POLL_INTERVAL 0.5
-+#endif
-+
-+#ifndef UINT64_MAX
-+#define UINT64_MAX ULLONG_MAX
-+#endif
-+
-+#define timertod(tvp) \
-+ ((double)(tvp)->tv_sec + (double)(tvp)->tv_usec/(1000*1000))
-+
-+struct traffic {
-+ uint64_t in_bytes;
-+ uint64_t out_bytes;
-+ uint64_t in_pkts;
-+ uint64_t out_pkts;
-+};
-+
-+static void get_netbw(double *, double *, double *, double *);
-+static uint64_t counterdiff(uint64_t, uint64_t, uint64_t, uint64_t);
-+
-+static char *makenetvfslist(void);
-+static size_t regetmntinfo(struct statfs **, long, const char **);
-+static int checkvfsname(const char *, const char **);
-+static const char **makevfslist(char *);
-+static float find_disk_space(double *, double *);
-+
-+// XXX
-+//static int vm_state(int);
-+
-+static int use_vm_swap_info = 0;
-+static int mibswap[MIB_SWAPINFO_SIZE];
-+static size_t mibswap_size;
-+static kvm_t *kd = NULL;
-+static int pagesize;
-+static int skipvfs;
-+
-+/* Function prototypes */
-+static long percentages(int cnt, u_int64_t *out, register u_int64_t *new,
-+ register u_int64_t *old, u_int64_t *diffs);
-+
-+/*
-+ * This function is called only once by the gmond. Use to
-+ * initialize data structures, etc or just return SYNAPSE_SUCCESS;
-+ */
-+g_val_t
-+metric_init(void)
-+{
-+ g_val_t val;
-+ kd = kvm_open(NULL, NULL, NULL, O_RDONLY, "metric_init()");
-+ pagesize = sysconf(_SC_PAGESIZE);
-+
-+ /* Initialize some counters */
-+ get_netbw(NULL, NULL, NULL, NULL);
-+ cpu_state(-1);
-+ val.int32 = SYNAPSE_SUCCESS;
-+ return val;
-+}
-+
-+g_val_t
-+cpu_num_func ( void )
-+{
-+ g_val_t val;
-+ int ncpu;
-+ size_t len = sizeof (int);
-+ int mib[2];
-+
-+ mib[0] = CTL_HW;
-+ mib[1] = HW_NCPU;
-+ if (sysctl(mib, 2, &ncpu, &len, NULL, 0) == -1 || !len)
-+ ncpu = 1;
-+
-+ val.uint16 = ncpu;
-+ return val;
-+}
-+
-+g_val_t
-+cpu_speed_func ( void )
-+{
-+ g_val_t val;
-+ size_t len;
-+ long cpu_speed;
-+
-+ cpu_speed = 0;
-+
-+#if (__NetBSD_Version__ > 299000000)
-+ if (sysctlbyname("machdep.est.frequency.target", &cpu_speed, &len, NULL, 0) == -1)
-+ val.uint16 = 0;
-+#endif
-+
-+ val.uint16 = cpu_speed /= 1000000;
-+ return val;
-+}
-+
-+g_val_t
-+mem_total_func ( void )
-+{
-+ g_val_t val;
-+ size_t len;
-+ int total;
-+ int mib[2];
-+
-+ mib[0] = CTL_HW;
-+ mib[1] = HW_PHYSMEM;
-+ len = sizeof (total);
-+
-+ sysctl(mib, 2, &total, &len, NULL, 0);
-+ total /= 1024;
-+ val.uint32 = total;
-+ return val;
-+}
-+
-+g_val_t
-+swap_total_func ( void )
-+{
-+ g_val_t val;
-+
-+ int mib[2];
-+ struct uvmexp_sysctl uvmexp;
-+ size_t len;
-+ int totswap;
-+
-+ val.uint32 = 0;
-+ totswap = 0;
-+
-+ mib[0] = CTL_VM;
-+ mib[1] = VM_UVMEXP2;
-+
-+ len = sizeof(uvmexp);
-+
-+ if((sysctl(mib, 2, &uvmexp, &len, NULL, 0) < 0)
-+ || !len)
-+ totswap = 0;
-+ else
-+ totswap = uvmexp.swpages;
-+
-+ val.uint32 = totswap * (pagesize / 1024);
-+
-+ return val;
-+}
-+
-+g_val_t
-+boottime_func ( void )
-+{
-+ g_val_t val;
-+ struct timeval boottime;
-+ int mib[2];
-+ size_t size;
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_BOOTTIME;
-+ size = sizeof(boottime);
-+ if (sysctl(mib, 2, &boottime, &size, NULL, 0) == -1)
-+ val.uint32 = 0;
-+
-+ val.uint32 = boottime.tv_sec;
-+
-+ return val;
-+}
-+
-+g_val_t
-+sys_clock_func ( void )
-+{
-+ g_val_t val;
-+
-+ val.uint32 = time(NULL);
-+ return val;
-+}
-+
-+g_val_t
-+machine_type_func ( void )
-+{
-+ g_val_t val;
-+ char machine_type[MAX_G_STRING_SIZE];
-+ size_t len = MAX_G_STRING_SIZE;
-+ int mib[2];
-+
-+ mib[0] = CTL_HW;
-+ mib[1] = HW_MACHINE;
-+
-+ if (sysctl(mib, 2, &machine_type, &len, NULL, 0) == -1 || !len)
-+ strncpy( val.str, "x86", MAX_G_STRING_SIZE );
-+
-+ strncpy( val.str, machine_type, MAX_G_STRING_SIZE );
-+ return val;
-+}
-+
-+g_val_t
-+os_name_func ( void )
-+{
-+ g_val_t val;
-+ char osname[MAX_G_STRING_SIZE];
-+ size_t len = MAX_G_STRING_SIZE;
-+ int mib[2];
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_OSTYPE;
-+
-+ if (sysctl(mib, 2, &osname, &len, NULL, 0) == -1 || !len)
-+ strncpy( val.str, "NetBSD", MAX_G_STRING_SIZE );
-+
-+ strncpy( val.str, osname, MAX_G_STRING_SIZE );
-+
-+ return val;
-+}
-+
-+g_val_t
-+os_release_func ( void )
-+{
-+ g_val_t val;
-+ int mib[2];
-+ size_t len;
-+ char *prefix, buf[1024];
-+
-+ prefix = "";
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_OSRELEASE;
-+ len = sizeof(buf);
-+ if (sysctl(mib, 2, &buf, &len, NULL, 0) == -1)
-+ strncpy( val.str, "Unknown", MAX_G_STRING_SIZE );
-+
-+ strncpy( val.str, buf, MAX_G_STRING_SIZE );
-+
-+ return val;
-+}
-+
-+int
-+cpu_state(int which)
-+{
-+ u_int64_t cp_time[CPUSTATES];
-+ u_int64_t cp_diff[CPUSTATES];
-+ static u_int64_t cp_old[CPUSTATES];
-+ static u_int64_t cpu_states[CPUSTATES];
-+ static struct timeval this_time, last_time;
-+ struct timeval time_diff;
-+ size_t len = sizeof(cp_time);
-+ int i;
-+
-+ if (which == -1) {
-+ bzero(cp_old, sizeof(cp_old));
-+ bzero(&last_time, sizeof(last_time));
-+ return 0.0;
-+ }
-+
-+ gettimeofday(&this_time, NULL);
-+ timersub(&this_time, &last_time, &time_diff);
-+ if (timertod(&time_diff) < MIN_CPU_POLL_INTERVAL) {
-+ goto output;
-+ }
-+ last_time = this_time;
-+
-+ /* puts kern.cp_time array into cp_time */
-+ if (sysctlbyname("kern.cp_time", &cp_time, &len, NULL, 0) == -1) {
-+ warn("kern.cp_time");
-+ return 0.0;
-+ }
-+ /* Use percentages function lifted from top(1) to figure percentages */
-+ percentages(CPUSTATES, cpu_states, cp_time, cp_old, cp_diff);
-+
-+output:
-+ return cpu_states[which];
-+
-+}
-+
-+g_val_t
-+cpu_user_func ( void )
-+{
-+ g_val_t val;
-+ int res;
-+
-+ static u_int64_t cp_time[CPUSTATES];
-+ static u_int64_t cp_old[CPUSTATES];
-+ static u_int64_t cp_diff[CPUSTATES];
-+ static u_int64_t cpu_states[CPUSTATES];
-+ static long tot;
-+ size_t len = sizeof(cp_time);
-+ int mib[2];
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_CP_TIME;
-+
-+ /* Copy the last cp_time into cp_old */
-+ memcpy(&cp_old, &cp_time, CPUSTATES*sizeof(long));
-+ /* puts kern.cp_time array into cp_time */
-+ if (sysctl(mib, 2, &cp_time, &len, NULL, 0) == -1 || !len)
-+ res = 0.0;
-+ else {
-+ /* Use percentages function lifted from top(1) to figure percentages */
-+ tot = percentages(CPUSTATES, cpu_states, cp_time, cp_old, cp_diff);
-+ res = cpu_states[CP_USER];
-+ }
-+ val.f = (float)res/10;
-+ return val;
-+}
-+
-+g_val_t
-+cpu_nice_func ( void )
-+{
-+ g_val_t val;
-+ int res;
-+
-+ static u_int64_t cp_time[CPUSTATES];
-+ static u_int64_t cp_old[CPUSTATES];
-+ static u_int64_t cp_diff[CPUSTATES];
-+ static u_int64_t cpu_states[CPUSTATES];
-+ static long tot;
-+ size_t len = sizeof(cp_time);
-+ int mib[2];
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_CP_TIME;
-+
-+ /* Copy the last cp_time into cp_old */
-+ memcpy(&cp_old, &cp_time, CPUSTATES*sizeof(long));
-+ /* puts kern.cp_time array into cp_time */
-+ if (sysctl(mib, 2, &cp_time, &len, NULL, 0) == -1 || !len)
-+ res = 0.0;
-+ else {
-+ /* Use percentages function lifted from top(1) to figure percentages */
-+ tot = percentages(CPUSTATES, cpu_states, cp_time, cp_old, cp_diff);
-+ res = cpu_states[CP_NICE];
-+ }
-+ val.f = (float)res/10;
-+ return val;
-+}
-+
-+g_val_t
-+cpu_system_func ( void )
-+{
-+ g_val_t val;
-+ int res;
-+
-+ static u_int64_t cp_time[CPUSTATES];
-+ static u_int64_t cp_old[CPUSTATES];
-+ static u_int64_t cp_diff[CPUSTATES];
-+ static u_int64_t cpu_states[CPUSTATES];
-+ static long tot;
-+ size_t len = sizeof(cp_time);
-+ int mib[2];
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_CP_TIME;
-+
-+ /* Copy the last cp_time into cp_old */
-+ memcpy(&cp_old, &cp_time, CPUSTATES*sizeof(long));
-+ /* puts kern.cp_time array into cp_time */
-+ if (sysctl(mib, 2, &cp_time, &len, NULL, 0) == -1 || !len)
-+ res = 0.0;
-+ else {
-+ /* Use percentages function lifted from top(1) to figure percentages */
-+ tot = percentages(CPUSTATES, cpu_states, cp_time, cp_old, cp_diff);
-+ res = cpu_states[CP_SYS];
-+ }
-+ val.f = (float)res/10;
-+ return val;
-+}
-+
-+g_val_t
-+cpu_idle_func ( void )
-+{
-+ g_val_t val;
-+ int res;
-+
-+ static u_int64_t cp_time[CPUSTATES];
-+ static u_int64_t cp_old[CPUSTATES];
-+ static u_int64_t cp_diff[CPUSTATES];
-+ static u_int64_t cpu_states[CPUSTATES];
-+ static long tot;
-+ size_t len = sizeof(cp_time);
-+ int mib[2];
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_CP_TIME;
-+
-+ /* Copy the last cp_time into cp_old */
-+ memcpy(&cp_old, &cp_time, CPUSTATES*sizeof(long));
-+ /* puts kern.cp_time array into cp_time */
-+ if (sysctl(mib, 2, &cp_time, &len, NULL, 0) == -1 || !len)
-+ res = 0.0;
-+ else {
-+ /* Use percentages function lifted from top(1) to figure percentages */
-+ tot = percentages(CPUSTATES, cpu_states, cp_time, cp_old, cp_diff);
-+ res = cpu_states[CP_IDLE];
-+ }
-+ val.f = (float)res/10;
-+ return val;
-+}
-+
-+/*
-+** FIXME
-+*/
-+g_val_t
-+cpu_wio_func ( void )
-+{
-+ g_val_t val;
-+ val.f = 0.0;
-+ return val;
-+}
-+
-+g_val_t
-+cpu_aidle_func ( void )
-+{
-+ g_val_t val;
-+
-+ val.f = 0.0;
-+ return val;
-+}
-+
-+g_val_t
-+cpu_intr_func ( void )
-+{
-+ g_val_t val;
-+ int res;
-+
-+ static u_int64_t cp_time[CPUSTATES];
-+ static u_int64_t cp_old[CPUSTATES];
-+ static u_int64_t cp_diff[CPUSTATES];
-+ static u_int64_t cpu_states[CPUSTATES];
-+ static long tot;
-+ size_t len = sizeof(cp_time);
-+ int mib[2];
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_CP_TIME;
-+
-+ /* Copy the last cp_time into cp_old */
-+ memcpy(&cp_old, &cp_time, CPUSTATES*sizeof(long));
-+ /* puts kern.cp_time array into cp_time */
-+ if (sysctl(mib, 2, &cp_time, &len, NULL, 0) == -1 || !len)
-+ res = 0.0;
-+ else {
-+ /* Use percentages function lifted from top(1) to figure percentages */
-+ tot = percentages(CPUSTATES, cpu_states, cp_time, cp_old, cp_diff);
-+ res = cpu_states[CP_INTR];
-+ }
-+
-+ val.f = (float)res/10;
-+ return val;
-+}
-+
-+/*
-+** FIXME
-+*/
-+g_val_t
-+cpu_sintr_func ( void )
-+{
-+ g_val_t val;
-+ val.f = 0.0;
-+ return val;
-+}
-+
-+g_val_t
-+load_one_func ( void )
-+{
-+ g_val_t val;
-+ double load[3];
-+
-+ getloadavg(load, 3);
-+ val.f = load[0];
-+ return val;
-+}
-+
-+g_val_t
-+load_five_func ( void )
-+{
-+ g_val_t val;
-+ double load[3];
-+
-+ getloadavg(load, 3);
-+
-+ val.f = load[1];
-+ return val;
-+}
-+
-+g_val_t
-+load_fifteen_func ( void )
-+{
-+ g_val_t val;
-+ double load[3];
-+
-+ getloadavg(load, 3);
-+ val.f = load[2];
-+ return val;
-+}
-+
-+g_val_t
-+proc_total_func ( void )
-+{
-+ g_val_t val;
-+ int mib[3];
-+ size_t len;
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC;
-+ mib[2] = KERN_PROC_ALL;
-+
-+ sysctl(mib, 3, NULL, &len, NULL, 0);
-+
-+ val.uint32 = (len / sizeof (struct kinfo_proc));
-+
-+ return val;
-+}
-+
-+
-+/*
-+ * Don't know how to do this yet..
-+ */
-+g_val_t
-+proc_run_func( void )
-+{
-+ struct kinfo_proc *kp;
-+ int i;
-+ int state;
-+ int nentries;
-+ int what = KERN_PROC_ALL;
-+ g_val_t val;
-+
-+ val.uint32 = 0;
-+
-+ if (kd == NULL)
-+ goto output;
-+#ifdef KERN_PROC_NOTHREADS
-+ what |= KERN_PROC_NOTHREADS
-+#endif
-+ if ((kp = kvm_getprocs(kd, what, 0, &nentries)) == 0 || nentries < 0)
-+ goto output;
-+
-+ for (i = 0; i < nentries; kp++, i++) {
-+#ifdef KINFO_PROC_SIZE
-+ state = kp->ki_stat;
-+#else
-+ state = kp->kp_proc.p_stat;
-+#endif
-+ switch(state) {
-+#if (__NetBSD_Version__ >= 200000000)
-+ case SACTIVE:
-+#else
-+ case SRUN:
-+ case SONPROC:
-+#endif
-+ case SIDL:
-+ val.uint32++;
-+ break;
-+ }
-+ }
-+
-+ if (val.uint32 > 0)
-+ val.uint32--;
-+
-+output:
-+ return val;
-+}
-+
-+g_val_t
-+mem_free_func ( void )
-+{
-+ g_val_t val;
-+ size_t len;
-+ struct vmtotal vminfo;
-+ int mib[2];
-+
-+ len = sizeof(vminfo);
-+ mib[0] = CTL_VM;
-+ mib[1] = VM_METER;
-+ if (sysctl(mib, 2, &vminfo, &len, NULL, 0) < 0)
-+ val.uint32 = 0;
-+ else
-+ val.uint32 = vminfo.t_free * (pagesize / 1024);
-+ return val;
-+}
-+
-+g_val_t
-+mem_shared_func ( void )
-+{
-+ g_val_t val;
-+ size_t len;
-+ struct vmtotal vminfo;
-+ int mib[2];
-+
-+ len = sizeof(vminfo);
-+ mib[0] = CTL_VM;
-+ mib[1] = VM_METER;
-+ if (sysctl(mib, 2, &vminfo, &len, NULL, 0) < 0)
-+ val.uint32 = 0;
-+ else
-+ val.uint32 = (vminfo.t_vmshr + vminfo.t_rmshr) * (pagesize / 1024);
-+ return val;
-+}
-+
-+g_val_t
-+mem_buffers_func ( void )
-+{
-+ g_val_t val;
-+ size_t len;
-+ int buffers;
-+ int mib[2];
-+
-+ mib[0] = CTL_VM;
-+ mib[1] = VM_NKMEMPAGES;
-+
-+ len = sizeof (buffers);
-+ if((sysctl(mib, 2, &buffers, &len, NULL, 0) == -1) || !len)
-+ buffers = 0;
-+ buffers /= 1024;
-+
-+ val.uint32 = buffers;
-+ return val;
-+}
-+
-+g_val_t
-+mem_cached_func ( void )
-+{
-+ g_val_t val;
-+ size_t len;
-+ int cache;
-+ struct uvmexp_sysctl uvmexp;
-+ int mib[2];
-+
-+ mib[0] = CTL_VM;
-+ mib[1] = VM_UVMEXP2;
-+
-+ len = sizeof(uvmexp);
-+
-+ if((sysctl(mib, 2, &uvmexp, &len, NULL, 0) < 0)
-+ || !len)
-+ cache = 0;
-+ else
-+ cache = uvmexp.execpages + uvmexp.filepages;
-+
-+ val.uint32 = cache * (pagesize / 1024);
-+ return val;
-+}
-+
-+g_val_t
-+swap_free_func ( void )
-+{
-+ g_val_t val;
-+
-+ int mib[2];
-+ struct uvmexp_sysctl uvmexp;
-+ size_t len;
-+ int totswapf;
-+
-+ val.uint32 = 0;
-+ totswapf = 0;
-+
-+ mib[0] = CTL_VM;
-+ mib[1] = VM_UVMEXP2;
-+
-+ len = sizeof(uvmexp);
-+
-+ if((sysctl(mib, 2, &uvmexp, &len, NULL, 0) < 0)
-+ || !len)
-+ totswapf = 0;
-+ else
-+ totswapf = uvmexp.swpages - uvmexp.swpginuse;
-+
-+ val.uint32 = totswapf * (pagesize / 1024);
-+
-+ return val;
-+}
-+
-+g_val_t
-+mtu_func ( void )
-+{
-+ /* We want to find the minimum MTU (Max packet size) over all UP interfaces.
-+*/
-+ g_val_t val;
-+ val.uint32 = get_min_mtu();
-+ /* A val of 0 means there are no UP interfaces. Shouldn't happen. */
-+ return val;
-+}
-+
-+/*
-+ * Function to get cpu percentages.
-+ * Might be changed ever so slightly, but is still mostly:
-+ * AUTHOR: Christos Zoulas <christos@ee.cornell.edu>
-+ * Steven Wallace <swallace@freebsd.org>
-+ * Wolfram Schneider <wosch@FreeBSD.org>
-+ *
-+ * $FreeBSD: src/usr.bin/top/machine.c,v 1.29.2.2 2001/07/31 20:27:05 tmm Exp $
-+ */
-+
-+static long percentages(int cnt, u_int64_t *out, register u_int64_t *new,
-+ register u_int64_t *old, u_int64_t *diffs) {
-+
-+ register int i;
-+ register u_int64_t change;
-+ register u_int64_t total_change;
-+ register u_int64_t *dp;
-+ long half_total;
-+
-+ /* initialization */
-+ total_change = 0;
-+ dp = diffs;
-+
-+ /* calculate changes for each state and the overall change */
-+ for (i = 0; i < cnt; i++) {
-+ if ((change = *new - *old) < 0) {
-+ /* this only happens when the counter wraps */
-+ change = (int)
-+ ((unsigned long)*new-(unsigned long)*old);
-+ }
-+ total_change += (*dp++ = change);
-+ *old++ = *new++;
-+ }
-+ /* avoid divide by zero potential */
-+ if (total_change == 0) { total_change = 1; }
-+
-+ /* calculate percentages based on overall change, rounding up */
-+ half_total = total_change / 2l;
-+
-+ /* Do not divide by 0. Causes Floating point exception */
-+ if(total_change) {
-+ for (i = 0; i < cnt; i++) {
-+ *out++ = (int)((*diffs++ * 1000 + half_total) / total_change);
-+ }
-+ }
-+
-+ /* return the total in case the caller wants to use it */
-+ return(total_change);
-+}
-+
-+g_val_t
-+pkts_in_func ( void )
-+{
-+ double in_pkts;
-+ g_val_t val;
-+
-+ get_netbw(NULL, NULL, &in_pkts, NULL);
-+
-+ val.f = (float)in_pkts;
-+ return val;
-+}
-+
-+g_val_t
-+pkts_out_func ( void )
-+{
-+ double out_pkts;
-+ g_val_t val;
-+
-+ get_netbw(NULL, NULL, NULL, &out_pkts);
-+
-+ val.f = (float)out_pkts;
-+ return val;
-+}
-+
-+g_val_t
-+bytes_out_func ( void )
-+{
-+ double out_bytes;
-+ g_val_t val;
-+
-+ get_netbw(NULL, &out_bytes, NULL, NULL);
-+
-+ val.f = (float)out_bytes;
-+ return val;
-+}
-+
-+g_val_t
-+bytes_in_func ( void )
-+{
-+ double in_bytes;
-+ g_val_t val;
-+
-+ get_netbw(&in_bytes, NULL, NULL, NULL);
-+
-+ val.f = (float)in_bytes;
-+ return val;
-+}
-+
-+/*
-+ * Disk space reporting functions from Linux code. find_disk_space()
-+ * body derived from NetBSD df and mount code.
-+ */
-+
-+g_val_t
-+disk_free_func( void )
-+{
-+ double total_free=0.0;
-+ double total_size=0.0;
-+ g_val_t val;
-+
-+ find_disk_space(&total_size, &total_free);
-+
-+ val.d = total_free;
-+ return val;
-+}
-+
-+g_val_t
-+disk_total_func( void )
-+{
-+ double total_free=0.0;
-+ double total_size=0.0;
-+ g_val_t val;
-+
-+ find_disk_space(&total_size, &total_free);
-+
-+ val.d = total_size;
-+ return val;
-+}
-+
-+g_val_t
-+part_max_used_func( void )
-+{
-+ double total_free=0.0;
-+ double total_size=0.0;
-+ float most_full;
-+ g_val_t val;
-+
-+ most_full = find_disk_space(&total_size, &total_free);
-+
-+ val.f = most_full;
-+ return val;
-+}
-+
-+
-+/*
-+ * Copyright (c) 1980, 1983, 1990, 1993, 1994, 1995
-+ * The Regents of the University of California. All rights reserved.
-+ * (c) UNIX System Laboratories, Inc.
-+ * All or some portions of this file are derived from material licensed
-+ * to the University of California by American Telephone and Telegraph
-+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
-+ * the permission of UNIX System Laboratories, Inc.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. All advertising materials mentioning features or use of this software
-+ * must display the following acknowledgement:
-+ * This product includes software developed by the University of
-+ * California, Berkeley and its contributors.
-+ * 4. Neither the name of the University nor the names of its contributors
-+ * may be used to endorse or promote products derived from this software
-+ * without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ *
-+ *
-+ * NOTE: The copyright of UC Berkeley's Berkeley Software Distribution
-+ * ("BSD") source has been updated. The copyright addendum may be found
-+ * at ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change.
-+ */
-+
-+
-+
-+static float
-+find_disk_space(double *total, double *tot_avail)
-+{
-+ struct statfs *mntbuf;
-+ const char *fstype;
-+ const char **vfslist;
-+ char *netvfslist;
-+ size_t i, mntsize;
-+ size_t used, availblks;
-+ const double reported_units = 1e9;
-+ double toru;
-+ float pct;
-+ float most_full = 0.0;
-+
-+ *total = 0.0;
-+ *tot_avail = 0.0;
-+
-+ fstype = "ufs";
-+
-+ netvfslist = makenetvfslist();
-+ vfslist = makevfslist(netvfslist);
-+ free(netvfslist);
-+
-+ mntsize = getmntinfo(&mntbuf, MNT_NOWAIT);
-+ mntsize = regetmntinfo(&mntbuf, mntsize, vfslist);
-+ for (i = 0; i < mntsize; i++) {
-+#ifdef HAVE_SYS_STATVFS_H
-+ if ((mntbuf[i].f_flag & MNT_IGNORE) == 0) {
-+#else
-+ if ((mntbuf[i].f_flags & MNT_IGNORE) == 0) {
-+#endif
-+ used = mntbuf[i].f_blocks - mntbuf[i].f_bfree;
-+ availblks = mntbuf[i].f_bavail + used;
-+ pct = (availblks == 0 ? 100.0 :
-+ (double)used / (double)availblks * 100.0);
-+ if (pct > most_full)
-+ most_full = pct;
-+
-+#ifdef HAVE_SYS_STATVFS_H
-+ toru = reported_units/mntbuf[i].f_frsize;
-+#else
-+ toru = reported_units/mntbuf[i].f_bsize;
-+#endif
-+ *total += mntbuf[i].f_blocks / toru;
-+ *tot_avail += mntbuf[i].f_bavail / toru;
-+ }
-+ }
-+
-+ return most_full;
-+}
-+
-+/*
-+ * Make a pass over the file system info in ``mntbuf'' filtering out
-+ * file system types not in vfslist and possibly re-stating to get
-+ * current (not cached) info. Returns the new count of valid statfs bufs.
-+ */
-+static size_t
-+regetmntinfo(struct statfs **mntbufp, long mntsize, const char **vfslist)
-+{
-+ int i, j;
-+ struct statfs *mntbuf;
-+
-+ if (vfslist == NULL)
-+ return (getmntinfo(mntbufp, MNT_WAIT));
-+
-+ mntbuf = *mntbufp;
-+ j = 0;
-+ for (j = 0, i = 0; i < mntsize; i++) {
-+ if (checkvfsname(mntbuf[i].f_fstypename, vfslist))
-+ continue;
-+ (void)statfs(mntbuf[i].f_mntonname, &mntbuf[j]);
-+ j++;
-+ }
-+ return (j);
-+}
-+
-+static int
-+checkvfsname(const char *vfsname, const char **vfslist)
-+{
-+ if (vfslist == NULL)
-+ return (0);
-+ while (*vfslist != NULL) {
-+ if (strcmp(vfsname, *vfslist) == 0)
-+ return (skipvfs);
-+ ++vfslist;
-+ }
-+ return (!skipvfs);
-+}
-+
-+static const char **
-+makevfslist(char *fslist)
-+{
-+ const char **av;
-+ int i;
-+ char *nextcp;
-+ if (fslist == NULL)
-+ return (NULL);
-+ if (fslist[0] == 'n' && fslist[1] == 'o') {
-+ fslist += 2;
-+ skipvfs = 1;
-+ }
-+ for (i = 0, nextcp = fslist; *nextcp; nextcp++)
-+ if (*nextcp == ',')
-+ i++;
-+ if ((av = malloc((size_t)(i + 2) * sizeof(char *))) == NULL) {
-+ warnx("malloc failed");
-+ return (NULL);
-+ }
-+ nextcp = fslist;
-+ i = 0;
-+ i = 0;
-+ av[i++] = nextcp;
-+ while ((nextcp = strchr(nextcp, ',')) != NULL) {
-+ *nextcp++ = '\0';
-+ av[i++] = nextcp;
-+ }
-+ av[i++] = NULL;
-+ return (av);
-+}
-+
-+static char *
-+makenetvfslist(void)
-+{
-+ char *str = NULL, *strptr, **listptr = NULL;
-+ size_t slen;
-+ int cnt, i;
-+
-+ int mib[3], maxvfsconf;
-+ size_t miblen;
-+ struct ovfsconf *ptr;
-+
-+ mib[0] = CTL_VFS; mib[1] = VFS_GENERIC; mib[2] = VFS_MAXTYPENUM;
-+ miblen=sizeof(maxvfsconf);
-+ if (sysctl(mib, (unsigned int)(sizeof(mib) / sizeof(mib[0])),
-+ &maxvfsconf, &miblen, NULL, 0)) {
-+ warnx("sysctl failed");
-+ goto done;
-+ }
-+
-+ if ((listptr = malloc(sizeof(char*) * maxvfsconf)) == NULL) {
-+ warnx("malloc failed");
-+ goto done;
-+ }
-+
-+ cnt = 0;
-+ /* XXX: use sysctl ? */
-+ /* while ((ptr = getvfsent()) != NULL && cnt < maxvfsconf) {
-+
-+ listptr[cnt] = strdup(ptr->vfc_name);
-+ if (listptr[cnt] == NULL) {
-+ warnx("malloc failed");
-+ goto done;
-+ }
-+ cnt++;
-+ } */
-+ if (cnt == 0)
-+ goto done;
-+ /*
-+ * Count up the string lengths, we need a extra byte to hold
-+ * the between entries ',' or the NUL at the end.
-+ */
-+ for (i = 0; i < cnt; i++)
-+ slen = strlen(listptr[i]) + 1;
-+ /* Add 2 for initial "no". */
-+ slen += 2;
-+
-+ if ((str = malloc(slen)) == NULL) {
-+ warnx("malloc failed");
-+ goto done;
-+ }
-+
-+ str[0] = 'n';
-+ str[1] = 'o';
-+ for (i = 0, strptr = str + 2; i < cnt; i++, strptr++) {
-+ strcpy(strptr, listptr[i]);
-+ strptr += strlen(listptr[i]);
-+ *strptr = ',';
-+ }
-+ *strptr = '\0';
-+
-+done:
-+ if (listptr != NULL) {
-+ for(i = 0; i < cnt && listptr[i] != NULL; i++)
-+ free(listptr[i]);
-+ free(listptr);
-+ }
-+ return (str);
-+
-+}
-+
-+static void
-+get_netbw(double *in_bytes, double *out_bytes,
-+ double *in_pkts, double *out_pkts)
-+{
-+#ifdef NETBW_DEBUG
-+ char name[IFNAMSIZ];
-+#endif
-+ struct if_msghdr *ifm, *nextifm;
-+ struct sockaddr_dl *sdl;
-+ char *buf, *lim, *next;
-+ size_t needed;
-+ int mib[6];
-+ int i;
-+ int index;
-+ static double ibytes, obytes, ipkts, opkts;
-+ struct timeval this_time;
-+ struct timeval time_diff;
-+ struct traffic traffic;
-+ static struct timeval last_time = {0,0};
-+ static int indexes = 0;
-+ static int *seen = NULL;
-+ static struct traffic *lastcount = NULL;
-+ static double o_ibytes, o_obytes, o_ipkts, o_opkts;
-+
-+ ibytes = obytes = ipkts = opkts = 0.0;
-+
-+ mib[0] = CTL_NET;
-+ mib[1] = PF_ROUTE;
-+ mib[2] = 0;
-+ mib[3] = 0; /* address family */
-+ mib[4] = NET_RT_IFLIST;
-+ mib[5] = 0; /* interface index */
-+
-+ gettimeofday(&this_time, NULL);
-+ timersub(&this_time, &last_time, &time_diff);
-+ if (timertod(&time_diff) < MIN_NET_POLL_INTERVAL) {
-+ goto output;
-+ }
-+
-+
-+ if (sysctl(mib, 6, NULL, &needed, NULL, 0) < 0)
-+ errx(1, "iflist-sysctl-estimate");
-+ if ((buf = malloc(needed)) == NULL)
-+ errx(1, "malloc");
-+ if (sysctl(mib, 6, buf, &needed, NULL, 0) < 0)
-+ errx(1, "actual retrieval of interface table");
-+ lim = buf + needed;
-+
-+ next = buf;
-+ while (next < lim) {
-+
-+ ifm = (struct if_msghdr *)next;
-+
-+ if (ifm->ifm_type == RTM_IFINFO) {
-+ sdl = (struct sockaddr_dl *)(ifm + 1);
-+ } else {
-+ fprintf(stderr, "out of sync parsing NET_RT_IFLIST\n");
-+ fprintf(stderr, "expected %d, got %d\n", RTM_IFINFO,
-+ ifm->ifm_type);
-+ fprintf(stderr, "msglen = %d\n", ifm->ifm_msglen);
-+ fprintf(stderr, "buf:%p, next:%p, lim:%p\n", buf, next,
-+ lim);
-+ exit (1);
-+ }
-+
-+ next += ifm->ifm_msglen;
-+ while (next < lim) {
-+ nextifm = (struct if_msghdr *)next;
-+
-+ if (nextifm->ifm_type != RTM_NEWADDR)
-+ break;
-+
-+ next += nextifm->ifm_msglen;
-+ }
-+
-+ if ((ifm->ifm_flags & IFF_LOOPBACK) ||
-+ !(ifm->ifm_flags & IFF_UP))
-+ continue;
-+
-+ index = ifm->ifm_index;
-+
-+ /* If we don't have a previous value yet, make a slot. */
-+ if (index >= indexes) {
-+ seen = realloc(seen, sizeof(*seen)*(index+1));
-+ lastcount = realloc(lastcount,
-+ sizeof(*lastcount)*(index+1));
-+
-+ /* Initalize the new slots */
-+ for (i = indexes; i <= index; i++) {
-+ seen[i] = 0;
-+ }
-+ indexes = index+1;
-+ }
-+
-+ /*
-+ * If this is the first time we've seen this interface,
-+ * set the last values to the current ones. That causes
-+ * us to see no bandwidth on the interface the first
-+ * time, but that's OK.
-+ */
-+ if (!seen[index]) {
-+ seen[index] = 1;
-+ lastcount[index].in_bytes = ifm->ifm_data.ifi_ibytes;
-+ lastcount[index].out_bytes = ifm->ifm_data.ifi_obytes;
-+ lastcount[index].in_pkts = ifm->ifm_data.ifi_ipackets;
-+ lastcount[index].out_pkts = ifm->ifm_data.ifi_opackets;
-+ }
-+
-+ traffic.in_bytes = counterdiff(lastcount[index].in_bytes,
-+ ifm->ifm_data.ifi_ibytes, ULONG_MAX, 0);
-+ traffic.out_bytes = counterdiff(lastcount[index].out_bytes,
-+ ifm->ifm_data.ifi_obytes, ULONG_MAX, 0);
-+ traffic.in_pkts = counterdiff(lastcount[index].in_pkts,
-+ ifm->ifm_data.ifi_ipackets, ULONG_MAX, 0);
-+ traffic.out_pkts = counterdiff(lastcount[index].out_pkts,
-+ ifm->ifm_data.ifi_opackets, ULONG_MAX, 0);
-+
-+ lastcount[index].in_bytes = ifm->ifm_data.ifi_ibytes;
-+ lastcount[index].out_bytes = ifm->ifm_data.ifi_obytes;
-+ lastcount[index].in_pkts = ifm->ifm_data.ifi_ipackets;
-+ lastcount[index].out_pkts = ifm->ifm_data.ifi_opackets;
-+
-+#ifdef NETBW_DEBUG
-+ if_indextoname(index, name);
-+ printf("%s: \n", name);
-+ printf("\topackets=%llu ipackets=%llu\n",
-+ traffic.out_pkts, traffic.in_pkts);
-+ printf("\tobytes=%llu ibytes=%llu\n",
-+ traffic.out_bytes, traffic.in_bytes);
-+#endif
-+
-+ if (timerisset(&last_time)) {
-+ ibytes += (double)traffic.in_bytes / timertod(&time_diff);
-+ obytes += (double)traffic.out_bytes / timertod(&time_diff);
-+ ipkts += (double)traffic.in_pkts / timertod(&time_diff);
-+ opkts += (double)traffic.out_pkts / timertod(&time_diff);
-+ }
-+ }
-+ free(buf);
-+
-+ /* Save the values from this time */
-+ last_time = this_time;
-+ o_ibytes = ibytes;
-+ o_obytes = obytes;
-+ o_ipkts = ipkts;
-+ o_opkts = opkts;
-+
-+output:
-+ if (in_bytes != NULL)
-+ *in_bytes = o_ibytes;
-+ if (out_bytes != NULL)
-+ *out_bytes = o_obytes;
-+ if (in_pkts != NULL)
-+ *in_pkts = o_ipkts;
-+ if (out_pkts != NULL)
-+ *out_pkts = o_opkts;
-+}
-+
-+static uint64_t
-+counterdiff(uint64_t oldval, uint64_t newval, uint64_t maxval, uint64_t maxdiff)
-+{
-+ uint64_t diff;
-+
-+ if (maxdiff == 0)
-+ maxdiff = maxval;
-+
-+ /* Paranoia */
-+ if (oldval > maxval || newval > maxval)
-+ return 0;
-+
-+ /*
-+ * Tackle the easy case. Don't worry about maxdiff here because
-+ * we're SOL if it happens (i.e. assuming a reset just makes
-+ * matters worse).
-+ */
-+ if (oldval <= newval)
-+ return (newval - oldval);
-+
-+ /*
-+ * Now the tricky part. If we assume counters never get reset,
-+ * this is easy. Unfortunaly, they do get reset on some
-+ * systems, so we need to try and deal with that. Our huristic
-+ * is that if out difference is greater then maxdiff and newval
-+ * is less or equal to maxdiff, then we've probably been reset
-+ * rather then actually wrapping. Obviously, you need to be
-+ * careful to poll often enough that you won't exceed maxdiff or
-+ * you will get undersized numbers when you do wrap.
-+ */
-+ diff = maxval - oldval + newval;
-+ if (diff > maxdiff && newval <= maxdiff)
-+ return newval;
-+
-+ return diff;
-+}
+--- gmetad/gmetad.conf.orig 2009-01-28 16:23:20.000000000 -0700
++++ gmetad/gmetad.conf
+@@ -110,5 +110,5 @@ data_source "my cluster" localhost
+ #
+ #-------------------------------------------------------------------------------
+ # Where gmetad stores its round-robin databases
+-# default: "/var/lib/ganglia/rrds"
++# default: "/var/db/ganglia/rrds"
+ # rrd_rootdir "/some/other/place"
diff --git a/parallel/ganglia-monitor-core/patches/patch-ac b/parallel/ganglia-monitor-core/patches/patch-ac
index 627f13ac99e..8b29581a947 100644
--- a/parallel/ganglia-monitor-core/patches/patch-ac
+++ b/parallel/ganglia-monitor-core/patches/patch-ac
@@ -1,13 +1,16 @@
-$NetBSD: patch-ac,v 1.2 2005/02/10 02:33:53 jschauma Exp $
+$NetBSD: patch-ac,v 1.3 2009/11/10 14:55:18 brook Exp $
---- gmond/g25_config.h.orig 2005-02-07 22:27:32.000000000 -0500
-+++ gmond/g25_config.h 2005-02-07 22:27:46.000000000 -0500
-@@ -4,7 +4,7 @@
- #include <string.h>
+--- libmetrics/netbsd/metrics.c.orig 2009-01-28 16:23:20.000000000 -0700
++++ libmetrics/netbsd/metrics.c
+@@ -134,7 +134,10 @@ cpu_speed_func ( void )
- /* autoconf me later */
--#define DEFAULT_GMOND_CONFIG_FILE "/etc/gmond.conf"
-+#define DEFAULT_GMOND_CONFIG_FILE "@PKG_SYSCONFDIR@/gmond.conf"
+ cpu_speed = 0;
- typedef struct
- {
+-#if (__NetBSD_Version__ > 299000000)
++#if (__NetBSD_Version__ > 500000000)
++ if (sysctlbyname("machdep.tsc_freq", &cpu_speed, &len, NULL, 0) == -1)
++ val.uint32 = 0;
++#elif (__NetBSD_Version__ > 299000000)
+ if (sysctlbyname("machdep.est.frequency.target", &cpu_speed, &len, NULL, 0) == -1)
+ val.uint32 = 0;
+ #endif
diff --git a/parallel/ganglia-monitor-core/patches/patch-ad b/parallel/ganglia-monitor-core/patches/patch-ad
deleted file mode 100644
index 0b281a1b93b..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-ad
+++ /dev/null
@@ -1,11 +0,0 @@
-$NetBSD: patch-ad,v 1.1.1.1 2005/02/07 14:33:21 jschauma Exp $
-
---- mans/gmetad.1.orig 2005-02-04 17:29:38.000000000 -0500
-+++ mans/gmetad.1 2005-02-04 17:28:38.000000000 -0500
-@@ -21,5 +21,5 @@
- Print version and exit
- .TP
- \fB\-cSTRING\fR \fB\-\-conf\fR=\fISTRING\fR
--Location of gmetad configuration file (default='/etc/gmetad.conf')
-+Location of gmetad configuration file (default='@PKG_SYSCONFDIR@/gmetad.conf')
- .SH "SEE ALSO"
diff --git a/parallel/ganglia-monitor-core/patches/patch-ae b/parallel/ganglia-monitor-core/patches/patch-ae
deleted file mode 100644
index 92b62f42b84..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-ae
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ae,v 1.1.1.1 2005/02/07 14:33:21 jschauma Exp $
-
---- mans/gmond.1.orig 2005-02-04 17:29:46.000000000 -0500
-+++ mans/gmond.1 2005-02-04 17:29:01.000000000 -0500
-@@ -17,7 +17,7 @@
- Print version and exit
- .TP
- \fB\-cSTRING\fR \fB\-\-conf\fR=\fISTRING\fR
--Location of gmond configuration file (default='/etc/gmond.conf')
-+Location of gmond configuration file (default='@PKG_SYSCONFDIR@/gmond.conf')
- .SH AUTHOR
- Matt Massie <massie@cs.berkeley.edu>
- .SH "REPORTING BUGS"
diff --git a/parallel/ganglia-monitor-core/patches/patch-af b/parallel/ganglia-monitor-core/patches/patch-af
deleted file mode 100644
index 307198dd71c..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-af
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-af,v 1.1.1.1 2005/02/07 14:33:21 jschauma Exp $
-
---- gmetad/cmdline.c.orig 2005-02-04 17:31:01.000000000 -0500
-+++ gmetad/cmdline.c 2005-02-04 17:31:23.000000000 -0500
-@@ -50,7 +50,7 @@
- "Usage: %s [OPTIONS]...\n", PACKAGE);
- printf(" -h --help Print help and exit\n");
- printf(" -V --version Print version and exit\n");
-- printf(" -cSTRING --conf=STRING Location of gmetad configuration file (default='/etc/gmetad.conf')\n");
-+ printf(" -cSTRING --conf=STRING Location of gmetad configuration file (default='@PKG_SYSCONFDIR@/gmetad.conf')\n");
- printf(" -dINT --debug=INT Debug level. If greater than zero, daemon will stay in foreground. (default=0)\n");
- }
-
-@@ -80,7 +80,7 @@
- args_info->conf_given = 0 ;
- args_info->debug_given = 0 ;
- #define clear_args() { \
-- args_info->conf_arg = strdup("/etc/gmetad.conf") ;\
-+ args_info->conf_arg = strdup("@PKG_SYSCONFDIR@/gmetad.conf") ;\
- args_info->debug_arg = 0 ;\
- }
-
diff --git a/parallel/ganglia-monitor-core/patches/patch-ag b/parallel/ganglia-monitor-core/patches/patch-ag
deleted file mode 100644
index f6f7f3824d3..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-ag
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-ag,v 1.2 2005/02/10 02:33:53 jschauma Exp $
-
---- gmond/cmdline.c.orig 2005-02-07 22:23:36.000000000 -0500
-+++ gmond/cmdline.c 2005-02-07 22:24:47.000000000 -0500
-@@ -42,7 +42,7 @@
- printf("\n");
- printf(" -h, --help Print help and exit\n");
- printf(" -V, --version Print version and exit\n");
-- printf(" -c, --conf=STRING Location of gmond configuration file (default=\n `/etc/gmond.conf')\n");
-+ printf(" -c, --conf=STRING Location of gmond configuration file (default=\n `@PKG_SYSCONFDIR@/gmond.conf')\n");
- printf(" -l, --location=STRING Location of this host in the cluster \n 'rack,rank,plane'. (default=`0,0,0')\n");
- printf(" -d, --debug=INT Debug level. If greater than zero, daemon will stay \n in foreground. (default=`0')\n");
- printf(" -f, --foreground Run in foreground (don't daemonize) (default=off)\n");
-@@ -84,7 +84,7 @@
- args_info->bandwidth_given = 0 ;
- args_info->convert_given = 0 ;
- #define clear_args() { \
-- args_info->conf_arg = gengetopt_strdup("/etc/gmond.conf") ;\
-+ args_info->conf_arg = gengetopt_strdup("@PKG_SYSCONFDIR@/gmond.conf") ;\
- args_info->location_arg = gengetopt_strdup("0,0,0") ;\
- args_info->debug_arg = 0 ;\
- args_info->foreground_flag = 0;\
diff --git a/parallel/ganglia-monitor-core/patches/patch-ah b/parallel/ganglia-monitor-core/patches/patch-ah
deleted file mode 100644
index 3d6c10390b7..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-ah
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ah,v 1.3 2005/06/17 15:46:46 hira Exp $
-
---- gmetad/conf.c.orig 2005-04-03 13:24:33.000000000 -0400
-+++ gmetad/conf.c 2005-04-03 13:24:57.000000000 -0400
-@@ -264,7 +264,7 @@
- config->debug_level = 0;
- config->should_setuid = 1;
- config->setuid_username = "nobody";
-- config->rrd_rootdir = "/var/lib/ganglia/rrds";
-+ config->rrd_rootdir = "/var/db/ganglia/rrds";
- config->scalable_mode = 1;
- config->all_trusted = 0;
- config->num_RRAs = 5;
diff --git a/parallel/ganglia-monitor-core/patches/patch-ai b/parallel/ganglia-monitor-core/patches/patch-ai
deleted file mode 100644
index dbc99915ec7..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-ai
+++ /dev/null
@@ -1,11 +0,0 @@
-$NetBSD: patch-ai,v 1.1.1.1 2005/02/07 14:33:21 jschauma Exp $
-
---- gmetad/gmetad.conf.orig 2005-02-04 17:36:39.000000000 -0500
-+++ gmetad/gmetad.conf 2005-02-04 17:36:53.000000000 -0500
-@@ -102,5 +102,5 @@
- #
- #-------------------------------------------------------------------------------
- # Where gmetad stores its round-robin databases
--# default: "/var/lib/ganglia/rrds"
-+# default: "/var/db/ganglia/rrds"
- # rrd_rootdir "/some/other/place"
diff --git a/parallel/ganglia-monitor-core/patches/patch-aj b/parallel/ganglia-monitor-core/patches/patch-aj
deleted file mode 100644
index 5c8f208f2fb..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-aj
+++ /dev/null
@@ -1,9 +0,0 @@
-$NetBSD: patch-aj,v 1.1 2005/02/10 02:33:53 jschauma Exp $
-
---- /dev/null 2005-02-07 22:12:34.000000000 -0500
-+++ srclib/libmetrics/netbsd/Makefile.am 2005-02-07 22:17:51.000000000 -0500
-@@ -0,0 +1,4 @@
-+AM_CFLAGS=-I.. -I$(top_builddir)/lib
-+
-+noinst_LTLIBRARIES = libmetric25.la
-+libmetric25_la_SOURCES = metrics.c
diff --git a/parallel/ganglia-monitor-core/patches/patch-ak b/parallel/ganglia-monitor-core/patches/patch-ak
deleted file mode 100644
index 07e9ac3813a..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-ak
+++ /dev/null
@@ -1,340 +0,0 @@
-$NetBSD: patch-ak,v 1.1 2005/02/10 02:33:53 jschauma Exp $
-
---- /dev/null 2005-02-07 22:12:34.000000000 -0500
-+++ srclib/libmetrics/netbsd/Makefile.in 2005-02-07 22:17:51.000000000 -0500
-@@ -0,0 +1,335 @@
-+# Makefile.in generated by automake 1.6.3 from Makefile.am.
-+# @configure_input@
-+
-+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
-+# Free Software Foundation, Inc.
-+# This Makefile.in is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+@SET_MAKE@
-+SHELL = @SHELL@
-+
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+VPATH = @srcdir@
-+prefix = @prefix@
-+exec_prefix = @exec_prefix@
-+
-+bindir = @bindir@
-+sbindir = @sbindir@
-+libexecdir = @libexecdir@
-+datadir = @datadir@
-+sysconfdir = @sysconfdir@
-+sharedstatedir = @sharedstatedir@
-+localstatedir = @localstatedir@
-+libdir = @libdir@
-+infodir = @infodir@
-+mandir = @mandir@
-+includedir = @includedir@
-+oldincludedir = /usr/include
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+top_builddir = ..
-+
-+ACLOCAL = @ACLOCAL@
-+AUTOCONF = @AUTOCONF@
-+AUTOMAKE = @AUTOMAKE@
-+AUTOHEADER = @AUTOHEADER@
-+
-+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+INSTALL = @INSTALL@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_DATA = @INSTALL_DATA@
-+install_sh_DATA = $(install_sh) -c -m 644
-+install_sh_PROGRAM = $(install_sh) -c
-+install_sh_SCRIPT = $(install_sh) -c
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_HEADER = $(INSTALL_DATA)
-+transform = @program_transform_name@
-+NORMAL_INSTALL = :
-+PRE_INSTALL = :
-+POST_INSTALL = :
-+NORMAL_UNINSTALL = :
-+PRE_UNINSTALL = :
-+POST_UNINSTALL = :
-+host_alias = @host_alias@
-+host_triplet = @host@
-+
-+EXEEXT = @EXEEXT@
-+OBJEXT = @OBJEXT@
-+PATH_SEPARATOR = @PATH_SEPARATOR@
-+AMTAR = @AMTAR@
-+AR = @AR@
-+AS = @AS@
-+AWK = @AWK@
-+CC = @CC@
-+CXX = @CXX@
-+CXXCPP = @CXXCPP@
-+DEPDIR = @DEPDIR@
-+DLLTOOL = @DLLTOOL@
-+ECHO = @ECHO@
-+EGREP = @EGREP@
-+F77 = @F77@
-+GCJ = @GCJ@
-+GCJFLAGS = @GCJFLAGS@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+LIBTOOL = @LIBTOOL@
-+LN_S = @LN_S@
-+OBJDUMP = @OBJDUMP@
-+OS = @OS@
-+PACKAGE = @PACKAGE@
-+RANLIB = @RANLIB@
-+RC = @RC@
-+STRIP = @STRIP@
-+VERSION = @VERSION@
-+am__include = @am__include@
-+am__quote = @am__quote@
-+install_sh = @install_sh@
-+AM_CFLAGS = -I.. -I$(top_builddir)/lib
-+
-+noinst_LTLIBRARIES = libmetric25.la
-+libmetric25_la_SOURCES = metrics.c
-+subdir = netbsd
-+mkinstalldirs = $(SHELL) $(top_srcdir)/build/mkinstalldirs
-+CONFIG_HEADER = $(top_builddir)/config.h
-+CONFIG_CLEAN_FILES =
-+LTLIBRARIES = $(noinst_LTLIBRARIES)
-+
-+libmetric25_la_LDFLAGS =
-+libmetric25_la_LIBADD =
-+am_libmetric25_la_OBJECTS = metrics.lo
-+libmetric25_la_OBJECTS = $(am_libmetric25_la_OBJECTS)
-+
-+DEFS = @DEFS@
-+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-+CPPFLAGS = @CPPFLAGS@
-+LDFLAGS = @LDFLAGS@
-+LIBS = @LIBS@
-+depcomp = $(SHELL) $(top_srcdir)/build/depcomp
-+am__depfiles_maybe = depfiles
-+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/metrics.Plo
-+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
-+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+CCLD = $(CC)
-+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+CFLAGS = @CFLAGS@
-+DIST_SOURCES = $(libmetric25_la_SOURCES)
-+DIST_COMMON = Makefile.am Makefile.in
-+SOURCES = $(libmetric25_la_SOURCES)
-+
-+all: all-am
-+
-+.SUFFIXES:
-+.SUFFIXES: .c .lo .o .obj
-+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
-+ cd $(top_srcdir) && \
-+ $(AUTOMAKE) --gnu netbsd/Makefile
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
-+
-+clean-noinstLTLIBRARIES:
-+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-+ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-+ test -z "$dir" && dir=.; \
-+ echo "rm -f \"$${dir}/so_locations\""; \
-+ rm -f "$${dir}/so_locations"; \
-+ done
-+libmetric25.la: $(libmetric25_la_OBJECTS) $(libmetric25_la_DEPENDENCIES)
-+ $(LINK) $(libmetric25_la_LDFLAGS) $(libmetric25_la_OBJECTS) $(libmetric25_la_LIBADD) $(LIBS)
-+
-+mostlyclean-compile:
-+ -rm -f *.$(OBJEXT) core *.core
-+
-+distclean-compile:
-+ -rm -f *.tab.c
-+
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metrics.Plo@am__quote@
-+
-+distclean-depend:
-+ -rm -rf ./$(DEPDIR)
-+
-+.c.o:
-+@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
-+
-+.c.obj:
-+@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(COMPILE) -c `cygpath -w $<`
-+
-+.c.lo:
-+@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
-+@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
-+CCDEPMODE = @CCDEPMODE@
-+
-+mostlyclean-libtool:
-+ -rm -f *.lo
-+
-+clean-libtool:
-+ -rm -rf .libs _libs
-+
-+distclean-libtool:
-+ -rm -f libtool
-+uninstall-info-am:
-+
-+ETAGS = etags
-+ETAGSFLAGS =
-+
-+tags: TAGS
-+
-+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ mkid -fID $$unique
-+
-+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ tags=; \
-+ here=`pwd`; \
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ test -z "$(ETAGS_ARGS)$$tags$$unique" \
-+ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+ $$tags $$unique
-+
-+GTAGS:
-+ here=`$(am__cd) $(top_builddir) && pwd` \
-+ && cd $(top_srcdir) \
-+ && gtags -i $(GTAGS_ARGS) $$here
-+
-+distclean-tags:
-+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+
-+top_distdir = ..
-+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-+
-+distdir: $(DISTFILES)
-+ @list='$(DISTFILES)'; for file in $$list; do \
-+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
-+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-+ dir="/$$dir"; \
-+ $(mkinstalldirs) "$(distdir)$$dir"; \
-+ else \
-+ dir=''; \
-+ fi; \
-+ if test -d $$d/$$file; then \
-+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-+ fi; \
-+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-+ else \
-+ test -f $(distdir)/$$file \
-+ || cp -p $$d/$$file $(distdir)/$$file \
-+ || exit 1; \
-+ fi; \
-+ done
-+check-am: all-am
-+check: check-am
-+all-am: Makefile $(LTLIBRARIES)
-+
-+installdirs:
-+
-+install: install-am
-+install-exec: install-exec-am
-+install-data: install-data-am
-+uninstall: uninstall-am
-+
-+install-am: all-am
-+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+
-+installcheck: installcheck-am
-+install-strip:
-+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+ INSTALL_STRIP_FLAG=-s \
-+ `test -z '$(STRIP)' || \
-+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-+mostlyclean-generic:
-+
-+clean-generic:
-+
-+distclean-generic:
-+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
-+
-+maintainer-clean-generic:
-+ @echo "This command is intended for maintainers to use"
-+ @echo "it deletes files that may require special tools to rebuild."
-+clean: clean-am
-+
-+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
-+ mostlyclean-am
-+
-+distclean: distclean-am
-+
-+distclean-am: clean-am distclean-compile distclean-depend \
-+ distclean-generic distclean-libtool distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+info: info-am
-+
-+info-am:
-+
-+install-data-am:
-+
-+install-exec-am:
-+
-+install-info: install-info-am
-+
-+install-man:
-+
-+installcheck-am:
-+
-+maintainer-clean: maintainer-clean-am
-+
-+maintainer-clean-am: distclean-am maintainer-clean-generic
-+
-+mostlyclean: mostlyclean-am
-+
-+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-+ mostlyclean-libtool
-+
-+uninstall-am: uninstall-info-am
-+
-+.PHONY: GTAGS all all-am check check-am clean clean-generic \
-+ clean-libtool clean-noinstLTLIBRARIES distclean \
-+ distclean-compile distclean-depend distclean-generic \
-+ distclean-libtool distclean-tags distdir dvi dvi-am info \
-+ info-am install install-am install-data install-data-am \
-+ install-exec install-exec-am install-info install-info-am \
-+ install-man install-strip installcheck installcheck-am \
-+ installdirs maintainer-clean maintainer-clean-generic \
-+ mostlyclean mostlyclean-compile mostlyclean-generic \
-+ mostlyclean-libtool tags uninstall uninstall-am \
-+ uninstall-info-am
-+
-+# Tell versions [3.59,3.63) of GNU make to not export all variables.
-+# Otherwise a system limit (for SysV at least) may be exceeded.
-+.NOEXPORT:
diff --git a/parallel/ganglia-monitor-core/patches/patch-al b/parallel/ganglia-monitor-core/patches/patch-al
deleted file mode 100644
index 8936e61d5d0..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-al
+++ /dev/null
@@ -1,78 +0,0 @@
-$NetBSD: patch-al,v 1.1 2005/02/10 02:33:53 jschauma Exp $
-
---- ganglia.html.orig 2005-02-07 22:25:39.000000000 -0500
-+++ ganglia.html 2005-02-07 22:26:58.000000000 -0500
-@@ -278,7 +278,7 @@
- example, you may not want to have <code>gexec</code> run jobs on your cluster frontend nodes.</p>
- </dd>
- <dd>
--<p>You simply add the following line to your <code>gmond</code> configuration file (<code>/etc/gmond.conf</code> by
-+<p>You simply add the following line to your <code>gmond</code> configuration file (<code>@PKG_SYSCONFDIR@/gmond.conf</code> by
- default)</p>
- </dd>
- <dd>
-@@ -383,16 +383,16 @@
- <p>The configuration file format has changed between gmond version 2.5.x and version
- 2.6.x. The change was necessary in order to allow more complex configuration options.</p>
- <p>Gmond has a default configuration it will use if it does not find the default configuration
--file <strong>/etc/gmond.conf</strong>. To see the default configuration simply run the command:</p>
-+file <strong>@PKG_SYSCONFDIR@/gmond.conf</strong>. To see the default configuration simply run the command:</p>
- <pre>
- % gmond --default_config</pre>
- <p>and gmond will output its default configuration to stdout. This default configuration can
- serve as a good starting place for building a more custom configuration.</p>
- <pre>
- % gmond --default_config &gt; gmond.conf</pre>
--<p>would create a file <strong>gmond.conf</strong> which you can then edit to taste and copy to <strong>/etc/gmond.conf</strong>
-+<p>would create a file <strong>gmond.conf</strong> which you can then edit to taste and copy to <strong>@PKG_SYSCONFDIR@/gmond.conf</strong>
- or elsewhere.</p>
--<p>To start gmond with a configuration file other then <strong>/etc/gmond.conf</strong>, simply specify the
-+<p>To start gmond with a configuration file other then <strong>@PKG_SYSCONFDIR@/gmond.conf</strong>, simply specify the
- configuration file location by running</p>
- <pre>
- % gmond --config /my/ganglia/configs/custom.conf</pre>
-@@ -411,7 +411,7 @@
- </p>
- <h2><a name="gmetad_configuration">Gmetad Configuration</a></h2>
- <p>The behavior of the Ganglia Meta Daemon is completely controlled by a single configuration
--file which is by default <code>/etc/gmetad.conf</code>. For gmetad to do anything useful you much
-+file which is by default <code>@PKG_SYSCONFDIR@/gmetad.conf</code>. For gmetad to do anything useful you much
- specify at least one <code>data_source</code> in the configuration. The format of the data_source
- line is as follows</p>
- <pre>
-@@ -574,7 +574,7 @@
- -h, --help Print help and exit
- -V, --version Print version and exit
- -c, --conf=STRING The configuration file to use for finding send channels
-- (default=`/etc/gmond.conf')
-+ (default=`@PKG_SYSCONFDIR@/gmond.conf')
- -n, --name=STRING Name of the metric
- -v, --value=STRING Value of the metric
- -t, --type=STRING Either
-@@ -586,7 +586,7 @@
- (default=`60')
- -d, --dmax=INT The lifetime in seconds of this metric (default=`0')</pre>
- <p>Gmetric sends the metric specified on the commandline to all <strong>udp_send_channel</strong>s specified
--in the configuration file <strong>/etc/gmond.conf</strong> by default. If you want to send metric to
-+in the configuration file <strong>@PKG_SYSCONFDIR@/gmond.conf</strong> by default. If you want to send metric to
- alternate <strong>udp_send_channel</strong>s, you can specify a different configuration file as such:</p>
- <pre>
- % gmetric --conf=./custom.conf -n &quot;wow&quot; -v &quot;it works&quot; -t &quot;string&quot;</pre>
-@@ -913,7 +913,7 @@
-
- mcast_if eth1
-
-- .. in /etc/gmond.conf that tells gmond to send its data out the &quot;eth1&quot;
-+ .. in @PKG_SYSCONFDIR@/gmond.conf that tells gmond to send its data out the &quot;eth1&quot;
- network interface but that doesn't necessarily mean that the source
- address of the packets will match the &quot;eth1&quot; interface. to make sure that
- data sent out eth1 has the correct source address run the following...
-@@ -951,7 +951,7 @@
- &gt; 26 nodes each
- &gt; gmond
- &gt;
-- &gt; In the frontend /etc/gmond.conf I have the
-+ &gt; In the frontend @PKG_SYSCONFDIR@/gmond.conf I have the
- &gt; following statement: mcast_if eth1
- &gt;
- &gt; The 26 nodes are correctly reported.
diff --git a/parallel/ganglia-monitor-core/patches/patch-am b/parallel/ganglia-monitor-core/patches/patch-am
deleted file mode 100644
index 8d8d62f5768..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-am
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-am,v 1.2 2006/04/30 22:28:44 joerg Exp $
-
---- srclib/libmetrics/Makefile.in.orig 2005-02-07 22:33:09.000000000 -0500
-+++ srclib/libmetrics/Makefile.in 2005-02-07 22:33:21.000000000 -0500
-@@ -93,7 +93,7 @@
- am__quote = @am__quote@
- install_sh = @install_sh@
- SUBDIRS = @OS@ . tests
--DIST_SUBDIRS = aix cygwin darwin freebsd hpux irix linux osf solaris tests
-+DIST_SUBDIRS = aix cygwin darwin dragonfly freebsd hpux irix linux netbsd osf solaris tests
-
-
- #AM_CFLAGS = -I$(top_builddir)/lib
diff --git a/parallel/ganglia-monitor-core/patches/patch-an b/parallel/ganglia-monitor-core/patches/patch-an
deleted file mode 100644
index 9fc123abe61..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-an
+++ /dev/null
@@ -1,11 +0,0 @@
-$NetBSD: patch-an,v 1.2 2006/04/30 22:28:44 joerg Exp $
-
---- srclib/libmetrics/Makefile.am.orig 2005-02-07 22:35:25.000000000 -0500
-+++ srclib/libmetrics/Makefile.am 2005-02-07 22:35:58.000000000 -0500
-@@ -1,5 +1,5 @@
- SUBDIRS=@OS@ . tests
--DIST_SUBDIRS= aix cygwin darwin freebsd hpux irix linux osf solaris tests
-+DIST_SUBDIRS= aix cygwin darwin dragonfly freebsd hpux irix linux netbsd osf solaris tests
-
- #AM_CFLAGS = -I$(top_builddir)/lib
-
diff --git a/parallel/ganglia-monitor-core/patches/patch-ao b/parallel/ganglia-monitor-core/patches/patch-ao
deleted file mode 100644
index 955bc8195a1..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-ao
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-ao,v 1.1 2006/04/30 22:28:44 joerg Exp $
-
---- lib/Makefile.in.orig 2006-04-30 18:38:28.000000000 +0000
-+++ lib/Makefile.in
-@@ -107,7 +107,7 @@ am__quote = @am__quote@
- install_sh = @install_sh@
- varstatedir = @varstatedir@
-
--AM_CFLAGS = -I.. -I. -I$(top_builddir)/srclib/expat/lib/ -I$(top_builddir)/srclib/libmetrics/ -I$(top_builddir)/srclib/apr/include/ -I$(top_builddir)/srclib/apr/include/arch/unix/ -I$(top_builddir)/srclib/confuse/src
-+AM_CFLAGS = -I.. -I. -I$(top_builddir)/srclib/libmetrics/ -I$(top_builddir)/srclib/confuse/src -I$(PREFIX)/include/apr-0 -I$(PREFIX)/include/apr-0/arch/unix
-
- include_HEADERS = ganglia.h
-
diff --git a/parallel/ganglia-monitor-core/patches/patch-ap b/parallel/ganglia-monitor-core/patches/patch-ap
deleted file mode 100644
index d00148fc6ed..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-ap
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD: patch-ap,v 1.1 2006/04/30 22:28:44 joerg Exp $
-
---- gmond/gstat/Makefile.in.orig 2005-02-02 18:24:14.000000000 +0000
-+++ gmond/gstat/Makefile.in
-@@ -103,13 +103,13 @@ am__include = @am__include@
- am__quote = @am__quote@
- install_sh = @install_sh@
- varstatedir = @varstatedir@
--AM_CFLAGS = -I$(top_builddir)/lib -I$(top_builddir)/srclib/expat/lib/
-+AM_CFLAGS = -I$(top_builddir)/lib
-
- bin_PROGRAMS = gstat
- gstat_SOURCES = gstat.c cmdline.c cmdline.h
- gstat_LDADD = $(top_builddir)/lib/libganglia.la \
- $(top_builddir)/lib/libgetopthelper.a \
-- $(top_builddir)/srclib/expat/lib/libexpat.la
-+ -L$(PREFIX)/lib -lexpat
-
- gstat_LDFLAGS = -static
- subdir = gmond/gstat
-@@ -122,8 +122,7 @@ PROGRAMS = $(bin_PROGRAMS)
- am_gstat_OBJECTS = gstat.$(OBJEXT) cmdline.$(OBJEXT)
- gstat_OBJECTS = $(am_gstat_OBJECTS)
- gstat_DEPENDENCIES = $(top_builddir)/lib/libganglia.la \
-- $(top_builddir)/lib/libgetopthelper.a \
-- $(top_builddir)/srclib/expat/lib/libexpat.la
-+ $(top_builddir)/lib/libgetopthelper.a
-
- DEFS = @DEFS@
- DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
diff --git a/parallel/ganglia-monitor-core/patches/patch-aq b/parallel/ganglia-monitor-core/patches/patch-aq
deleted file mode 100644
index 5ddc1e4aa8d..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-aq
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD: patch-aq,v 1.1 2006/04/30 22:28:44 joerg Exp $
-
---- gmond/Makefile.in.orig 2005-02-02 18:24:14.000000000 +0000
-+++ gmond/Makefile.in
-@@ -107,8 +107,7 @@ SUBDIRS = gstat
-
- EXTRA_DIST = gmond.init gmond.conf.5 gmond.conf.html conf.pod
-
--AM_CFLAGS = -I$(top_builddir)/lib -I$(top_builddir)/srclib/libmetrics/ -I$(top_builddir)/srclib/expat/lib/ -I$(top_builddir)/srclib/apr/include/ -I$(top_builddir)/srclib/confuse/src/
--
-+AM_CFLAGS = -I$(top_builddir)/lib -I$(top_builddir)/srclib/libmetrics/ -I$(top_builddir)/srclib/confuse/src/ -I$(PREFIX)/include/apr-0
- sbin_PROGRAMS = gmond
- # metric.h and dtd.h are for gmetad/gmetric for now....
- gmond_SOURCES = gmond.c cmdline.c cmdline.h dtd.h metric.h g25_config.c g25_config.h
-@@ -122,10 +121,13 @@ gmond_LDADD = $(top_builddir)/lib/libgan
- $(top_builddir)/lib/libgetopthelper.a \
- $(top_builddir)/srclib/libmetrics/libmetrics.la \
- $(top_builddir)/srclib/confuse/src/libconfuse.la \
-- $(top_builddir)/srclib/apr/libapr-0.la
-+ -lapr-0
-
- gmond_LDFLAGS = -static
--gmond_DEPENDENCIES = $(gmond_LDADD)
-+gmond_DEPENDENCIES = $(top_builddir)/lib/libganglia.la \
-+ $(top_builddir)/lib/libgetopthelper.a \
-+ $(top_builddir)/srclib/libmetrics/libmetrics.la \
-+ $(top_builddir)/srclib/confuse/src/libconfuse.la
- subdir = gmond
- mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
- CONFIG_HEADER = $(top_builddir)/config.h
diff --git a/parallel/ganglia-monitor-core/patches/patch-ar b/parallel/ganglia-monitor-core/patches/patch-ar
deleted file mode 100644
index ca261eb016d..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-ar
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD: patch-ar,v 1.1 2006/04/30 22:28:44 joerg Exp $
-
---- gmetad/Makefile.in.orig 2005-02-02 18:24:14.000000000 +0000
-+++ gmetad/Makefile.in
-@@ -103,7 +103,7 @@ am__include = @am__include@
- am__quote = @am__quote@
- install_sh = @install_sh@
- varstatedir = @varstatedir@
--AM_CFLAGS = -O0 -I$(top_builddir)/lib -I$(top_builddir)/gmond -I$(top_builddir)/srclib/expat/lib/
-+AM_CFLAGS = -O0 -I$(top_builddir)/lib -I$(top_builddir)/gmond
-
- sbin_PROGRAMS = gmetad
- gmetad_SOURCES = gmetad.c cmdline.c cmdline.h gmetad.h data_thread.c \
-@@ -111,7 +111,7 @@ gmetad_SOURCES = gmetad.c cmdline.c cmdl
- xml_hash.c cleanup.c
-
- gmetad_LDADD = $(top_builddir)/lib/libganglia.la -lrrd -lm \
-- $(top_builddir)/srclib/expat/lib/libexpat.la
-+ -L$(PREFIX)/lib -lexpat
-
- gmetad_LDFLAGS = -static
- EXTRA_DIST = gmetad.conf gmetad.init
-@@ -127,8 +127,7 @@ am_gmetad_OBJECTS = gmetad.$(OBJEXT) cmd
- rrd_helpers.$(OBJEXT) conf.$(OBJEXT) type_hash.$(OBJEXT) \
- xml_hash.$(OBJEXT) cleanup.$(OBJEXT)
- gmetad_OBJECTS = $(am_gmetad_OBJECTS)
--gmetad_DEPENDENCIES = $(top_builddir)/lib/libganglia.la \
-- $(top_builddir)/srclib/expat/lib/libexpat.la
-+gmetad_DEPENDENCIES = $(top_builddir)/lib/libganglia.la
-
- DEFS = @DEFS@
- DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
diff --git a/parallel/ganglia-monitor-core/patches/patch-as b/parallel/ganglia-monitor-core/patches/patch-as
deleted file mode 100644
index b5b95865bbf..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-as
+++ /dev/null
@@ -1,45 +0,0 @@
-$NetBSD: patch-as,v 1.1 2006/04/30 22:28:44 joerg Exp $
-
---- configure.orig 2005-02-02 18:24:14.000000000 +0000
-+++ configure
-@@ -2029,14 +2029,6 @@ echo $ac_n "${nl}Configuring libmetrics
- cd srclib/libmetrics && ./configure --cache-file=$ganglia_popdir/config.cache
- cd $ganglia_popdir
-
--echo $ac_n "${nl}Configuring expat ...${nl}"
--cd srclib/expat && ./configure --cache-file=$ganglia_popdir/config.cache
--cd $ganglia_popdir
--
--echo $ac_n "${nl}Configuring apr ...${nl}"
--cd srclib/apr && ./configure --cache-file=$ganglia_popdir/config.cache
--cd $ganglia_popdir
--
- echo $ac_n "${nl}Configuring libconfuse ...${nl}"
- cd srclib/confuse && ./configure --cache-file=$ganglia_popdir/config.cache --disable-nls
- cd $ganglia_popdir
-@@ -18734,13 +18726,13 @@ if test "${enable_memcheck+set}" = set;
- fi;
-
-
--echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
--echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6
-+echo "$as_me:$LINENO: checking for pthread_create in ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" >&5
-+echo $ECHO_N "checking for pthread_create in ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}... $ECHO_C" >&6
- if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lpthread $LIBS"
-+LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} $LIBS"
- cat >conftest.$ac_ext <<_ACEOF
- #line $LINENO "configure"
- /* confdefs.h. */
-@@ -18793,7 +18785,7 @@ if test $ac_cv_lib_pthread_pthread_creat
- #define HAVE_LIBPTHREAD 1
- _ACEOF
-
-- LIBS="-lpthread $LIBS"
-+ LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} $LIBS"
-
- fi
-
diff --git a/parallel/ganglia-monitor-core/patches/patch-at b/parallel/ganglia-monitor-core/patches/patch-at
deleted file mode 100644
index 12f684e2cf3..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-at
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-at,v 1.1 2006/04/30 22:28:44 joerg Exp $
-
---- srclib/Makefile.in.orig 2006-04-30 19:41:17.000000000 +0000
-+++ srclib/Makefile.in
-@@ -103,7 +103,7 @@ am__include = @am__include@
- am__quote = @am__quote@
- install_sh = @install_sh@
- varstatedir = @varstatedir@
--SUBDIRS = libmetrics expat apr confuse
-+SUBDIRS = libmetrics confuse
- subdir = srclib
- mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
- CONFIG_HEADER = $(top_builddir)/config.h
diff --git a/parallel/ganglia-monitor-core/patches/patch-au b/parallel/ganglia-monitor-core/patches/patch-au
deleted file mode 100644
index 33179767ef5..00000000000
--- a/parallel/ganglia-monitor-core/patches/patch-au
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD: patch-au,v 1.1 2006/04/30 22:28:44 joerg Exp $
-
---- gmetric/Makefile.in.orig 2005-02-02 18:24:14.000000000 +0000
-+++ gmetric/Makefile.in
-@@ -111,7 +111,7 @@ gmetric_LDADD = $(top_builddir)/lib/libg
- $(top_builddir)/lib/libgetopthelper.a \
- $(top_builddir)/srclib/libmetrics/libmetrics.la \
- $(top_builddir)/srclib/confuse/src/libconfuse.la \
-- $(top_builddir)/srclib/apr/libapr-0.la
-+ -lapr-0
-
- gmetric_LDFLAGS = -static
- subdir = gmetric
-@@ -126,8 +126,7 @@ gmetric_OBJECTS = $(am_gmetric_OBJECTS)
- gmetric_DEPENDENCIES = $(top_builddir)/lib/libganglia.la \
- $(top_builddir)/lib/libgetopthelper.a \
- $(top_builddir)/srclib/libmetrics/libmetrics.la \
-- $(top_builddir)/srclib/confuse/src/libconfuse.la \
-- $(top_builddir)/srclib/apr/libapr-0.la
-+ $(top_builddir)/srclib/confuse/src/libconfuse.la
-
- DEFS = @DEFS@
- DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)