net-analyzer/tcpdump: Remove automatically added include directories
authorJeroen Roovers <jer@gentoo.org>
Tue, 27 Aug 2019 19:39:33 +0000 (21:39 +0200)
committerJeroen Roovers <jer@gentoo.org>
Tue, 27 Aug 2019 19:39:55 +0000 (21:39 +0200)
Package-Manager: Portage-2.3.73, Repoman-2.3.17
Bug: https://bugs.gentoo.org/692772
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
net-analyzer/tcpdump/files/tcpdump-4.9.2-includedir.patch [new file with mode: 0644]
net-analyzer/tcpdump/tcpdump-4.9.2-r1.ebuild [new file with mode: 0644]
net-analyzer/tcpdump/tcpdump-9999.ebuild

diff --git a/net-analyzer/tcpdump/files/tcpdump-4.9.2-includedir.patch b/net-analyzer/tcpdump/files/tcpdump-4.9.2-includedir.patch
new file mode 100644 (file)
index 0000000..0f74fa9
--- /dev/null
@@ -0,0 +1,65 @@
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -534,40 +534,6 @@
+               if test $libpcap = FAIL ; then
+                   AC_MSG_ERROR(see the INSTALL doc for more info)
+               fi
+-              dnl
+-              dnl Some versions of Red Hat Linux put "pcap.h" in
+-              dnl "/usr/include/pcap"; had the LBL folks done so,
+-              dnl that would have been a good idea, but for
+-              dnl the Red Hat folks to do so just breaks source
+-              dnl compatibility with other systems.
+-              dnl
+-              dnl We work around this by assuming that, as we didn't
+-              dnl find a local libpcap, libpcap is in /usr/lib or
+-              dnl /usr/local/lib and that the corresponding header
+-              dnl file is under one of those directories; if we don't
+-              dnl find it in either of those directories, we check to
+-              dnl see if it's in a "pcap" subdirectory of them and,
+-              dnl if so, add that subdirectory to the "-I" list.
+-              dnl
+-              dnl (We now also put pcap.h in /usr/include/pcap, but we
+-              dnl leave behind a /usr/include/pcap.h that includes it,
+-              dnl so you can still just include <pcap.h>.)
+-              dnl
+-              AC_MSG_CHECKING(for extraneous pcap header directories)
+-              if test \( ! -r /usr/local/include/pcap.h \) -a \
+-                      \( ! -r /usr/include/pcap.h \); then
+-                  if test -r /usr/local/include/pcap/pcap.h; then
+-                      d="/usr/local/include/pcap"
+-                  elif test -r /usr/include/pcap/pcap.h; then
+-                      d="/usr/include/pcap"
+-                  fi
+-              fi
+-              if test -z "$d" ; then
+-                  AC_MSG_RESULT(not found)
+-              else
+-                  $2="-I$d $$2"
+-                  AC_MSG_RESULT(found -- -I$d added)
+-              fi
+           fi
+     else
+           $1=$libpcap
+@@ -1351,11 +1351,4 @@
+                                   -f "$1/$tmplib/libcrypto.dylib" \); then
+               ac_cv_ssleay_path="$1"
+       fi
+-
+-      #
+-      # Make sure we have the headers as well.
+-      #
+-      if test -d "$1/include/openssl" -a -f "$1/include/openssl/des.h"; then
+-              incdir="-I$1/include"
+-      fi
+ ])
+--- a/configure.in
++++ b/configure.in
+@@ -908,7 +908,6 @@
+               # Put the subdirectories of the libcrypto root directory
+               # at the front of the header and library search path.
+               #
+-              CFLAGS="-I$withval/include $CFLAGS"
+               LIBS="-L$withval/lib $LIBS"
+       fi
+ ],[
diff --git a/net-analyzer/tcpdump/tcpdump-4.9.2-r1.ebuild b/net-analyzer/tcpdump/tcpdump-4.9.2-r1.ebuild
new file mode 100644 (file)
index 0000000..7e89e17
--- /dev/null
@@ -0,0 +1,106 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools flag-o-matic toolchain-funcs user
+
+DESCRIPTION="A Tool for network monitoring and data acquisition"
+HOMEPAGE="
+       http://www.tcpdump.org/
+       https://github.com/the-tcpdump-group/tcpdump
+"
+SRC_URI="
+       http://www.tcpdump.org/release/${P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="+drop-root libressl smi ssl samba suid test"
+
+RDEPEND="
+       drop-root? ( sys-libs/libcap-ng )
+       net-libs/libpcap
+       smi? ( net-libs/libsmi )
+       ssl? (
+               !libressl? ( >=dev-libs/openssl-0.9.6m:0= )
+               libressl? ( dev-libs/libressl:= )
+       )
+"
+DEPEND="
+       ${RDEPEND}
+       drop-root? ( virtual/pkgconfig )
+       test? (
+               || ( app-arch/sharutils sys-freebsd/freebsd-ubin )
+               dev-lang/perl
+       )
+"
+PATCHES=(
+       "${FILESDIR}"/${PN}-4.9.2-includedir.patch
+)
+
+pkg_setup() {
+       if use drop-root || use suid; then
+               enewgroup tcpdump
+               enewuser tcpdump -1 -1 -1 tcpdump
+       fi
+}
+
+src_prepare() {
+       default
+
+       mv aclocal.m4 acinclude.m4 || die
+
+       eautoreconf
+
+       sed -i -e '/^eapon1/d;' tests/TESTLIST || die
+
+       # bug 630394
+       sed -i -e '/^nbns-valgrind/d' tests/TESTLIST || die
+}
+
+src_configure() {
+       if use drop-root; then
+               append-cppflags -DHAVE_CAP_NG_H
+               export LIBS=$( $(tc-getPKG_CONFIG) --libs libcap-ng )
+       fi
+
+       econf \
+               $(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
+               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."
+}
index 5386a5f79ceabc287f7806631ce7f49f9f91a2ab..c4fe962e8128af934e95e3cd0f0b3b74e7584c9f 100644 (file)
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 inherit flag-o-matic toolchain-funcs user
 
 DESCRIPTION="A Tool for network monitoring and data acquisition"