From f528f5c3a4873c58974cbdd2f6dd89b61ef6deab Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Nov 29 2006 12:36:46 +0000 Subject: - split off libpcap and arpwatch (#193657) - update to 3.9.5 - force linking with system libpcap Resolves: #193657 --- diff --git a/.cvsignore b/.cvsignore index e9bfe82..b735c8e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,12 +1,2 @@ -arpwatch-2.1a13.tar.gz -libpcap-0.8.3.tar.gz -tcpdump-3.8.2.tar.gz tcpslice-CVS.20010207.tar.gz -rpc.tar.gz -libpcap-0.9.1.tar.gz -tcpdump-3.9.1.tar.gz -tcpdump-3.9.3.tar.gz -libpcap-0.9.3.tar.gz -tcpdump-3.9.4.tar.gz -libpcap-0.9.4.tar.gz -ethercodes-2.1a15.dat.bz2 +tcpdump-3.9.5.tar.gz diff --git a/sources b/sources index 569a465..33a93bb 100644 --- a/sources +++ b/sources @@ -1,6 +1,2 @@ -b9ff9739cdd2c0e9807b2d05860e4811 arpwatch-2.1a13.tar.gz 97cc59ddb3202f74d22261e49aa07115 tcpslice-CVS.20010207.tar.gz -6e65ea04ab6773c937986098028c8f21 rpc.tar.gz -4b64755bbc8ba1af49c747271a6df5b8 tcpdump-3.9.4.tar.gz -79025766e8027df154cb1f32de8a7974 libpcap-0.9.4.tar.gz -4df4ce9cfedcc0bac894dfac61190f89 ethercodes-2.1a15.dat.bz2 +2135e7b1f09af0eaf66d2af822bed44a tcpdump-3.9.5.tar.gz diff --git a/tcpdump-3.9.5-man.patch b/tcpdump-3.9.5-man.patch new file mode 100644 index 0000000..a667eb7 --- /dev/null +++ b/tcpdump-3.9.5-man.patch @@ -0,0 +1,22 @@ +--- tcpdump-3.9.5/tcpslice/tcpslice.1.man 2001-02-07 16:11:32.000000000 +0100 ++++ tcpdump-3.9.5/tcpslice/tcpslice.1 2006-11-28 17:37:00.000000000 +0100 +@@ -19,7 +19,7 @@ + .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + .\" +-.TH TCPSLICE 1 "21 December 1996" ++.TH TCPSLICE 8 "21 December 1996" + .SH NAME + tcpslice \- extract pieces of and/or glue together tcpdump files + .SH SYNOPSIS +--- tcpdump-3.9.5/tcpdump.1.man 2005-12-05 21:11:19.000000000 +0100 ++++ tcpdump-3.9.5/tcpdump.1 2006-11-28 17:37:00.000000000 +0100 +@@ -22,7 +22,7 @@ + .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + .\" +-.TH TCPDUMP 1 "18 April 2005" ++.TH TCPDUMP 8 "18 April 2005" + .SH NAME + tcpdump \- dump traffic on a network + .SH SYNOPSIS diff --git a/tcpdump-3.9.5-nolocalpcap.patch b/tcpdump-3.9.5-nolocalpcap.patch new file mode 100644 index 0000000..ddf33d0 --- /dev/null +++ b/tcpdump-3.9.5-nolocalpcap.patch @@ -0,0 +1,20 @@ +--- tcpdump-3.9.5/configure.nolocalpcap 2005-11-08 04:00:53.000000000 +0100 ++++ tcpdump-3.9.5/configure 2006-11-29 12:40:24.000000000 +0100 +@@ -9086,6 +9086,7 @@ + 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 ++ break + basedir=`echo $dir | sed -e 's/[ab][0-9]*$//'` + if test $lastdir = $basedir ; then + continue; +--- tcpdump-3.9.5/tcpslice/configure.nolocalpcap 2000-11-14 20:10:42.000000000 +0100 ++++ tcpdump-3.9.5/tcpslice/configure 2006-11-29 12:42:02.000000000 +0100 +@@ -1870,6 +1870,7 @@ + places=`ls .. | sed -e 's,/$,,' -e 's,^,../,' | \ + egrep '/libpcap-[0-9]*\.[0-9]*(\.[0-9]*)?([ab][0-9]*)?$'` + for dir in $places ../libpcap libpcap ; do ++ break + basedir=`echo $dir | sed -e 's/[ab][0-9]*$//'` + if test $lastdir = $basedir ; then + continue; diff --git a/tcpdump.spec b/tcpdump.spec index 81b0117..87378ae 100644 --- a/tcpdump.spec +++ b/tcpdump.spec @@ -1,71 +1,25 @@ -%define _vararpwatch %{_localstatedir}/arpwatch -%define PCAP_UID 77 -%define PCAP_GID 77 - -%define releaseno 9%{?dist} -%define arpwatch_release 16%{?dist} -%define pcap_release %{releaseno} -%define tcpdump_release %{releaseno} - -%define pcap_major 0 -%define pcap_minor 9 -%define pcap_subminor 4 -%define pcap_version %{pcap_major}.%{pcap_minor}.%{pcap_subminor} - -%define tcpdump_version 3.9.4 - -Summary: A network traffic monitoring tool. +Summary: A network traffic monitoring tool Name: tcpdump -Version: %{tcpdump_version} -%define tcpdump_dir tcpdump-%{tcpdump_version} -%define tcpslice_dir tcpslice -Release: %{tcpdump_release} - -# XXX epoch is necessary to obsolete tcpdump-3.4a5 Epoch: 14 - +Version: 3.9.5 +Release: 1%{?dist} License: BSD URL: http://www.tcpdump.org Group: Applications/Internet -Source0: http://www.tcpdump.org/release/tcpdump-%{tcpdump_version}.tar.gz -Source1: http://www.tcpdump.org/release/libpcap-%{pcap_version}.tar.gz -Source2: ftp://ftp.ee.lbl.gov/arpwatch-2.1a13.tar.gz -Source3: arpwatch.init -Source4: tcpslice-CVS.20010207.tar.gz -Source5: arpwatch.sysconfig -Source6: rpc.tar.gz -Source7: ethercodes-2.1a15.dat.bz2 - -Patch5: tcpdump-3.6.2-tcpslice-time.patch -Patch7: tcpdump-3.9.1-redhat.patch -Patch10: tcpdump-3.6.1-portnumbers.patch -Patch15: tcpdump-3.6.2-ip6opts.patch -Patch16: tcpdump-3.8.1-sctp.patch -Patch17: tcpdump-3.7.2-sctpdef.patch -Patch19: tcpdump-3.8.2-rsvp-dos.patch -Patch21: tcpdump-3.8.2-isis-dos.patch -Patch22: tcpdump-3.9.4-ring-buffers.patch - -Patch34: arpwatch-2.1a4-fhs.patch -Patch35: arpwatch-2.1a10-man.patch -Patch38: arpwatch-drop.patch -Patch39: arpwatch-drop-man.patch -Patch41: arpwatch-addr.patch -Patch42: arpwatch-dir-man.patch -Patch43: arpwatch-arp2ethers.patch - -Patch50: libpcap-shared.patch -Patch52: tcpdump-3.7.2-s390.patch -Patch53: libpcap-0.8.3-ppp.patch -Patch54: libpcap-0.9.4-off_ll.patch - -Patch70: tcpslice-CVS.20010207-bpf.patch - - -Prefix: %{_prefix} -BuildRequires: glibc-kernheaders >= 2.2.0 openssl-devel flex bison -BuildRoot: %{_tmppath}/%{name}-root -Prereq: shadow-utils +Requires(pre): shadow-utils +BuildRequires: openssl-devel libpcap-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: http://www.tcpdump.org/release/tcpdump-%{version}.tar.gz +Source1: tcpslice-CVS.20010207.tar.gz +Patch1: tcpdump-3.9.5-man.patch +Patch2: tcpdump-3.6.1-portnumbers.patch +Patch3: tcpdump-3.9.4-ring-buffers.patch +Patch4: tcpdump-3.9.5-nolocalpcap.patch +Patch5: tcpdump-3.6.2-tcpslice-time.patch +Patch6: tcpslice-CVS.20010207-bpf.patch + +%define tcpslice_dir tcpslice %description Tcpdump is a command-line tool for monitoring network traffic. @@ -75,201 +29,38 @@ the packet headers, or just the ones that match particular criteria. Install tcpdump if you need a program to monitor network traffic. -%package -n libpcap -# if you change the Version, don't forget to edit libpcap-shared.patch -# could be sed'd automatically -Version: %{pcap_version} -Release: %{pcap_release} -%define libpcap_dir libpcap-%{pcap_version} -Summary: A system-independent interface for user-level packet capture. -Group: Development/Libraries -License: BSD -URL: http://www.tcpdump.org - -%description -n libpcap -Libpcap provides a portable framework for low-level network -monitoring. Libpcap can provide network statistics collection, -security monitoring and network debugging. Since almost every system -vendor provides a different interface for packet capture, the libpcap -authors created this system-independent API to ease in porting and to -alleviate the need for several system-dependent packet capture modules -in each application. - -Install libpcap if you need to do low-level network traffic monitoring -on your network. - -%package -n libpcap-devel -Version: %{pcap_version} -Release: %{pcap_release} -Summary: A pcap library. -Group: Development/Libraries -License: BSD -URL: http://www.tcpdump.org -Requires: libpcap = %{epoch}:%{version}-%{release} - -%description -n libpcap-devel -Libpcap provides a portable framework for low-level network -monitoring. Libpcap can provide network statistics collection, -security monitoring and network debugging. Since almost every system -vendor provides a different interface for packet capture, the libpcap -authors created this system-independent API to ease in porting and to -alleviate the need for several system-dependent packet capture modules -in each application. - -This package provides the libraries, include files, and other -resources needed for developing libpcap applications. - -%package -n arpwatch -Version: 2.1a13 -Release: %{arpwatch_release} -%define arpwatch_dir arpwatch-2.1a13 -Summary: Network monitoring tools for tracking IP addresses on a network. -Group: Applications/System -License: BSD -URL: http://www.tcpdump.org -Prereq: /sbin/chkconfig /sbin/service -Prereq: shadow-utils - -%description -n arpwatch -The arpwatch package contains arpwatch and arpsnmp. Arpwatch and -arpsnmp are both network monitoring tools. Both utilities monitor -Ethernet or FDDI network traffic and build databases of Ethernet/IP -address pairs, and can report certain changes via email. - -Install the arpwatch package if you need networking monitoring devices -which will automatically keep track of the IP addresses on your -network. - %prep -%setup -q -c -a 1 -a 2 -a 4 +%setup -q -a 1 +%patch1 -p1 -b .man +%patch2 -p1 -b .portnumbers +%patch3 -p1 -b .ring +%patch4 -p1 -b .nolocalpcap %patch5 -p1 -b .tcpslicetime -%patch7 -p1 -b .rh - -pushd %libpcap_dir -%patch50 -p1 -b .shared -%patch52 -p1 -b .s390 -%patch53 -p0 -b .ppp -%patch54 -p1 -b .off_ll -popd - -pushd %tcpdump_dir -%patch10 -p1 -b .portnumbers -%patch15 -p1 -b .ip6opts -%patch16 -p1 -b .sctp -%patch17 -p1 -b .sctpdef -%patch19 -p1 -b .rsvp-dos -%patch21 -p1 -b .isis-dos -%patch22 -p1 -b .ring -tar xzf %{SOURCE6} -popd - -pushd %arpwatch_dir -%patch34 -p1 -b .fhs -%patch35 -p1 -b .arpsnmpman -%patch38 -p1 -b .droproot -%patch39 -p0 -b .droprootman -%patch41 -p1 -b .mailuser -%patch42 -p1 -b .dirman -%patch43 -p1 -b .arp2ethers -bzip2 -dc %{SOURCE7} > ethercodes.dat -> missingcodes.txt -popd - -pushd tcpslice -%patch70 -p1 -b .bpf -popd - +%patch6 -p0 -b .bpf %build -pushd %libpcap_dir -unset CFLAGS -%configure --enable-ipv6 - -DEFS="-g -D_U_=\"\" -fPIC -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -%ifarch alpha sparc sparc64 -DEFS="$DEFS -DHAVE_ETHER_HOSTTON=1 -DLBL_ALIGN=1" -%endif -make DEFS="$DEFS" \ - LIBMAJOR="%{pcap_major}" \ - LIBMINOR="%{pcap_minor}" \ - LIBSUBMINOR="%{pcap_subminor}" - -popd - pushd %tcpslice_dir -%configure --enable-ipv6 +%configure make popd -pushd %tcpdump_dir -unset CFLAGS -%define optflags $RPM_OPT_FLAGS -DIP_MAX_MEMBERSHIPS=20 -%configure --enable-ipv6 --with-user=pcap -%undefine optflags - -DEFS="-g -D_U_=\"\" -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -%ifarch alpha sparc sparc64 -DEFS="$DEFS -DHAVE_ETHER_HOSTTON=1 -DLBL_ALIGN=1 -DHAVE_ETHER_NTOA=1" -%endif -%ifarch sparc sparc64 -DEFS="$DEFS -DWORDS_BIGENDIAN" -%endif - -make DEFS="$DEFS" -popd - -pushd %arpwatch_dir -unset CFLAGS -%configure --enable-ipv6 -make ARPDIR=%{_vararpwatch} -popd +%configure --with-user=pcap +make %{?_smp_mflags} %install rm -rf ${RPM_BUILD_ROOT} mkdir -p ${RPM_BUILD_ROOT}%{_libdir} -mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man{3,8} +mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8 mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} -pushd %libpcap_dir -make DESTDIR=${RPM_BUILD_ROOT} includedir=%{_includedir} \ - LIBMAJOR="%{pcap_major}" \ - LIBMINOR="%{pcap_minor}" \ - LIBSUBMINOR="%{pcap_subminor}" \ - install -chmod +x ${RPM_BUILD_ROOT}%{_libdir}/libpcap.so.* -popd - pushd %tcpslice_dir install -m755 tcpslice ${RPM_BUILD_ROOT}%{_sbindir} install -m644 tcpslice.1 ${RPM_BUILD_ROOT}%{_mandir}/man8/tcpslice.8 popd -pushd %tcpdump_dir install -m755 tcpdump ${RPM_BUILD_ROOT}%{_sbindir} install -m644 tcpdump.1 ${RPM_BUILD_ROOT}%{_mandir}/man8/tcpdump.8 -popd - -pushd %arpwatch_dir -make DESTDIR=${RPM_BUILD_ROOT} install install-man -mkdir -p ${RPM_BUILD_ROOT}%{_vararpwatch} -for n in arp2ethers arpfetch massagevendor massagevendor-old; do - install -m755 $n ${RPM_BUILD_ROOT}%{_vararpwatch} -done -for n in *.awk *.dat missingcodes.txt; do - install -m644 $n ${RPM_BUILD_ROOT}%{_vararpwatch} -done -( cd ${RPM_BUILD_ROOT} - mkdir -p ./etc/rc.d/init.d - install -c -m755 $RPM_SOURCE_DIR/arpwatch.init ./etc/rc.d/init.d/arpwatch - mkdir -p ./etc/sysconfig - install -c -m644 $RPM_SOURCE_DIR/arpwatch.sysconfig ./etc/sysconfig/arpwatch -) -popd - -#( cd ${RPM_BUILD_ROOT} -# strip .%{_sbindir}/* || : -#) %clean rm -rf ${RPM_BUILD_ROOT} @@ -277,75 +68,23 @@ rm -rf ${RPM_BUILD_ROOT} %pre /usr/sbin/groupadd -g %{PCAP_GID} pcap 2> /dev/null /usr/sbin/useradd -u %{PCAP_UID} -g %{PCAP_GID} -s /sbin/nologin -M -r \ - -d %{_vararpwatch} pcap 2> /dev/null \ - || /usr/bin/chsh pcap /sbin/nologin 2> /dev/null + -d %{_vararpwatch} pcap 2> /dev/null exit 0 -%post -n arpwatch -/sbin/chkconfig --add arpwatch - -%pre -n arpwatch -/usr/sbin/groupadd -g %{PCAP_GID} pcap 2> /dev/null -/usr/sbin/useradd -u %{PCAP_UID} -g %{PCAP_GID} \ - -s /sbin/nologin -M -r -d %{_vararpwatch} pcap 2> /dev/null \ - || /usr/bin/chsh pcap /sbin/nologin 2> /dev/null -exit 0 - -%postun -n arpwatch -/sbin/service arpwatch condrestart >/dev/null 2>&1 || : - -%preun -n arpwatch -if [ "$1" = "0" ]; then - /sbin/service arpwatch stop > /dev/null 2>&1 - /sbin/chkconfig --del arpwatch -fi -exit 0 - -%post -n libpcap -p /sbin/ldconfig - -%postun -n libpcap -p /sbin/ldconfig - %files %defattr(-,root,root) -%doc %tcpdump_dir/LICENSE %tcpdump_dir/README %tcpdump_dir/CHANGES +%doc LICENSE README CHANGES CREDITS %{_sbindir}/tcpdump %{_sbindir}/tcpslice %{_mandir}/man8/tcpslice.8* %{_mandir}/man8/tcpdump.8* -%files -n libpcap -%defattr(-,root,root) -%doc %libpcap_dir/LICENSE %libpcap_dir/README %libpcap_dir/CHANGES -%{_libdir}/libpcap.so.* - -%files -n libpcap-devel -%defattr(-,root,root) -%{_includedir}/* -%{_libdir}/libpcap.so -%{_libdir}/libpcap.a -%{_mandir}/man3/pcap.3* - -%files -n arpwatch -%defattr(-,root,root) -%doc %arpwatch_dir/README %arpwatch_dir/CHANGES -%{_sbindir}/arpwatch -%{_sbindir}/arpsnmp -%{_mandir}/man8/arpwatch.8* -%{_mandir}/man8/arpsnmp.8* -%config /etc/rc.d/init.d/arpwatch -%config(noreplace) /etc/sysconfig/arpwatch -%defattr(-,pcap,pcap) -%dir %{_vararpwatch} -%verify(not md5 size mtime) %config(noreplace) %{_vararpwatch}/arp.dat -%verify(not md5 size mtime) %config %{_vararpwatch}/ethercodes.dat -%config %{_vararpwatch}/missingcodes.txt -%{_vararpwatch}/*.awk -%{_vararpwatch}/arp2ethers -%{_vararpwatch}/arpfetch -%{_vararpwatch}/massagevendor -%{_vararpwatch}/massagevendor-old - %changelog +* Wed Nov 29 2006 Miroslav Lichvar - 14:3.9.5-1 +- split off libpcap and arpwatch (#193657) +- update to 3.9.5 +- force linking with system libpcap + * Fri Nov 17 2006 Miroslav Lichvar - 14:3.9.4-9 - fix processing of Prism and AVS headers (#206686) - fix arp2ethers script