net-analyzer/tcpdump: Sync with Gentoo

It's from Gentoo commit 310916be3a791d088abbd8bded0053180d118b6b.
This commit is contained in:
Flatcar Buildbot 2024-09-02 07:18:18 +00:00 committed by Krzesimir Nowak
parent e3cf516432
commit e561480cf6
5 changed files with 163 additions and 15 deletions

View File

@ -1,2 +1,4 @@
DIST tcpdump-4.99.4.tar.gz 1903612 BLAKE2B f100e10774574ef04a770bc30d4e2d06fd0f1f16a7b2c88848be6e8290cc4838666ff378d9f78fdc418f4ffab9716a11214edc3588c292cb5ff39636cd7cfd2d SHA512 cb51e19574707d07c0de90dd4c301955897f2c9f2a69beb7162c08f59189f55625346d1602c8d66ab2b4c626ea4b0df1f08ed8734d2d7f536d0a7840c2d6d8df
DIST tcpdump-4.99.4.tar.gz.sig 442 BLAKE2B 2ee35036d86f643b378591c0eb93d8a0f08cb2f0e3638bde25515d550b40fef1bf0eb6c876d4d6512fa795041b0703954ca884c646c4af8771b4bc4049e7609a SHA512 bec395f0f595a37121bc144bac133f3fb31c6c1007cdadf061e4437d6fe2406c0cb0d5b68b5c63e03b932c783bfb58f0af0b7e8a58bb81beb9de6a0d681620e8
DIST tcpdump-4.99.5.tar.gz 2045086 BLAKE2B 754c25eafe84754465356042faa1369678655aa93d1b736c259ca9a6bd1e18c44784ae136dc6a3e64af9903c05c29e1379aafd7badc0e129c5a29ae908db13ff SHA512 69bc52ef7af7fd562370adf2e95cb592aad6193df9ab1708de52ac86a4c1cff72e8b256a739b435c324ee2df61051abde7d2659bc40f061d7c4fbcab1dcaa2e2
DIST tcpdump-4.99.5.tar.gz.sig 442 BLAKE2B 8742616147e2965ea6879b471662669f1942cdb8892834ac3ebfd4a6f610bde1a091bb85dc8c0836b26d1db7036d072608d7242ee4ddfbf590a07beb584a67cc SHA512 e36d2023973335cb95e91cb13414f6c0e6386175ed88fdeb2c0afabf7c39ad43f138d13b18ff2e88b142aad5147d37ddc03c3111e9d4d22bf3697e0acc30905c

View File

@ -0,0 +1,22 @@
https://github.com/the-tcpdump-group/tcpdump/pull/1068
From 54278acb038f0d16ed75cdddb35fd2813a7cdcef Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Thu, 27 Jul 2023 08:31:53 +0100
Subject: [PATCH] configure.ac: use AC_SYS_LARGEFILE
This enables 64-bit off_t where it's opt-in (e.g. glibc) on 32-bit platforms.
Bug: https://bugs.gentoo.org/911176
Signed-off-by: Sam James <sam@gentoo.org>
--- a/configure.ac
+++ b/configure.ac
@@ -31,6 +31,8 @@ fi
AC_LBL_C_INIT(V_CCOPT, V_INCLS)
AC_LBL_C_INLINE
+AC_SYS_LARGEFILE
+
AC_CHECK_HEADERS(rpc/rpc.h rpc/rpcent.h net/if.h)
#
# Get the size of a void *, to know whether this is a 32-bit or 64-bit build.

View File

@ -0,0 +1,29 @@
--- a/configure.ac
+++ b/configure.ac
@@ -427,7 +427,7 @@ fi
if test "$ipv6" = "yes" -a "$ipv6lib" != "none"; then
if test -d $ipv6libdir -a -f $ipv6libdir/lib$ipv6lib.a; then
- LIBS="-L$ipv6libdir -l$ipv6lib $LIBS"
+ LIBS="-l$ipv6lib $LIBS"
echo "You have $ipv6lib library, using it"
else
if test "$ipv6trylibc" = "yes"; then
@@ -1168,7 +1168,7 @@ return 0;
#
AC_LBL_SAVE_CHECK_STATE
CFLAGS="$CFLAGS -I$libcrypto_root/include"
- LIBS="$LIBS -L$libcrypto_root/lib -lcrypto"
+ LIBS="$LIBS -lcrypto"
AC_MSG_CHECKING(whether we have a system OpenSSL/libressl that we can use)
AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[
@@ -1182,7 +1182,7 @@ return 0;
AC_MSG_RESULT(yes)
HAVE_LIBCRYPTO=yes
LIBCRYPTO_CFLAGS="-I$libcrypto_root/include"
- LIBCRYPTO_LIBS="-L$libcrypto_root/lib -lcrypto"
+ LIBCRYPTO_LIBS="-lcrypto"
],
AC_MSG_RESULT(no))
AC_LBL_RESTORE_CHECK_STATE

