+#
+# 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): libpcap ofrece acceso a modo promiscuo en interfaces de red
-Summary(pl): Libpcap pozwala na bezpo¶redni dostêp do interfejsów sieciowych
-Summary(pt_BR): A libpcap fornece acesso ao modo promíscuo em interfaces de rede
-Summary(ru): ðÒÅÄÏÓÔÁ×ÌÑÅÔ ÄÏÓÔÕÐ Ë ÓÅÔÅ×ÙÍ ÉÎÔÅÒÆÅÊÓÁÍ × promiscuous-ÒÅÖÉÍÅ
-Summary(uk): îÁÄÁ¤ ÄÏÓÔÕÐ ÄÏ ÍÅÒÅÖÅ×ÉÈ ¦ÎÔÅÒÆÅÊÓ¦× × 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.8.3
+Version: 1.1.1
Release: 1
Epoch: 2
License: BSD
Group: Libraries
Source0: http://www.tcpdump.org/release/%{name}-%{version}.tar.gz
-# Source0-md5: 56a9d4615d8354fcfe8cff8c8443c77b
-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
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%{?with_pfring:BuildRequires: libpfring-devel}
Obsoletes: libpcap0
+Obsoletes: libpcap_mmap
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Libpcap is a system-independent interface for user-level packet
system-independent API that is used by several applications, including
tcpdump and arpwatch.
-%description -l es
+%description -l es.UTF-8
libpcap es una interface independiente de sistema para captura de
-paquetes en modo usuario. Ofrece un esquema portátil para el control
-de la red en bajo nivel. Se utiliza para colecta de estadísticas de
-red, Control de seguridad, depuración de la red, etc. Tiene una API
+paquetes en modo usuario. Ofrece un esquema portátil para el control
+de la red en bajo nivel. Se utiliza para colecta de estadísticas de
+red, Control de seguridad, depuración de la red, etc. Tiene una API
independiente de sistema que se usa por varias aplicaciones, entre
ellas tcpdump y arpwatch.
-%description -l pl
-libpcap to niezale¿ny od systemu interfejs do przechwytywania pakietów
-z poziomu u¿ytkownika.
+%description -l pl.UTF-8
+libpcap to niezależny od systemu interfejs do przechwytywania pakietów
+z poziomu użytkownika.
-%description -l pt_BR
-A libpcap é uma interface independente de sistema para captura de
-pacotes em modo usuário. Fornece um esquema portátil para monitoração
-da rede em baixo nível. É utilizada para coleta de estatísticas de
-rede, monitoramento de segurança, depuração da rede, etc. Tem uma API
-independente de sistema que é usada por várias aplicações, entre elas
+%description -l pt_BR.UTF-8
+A libpcap é uma interface independente de sistema para captura de
+pacotes em modo usuário. Fornece um esquema portátil para monitoração
+da rede em baixo nível. É utilizada para coleta de estatísticas de
+rede, monitoramento de segurança, depuração da rede, etc. Tem uma API
+independente de sistema que é usada por várias aplicações, entre elas
tcpdump e arpwatch.
-%description -l ru
-Libpcap - ÜÔÏ ÓÉÓÔÅÍÎÏÎÅÚÁ×ÉÓÉÍÙÊ ÉÎÔÅÒÆÅÊÓ ÄÌÑ ÚÁÈ×ÁÔÁ ÐÁËÅÔÏ× Ó
-ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ÕÒÏ×ÎÑ É ÎÉÚËÏÕÒÏ×ÎÅ×ÏÇÏ ÓÅÔÅ×ÏÇÏ ÍÏÎÉÔÏÒÉÎÇÁ.
-÷ÏÚÍÏÖÎÙÅ ÐÒÉÍÅÎÅÎÉÑ ×ËÌÀÞÁÀÔ ÓÂÏÒ ÓÅÔÅ×ÏÊ ÓÔÁÔÉÓÔÉËÉ, ÎÁÂÌÀÄÅÎÉÅ ÚÁ
-ÂÅÚÏÐÁÓÎÏÓÔØÀ, ÏÔÌÁÄËÁ ÓÅÔÉ É Ô.Ä. Libpcap ÉÍÅÅÔ ÓÉÓÔÅÍÎÏÎÅÚÁ×ÉÓÉÍÙÊ
-API, ÉÓÐÏÌØÚÕÅÍÙÊ ÍÎÏÇÉÍÉ ÐÒÉÌÏÖÅÎÉÑÍÉ, ×ËÌÀÞÁÑ tcpdump É arpwatch.
+%description -l ru.UTF-8
+Libpcap - это системнонезависимый интерфейс для захвата пакетов с
+полÑ\8cзоваÑ\82елÑ\8cÑ\81кого Ñ\83Ñ\80овнÑ\8f и низкоÑ\83Ñ\80овневого Ñ\81еÑ\82евого мониÑ\82оÑ\80инга.
+Возможные применения включают сбор сетевой статистики, наблюдение за
+безопасностью, отладка сети и т.д. Libpcap имеет системнонезависимый
+API, используемый многими приложениями, включая tcpdump и arpwatch.
-%description -l uk
-Libpcap - ÃÅ ÓÉÓÔÅÍÎÏÎÅÚÁÌÅÖÎÉÊ ¦ÎÔÅÒÆÅÊÓ ÄÌÑ ÚÁÈ×ÁÔÕ ÐÁËÅÔ¦× Ú Ò¦×ÎÑ
-ËÏÒÉÓÔÕ×ÁÞÁ ÔÁ ΦÚËÏÒ¦×ÎÅ×ÏÇÏ ÍÏΦÔÏÒÉÎÇÕ ÍÅÒÅÖ¦. íÏÖÌÉצ ×ÉËÏÒÉÓÔÁÎÎÑ
-×ËÌÀÞÁÀÔØ ÚÂ¦Ò ÓÔÁÔÉÓÔÉËÉ ÍÅÒÅÖ¦, ÓÐÏÓÔÅÒÅÖÅÎÎÑ ÚÁ ÂÅÚÐÅËÏÀ, צÄÌÁÄËÁ
-ÍÅÒÅÖ¦ ¦ Ô.¦. Libpcap ÍÁ¤ ÓÉÓÔÅÍÎÏÎÅÚÁÌÅÖÎÉÊ API ÝÏ ×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ
-ÂÁÇÁÔØÍÁ ÐÒÏÇÒÁÍÁÍÉ, ÔÁËÉÍÉ ÑÌ tcpdump, arpwatch ÔÁ trafshow.
+%description -l uk.UTF-8
+Libpcap - це системнонезалежний інтерфейс для захвату пакетів з рівня
+користувача та нізкорівневого моніторингу мережі. Можливі використання
+включають збір статистики мережі, спостереження за безпекою, відладка
+мережі і т.і. Libpcap має системнонезалежний API що використовується
+багатьма програмами, такими ял tcpdump, arpwatch та trafshow.
%package devel
Summary: Header files and develpment documentation for libpcap
-Summary(es): Arquivos de cabeçalho e bibliotecas de desenvolvimento para libpcap
-Summary(pl): Pliki nag³ówkowe i dokumetacja do libpcap
-Summary(pt_BR): Bibliotecas e arquivos de inclusão para a libpcap
-Summary(ru): èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÐÒÏÇÒÁÍÉÓÔÁ ÄÌÑ libpcap
-Summary(uk): èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ ÄÌÑ 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
+Obsoletes: libpcap_mmap-devel
%description devel
Libpcap provides a portable framework for low-level network
Install libpcap if you need to do low-level network traffic monitoring
on your network.
-%description devel -l pl
-Pliki nag³ówkowe i dokumentacja do libpcap.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumentacja do libpcap.
-%description devel -l pt_BR
-Tcpdump imprime os cabeçalhos dos pacotes em uma interface de rede.
-Ele é muito prático para resolver problemas na rede e para operações
-de segurança.
+%description devel -l pt_BR.UTF-8
+Tcpdump imprime os cabeçalhos dos pacotes em uma interface de rede.
+Ele é muito prático para resolver problemas na rede e para operações
+de segurança.
-%description devel -l ru
-èÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÐÒÏÇÒÁÍÉÓÔÁ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó
+%description devel -l ru.UTF-8
+Хедеры и библиотеки програмиста, необходимые для программирования с
libpcap.
-%description devel -l uk
-èÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ, ÎÅÏÂȦÄΦ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú
+%description devel -l uk.UTF-8
+Хедери та бібліотеки програміста, необхідні для програмування з
libpcap.
%package static
Summary: Static libpcap library
-Summary(es): Biblioteca estática usada no desenvolvimento de aplicativos com libpcap
-Summary(pl): Biblioteka statyczna libpcap
-Summary(pt_BR): Biblioteca estática de desenvolvimento
-Summary(ru): óÔÁÔÉÞÅÓËÁÑ ÂÉÂÌÉÏÔÅËÁ libpcap
-Summary(uk): óÔÁÔÉÞÎÁ ¦Â̦ÏÔÅËÁ 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
%description static
Libpcap provides a portable framework for low-level network
This package contains the static library used for development.
-%description static -l pt_BR
-Tcpdump imprime os cabeçalhos dos pacotes em uma interface de rede.
-Ele é muito prático para resolver problemas na rede e para operações
-de segurança.
+%description static -l pt_BR.UTF-8
+Tcpdump imprime os cabeçalhos dos pacotes em uma interface de rede.
+Ele é muito prático para resolver problemas na rede e para operações
+de segurança.
-%description static -l pl
+%description static -l pl.UTF-8
Biblioteka statyczna libpcap.
-%description static -l ru
-óÔÁÔÉÞÅÓËÁÑ ÂÉÂÌÉÏÔÅËÁ, ÎÅÏÂÈÏÄÉÍÁÑ ÄÌÑ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Ó libpcap.
+%description static -l ru.UTF-8
+Статическая библиотека, необходимая для программирования с libpcap.
-%description static -l uk
-óÔÁÔÉÞÎÁ ¦Â̦ÏÔÅËÁ, ÎÅÏÂȦÄÎÁ ÄÌÑ ÐÒÏÇÒÁÍÕ×ÁÎÎÑ Ú libpcap.
+%description static -l uk.UTF-8
+Статична бібліотека, необхідна для програмування з libpcap.
%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 '233,239d;242,251d' 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