diff options
Diffstat (limited to 'abs/core/libpcap')
-rw-r--r-- | abs/core/libpcap/PKGBUILD | 44 | ||||
-rw-r--r-- | abs/core/libpcap/libpcap-shared.patch | 51 |
2 files changed, 95 insertions, 0 deletions
diff --git a/abs/core/libpcap/PKGBUILD b/abs/core/libpcap/PKGBUILD new file mode 100644 index 0000000..0a586db --- /dev/null +++ b/abs/core/libpcap/PKGBUILD @@ -0,0 +1,44 @@ +# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $ +# Maintainer: dorphell <dorphell@archlinux.org> + +pkgname=libpcap +pkgver=0.9.8 +pkgrel=11 +pkgdesc="A system-independent interface for user-level packet capture" +arch=(i686 x86_64) +url="http://www.tcpdump.org/" +license=('BSD') +groups=('base') +depends=('glibc') +makedepends=('flex') +source=(http://www.sfr-fresh.com/unix/misc/libpcap-${pkgver}.tar.gz + libpcap-shared.patch) +md5sums=('5208f24d0328ee7c20b52c43eaa9aa0e' + 'b8a9c5e5cea0b89a8a7456c6c4d59db4') + +# This package has a strict SONAME that changes in EVERY MINOR +# release. Whenever you feel like updating this package, DON'T, +# it will break a number of essential system tools. +# Again, for dummies: IF YOU UPDATE THIS PACKAGE DIRECTLY TO CORE, +# I WILL PERSONALLY CHOP YOUR HEAD OFF! + +build() { + cd ${startdir}/src/${pkgname}-${pkgver} + patch -Np1 -i ${startdir}/libpcap-shared.patch || return 1 + sed -i -e "s/@MAJOR@/`awk -F '.' '{ print $1 }' VERSION`/" \ + -e "s/@MINOR@/`awk -F '.' '{ print $2 }' VERSION`/" \ + -e "s/@SUBMINOR@/`awk -F '.' '{ print $3 }' VERSION`/" \ + -e "s/@VERSION@/`cat VERSION`/" Makefile.in + + ./configure --prefix=/usr --enable-ipv6 + DEFS="-g -D_U_=\"\" -fPIC -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" + make -j1 DEFS="${DEFS}" || return 1 + make DESTDIR=${startdir}/pkg install +# # backwards compatibility, programs often look for net/bpf.h + mkdir -p ${startdir}/pkg/usr/include/net + cd ${startdir}/pkg/usr/include/net + ln -s ../pcap-bpf.h bpf.h + + #install the license + install -D -m644 $startdir/src/$pkgname-$pkgver/LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE +} diff --git a/abs/core/libpcap/libpcap-shared.patch b/abs/core/libpcap/libpcap-shared.patch new file mode 100644 index 0000000..a200836 --- /dev/null +++ b/abs/core/libpcap/libpcap-shared.patch @@ -0,0 +1,51 @@ +diff -u -r libpcap-0.6.2/Makefile.in libpcap-shared/Makefile.in +--- libpcap-0.6.2/Makefile.in Thu Jan 18 05:06:24 2001 ++++ libpcap-shared/Makefile.in Fri Jul 20 16:26:05 2001 +@@ -22,6 +22,10 @@ + # + # Various configurable paths (remember to edit Makefile.in, not Makefile) + # ++MAJOR = @MAJOR@ ++MINOR = @MINOR@ ++SUBMINOR = @SUBMINOR@ ++VERSION = @VERSION@ + + # Top level hierarchy + prefix = @prefix@ +@@ -47,7 +51,7 @@ + DEFS = @DEFS@ + + # Standard CFLAGS +-CFLAGS = $(CCOPT) $(INCLS) $(DEFS) ++CFLAGS = $(CCOPT) $(INCLS) $(DEFS) -fPIC -DPIC + + INSTALL = @INSTALL@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ +@@ -91,9 +95,14 @@ + TAGFILES = \ + $(SRC) $(HDR) $(TAGHDR) + +-CLEANFILES = $(OBJ) libpcap.a $(GENSRC) $(GENHDR) lex.yy.c + +-all: libpcap.a ++ ++CLEANFILES = $(OBJ) libpcap.a $(GENSRC) $(GENHDR) lex.yy.c libpcap.so.$(VERSION) ++ ++all: libpcap.a libpcap.so.$(VERSION) ++ ++libpcap.so.$(VERSION): ++ gcc -shared -Wl,-soname -Wl,libpcap.so.$(VERSION) -o libpcap.so.$(VERSION) $(OBJ) -lc + + libpcap.a: $(OBJ) + @rm -f $@ +@@ -139,6 +148,10 @@ + [ -d $(DESTDIR)$(libdir) ] || \ + (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) + $(INSTALL_DATA) libpcap.a $(DESTDIR)$(libdir)/libpcap.a ++ $(INSTALL_DATA) libpcap.so.$(VERSION) $(DESTDIR)$(libdir)/libpcap.so.$(VERSION) ++ ln -s libpcap.so.$(VERSION) $(DESTDIR)$(libdir)/libpcap.so ++ ln -s libpcap.so.$(VERSION) $(DESTDIR)$(libdir)/libpcap.so.$(MAJOR) ++ ln -s libpcap.so.$(VERSION) $(DESTDIR)$(libdir)/libpcap.so.$(MAJOR).$(MINOR) + $(RANLIB) $(DESTDIR)$(libdir)/libpcap.a + [ -d $(DESTDIR)$(includedir) ] || \ + (mkdir -p $(DESTDIR)$(includedir); chmod 755 $(DESTDIR)$(includedir)) |