Skip site navigation (1)Skip section navigation (2)
Date:      Fri,  9 Jan 2004 09:00:11 +1100 (EST)
From:      Edwin Groothuis <edwin@mavetju.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        bms@FreeBSD.org
Subject:   ports/61096: [patch] update net/libpcap to version 0.8.1-351, add LIBPCAP_OVERWRITE_BASE
Message-ID:  <20040108220011.ED0F06A7101@k7.mavetju>
Resent-Message-ID: <200401082210.i08MA4ni087497@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         61096
>Category:       ports
>Synopsis:       [patch] update net/libpcap to version 0.8.1-351, add LIBPCAP_OVERWRITE_BASE
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan 08 14:10:04 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Edwin Groothuis
>Release:        FreeBSD 4.8-RELEASE i386
>Organization:
-
>Environment:
System: FreeBSD k7.mavetju 4.8-RELEASE FreeBSD 4.8-RELEASE #1: Mon Jan 5 18:59:31 EST 2004 edwin@k7.mavetju:/usr/src/sys/compile/k7 i386

>Description:

- Update to patchlevel 351 of libpcap
- Add LIBPCAP_OVERWRITE_BASE support which will create a libpcap.so.2
  and install it in /usr/lib instead of /usr/local

>How-To-Repeat:
>Fix:

    New files:	files/pkg-message-base
		files/patchbase-Makefile.in


    Please note that the default tcpdump on 4.8 (other versions
    too?) will have to be recompiled, otherwise it will segfault
    while reading the services file. Running tcpdump -n will not
    show this problem. Running other programs which use libpcap
    with name and service resolution (net/trafshow) don't show this
    problem. A pkg-message is created in case LIBPCAP_OVERWRITE_BASE
    is used to point out to this problem.

diff -rNu /usr/ports/net/libpcap/Makefile /usr/home/edwin/cvs/ports/net/libpcap/Makefile
--- /usr/ports/net/libpcap/Makefile	Thu Dec 11 05:32:12 2003
+++ /usr/home/edwin/cvs/ports/net/libpcap/Makefile	Thu Jan  8 17:14:00 2004
@@ -7,9 +7,10 @@
 
 PORTNAME=	libpcap
 PORTVERSION=	0.8.1
+PORTREVISION=	351
 CATEGORIES=	net
 MASTER_SITES=	http://www.tcpdump.org/beta/
-DISTNAME=	${PORTNAME}-${PORTVERSION}-316
+DISTNAME=	${PORTNAME}-${PORTVERSION}-${PORTREVISION}
 
 MAINTAINER=	bms@FreeBSD.org
 COMMENT=	Ubiquitous network traffic capture library
@@ -22,12 +23,31 @@
 
 GNU_CONFIGURE=	yes
 
+.if defined(LIBPCAP_OVERWRITE_BASE)
+PREFIX=		/usr
+PKGNAMESUFFIX=	-overwrite-base
+MANPREFIX=	${PREFIX}/share
+CONFIGURE_ARGS+=--mandir=${MANPREFIX}/man
+PLIST_SUB+=	NOTBASE="@comment "
+PLIST_SUB+=	BASE=""
+EXTRA_PATCHES+=	${FILESDIR}/patchbase-Makefile.in
+PKGMESSAGE=	${FILESDIR}/pkg-message-base
+.else
+PLIST_SUB+=	BASE="@comment "
+PLIST_SUB+=	NOTBASE=""
+.endif
+
 .if !defined(WITHOUT_IPV6)
 CONFIGURE_ARGS+=	--enable-ipv6
 .endif
 
 .if !defined(WITH_DAG)
 CONFIGURE_ARGS+=	--without-dag
+.endif
+
+.if defined(LIBPCAP_OVERWRITE_BASE)
+post-install:
+	${CAT} ${PKGMESSAGE}
 .endif
 
 .include <bsd.port.mk>
