diff options
Diffstat (limited to 'net-analyzer/tcpdump/tcpdump-9999.ebuild')
-rw-r--r-- | net-analyzer/tcpdump/tcpdump-9999.ebuild | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/net-analyzer/tcpdump/tcpdump-9999.ebuild b/net-analyzer/tcpdump/tcpdump-9999.ebuild new file mode 100644 index 000000000000..17b98957aafb --- /dev/null +++ b/net-analyzer/tcpdump/tcpdump-9999.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils flag-o-matic git-r3 toolchain-funcs user + +DESCRIPTION="A Tool for network monitoring and data acquisition" +HOMEPAGE="http://www.tcpdump.org/" +EGIT_REPO_URI="https://github.com/the-tcpdump-group/tcpdump" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="" +IUSE="+drop-root smi ssl ipv6 samba suid test" + +RDEPEND=" + drop-root? ( sys-libs/libcap-ng ) + net-libs/libpcap + smi? ( net-libs/libsmi ) + ssl? ( >=dev-libs/openssl-0.9.6m ) +" +DEPEND=" + ${RDEPEND} + drop-root? ( virtual/pkgconfig ) + test? ( + || ( app-arch/sharutils sys-freebsd/freebsd-ubin ) + dev-lang/perl + ) +" + +pkg_setup() { + if use drop-root || use suid; then + enewgroup tcpdump + enewuser tcpdump -1 -1 -1 tcpdump + fi +} + +src_configure() { + # tcpdump needs some optimization. see bug #108391 + # but do not replace -Os + filter-flags -O[0-9] + has -O? ${CFLAGS} || append-cflags -O2 + + filter-flags -finline-functions + + if use drop-root; then + append-cppflags -DHAVE_CAP_NG_H + export LIBS=$( $(tc-getPKG_CONFIG) --libs libcap-ng ) + fi + + econf \ + $(use_enable ipv6) \ + $(use_enable samba smb) \ + $(use_with drop-root chroot '') \ + $(use_with smi) \ + $(use_with ssl crypto "${EPREFIX}/usr") \ + $(usex drop-root "--with-user=tcpdump" "") +} + +src_test() { + if [[ ${EUID} -ne 0 ]] || ! use drop-root; then + sed -i -e '/^\(espudp1\|eapon1\)/d;' tests/TESTLIST || die + emake check + else + ewarn "If you want to run the test suite, make sure you either" + ewarn "set FEATURES=userpriv or set USE=-drop-root" + fi +} + +src_install() { + dosbin tcpdump + doman tcpdump.1 + dodoc *.awk + dodoc CHANGES CREDITS README.md + + if use suid; then + fowners root:tcpdump /usr/sbin/tcpdump + fperms 4110 /usr/sbin/tcpdump + fi +} + +pkg_preinst() { + if use drop-root || use suid; then + enewgroup tcpdump + enewuser tcpdump -1 -1 -1 tcpdump + fi +} + +pkg_postinst() { + use suid && elog "To let normal users run tcpdump add them into tcpdump group." +} |