View File

@ -0,0 +1,101 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools
DESCRIPTION="A tool for network monitoring and data acquisition"
HOMEPAGE="https://www.tcpdump.org/ https://github.com/the-tcpdump-group/tcpdump"
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/the-tcpdump-group/tcpdump"
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tcpdump.asc
inherit verify-sig
SRC_URI="https://www.tcpdump.org/release/${P}.tar.gz"
SRC_URI+=" verify-sig? ( https://www.tcpdump.org/release/${P}.tar.gz.sig )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="BSD"
SLOT="0"
IUSE="+caps +smi +ssl +samba suid test"
REQUIRED_USE="test? ( samba )"
RESTRICT="!test? ( test )"
RDEPEND="
>=net-libs/libpcap-1.10.1
caps? (
acct-group/pcap
acct-user/pcap
sys-libs/libcap-ng
)
smi? ( net-libs/libsmi )
ssl? (
>=dev-libs/openssl-0.9.6m:=
)
suid? (
acct-group/pcap
acct-user/pcap
)
"
DEPEND="
${RDEPEND}
test? (
dev-lang/perl
)
"
BDEPEND="caps? ( virtual/pkgconfig )"
if [[ ${PV} != *9999* ]] ; then
BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20240901 )"
fi
PATCHES=(
"${FILESDIR}"/${PN}-4.99.5-libdir.patch
"${FILESDIR}"/${PN}-4.99.5-lfs.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
econf \
$(use_enable samba smb) \
$(use_with caps cap-ng) \
$(use_with smi) \
$(use_with ssl crypto "${ESYSROOT}/usr") \
$(usex caps "--with-user=pcap" "")
}
src_test() {
if [[ ${EUID} -ne 0 ]] || ! use caps ; then
emake check
else
ewarn "If you want to run the test suite, make sure you either"
ewarn "set FEATURES=userpriv or set USE=-caps"
fi
}
src_install() {
dosbin tcpdump
doman tcpdump.1
dodoc *.awk
dodoc CHANGES CREDITS README.md
if use suid ; then
fowners root:pcap /usr/sbin/tcpdump
fperms 4110 /usr/sbin/tcpdump
fi
}
pkg_postinst() {
use suid && elog "To let normal users run tcpdump, add them to the pcap group."
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -24,13 +24,13 @@ fi
LICENSE="BSD"
SLOT="0"
IUSE="+drop-root +smi +ssl +samba suid test"
IUSE="+caps +smi +ssl +samba suid test"
REQUIRED_USE="test? ( samba )"
RESTRICT="!test? ( test )"
RDEPEND="
>=net-libs/libpcap-1.10.1
drop-root? (
caps? (
acct-group/pcap
acct-user/pcap
sys-libs/libcap-ng
@ -50,17 +50,12 @@ DEPEND="
dev-lang/perl
)
"
BDEPEND="drop-root? ( virtual/pkgconfig )"
BDEPEND="caps? ( virtual/pkgconfig )"
if [[ ${PV} != *9999* ]] ; then
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-tcpdump )"
BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-tcpdump-20240901 )"
fi
PATCHES=(
"${FILESDIR}"/${PN}-9999-libdir.patch
"${FILESDIR}"/${PN}-9999-lfs.patch
)
src_prepare() {
default
eautoreconf
@ -69,19 +64,18 @@ src_prepare() {
src_configure() {
econf \
$(use_enable samba smb) \
$(use_with drop-root cap-ng) \
$(use_with drop-root chroot '') \
$(use_with caps cap-ng) \
$(use_with smi) \
$(use_with ssl crypto "${ESYSROOT}/usr") \
$(usex drop-root "--with-user=pcap" "")
$(usex caps "--with-user=pcap" "")
}
src_test() {
if [[ ${EUID} -ne 0 ]] || ! use drop-root ; then
if [[ ${EUID} -ne 0 ]] || ! use caps ; 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"
ewarn "set FEATURES=userpriv or set USE=-caps"
fi
}