diff -rNu /usr/ports/net/libpcap/distinfo /usr/home/edwin/cvs/ports/net/libpcap/distinfo
--- /usr/ports/net/libpcap/distinfo	Thu Dec 11 05:32:12 2003
+++ /usr/home/edwin/cvs/ports/net/libpcap/distinfo	Thu Jan  8 16:01:37 2004
@@ -1 +1 @@
-MD5 (libpcap-0.8.1-316.tar.gz) = ab8f17ca785b9e0272f98010dc16e13b
+MD5 (libpcap-0.8.1-351.tar.gz) = 7e40804221dfa9d10a41f129b9edf3b4
diff -rNu /usr/ports/net/libpcap/files/patchbase-Makefile.in /usr/home/edwin/cvs/ports/net/libpcap/files/patchbase-Makefile.in
--- /usr/ports/net/libpcap/files/patchbase-Makefile.in	Thu Jan  1 10:00:00 1970
+++ /usr/home/edwin/cvs/ports/net/libpcap/files/patchbase-Makefile.in	Thu Jan  8 17:02:49 2004
@@ -0,0 +1,30 @@
+--- Makefile.in.orig	Thu Jan  8 16:38:30 2004
++++ Makefile.in	Thu Jan  8 16:41:40 2004
+@@ -96,13 +96,17 @@
+ 
+ CLEANFILES = $(OBJ) libpcap.a $(GENSRC) $(GENHDR) lex.yy.c
+ 
+-all: libpcap.a
++all: libpcap.a libpcap.so.2
+ 
+ libpcap.a: $(OBJ)
+ 	@rm -f $@
+ 	ar rc $@ $(OBJ) $(LIBS)
+ 	$(RANLIB) $@
+ 
++libpcap.so.2: $(OBJ)
++	@rm -f $@
++	$(CC) -shared -Wl,-x  -o libpcap.so.2 -Wl,-soname,libpcap.so.2  `lorder *.o | tsort -q`
++
+ scanner.c: $(srcdir)/scanner.l
+ 	@rm -f $@
+ 	$(LEX) -t $< > $$$$.$@; mv $$$$.$@ $@
+@@ -154,6 +158,8 @@
+ install:
+ 	[ -d $(DESTDIR)$(libdir) ] || \
+ 	    (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))
++	$(INSTALL_DATA) libpcap.so.2 $(DESTDIR)$(libdir)/libpcap.so.2
++	ln -fs $(DESTDIR)$(libdir)/libpcap.so.2 $(DESTDIR)$(libdir)/libpcap.so
+ 	$(INSTALL_DATA) libpcap.a $(DESTDIR)$(libdir)/libpcap.a
+ 	$(RANLIB) $(DESTDIR)$(libdir)/libpcap.a
+ 	[ -d $(DESTDIR)$(includedir) ] || \
diff -rNu /usr/ports/net/libpcap/files/pkg-message-base /usr/home/edwin/cvs/ports/net/libpcap/files/pkg-message-base
--- /usr/ports/net/libpcap/files/pkg-message-base	Thu Jan  1 10:00:00 1970
+++ /usr/home/edwin/cvs/ports/net/libpcap/files/pkg-message-base	Thu Jan  8 17:13:22 2004
@@ -0,0 +1,13 @@
+***************************************
+* You might run into troubles running *
+* tcpdump, you should recompile it if *
+* it segfaults:                       *
+* $ cd /usr/src/usr.sbin/tcpdump      *
+* $ make && make install              *
+***************************************
+* You can always reinstall the older  *
+* libraries via the source directory  *
+* of the base system:                 *
+* $ cd /usr/src/lib/libpcap           *
+* $ make && make install              *
+***************************************
diff -rNu /usr/ports/net/libpcap/pkg-plist /usr/home/edwin/cvs/ports/net/libpcap/pkg-plist
--- /usr/ports/net/libpcap/pkg-plist	Thu Dec 11 05:32:12 2003
+++ /usr/home/edwin/cvs/ports/net/libpcap/pkg-plist	Thu Jan  8 17:03:07 2004
@@ -1,4 +1,6 @@
 lib/libpcap.a
+%%BASE%%lib/libpcap.so.2
+%%BASE%%lib/libpcap.so
 include/pcap.h
 include/pcap-namedb.h
 include/pcap-bpf.h
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040108220011.ED0F06A7101>