- split off libpcap and arpwatch (#193657)

- update to 3.9.5
- force linking with system libpcap Resolves: #193657
This commit is contained in:
Miroslav Lichvar 2006-11-29 12:36:46 +00:00
parent ae413cde12
commit f528f5c3a4
5 changed files with 76 additions and 309 deletions

View File

@ -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

View File

@ -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

22
tcpdump-3.9.5-man.patch Normal file
View File

@ -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

View File

@ -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;

View File

@ -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
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
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
Patch6: tcpslice-CVS.20010207-bpf.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
%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 <mlichvar@redhat.com> - 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 <mlichvar@redhat.com> - 14:3.9.4-9
- fix processing of Prism and AVS headers (#206686)
- fix arp2ethers script