aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt/monitoring-plugins/Makefile
blob: 6a0f14e1209b5e0df180755f78896e02aa2cfd21 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
PORTNAME=	monitoring-plugins
PORTVERSION=	2.3.1
CATEGORIES=	net-mgmt
MASTER_SITES=	https://www.monitoring-plugins.org/download/ \
		LOCAL/mat/${PORTNAME}

MAINTAINER=	mat@FreeBSD.org
COMMENT=	Monitoring Plugins for Nagios

LICENSE=	GPLv3
LICENSE_FILE=	${WRKSRC}/COPYING

USES=		charsetfix gmake libtool perl5 ssl
USE_SUBMAKE=	yes

GNU_CONFIGURE=	yes

CONFIGURE_ARGS=	--datadir=${PREFIX}/share \
		--libexecdir=${PREFIX}/libexec/nagios \
		--localstatedir=${NAGIOSDIR} \
		--prefix=${PREFIX} \
		--sbindir=${PREFIX}/${NAGIOSWWWDIR}/cgi-bin \
		--sysconfdir=${PREFIX}/etc/nagios \
		--with-cgiurl=${NAGIOSCGIURL} \
		--with-perl=${PERL}

# Also, force some commands with their expected paths so that they don't get
# disabled.
CONFIGURE_ARGS+=	--with-ping-command="/sbin/ping -n -t %d -c %d %s" \
			--with-ping6-command="${_PING6_CMD}" \
			ac_cv_path_PATH_TO_PING6=/sbin/ping6 \
			ac_cv_path_PATH_TO_PING=/sbin/ping \
			ac_cv_path_PATH_TO_QMAIL_QSTAT=/var/qmail/bin/qmail-qstat \
			ac_cv_path_PATH_TO_SMBCLIENT=${LOCALBASE}/bin/smbclient \
			ac_cv_path_PATH_TO_SUDO=${LOCALBASE}/bin/sudo

CPPFLAGS+=	-I${LOCALBASE}/include
LIBS+=		-L${LOCALBASE}/lib

CONFLICTS_INSTALL=	nagios-plugins

OPTIONS_DEFINE=		DBI EXTRAOPTS FPING IPV6 LDAP MYSQL NETSNMP NLS PGSQL \
			QSTAT RADIUS SSH_PORTABLE
OPTIONS_DEFAULT=	DNS_BASE EXTRAOPTS
OPTIONS_SINGLE=		DNS
OPTIONS_SINGLE_DNS=	DNS_BASE DNS_BINDTOOLS
OPTIONS_SUB=		yes

DBI_DESC=		Check database using DBI
DNS_BASE_DESC=		Use drill for check_dig and no check_dns
DNS_BINDTOOLS_DESC=	Use dig and nslookup from dns/bind-tools
DNS_DESC=		Configuration of check_dig and check_dns (see help)
EXTRAOPTS_DESC=		Parsing of plugins ini config files for extra options
FPING_DESC=		Support for non-flooding fast ping (check_fping)
LDAP_DESC=		OpenLDAP support (check_ldap)
MYSQL_DESC=		MySQL support (check_mysql)
NETSNMP_DESC=		SNMP support (check_snmp)
PGSQL_DESC=		PostgreSQL support (check_pgsql)
QSTAT_DESC=		Game server query support (check_game)
RADIUS_DESC=		Radius support (check_radius)
SSH_PORTABLE_DESC=	Build check_ssh with ports openssh (instead of base)

DBI_LIB_DEPENDS=	libdbi.so:databases/libdbi
DBI_CONFIGURE_WITH=	dbi

DNS_BASE_CONFIGURE_ON=	--with-dig-command=/usr/bin/drill \
			ac_cv_path_PATH_TO_NSLOOKUP=
DNS_BASE_EXTRA_PATCHES=	${FILESDIR}/extra-patch-dig-to-drill.diff

