-Summary: Packet creation and handling library
-Summary(pl): Biblioteka do generacji i obróbki pakietów
+Summary: C library for portable packet creation and injection
+Summary(pl.UTF-8): Biblioteka C do przenośnego tworzenia i wprowadzania pakietów
+Summary(pt_BR.UTF-8): API para funções de rede de baixo nível
Name: libnet
-Version: 1.0.1a
+Version: 1.1.6
Release: 1
-Copyright: distributable
-Group: Development/Libraries
-Group(pl): Programowanie/Biblioteki
-Source: http://www.packetfactory.net/libnet/dist/%{name}-%{version}.tgz
-Patch: libnet-autoconf.patch
-URL: http://www.packetfactory.net/libnet
-BuildRequires: libpcap-devel
-Requires: libpcap-devel
+Epoch: 1
+License: BSD
+Group: Libraries
+Source0: http://sourceforge.net/projects/libnet-dev/files/%{name}-%{version}.tar.gz
+# Source0-md5: 710296fe424a49344e5fcc0d09e53317
+Patch0: %{name}-shared.patch
+Patch1: %{name}-am.patch
+Patch2: %{name}-leaking-fd.patch
+Patch3: %{name}-proc.patch
+URL: http://www.sourceforge.net/projects/libnet-dev/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-Libnet is a collection of routines to help with the construction and sending
-of network packets at the link layer and the IP layer. Use libnet in
-conjunction with packet capture library (libpcap) and you can write some
-really cool stuff!.
-
-%description -l pl
-Libnet jest bibliotek± na któr± sk³adaj± siê procedury pomagaj±ce w
-tworzeniu i wysy³aniu pakietów w sieciowych warstwach: danych oraz IP. W
-po³±czeniu z bibliotek± do przechwytywania pakietów (libpcap), libnet
-pozwoli Ci na napisanie naprawdê fajnych rzeczy!.
-
-%package demo
-Summary: Libnet library - source code of demo programs
-Summary(pl): Biblioteka libnet - ¼ród³a programów demonstracyjnych
+The Network Library provides a simple API for commonly used low-level
+network functions (mainly packet injection). Using libnet, it is easy
+to build and write arbitrary network packets. It provides a portable
+framework for low-level network packet writing and handling (use
+libnet in conjunction with libpcap and you can write some really cool
+stuff). Libnet includes packet creation at the IP layer and at the
+link layer as well as a host of supplementary and complementary
+functionality.
+
+%description -l pl.UTF-8
+Biblioteka dostarcza API dla popularnych niskopoziomowych funkcji
+sieciowych (głównie wprowadzania pakietów). Przy użyciu libnet można
+łatwo stworzyć dowolne pakiety sieciowe. Biblioteka dostarcza
+przenośny szkielet do niskopoziomowego zapisu i obsługi pakietów
+sieciowych (w połączeniu z libpcap można napisać coś naprawdę
+fajnego). Libnet obejmuje tworzenie pakietów w warstwie IP i
+połączenia, a także funkcjonalność dodatkową i uzupełniającą.
+
+%description -l pt_BR.UTF-8
+Este pacote fornece uma API simples para funções de rede de baixo
+nível comumente usadas (principalmente injeção de pacotes). Usando
+libnet, é simples construir e enviar pacotes de rede arbitrários.
+
+%package devel
+Summary: Header files and develpment documentation for libnet
+Summary(pl.UTF-8): Pliki nagłówkowe i dokumetacja do libnet
+Summary(pt_BR.UTF-8): Arquivos do pacote libnet para desenvolvimento
Group: Development/Libraries
-Group(pl): Programowanie/Biblioteki
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
-%description demo
-Libnet library - source code of demo programs
+%description devel
+Header files and develpment documentation for libnet.
-%description demo -l pl
-Biblioteka libnet - wersje ¼ród³owe programów demonstracyjnych
+%description devel -l pl.UTF-8
+Pliki nagłówkowe i dokumentacja do libnet.
+%description devel -l pt_BR.UTF-8
+Arquivos de cabeçalho e bibliotecas usadas no desenvolvimento de
+aplicativos que usam libnet.
-%prep
-%setup -q -n Libnet-%{version}
-%patch -p0
+%package static
+Summary: Static libnet library
+Summary(pl.UTF-8): Biblioteka statyczna libnet
+Summary(pt_BR.UTF-8): Arquivos do pacote libnet para desenvolvimento estático
+Group: Development/Libraries
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+
+%description static
+Static libnet library.
+
+%description static -l pl.UTF-8
+Biblioteka statyczna libnet.
+
+%description static -l pt_BR.UTF-8
+Arquivos de cabeçalho e bibliotecas usadas no desenvolvimento de
+aplicativos estáticos que usam libnet.
+
+%package examples
+Summary: libnet - example programs
+Summary(pl.UTF-8): libnet - programy przykładowe
+Group: Development/Libraries
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+
+%description examples
+libnet - example programs.
-rm -rf doc/{.#CHANGELOG.1.13,CVS,html/CVS}
-rm -rf example/{CVS,html/CVS}
-rm -rf test/CVS test/*/CVS
+%description examples -l pl.UTF-8
+libnet - programy przykładowe.
+
+%prep
+%setup -q
+%patch2 -p1
+%patch3 -p1
%build
-autoconf
-%configure \
- --with-pf_packet=yes
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
+%configure
-make CFLAGS="$RPM_OPT_FLAGS -funroll-loops -fomit-frame-pointer -Wall"
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/usr/src/examples/libnet/libnet-examples
+install -d $RPM_BUILD_ROOT{%{_examplesdir}/%{name}-%{version},%{_mandir}/man3} \
+ $RPM_BUILD_ROOT{/%{_lib},%{_bindir}}
-make install DESTDIR=$RPM_BUILD_ROOT
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
-ln -sf libnet.a $RPM_BUILD_ROOT%{_libdir}/libpwrite.a
-cp -r example/* $RPM_BUILD_ROOT/usr/src/examples/libnet/libnet-examples
-cp -r test/* $RPM_BUILD_ROOT/usr/src/examples/libnet/
+mv $RPM_BUILD_ROOT%{_libdir}/libnet.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib} ; echo libnet.so.*.*.*) \
+ $RPM_BUILD_ROOT%{_libdir}/libnet.so
-gzip -9nf $RPM_BUILD_ROOT%{_mandir}/man3/* \
- doc/{CHANGELOG*,README*,COPYING,TODO*}
+install sample/*.[ch] $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+install doc/man/man3/libnet-functions.h.3 $RPM_BUILD_ROOT%{_mandir}/man3
+install libnet-config $RPM_BUILD_ROOT%{_bindir}
%clean
rm -rf $RPM_BUILD_ROOT
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
-%doc doc/*.gz
-%attr(755,root,root) %{_bindir}/*
+%doc README doc/{CHANGELOG,MIGRATION,PACKET_BUILDING}
+%attr(755,root,root) /%{_lib}/lib*.so.*.*
+%attr(755,root,root) %ghost /%{_lib}/lib*.so.1
-%{_includedir}/*
-%{_libdir}/*.a
-%{_mandir}/man3/*
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/libnet-config
+%attr(755,root,root) %{_libdir}/lib*.so
+%{_libdir}/lib*.la
+%{_includedir}/*.h
+%{_includedir}/libnet
+%{_mandir}/man*/*
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/lib*.a
-%files demo
+%files examples
%defattr(644,root,root,755)
-/usr/src/examples/libnet
+%{_examplesdir}/%{name}-%{version}