From a4ab682c52b952feeefd97f0db80962b83c5532d Mon Sep 17 00:00:00 2001 From: Andy Boyett Date: Fri, 22 May 2009 19:09:55 +0000 Subject: [PATCH] [packages] net/tcpdump: disable checks for static libpcap dynamically links libpcap, reduces binary size by ~160KB SVN-Revision: 16000 --- net/tcpdump/Makefile | 2 +- .../002-remove_static_libpcap_check.patch | 79 +++++++++++++++++++ 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 net/tcpdump/patches/002-remove_static_libpcap_check.patch diff --git a/net/tcpdump/Makefile b/net/tcpdump/Makefile index f8451a4cae..587806cc73 100644 --- a/net/tcpdump/Makefile +++ b/net/tcpdump/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tcpdump PKG_VERSION:=3.9.8 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.tcpdump.org/release/ \ diff --git a/net/tcpdump/patches/002-remove_static_libpcap_check.patch b/net/tcpdump/patches/002-remove_static_libpcap_check.patch new file mode 100644 index 0000000000..c7c2b04afb --- /dev/null +++ b/net/tcpdump/patches/002-remove_static_libpcap_check.patch @@ -0,0 +1,79 @@ +tcpdump explicitly checks for a static version of libpcap in +../libpcap-[0-9]*.[0-9]*(.[0-9]*)?([ab][0-9]*)? relative to its build dir +if found, tcpdump is linked statically against this lib + +The patch removes the check for the static lib and headers in this relative +location for tcpdump's configure script. + +Index: tcpdump-3.9.8/configure +=================================================================== +--- tcpdump-3.9.8.orig/configure 2007-09-25 19:16:50.000000000 -0700 ++++ tcpdump-3.9.8/configure 2009-05-21 17:17:07.000000000 -0700 +@@ -9278,26 +9278,6 @@ + LIBS="$LIBS $pfopen" + fi + fi +- { echo "$as_me:$LINENO: checking for local pcap library" >&5 +-echo $ECHO_N "checking for local pcap library... $ECHO_C" >&6; } +- libpcap=FAIL +- lastdir=FAIL +- places=`ls $srcdir/.. | sed -e 's,/$,,' -e "s,^,$srcdir/../," | \ +- egrep '/libpcap-[0-9]*.[0-9]*(.[0-9]*)?([ab][0-9]*)?$'` +- for dir in $places $srcdir/../libpcap $srcdir/libpcap ; do +- basedir=`echo $dir | sed -e 's/[ab][0-9]*$//'` +- if test $lastdir = $basedir ; then +- continue; +- fi +- lastdir=$dir +- if test -r $dir/libpcap.a ; then +- libpcap=$dir/libpcap.a +- d=$dir +- fi +- done +- if test $libpcap = FAIL ; then +- { echo "$as_me:$LINENO: result: not found" >&5 +-echo "${ECHO_T}not found" >&6; } + { echo "$as_me:$LINENO: checking for main in -lpcap" >&5 + echo $ECHO_N "checking for main in -lpcap... $ECHO_C" >&6; } + if test "${ac_cv_lib_pcap_main+set}" = set; then +@@ -9362,40 +9342,6 @@ + echo "$as_me: error: see the INSTALL doc for more info" >&2;} + { (exit 1); exit 1; }; } + fi +- { echo "$as_me:$LINENO: checking for extraneous pcap header directories" >&5 +-echo $ECHO_N "checking for extraneous pcap header directories... $ECHO_C" >&6; } +- 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 +- { echo "$as_me:$LINENO: result: not found" >&5 +-echo "${ECHO_T}not found" >&6; } +- else +- V_INCLS="-I$d $V_INCLS" +- { echo "$as_me:$LINENO: result: found -- -I$d added" >&5 +-echo "${ECHO_T}found -- -I$d added" >&6; } +- fi +- else +- V_PCAPDEP=$libpcap +- places=`ls $srcdir/.. | sed -e 's,/$,,' -e "s,^,$srcdir/../," | \ +- egrep '/libpcap-[0-9]*.[0-9]*(.[0-9]*)?([ab][0-9]*)?$'` +- if test -r $d/pcap.h; then +- V_INCLS="-I$d $V_INCLS" +- elif test -r $places/pcap.h; then +- V_INCLS="-I$places $V_INCLS" +- else +- { { echo "$as_me:$LINENO: error: cannot find pcap.h" >&5 +-echo "$as_me: error: cannot find pcap.h" >&2;} +- { (exit see INSTALL); exit see INSTALL; }; } +- fi +- { echo "$as_me:$LINENO: result: $libpcap" >&5 +-echo "${ECHO_T}$libpcap" >&6; } +- fi + LIBS="$libpcap $LIBS" + case "$host_os" in + -- 2.30.2