summaryrefslogtreecommitdiffstats
path: root/net-mgmt/nfdump/Makefile
blob: 2ae7c8f6201778fd376120c12ad02553ed94fbec (plain)
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
# Created by: Janos.Mohacsi@bsd.hu
# $FreeBSD$

PORTNAME=	nfdump
PORTVERSION=	1.6.15
PORTREVISION=	1
DISTVERSIONPREFIX=v
CATEGORIES=	net-mgmt

MAINTAINER=	pi@FreeBSD.org
COMMENT=	Command-line tools to collect and process NetFlow data

LICENSE=	BSD3CLAUSE
LICENSE_FILE=	${WRKSRC}/BSD-license.txt

USES=		autoreconf libtool
GNU_CONFIGURE=	yes
USE_CSTD=	gnu89
USE_LDCONFIG=	yes
MAKE_JOBS_UNSAFE=	yes
USE_GITHUB=	yes
GH_ACCOUNT=	phaag

#flow-tools support
OPTIONS_DEFINE=		DOCS FT2NFDUMP NFPROFILE FIXTIMEBUG READPCAP NFTRACK \
			SFLOW NFDUMP15 NSEL
OPTIONS_DEFAULT=	NFPROFILE

FT2NFDUMP_DESC=		With Flow-tools to nfdump converter
NFPROFILE_DESC=		With nfprofile (nfsen requires it)
FIXTIMEBUG_DESC=	With fixing swap time bug of some v5
READPCAP_DESC=		With pcap support
NFTRACK_DESC=		With PortTracker support
SFLOW_DESC=		Build sflow collector daemon also
NFDUMP15_DESC=		Enable compatibility with version 1.5
NSEL_DESC=		Read and process ASA/NSEL/NEL event data

post-patch:
	@${REINPLACE_CMD} 's|-ggdb||' ${WRKSRC}/bin/Makefile.in

.include <bsd.port.options.mk>

#for compatibility
#
.if ${PORT_OPTIONS:MNFDUMP15}
CONFIGURE_ARGS+=	--enable-compat15
.else
CONFIGURE_ARGS+=	--disable-compat15
.endif

.if ${PORT_OPTIONS:MNSEL}
CONFIGURE_ARGS+=	--enable-nsel
.else
CONFIGURE_ARGS+=	--disable-nsel
.endif

PLIST_FILES=	bin/nfanon bin/nfcapd bin/nfdump bin/nfexpire bin/nfreplay \
		lib/libnfdump-${PORTVERSION}.so \
		man/man1/nfanon.1.gz man/man1/nfcapd.1.gz man/man1/nfdump.1.gz \
		man/man1/nfexpire.1.gz man/man1/nfreplay.1.gz
PORTDOCS=	AUTHORS ChangeLog INSTALL NEWS README

.if ${PORT_OPTIONS:MFIXTIMEBUG}
CONFIGURE_ARGS+=	--enable-fixtimebug
.else
CONFIGURE_ARGS+=	--disable-fixtimebug
.endif

.if ${PORT_OPTIONS:MNFPROFILE}
CONFIGURE_ARGS+=	--enable-nfprofile
PLIST_FILES+=	bin/nfprofile man/man1/nfprofile.1.gz
.else
CONFIGURE_ARGS+=	--disable-nfprofile
.endif

.if ${PORT_OPTIONS:MNFTRACK}
CONFIGURE_ARGS+=	--enable-nftrack
PLIST_FILES+=	bin/nftrack
.else
CONFIGURE_ARGS+=	--disable-nftrack
.endif

.if ${PORT_OPTIONS:MNFPROFILE} || ${PORT_OPTIONS:MNFTRACK}
CONFIGURE_ARGS+=	--with-rrdpath=${LOCALBASE}
BUILD_DEPENDS+=	rrdtool:databases/rrdtool
RUN_DEPENDS+=	rrdtool:databases/rrdtool
.endif

#flow-tools support
.if ${PORT_OPTIONS:MFT2NFDUMP}
BUILD_DEPENDS+=		flow-cat:net-mgmt/flow-tools
CONFIGURE_ARGS+=	--enable-ftconv --with-ftpath=${LOCALBASE}
PLIST_FILES+=	bin/ft2nfdump man/man1/ft2nfdump.1.gz
.endif

.if ${PORT_OPTIONS:MREADPCAP}
CONFIGURE_ARGS+=	--enable-readpcap
.else
CONFIGURE_ARGS+=	--disable-readpcap
.endif

#sflow capture support
.if ${PORT_OPTIONS:MSFLOW}
CONFIGURE_ARGS+=	--enable-sflow
PLIST_FILES+=	bin/sfcapd man/man1/sfcapd.1.gz
.else
CONFIGURE_ARGS+=	--disable-sflow
.endif

do-install:
.for binary in nfanon nfcapd nfdump nfexpire nfreplay
	${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/${binary} ${STAGEDIR}${PREFIX}/bin
.endfor
	${INSTALL_DATA} ${WRKSRC}/bin/.libs/libnfdump-${PORTVERSION}.so ${STAGEDIR}${PREFIX}/lib

.if ${PORT_OPTIONS:MNFPROFILE}
	${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/nfprofile ${STAGEDIR}${PREFIX}/bin
	${INSTALL_MAN}	${WRKSRC}/man/nfprofile.1 ${STAGEDIR}${PREFIX}/man/man1
.endif

.if ${PORT_OPTIONS:MNFTRACK}
	${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/nftrack ${STAGEDIR}${PREFIX}/bin
.endif

.if ${PORT_OPTIONS:MFT2NFDUMP}
	${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/ft2nfdump ${STAGEDIR}${PREFIX}/bin
	${INSTALL_MAN}	${WRKSRC}/man/ft2nfdump.1 ${STAGEDIR}${PREFIX}/man/man1
.endif

.if ${PORT_OPTIONS:MSFLOW}
	${INSTALL_PROGRAM} ${WRKSRC}/bin/.libs/sfcapd ${STAGEDIR}${PREFIX}/bin
	${INSTALL_MAN}	${WRKSRC}/man/sfcapd.1	${STAGEDIR}${PREFIX}/man/man1
.endif

.for filename in nfanon nfdump nfcapd nfexpire nfreplay
	${INSTALL_MAN} ${WRKSRC}/man/${filename}.1 ${STAGEDIR}${PREFIX}/man/man1
.endfor

post-install-DOCS-on:
	${MKDIR} ${STAGEDIR}${DOCSDIR}
	cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}

.include <bsd.port.mk>
OpenPOWER on IntegriCloud