package/netsniff-ng: fix static build of mausezahn
The configure script fails to detect libpcap in static build because it
does not take into account the libnl dependency on link. As a result the
configure script silently disables mausezahn build even when
BR2_PACKAGE_NETSNIFF_NG_MAUSEZAHN is enabled. Add upstream patch to use
pkg-config for libpcap link flags.
Cc: Joris Lijssens <joris.lijssens@gmail.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit de39a17f71
)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
79bfe255e9
commit
ad98d9b771
@ -0,0 +1,51 @@
|
||||
From 194ec61843b9598ce90873c812b817c4b96e2e0d Mon Sep 17 00:00:00 2001
|
||||
From: Baruch Siach <baruch@tkos.co.il>
|
||||
Date: Thu, 2 Sep 2021 12:56:00 +0300
|
||||
Subject: [PATCH] Detect libpcap dependencies using pkg-config
|
||||
|
||||
When building statically the link command line must include all
|
||||
dependencies of all libraries. libpcap can optionally depend on libnl.
|
||||
mausezahn can't build statically in this case.
|
||||
|
||||
Use pkg-config in configure and in the link command to construct the
|
||||
library flags we need to link with libpcap.
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
|
||||
---
|
||||
Upstream status: commit 194ec61843b9598ce90873c812b817c4b96e2e0d
|
||||
|
||||
configure | 4 +++-
|
||||
mausezahn/Makefile | 2 +-
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 510826a798f5..598ae2433a7a 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -588,7 +588,9 @@ int main(void)
|
||||
}
|
||||
EOF
|
||||
|
||||
- $CC -o $TMPDIR/pcaptest $TMPDIR/pcaptest.c -lpcap >> config.log 2>&1
|
||||
+ $CC -o $TMPDIR/pcaptest $TMPDIR/pcaptest.c \
|
||||
+ $($PKG_CONFIG --libs libpcap 2>> config.log) \
|
||||
+ >> config.log 2>&1
|
||||
if [ ! -x $TMPDIR/pcaptest ] ; then
|
||||
echo "[NO]"
|
||||
echo "CONFIG_LIBPCAP=0" >> Config
|
||||
diff --git a/mausezahn/Makefile b/mausezahn/Makefile
|
||||
index ca16b6579583..9544565355cc 100644
|
||||
--- a/mausezahn/Makefile
|
||||
+++ b/mausezahn/Makefile
|
||||
@@ -1,6 +1,6 @@
|
||||
mausezahn-libs = -lcli \
|
||||
-lnet \
|
||||
- -lpcap \
|
||||
+ $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs libpcap 2> /dev/null ) \
|
||||
-lrt \
|
||||
-lpthread \
|
||||
-lm
|
||||
--
|
||||
2.33.0
|
||||
|
@ -13,7 +13,7 @@ NETSNIFF_NG_LICENSE_FILES = README COPYING
|
||||
NETSNIFF_NG_CONF_ENV = \
|
||||
NACL_INC_DIR=/dev/null \
|
||||
NACL_LIB_DIR=/dev/null
|
||||
NETSNIFF_NG_DEPENDENCIES = libnl libpcap libnetfilter_conntrack liburcu
|
||||
NETSNIFF_NG_DEPENDENCIES = host-pkgconf libnl libpcap libnetfilter_conntrack liburcu
|
||||
|
||||
ifeq ($(BR2_PACKAGE_NETSNIFF_NG_MAUSEZAHN),y)
|
||||
NETSNIFF_NG_DEPENDENCIES += libcli libnet
|
||||
|
Loading…
Reference in New Issue
Block a user