summaryrefslogtreecommitdiffstats
path: root/net/tcpdump/Makefile
blob: 54b14816f2369a0ea7533679255aedc052b37af4 (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
# Created by: Bruce M Simpson <bms@FreeBSD.org>
# $FreeBSD$

PORTNAME=	tcpdump
PORTVERSION=	4.5.1
CATEGORIES=	net ipv6
MASTER_SITES=	http://www.tcpdump.org/release/

MAINTAINER=	wxs@FreeBSD.org
COMMENT=	Ubiquitous network traffic analysis tool

LIB_DEPENDS=	libpcap.so:${PORTSDIR}/net/libpcap

GNU_CONFIGURE=		yes
USES=		gmake

UNPRIV_USER?=	nobody
CHROOTDIR?=	/var/run/tcpdump

OPTIONS_DEFINE=	CRYPTO IPV6 SMB SMI USER CHROOT
OPTIONS_DEFAULT=	CRYPTO IPV6 SMB SMI

CRYPTO_DESC=	Support IPSEC and TCPMD5
# This one is intentionally worded this way because the default
# description implies that tcpdump would not capture SMB, which
# is not true. It will just not print it if this option is off.
SMB_DESC=	Support printing SMB information
SMI_DESC=	Allow MIBs to be loaded on the fly
USER_DESC=	Drop privileges to nobody
CHROOT_DESC=	Chroot to /var/run/tcpdump (set CHROOTDIR to change)

.include <bsd.port.options.mk>

CONFIGURE_ARGS+=	--enable-pcap_setdirection --with-pcap_setdirection

# The --without-crypto flag needs to be explicitly specified. The
# configure script gets confused if you specify --with-crypto and
# thinks this means you *don't* want crypto.
#
.if ${PORT_OPTIONS:MCRYPTO}
USE_OPENSSL=	yes
.else
CONFIGURE_ARGS+=	--without-crypto
.endif

.if ${PORT_OPTIONS:MIPV6}
CONFIGURE_ARGS+=	--enable-ipv6
.endif

.if empty(PORT_OPTIONS:MSMB)
CONFIGURE_ARGS+=	--disable-smb
.endif

.if ${PORT_OPTIONS:MSMI}
LIB_DEPENDS+=		smi:${PORTSDIR}/net-mgmt/libsmi
.else
CONFIGURE_ARGS+=	--disable-smi
.endif

.if ${PORT_OPTIONS:MUSER}
CONFIGURE_ARGS+=	--with-user=${UNPRIV_USER}
.endif

.if ${PORT_OPTIONS:MCHROOT}
CONFIGURE_ARGS+=	--with-chroot=${CHROOTDIR}
.endif

.include <bsd.port.pre.mk>

PLIST_FILES=	sbin/tcpdump \
		man/man1/tcpdump.1.gz

post-configure:
	@${REINPLACE_CMD} -e "s,\./\.\./${LIBPCAP_FORCE_VER}/libpcap\.a,${LOCALBASE}/lib/libpcap.so.1," ${WRKSRC}/Makefile

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/tcpdump ${STAGEDIR}/${PREFIX}/sbin
	${INSTALL_MAN} ${WRKSRC}/tcpdump.1 ${STAGEDIR}/${MAN1PREFIX}/man/man1

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