DNS_BINDTOOLS_BUILD_DEPENDS=	${LOCALBASE}/bin/dig:dns/bind-tools
DNS_BINDTOOLS_RUN_DEPENDS=	${DNS_BINDTOOLS_BUILD_DEPENDS}
DNS_BINDTOOLS_CONFIGURE_ON=	--with-dig-command=${LOCALBASE}/bin/dig \
				--with-nslookup-command=${LOCALBASE}/bin/nslookup

EXTRAOPTS_CONFIGURE_ENABLE=	extra-opts

FPING_BUILD_DEPENDS=	fping:net/fping
FPING_RUN_DEPENDS=	fping:net/fping
FPING_CONFIGURE_OFF=	ac_cv_path_PATH_TO_FPING6= \
			ac_cv_path_PATH_TO_FPING=

IPV6_CONFIGURE_WITH=	ipv6

LDAP_USE=		OPENLDAP=yes
LDAP_CONFIGURE_WITH=	ldap

MYSQL_USES=		mysql
MYSQL_CONFIGURE_WITH=	mysql=${LOCALBASE}

NETSNMP_BUILD_DEPENDS=	p5-Net-SNMP>=0:net-mgmt/p5-Net-SNMP \
			snmpcheck:net-mgmt/net-snmp
NETSNMP_RUN_DEPENDS=	p5-Net-SNMP>=0:net-mgmt/p5-Net-SNMP \
			snmpcheck:net-mgmt/net-snmp
NETSNMP_CONFIGURE_OFF=	ac_cv_path_PATH_TO_SNMPGET= \
			ac_cv_path_PATH_TO_SNMPGETNEXT=

NLS_USES=		gettext
NLS_CONFIGURE_ENABLE=	nls

PGSQL_USES=		pgsql
PGSQL_CONFIGURE_WITH=	pgsql=${LOCALBASE}

QSTAT_BUILD_DEPENDS=	qstat:games/qstat
QSTAT_RUN_DEPENDS=	qstat:games/qstat
QSTAT_CONFIGURE_OFF=	ac_cv_path_PATH_TO_QSTAT= \
			ac_cv_path_PATH_TO_QUAKESTAT=

RADIUS_LIB_DEPENDS=	libradiusclient-ng.so:net/radiusclient
RADIUS_CONFIGURE_WITH=	radius

SSH_PORTABLE_BUILD_DEPENDS=	${LOCALBASE}/bin/ssh:security/openssh-portable
SSH_PORTABLE_RUN_DEPENDS:=	${SSH_PORTABLE_BUILD_DEPENDS}
SSH_PORTABLE_CONFIGURE_ON=	--with-ssh-command=${LOCALBASE}/bin/ssh

NAGIOSDIR?=	/var/spool/nagios

NAGIOSWWWDIR?=	www/nagios
NAGIOSHTMURL?=	/nagios
NAGIOSCGIURL?=	${NAGIOSHTMURL}/cgi-bin

.include <bsd.port.options.mk>

.if ${OSVERSION} < 1300041
_PING6_CMD=	/sbin/ping6 -n -X %d -c %d %s
.else
_PING6_CMD=	/sbin/ping6 -n -t %d -c %d %s
.endif

.if !exists(/usr/bin/ssh) && empty(PORT_OPTIONS:MSSH_PORTABLE)
PLIST_SUB+=	SSH="@comment "
.else
PLIST_SUB+=	SSH=""
.endif

post-patch:
.for file in check_by_ssh.c check_disk.c check_http.c check_mrtgtraf.c \
	check_nagios.c check_ntp.c check_ntp_peer.c check_ntp_time.c \
	check_pgsql.c check_snmp.c check_ssh.c check_swap.c check_time.c \
	check_users.c
	@${REINPLACE_CMD} -e 's|setlocale (LC_ALL, "");|setlocale (LC_ALL, ""); setlocale(LC_NUMERIC, "C");|g' ${WRKSRC}/plugins/${file}
.endfor

.include <bsd.port.mk>