+#
+# Conditional build:
+%bcond_with pfring # http://www.ntop.org/PF_RING.html
+%bcond_without bluetooth # disable bluetooth support
+
Summary: Libpcap provides promiscuous mode access to network interfaces
-Summary(es.UTF-8): libpcap ofrece acceso a modo promiscuo en interfaces de red
-Summary(pl.UTF-8): Libpcap pozwala na bezpośredni dostęp do interfejsów sieciowych
-Summary(pt_BR.UTF-8): A libpcap fornece acesso ao modo promíscuo em interfaces de rede
-Summary(ru.UTF-8): Предоставляет доступ к сетевым интерфейсам в promiscuous-режиме
-Summary(uk.UTF-8): Надає доступ до мережевих інтерфейсів в promiscuous-режимі
+Summary(es.UTF-8): libpcap ofrece acceso a modo promiscuo en interfaces de red
+Summary(pl.UTF-8): Libpcap pozwala na bezpośredni dostęp do interfejsów sieciowych
+Summary(pt_BR.UTF-8): A libpcap fornece acesso ao modo promíscuo em interfaces de rede
+Summary(ru.UTF-8): Предоставляет доступ к сетевым интерфейсам в promiscuous-режиме
+Summary(uk.UTF-8): Надає доступ до мережевих інтерфейсів в promiscuous-режимі
Name: libpcap
-Version: 0.9.5
+Version: 1.1.1
Release: 1
Epoch: 2
License: BSD
Group: Libraries
Source0: http://www.tcpdump.org/release/%{name}-%{version}.tar.gz
-# Source0-md5: b0626ad59004fe5767ddd2ce743a2271
-Patch0: %{name}-shared.patch
+# Source0-md5: 1bca27d206970badae248cfa471bbb47
+Patch1: %{name}-pf_ring.patch
+URL: http://www.tcpdump.org/
BuildRequires: autoconf >= 2.53
BuildRequires: automake
BuildRequires: bison
+%{?with_bluetooth:BuildRequires: bluez-libs-devel}
BuildRequires: flex
-# beware of tar 1.13.9[12] madness (tarball contains libpcap-0.8.3/./* paths)
-BuildRequires: tar >= 1:1.13.93
+%{?with_pfring:BuildRequires: libpfring-devel}
Obsoletes: libpcap0
Obsoletes: libpcap_mmap
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%package devel
Summary: Header files and develpment documentation for libpcap
-Summary(es.UTF-8): Arquivos de cabeçalho e bibliotecas de desenvolvimento para libpcap
-Summary(pl.UTF-8): Pliki nagłówkowe i dokumetacja do libpcap
-Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para a libpcap
-Summary(ru.UTF-8): Хедеры и библиотеки програмиста для libpcap
-Summary(uk.UTF-8): Хедери та бібліотеки програміста для libpcap
+Summary(es.UTF-8): Arquivos de cabeçalho e bibliotecas de desenvolvimento para libpcap
+Summary(pl.UTF-8): Pliki nagłówkowe i dokumetacja do libpcap
+Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para a libpcap
+Summary(ru.UTF-8): Хедеры и библиотеки програмиста для libpcap
+Summary(uk.UTF-8): Хедери та бібліотеки програміста для libpcap
Group: Development/Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
Obsoletes: libpcap0-devel
%package static
Summary: Static libpcap library
-Summary(es.UTF-8): Biblioteca estática usada no desenvolvimento de aplicativos com libpcap
-Summary(pl.UTF-8): Biblioteka statyczna libpcap
-Summary(pt_BR.UTF-8): Biblioteca estática de desenvolvimento
-Summary(ru.UTF-8): Статическая библиотека libpcap
-Summary(uk.UTF-8): Статична бібліотека libpcap
+Summary(es.UTF-8): Biblioteca estática usada no desenvolvimento de aplicativos com libpcap
+Summary(pl.UTF-8): Biblioteka statyczna libpcap
+Summary(pt_BR.UTF-8): Biblioteca estática de desenvolvimento
+Summary(ru.UTF-8): Статическая библиотека libpcap
+Summary(uk.UTF-8): Статична бібліотека libpcap
Group: Development/Libraries
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
Obsoletes: libpcap_mmap-static
%prep
%setup -q
-%patch0 -p1
+%{?with_pfring:%patch1 -p0}
%build
cp -f /usr/share/automake/config.sub .
%configure \
--with-pcap=linux \
--enable-ipv6
-%{__make}
+%{__make} \
+%{?with_pfring:CCOPT="%{rpmcflags} -O0"}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_bindir}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-# some packages want it... but sanitize somehow
-# (don't depend on HAVE_{STRLCPY,SNPRINTF,VSNPRINTF} defines)
-sed -e '262,268d;271,280d' pcap-int.h > $RPM_BUILD_ROOT%{_includedir}/pcap-int.h
+# some packages want pcap-int.h (like kismet)...
+# but sanitize somehow:
+# don't depend on HAVE_{STRLCPY,SNPRINTF,VSNPRINTF} defines
+sed -e '/#ifndef HAVE_STRLCPY/,/#endif/d;/#if !defined(HAVE_SNPRINTF)/,/#endif/d;/#if !defined(HAVE_VSNPRINTF)/,/#endif/d' \
+ pcap-int.h > $RPM_BUILD_ROOT%{_includedir}/pcap-int.h
+
+# to show the diff
+diff -u pcap-int.h $RPM_BUILD_ROOT%{_includedir}/pcap-int.h || :
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc CHANGES CREDITS LICENSE README
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%attr(755,root,root) %{_libdir}/libpcap.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpcap.so.1
+%{_mandir}/man5/pcap-savefile.5*
+%{_mandir}/man7/pcap-*.7*
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_includedir}/*.h
-%{_mandir}/man?/*
+%attr(755,root,root) %{_bindir}/pcap-config
+%attr(755,root,root) %{_libdir}/libpcap.so
+%{_includedir}/pcap
+%{_includedir}/pcap*.h
+%{_mandir}/man1/pcap-config.1*
+%{_mandir}/man3/pcap*.3*
%files static
%defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libpcap.a