-# conditional build
-# --without tetex
-# --without tc (don't build tc program, it break static linkage)
-# --without dist_kernel
-
-%define _kernel24 %(echo %{_kernel_ver} | grep -q '2\.[012]\.' ; echo $?)
-%define mainver 2.4.7
-%define snapshot ss010803
-Summary: Utility to control Networking behavior in 2.2.X kernels
+#
+# TODO:
+# - fix build @ uClibc
+#
+# 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
+#
+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 2.2
+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: 10@%{_kernel_ver_str}
+%define sdate 060323
+# do not use ,,2.6.X'' as version here, put whole number like 2.6.8
+Version: 2.6.16
+Release: 1
License: GPL
-Vendor: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
+Vendor: Stephen Hemminger <shemminger@osdl.org>
Group: Networking/Admin
-Source0: ftp://ftp.inr.ac.ru/ip-routing/%{name}-%{mainver}-now-%{snapshot}.tar.gz
-Source1: %{name}-owl-man.tar.bz2
-Patch0: %{name}-make.patch
-Patch1: %{name}-uClibc.patch
-Patch2: %{name}-fix-2_2.patch
-Patch3: %{name}-label.patch
-Patch4: %{name}-latest.patch
-Patch5: %{name}-htb2_tc.patch
-Patch6: wrr-iproute2-2.2.4.patch
-Patch7: htb3.6_tc.patch
-%{!?_without_tetex:BuildRequires: tetex-dvips}
-%{!?_without_tetex:BuildRequires: tetex-latex}
-%{!?_without_tetex:BuildRequires: psutils}
+Source0: http://developer.osdl.org/dev/iproute2/download/%{name}-%{version}-%{sdate}.tar.gz
+# Source0-md5: f31d4516b35bbfeaa72c762f5959e97c
+Patch0: %{name}-build.patch
+Patch1: %{name}-arp.patch
+Patch2: %{name}-lex.patch
+Patch3: %{name}-iptables.patch
+Patch4: %{name}-iptables64.patch
+# extensions
+Patch10: %{name}-2.2.4-wrr.patch
+Patch11: esfq-%{name}.patch
+URL: http://linux-net.osdl.org/index.php/Iproute2
+BuildRequires: bison
+BuildRequires: db-devel
+BuildRequires: flex
+%if %{with atm}
+BuildRequires: linux-atm-devel
+%endif
+BuildRequires: linux-libc-headers >= 7:2.6.12.0-13
+%if %{with doc}
+BuildRequires: psutils
+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
-Linux 2.2 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.
+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
uso das características e recursos da nova kernel. This package
includes the new utilities.
+%package -n libnetlink-devel
+Summary: Library for the netlink interface
+Summary(pl): Biblioteka do interfejsu netlink
+Group: Development/Libraries
+
+%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} -a1
+%setup -q -n %{name}-%{version}-%{sdate}
+rm -rf include-glibc include/linux
%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
+%ifarch "%{_lib}" == "lib64"
%patch4 -p1
-%if %{_kernel24}
-%patch7 -p1
%else
-%patch5 -p1
+%patch3 -p1
%endif
-%patch6 -p1
+%patch10 -p1
+%patch11 -p1
%build
-WRRDEF=""
-grep -q tc_wrr_class_weight /usr/include/linux/pkt_sched.h || WRRDEF="-DNEED_WRR_DEFS"
-
%{__make} \
- CC="%{__cc}" \
- OPT="%{rpmcflags} ${WRRDEF}" \
- KERNEL_INCLUDE="%{_kernelsrcdir}/include" \
- %{?_without_tc:SUBDIRS="lib ip" LDFLAGS="%{rpmldflags}"}
-%{!?_without_tetex:%{__make} -C doc}
+ %{?with_uClibc:CC="%{_target_cpu}-uclibc-gcc"}%{!?with_uClibc:CC="%{__cc}"} \
+ OPT="%{rpmcflags}" \
+ %{!?with_tc:SUBDIRS="lib ip misc" LDFLAGS="%{rpmldflags}"}
+
+%{?with_doc:%{__make} -C doc}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir},%{_mandir}/man8}
+install -d $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir},%{_mandir}/man8,%{_libdir},%{_includedir}}
-install ip/{ip,rtmon,rtacct,routel} %{!?_without_tc: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}
-install man/* $RPM_BUILD_ROOT%{_mandir}/man8
+
+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
-%{!?_without_tetex:%doc doc/*.ps}
+%doc README README.decnet README.iproute2+tc README.lnstat RELNOTES
+%doc ChangeLog %{?with_doc:doc/*.ps}
%attr(755,root,root) %{_sbindir}/*
%dir %{_sysconfdir}
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
%{_mandir}/man8/*
+
+%files -n libnetlink-devel
+%defattr(644,root,root,755)
+%{_libdir}/lib*.a
+%{_includedir}/*.h