pkgsrc/parallel/ganglia-monitor-core/Makefile
fhajny 42451c8828 Update parallel/ganglia-monitor-core to 3.7.2. Add SMF support.
Upstream changelog follows.

3.7.2

* Fix for a memory leak if  override_hostname or override_ip are used

3.7.1

* Hash table in gmetad has been reworked to support much higher metric
  counts and larger number of metrics
* A number of GMond python modules have been rewritten and enhanced

3.7.0

* Add support for sending Ganglia metrics to Riemann
* Performance improvements for gmetad
* Export internal gmetad metrics

3.6.0

* Improvements
  - Add ability to gzip XML output in gmond
  - Forward Graphite metrics over UDP for increased scalability
  - Configurable graphite prefix
  - Memcached publish support - export metrics into memcached
  - Improve metric summarization performance under heavy load

* Bug fixes
  - Reduce CPU utilization when running in deaf mode


3.5.0

* gmond uses a separate thread to service gmetad requests. This should
  improve performance
* Updates to a number of core Python collection modules


3.4.0

* web
  - now distributed as a separate source tarball, web/ tree is not present
    in the ganglia-3.4.0 tarball

* gmond:
  - setgid() and initgroups() are invoked when setuid() is invoked - gmond
    no longer runs in root group (there may be side-effects from this change)
  - new UDP RX channel parameter `buffer' to set the socket buffer size


3.3.7

* gmond
  - BUG100: fails to start in Solaris zones
  - fails to start when no address on the network interface (added
    retry_bind parameter)
  - BUG321: fails to start when Solaris CPU in state FAILED (seg fault)


3.3.6

* gmond
  - BUG327: memory leak when receive channel is not configured or not
    hearing any data


3.3.5

* General
  - Return to the use of autotools (make dist) for building the release
  - Release with a valid version number in configure.in

* Gmetad
  - Fix for gmetad buffer overflow with metric value of DOUBLE_MAX

* Gmond python modules
  - multi traffic module has been replaced with multi interface which
    correctly reports all interfaces

* Gmond
  - Fix for issues/11
  - Expose some useful functions in the public C API to assist module
    developers


3.3.1

* Web
  - Graph Zooming off when Ganglia Web server and web browser in different
    time zones
  - Metrics chooser in cluster view now provides metric drop down in
    addition to autocomplete
  - Ability to specify default size for graphs in Views

Gmetad
  - You can now disable RRD writing - useful if you are using Ganglia only
    to feed Graphite
  - Export to graphite now handles spaces in metrics, groups
  - Minor code clean up and fixes

* Gmond
  - Diskstat python module incorrect IO time reporting has been fixed.


3.3.0

* Web UI shipped with Ganglia has been upgraded to the Ganglia Web
  2.0 interface. Changes to web UI from Gweb 2.2.0 are as follows
  - Additional Nagios integration scripts
  - Contributed by Etsy - stacked graph in the cluster view
  - Ability to hide/show events on individual graphs or whole pages
  - Numerous bug fixes and small enhancements
* metric names are sanitized to avoid breaking gmetad/UI when characters
  such as <, > are supplied. Those are now replaced with underscores
* gmetad supports sending metrics to graphite. Uncomment proper section
  of gmetad.conf to enable
* Default RRD resolution changed. It affects only newly created RRDs. To
  change to old behavior please modify the RRA field in gmetad.conf
* Number of Python modules from Ganglia gmond_python_modules repository
  have been included such as disk statistics, individual interface
  statistics, etc. Most of the modules are disabled. To enable rename
  the files in /etc/ganglia/conf.d.
* sFlow has been enhanced to support Virtual machine pool/Java
  VM/Memcache/Apache/NGINX/Tomcat and node.js metrics. You can read more
  at sFlow blog


3.2.0

* sFlow support - more and even more
* hostname/ip override - you can specify an arbitrary host name and IP
  to be shown in the UI.
* FreeBSD patches
* Python module improvements
* Bugfixes and improvements over 3.1.7


3.1.7:

* Fix build support for RHEL5/issue with commas in CFLAGS
* multicpu module: show CPU utilization as a value between 0-100% for
  each core


3.1.3 - 3.1.6:

* Merge commit 1966 from trunk to fix "contrib/removespikes.pl"
* Bootstrapping with Debian 5.0 (lenny) versions of autotools for
  this and future releases.
* Require user to explicitly specify sysconfdir when building from source,
  due to the fact that the old behavior was not consistent with the
  documented behavior.
* Configuration files and scripts are now created during the install phase
  rather than during configure.   This allows values such as @sysconfdir@
  to be used in the template configuration files.
* Abolish the use of release names - only release numbers will be used
  to distinguish versions in future
* libmetrics: workaround system header conflict in DFBSD >= 2.4 (BUG245)
* Use PCRE regex matching to configure metrics using the name_match directive
* rrdcached support
* gmetad now uses apr and the sleep intervals between polls are randomized
  in a way that supports shorter polling intervals
* FreeBSD support: fixes for crashes and disk statistics (BUG153)
* Further tweaks to Solaris build support (remove C99 hack)
* Eliminate conflict with ncpus symbol name on older Solaris
* AIX support: determine if the host is a virtual server (BUG226)
* AIX support: setting linker flags (BUG227), add -lm
* AIX support: tweaks for AIX >= v6.1
* AIX support: revised init scripts for gmond and gmetad
* Check for Python.h explicitly
* Include the necessary Python files in the distribution tarball, regardless
  of how BUILD_PYTHON is set (r2215).
* Remove references to GNU toolchain in documentation
* Fortify write_data_to_rrd against overflows
* Web interface: minor formatting changes
* mcast_if implementation tweaked so that the send channel will be bound
  to the IP of the outgoing interface
* Documentation updates relating to the options for multihomed hosts,
  particularly bind, bind_hostname and mcast_if
* gmond: Limit the use of APR_POLLSET_THREADSAFE to Linux >= 2.6
* gmond: improve/revert setuid behavior in configure script
* gmond: Fix the allow_extra_data configuration directive (BUG199)
* gmond: Ensure that a complete XML dump is delivered before closing
  the send socket. Submitted by: Jerry <adawzq 126 com>
* gmond: add bind and bind_hostname parameters for udp_send_channel()
* gmetad: BUG232: eliminate case-sensitive hostname bug, user can choose to
  maintain legacy behavior though.
* gmond: BUG237: revise fix for segfault on Solaris where first CPU not in
  slot 0
* gmond: support for HUP signal on platforms with execve
* gmond: status module: return gmond version info as string metrics
* gmond: Check return status of apr_pollset_create.  Use
  APR_POLLSET_THREADSAFE on Linux.
* build: various configure options: Solaris 8 with Sun Studio 11 support,
  extra modules for static linking, default setuid, release number,
  build multicpu and status during static builds, support for
  SYSCONFDIR (BUG16)
* RPM: include status module, allow packager to supply own gmond.conf
* build: Look in lib64 rather than lib for apr, confuse and expat on x86_64
2016-02-16 12:48:18 +00:00

98 lines
3 KiB
Makefile

# $NetBSD: Makefile,v 1.54 2016/02/16 12:48:18 fhajny Exp $
#
DISTNAME= ganglia-3.7.2
PKGNAME= ganglia-monitor-core-3.7.2
CATEGORIES= net parallel
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=ganglia/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://ganglia.sourceforge.net/
COMMENT= Ganglia cluster monitor, monitoring daemon
LICENSE= modified-bsd
GNU_CONFIGURE= yes
SET_LIBDIR= yes
USE_LIBTOOL= yes
USE_LANGUAGES= c c99
USE_TOOLS+= pkg-config
PLIST_VARS+= python
PKG_OPTIONS_VAR= PKG_OPTIONS.ganglia
PKG_SUPPORTED_OPTIONS= python # Gmond support for python modules
.include "../../mk/bsd.prefs.mk"
CONFIGURE_ARGS+= --with-gmetad
CONFIGURE_ARGS+= --enable-setuid=${GANGLIA_USER}
CONFIGURE_ARGS+= --enable-setgid=${GANGLIA_GROUP}
.include "../../mk/bsd.options.mk"
.if !empty(PKG_OPTIONS:Mpython)
CONFIGURE_ARGS+= --with-python=${PYTHONBIN}
PLIST.python= yes
CONF_FILES+= ${EGDIR}/conf.d/modpython.conf \
${PKG_SYSCONFDIR}/gmond.conf.d/modpython.conf
.include "../../lang/python/application.mk"
.else
CONFIGURE_ARGS+= --disable-python
.endif
GANGLIA_USER?= ganglia
GANGLIA_GROUP?= ${GANGLIA_USER}
GANGLIA_VARBASE?= ${VARBASE}/db
PKG_GROUPS+= ${GANGLIA_GROUP}
PKG_USERS+= ${GANGLIA_USER}:${GANGLIA_GROUP}
PKG_GECOS.${GANGLIA_USER}= Ganglia daemon user
PKG_HOME.${GANGLIA_USER}= ${GANGLIA_VARBASE}/ganglia
OWN_DIRS_PERMS+= ${GANGLIA_VARBASE}/ganglia ${GANGLIA_USER} ${GANGLIA_GROUP} 0755
OWN_DIRS_PERMS+= ${GANGLIA_VARBASE}/ganglia/rrds ${GANGLIA_USER} ${GANGLIA_GROUP} 0755
INSTALL_MAKE_FLAGS+= sysconfdir=${EGDIR}
SUBST_CLASSES+= paths
SUBST_STAGE.paths= pre-configure
SUBST_MESSAGE.paths= Fixing default paths
SUBST_FILES.paths= configure 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.paths+= -e 's,/etc/ganglia,${PKG_SYSCONFDIR},g'
SUBST_SED.paths+= -e 's,/usr/lib/ganglia,${PREFIX}/lib/ganglia,g'
SUBST_VARS.paths+= GANGLIA_VARBASE
FILES_SUBST+= GANGLIA_VARBASE=${GANGLIA_VARBASE}
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
SMF_NAME= ganglia
SMF_INSTANCES= ${RCD_SCRIPTS}
INSTALLATION_DIRS= ${DOCDIR} ${EGDIR} ${PKGMANDIR}/man1 ${PKGMANDIR}/man5
post-install:
${WRKSRC}/gmond/gmond -t > ${DESTDIR}${EGDIR}/gmond.conf
${INSTALL_DATA} ${WRKSRC}/gmond/modules/python/README ${DESTDIR}${DOCDIR}/
.include "../../databases/rrdtool/buildlink3.mk"
.include "../../devel/apr/buildlink3.mk"
.include "../../devel/confuse/buildlink3.mk"
.include "../../devel/pcre/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"