[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / parallel / ganglia-monitor-core

File: [cvs.NetBSD.org] / pkgsrc / parallel / ganglia-monitor-core / Makefile (download)

Revision 1.54, Tue Feb 16 12:48:18 2016 UTC (4 years, 8 months ago) by fhajny
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3, pkgsrc-2016Q2-base, pkgsrc-2016Q2, pkgsrc-2016Q1-base, pkgsrc-2016Q1
Changes since 1.53: +50 -28 lines

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

# $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"