Prune devel/rubygem-debugger-xml
[dports.git] / sysutils / ganglia-monitor-core / Makefile
1 # $FreeBSD$
2
3 PORTNAME=       monitor-core
4 PORTVERSION=    3.4.0
5 PORTREVISION=   6
6 CATEGORIES=     sysutils net parallel
7 MASTER_SITES=   SF/ganglia/ganglia%20monitoring%20core/${PORTVERSION}
8 PKGNAMEPREFIX=  ganglia-
9 .if defined(CLUSTER)
10 PKGNAMESUFFIX=  -${CLUSTER}
11 .endif
12 DISTNAME=       ganglia-${PORTVERSION}
13
14 MAINTAINER=     ports@FreeBSD.org
15 COMMENT=        Ganglia cluster monitor, monitoring daemon
16
17 LIB_DEPENDS=    libapr-1.so:${PORTSDIR}/devel/apr1 \
18                 libconfuse.so:${PORTSDIR}/devel/libconfuse \
19                 libpcre.so:${PORTSDIR}/devel/pcre \
20                 libexpat.so:${PORTSDIR}/textproc/expat2
21
22 PKGINSTALL=     ${WRKDIR}/pkg-install
23
24 OPTIONS_DEFINE= GMETAD
25 OPTIONS_DEFAULT=        GMETAD
26 GMETAD_DESC=    include gmetad
27
28 USES=           libtool pkgconfig python
29
30 GNU_CONFIGURE=  yes
31 CONFIGURE_ARGS= --enable-setuid=ganglia --enable-setgid=ganglia \
32                 --with-python=${PYTHON_CMD}
33 CONFIGURE_ENV=  GANGLIA_ACK_SYSCONFDIR=1 "LDFLAGS=${LDFLAGS}"
34 CFLAGS+=        -I${LOCALBASE}/include
35 LDFLAGS+=       -L${LOCALBASE}/lib
36
37 USERS=  ganglia
38 GROUPS= ganglia
39
40 PLIST_SUB+=     PORTVERSION=${PORTVERSION}
41
42 SUB_FILES=      pkg-install
43
44 .if defined (GMETAD_CONF)
45 .if !exists (${GMETAD_CONF})
46 IGNORE=         the variable GMETAD_CONF must point to a file when defined
47 .endif
48 .else
49 GMETAD_CONF=    ${WRKSRC}/gmetad/gmetad.conf
50 .endif
51
52 .if defined (GMOND_CONF)
53 .if !exists (${GMOND_CONF})
54 IGNORE=         the variable GMOND_CONF must point to a file when defined
55 .endif
56 .else
57 GMOND_CONF=     ${WRKDIR}/gmond.conf
58 .endif
59
60 .include <bsd.port.options.mk>
61
62 USE_RC_SUBR=    gmond
63 .if ${PORT_OPTIONS:MGMETAD}
64 USE_RC_SUBR+=   gmetad
65
66 LIB_DEPENDS+=   librrd.so:${PORTSDIR}/databases/rrdtool
67 CONFIGURE_ARGS+=        --with-gmetad
68 PLIST_SUB+=     GMETAD=
69 SUB_LIST+=      GMETAD=
70 .else
71 PLIST_SUB+=     GMETAD="@comment "
72 SUB_LIST+=      GMETAD="\#"
73 .endif
74
75 USE_LDCONFIG=   yes
76
77 CONF_DIR=       ${PREFIX}/etc
78
79 FIX_CONF_FILES= README \
80                 mans/gmetad.1 \
81                 mans/gmond.1
82 FIX_GMOND_CONF_DIR=     \
83                 gmond/modules/conf.d/modpython.conf.in \
84                 gmond/modules/python/Makefile.in \
85                 lib/default_conf.h.in
86 # gmond.conf.5 and gmond.conf.html can be generated from conf.pod, but
87 # doing so requires perl installed in the build stage.
88 FIX_USER_FILES= gmetad/gmetad.conf.in \
89                 gmond/conf.pod \
90                 gmond/gmond.conf.5 \
91                 gmond/gmond.conf.html
92
93 MODULES=        modcpu.so \
94                 moddisk.so \
95                 modload.so \
96                 modmem.so \
97                 modmulticpu.so \
98                 modnet.so \
99                 modproc.so \
100                 modpython.so \
101                 modsys.so
102
103 post-patch:
104         ${REINPLACE_CMD} -e "s|/etc/ganglia/\(gm[a-z]*d.conf\)|${PREFIX}/etc/\1|g" \
105                 ${FIX_CONF_FILES:S|^|${WRKSRC}/|}
106         ${REINPLACE_CMD} -e "s|%%GMONDCONFDIR%%|gmond.conf.d|g" \
107                 ${FIX_GMOND_CONF_DIR:S|^|${WRKSRC}/|}
108         ${REINPLACE_CMD} -e "s|nobody|ganglia|g" \
109                 ${FIX_USER_FILES:S|^|${WRKSRC}/|}
110
111 post-build:
112         ${WRKSRC}/gmond/gmond -t > ${WRKDIR}/gmond.conf
113
114 post-install:
115 .if ${PORT_OPTIONS:MGMETAD}
116         ${INSTALL_SCRIPT} ${FILESDIR}/gmetasnap.sh ${STAGEDIR}${PREFIX}/sbin/gmetasnap
117         ${INSTALL_MAN} ${WRKSRC}/mans/gmetad.1 ${STAGEDIR}${MANPREFIX}/man/man1
118         ${INSTALL_DATA} ${GMETAD_CONF} ${STAGEDIR}${PREFIX}/etc/gmetad.conf.sample
119 .endif
120         ${INSTALL_MAN} ${WRKSRC}/mans/gmetric.1 ${STAGEDIR}${MANPREFIX}/man/man1
121         ${INSTALL_MAN} ${WRKSRC}/mans/gmond.1 ${STAGEDIR}${MANPREFIX}/man/man1
122         ${INSTALL_MAN} ${WRKSRC}/gmond/gmond.conf.5 ${STAGEDIR}${MANPREFIX}/man/man5
123         ${INSTALL_MAN} ${WRKSRC}/mans/gstat.1 ${STAGEDIR}${MANPREFIX}/man/man1
124         ${INSTALL_DATA} ${GMOND_CONF} ${STAGEDIR}${PREFIX}/etc/gmond.conf.sample
125
126 .include <bsd.port.mk>