-%define mainver 2.2.4
-%define snapshot ss001007
-Summary: Utility to control Networking behavior in 2.2.X kernels
-Summary(pl): Narzêdzie do kontrolowania Sieci w kernelach 2.2
+#
+# TODO:
+# - fix build @ uClibc
+# - remove -DCONFIG_CLS_U32_PERF=1 when llh will be fixed
+#
+# Conditional build
+%bcond_without doc # don't build documentation
+%bcond_without tc # don't build tc program (it breaks static linkage)
+%bcond_without atm # don't required ATM.
+%bcond_with uClibc # do some hacks to build with uClibc
+%bcond_with iec_complaint # fix bitrate calculations
+#
+Summary: Utility to control Networking behavior in.X kernels
+Summary(es): Herramientas para encaminamiento avanzado y configuración de interfaces de red
+Summary(pl): Narzêdzie do kontrolowania Sieci w kernelach
+Summary(pt_BR): Ferramentas para roteamento avançado e configuração de interfaces de rede
Name: iproute2
-Version: %{mainver}.%{snapshot}
-Release: 2
-Vendor: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
+%define sdate 041019
+# do not use ,,2.6.X'' as version here, put whole number like 2.6.8
+Version: 2.6.9
+Release: 0.1
License: GPL
+Vendor: Stephen Hemminger <shemminger@osdl.org>
Group: Networking/Admin
-Group(pl): Sieciowe/Administracyjne
-Source0: ftp://ftp.inr.ac.ru/ip-routing/%{name}-%{mainver}-now-%{snapshot}.tar.gz
-Patch0: %{name}-make.patch
-Patch1: %{name}-ll_types.patch
-Patch2: %{name}-rt_names_h.patch
-Patch3: %{name}-utils_c.patch
-BuildRequires: tetex-dvips
-BuildRequires: tetex-latex
+Source0: http://developer.osdl.org/dev/iproute2/download/%{name}-%{version}-%{sdate}.tar.gz
+# Source0-md5: 4b3f335b0139cb909c6a2ae8bf72e548
+Patch0: %{name}-build.patch
+Patch1: %{name}-arp.patch
+# extensions
+Patch10: %{name}-2.2.4-wrr.patch
+Patch11: %{name}-2.2.4-esfq.patch
+Patch13: %{name}-rates-1024-fix.patch
+Patch14: %{name}-match-nfmark-in-u32.patch
+URL: http://developer.osdl.org/dev/iproute2/
+BuildRequires: bison
+BuildRequires: db-devel
+%if %{with atm}
+BuildRequires: linux-atm-devel
+%endif
+BuildRequires: linux-libc-headers >= 7:2.6.7.0-9
+%if %{with doc}
BuildRequires: psutils
-%{?BOOT:BuildRequires: uClibc-devel-BOOT}
+BuildRequires: sgml-tools
+BuildRequires: tetex-dvips
+BuildRequires: tetex-fonts-jknappen
+BuildRequires: tetex-format-latex
+BuildRequires: tetex-metafont
+BuildRequires: tetex-tex-babel
+%endif
Obsoletes: iproute
+Obsoletes: ifstat
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sbindir /sbin
%define _sysconfdir /etc/iproute2
%description
-This package contains the ip, tc and the rtmon tool that allow control
-of routing and other aspects of networking.
+Linux maintains compatibility with the basic configuration
+utilities of the network (ifconfig, route) but a new utility is
+required to exploit the new characteristics and features of the
+kernel. This package includes the new utilities.
+
+%description -l es
+Linux mantiene compatibilidad con los utilitarios estándares de
+configuración de la red, pero se necesitan nuevos utilitarios para
+usar los recursos y características del nuevo núcleo. Este paquete
+incluye los nuevos utilitarios.
%description -l pl
Ten pakiet zawiera programy pozwalaj±ce na kontrolê routingu i innych
aspektów dotycz±cych sieci.
+%description -l pt_BR
+O Linux mantém compatibilidade com os utilitários padrão de
+configuração da rede, mas novos utilitários são necessários para fazer
+uso das características e recursos da nova kernel. This package
+includes the new utilities.
-%if %{?BOOT:1}%{!?BOOT:0}
-%package BOOT
-Summary: Utility to control Networking behavior in 2.2.X kernels
-Summary(pl): Narzêdzie do kontrolowania Sieci w kernelach 2.2
-Group: Networking/Admin
-
-%description BOOT
+%package -n libnetlink-devel
+Summary: Library for the netlink interface
+Summary(pl): Biblioteka do interfejsu netlink
+Group: Development/Libraries
-%endif
+%description -n libnetlink-devel
+This library provides an interface for kernel-user netlink interface.
+%description -n libnetlink-devel -l pl
+Ta biblioteka udostêpnia interfejs do interfejsu netlink miêdzy j±drem
+a przestrzeni± u¿ytkownika.
%prep
-%setup -q -n %{name}
+%setup -q
+rm -rf include-glibc
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%build
-
-%if %{?BOOT:1}%{!?BOOT:0}
-#%{__make} \
-# OPT="-Os" GLIBCFIX="" \
-# KERNEL_INCLUDE="/usr/lib/bootdisk%{_includedir}" \
-# LDFLAGS="-nostdlib -s" ADDLIB="inet_ntop.o inet_pton.o" \
-# LDLIBS="%{_libdir}/bootdisk%{_libdir}/crt0.o %{_libdir}/bootdisk%{_libdir}/libc.a -lgcc"
-
-# there are some problems compiling with uClibc, fallibg back to simple glibc-static
-%{__make} SUBDIRS="lib ip" OPT="-Os" LDFLAGS="-static -s"
-mv -f ip/ip ip-BOOT
-%{__make} clean
-%endif
+%patch10 -p1
+%patch11 -p1
+%{?with_iec_complaint:%patch13 -p1}
+%patch14 -p1
-%{__make} OPT="%{!?debug:$RPM_OPT_FLAGS}%{?debug:-g -O0}"
-%{__make} -C doc
+%build
+rm -rf include/linux
+%{__make} \
+ %{?with_uClibc:CC="%{_target_cpu}-uclibc-gcc"}%{!?with_uClibc:CC="%{__cc}"} \
+ OPT="%{rpmcflags} -DCONFIG_CLS_U32_PERF=1" \
+ %{!?with_tc:SUBDIRS="lib ip misc" LDFLAGS="%{rpmldflags}"}
+%{?with_doc:%{__make} -C doc}
%install
rm -rf $RPM_BUILD_ROOT
-%if %{?BOOT:1}%{!?BOOT:0}
-install -d $RPM_BUILD_ROOT%{_libdir}/bootdisk/bin
-install -s ip-BOOT $RPM_BUILD_ROOT%{_libdir}/bootdisk/bin/ip
-%endif
+install -d $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir},%{_mandir}/man8,%{_libdir},%{_includedir}}
-install -d $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}}
-install ip/{ip,rtmon,rtacct,routel} tc/tc $RPM_BUILD_ROOT%{_sbindir}
+install ip/{ip,rtmon,routel} %{?with_tc:tc/tc} misc/{ifstat,lnstat,nstat,rtacct,ss} $RPM_BUILD_ROOT%{_sbindir}
install etc/iproute2/rt_protos \
etc/iproute2/rt_realms \
etc/iproute2/rt_scopes \
etc/iproute2/rt_tables \
$RPM_BUILD_ROOT%{_sysconfdir}
-gzip -9nf READ* RELNOTES doc/*.ps
+install man/man8/* $RPM_BUILD_ROOT%{_mandir}/man8
+echo ".so tc-pbfifo.8" > $RPM_BUILD_ROOT%{_mandir}/man8/tc-bfifo.8
+echo ".so tc-pbfifo.8" > $RPM_BUILD_ROOT%{_mandir}/man8/tc-pfifo.8
+
+install lib/libnetlink.a $RPM_BUILD_ROOT%{_libdir}
+install include/libnetlink.h $RPM_BUILD_ROOT%{_includedir}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc {README,README.iproute2+tc,RELNOTES}.gz
-%doc doc/*.ps.gz
+%doc README README.iproute2+tc RELNOTES %{?with_doc:doc/*.ps}
%attr(755,root,root) %{_sbindir}/*
-%{_sysconfdir}
+%dir %{_sysconfdir}
+%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/*
+%{_mandir}/man8/*
-%if %{?BOOT:1}%{!?BOOT:0}
-%files BOOT
+%files -n libnetlink-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/bootdisk/bin/*
-%endif
+%{_libdir}/lib*.a
+%{_includedir}/*.h