4 # - fix iface_descr patch
7 %bcond_without tc # don't build tc program (it breaks static linkage)
8 %bcond_without atm # disable ATM support for tc
9 %bcond_with uClibc # do some hacks to build with uClibc
10 %bcond_with iface_descr # build with interface description support
12 Summary: Advanced IP routing and network device configuration tools
13 Summary(es.UTF-8): Herramientas para encaminamiento avanzado y configuración de interfaces de red
14 Summary(pl.UTF-8): Narzędzie do konfigurowania sieci
15 Summary(pt_BR.UTF-8): Ferramentas para roteamento avançado e configuração de interfaces de rede
20 Group: Networking/Admin
21 Source0: https://www.kernel.org/pub/linux/utils/net/iproute2/%{name}-%{version}.tar.xz
22 # Source0-md5: 19ffea480a21e600453776b7225f3319
23 Source1: %{name}.tmpfiles
24 Patch0: %{name}-link.patch
25 Patch3: %{name}-LDFLAGS.patch
27 Patch5: %{name}-build.patch
28 Patch6: %{name}-print_cache_route_entries.patch
30 Patch10: %{name}-2.2.4-wrr.patch
31 Patch11: esfq-%{name}.patch
32 Patch12: 001-net-dev-iface-descr-0.1.diff
33 Patch14: %{name}-q_srr.v0.4.patch
34 Patch15: %{name}-ip_route_get.patch
35 URL: https://wiki.linuxfoundation.org/networking/iproute2
37 BuildRequires: db-devel
39 BuildRequires: elfutils-devel
41 BuildRequires: iptables-devel >= 0:1.4.5
42 BuildRequires: libbsd-devel
43 BuildRequires: libcap-devel
44 BuildRequires: libmnl-devel
45 BuildRequires: libselinux-devel
47 BuildRequires: linux-atm-devel
49 BuildRequires: linux-libc-headers >= 7:2.6.12.0-15
50 BuildRequires: pkgconfig
51 BuildRequires: rpmbuild(macros) >= 1.673
52 BuildRequires: tar >= 1:1.22
54 Requires: iptables-libs >= 0:1.4.5
55 Obsoletes: ifstat < 1.2
57 Obsoletes: iproute2-doc < 4.14.1
58 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 %define _sbindir /sbin
61 %define _sysconfdir /etc/iproute2
64 The iproute package contains networking utilities (ip, tc and rtmon,
65 for example) which are designed to use the advanced networking
66 capabilities of the Linux 2.4.x and 2.6.x kernel.
68 %description -l es.UTF-8
69 Linux mantiene compatibilidad con los utilitarios estándares de
70 configuración de la red, pero se necesitan nuevos utilitarios para
71 usar los recursos y características del nuevo núcleo. Este paquete
72 incluye los nuevos utilitarios.
74 %description -l pl.UTF-8
75 Ten pakiet zawiera programy (m.in. ip, tc, rtmon) pozwalające na
76 kontrolę routingu i innych aspektów dotyczących sieci z wykorzystaniem
77 zaawansowanych możliwości jąder Linuksa 2.4.x i 2.6.x.
79 %description -l pt_BR.UTF-8
80 O Linux mantém compatibilidade com os utilitários padrão de
81 configuração da rede, mas novos utilitários são necessários para fazer
82 uso das características e recursos da nova kernel. This package
83 includes the new utilities.
86 Summary: Header file for tc plugins development
87 Summary(pl.UTF-8): Plik nagłówkowy do tworzenia wtyczek programu tc
88 Group: Development/Libraries
89 # doesn't require base
92 Header file for tc plugins development.
94 %description devel -l pl.UTF-8
95 Plik nagłówkowy do tworzenia wtyczek programu tc.
97 %package -n libnetlink-devel
98 Summary: Library for the netlink interface
99 Summary(pl.UTF-8): Biblioteka do interfejsu netlink
100 Group: Development/Libraries
102 %description -n libnetlink-devel
103 This library provides an interface for kernel-user netlink interface.
105 %description -n libnetlink-devel -l pl.UTF-8
106 Ta biblioteka udostępnia interfejs do interfejsu netlink między jądrem
107 a przestrzenią użytkownika.
109 %package -n bash-completion-iproute2
110 Summary: Bash completion for iproute2 commands
111 Summary(pl.UTF-8): Bashowe dopełnianie parametrów poleceń iproute2
112 Group: Applications/Shells
113 Requires: %{name} = %{version}-%{release}
114 Requires: bash-completion >= 2.0
116 %description -n bash-completion-iproute2
117 Bash completion for iproute2 commands (currently devlink and tc).
119 %description -n bash-completion-iproute2 -l pl.UTF-8
120 Bashowe dopełnianie parametrów poleceń iproute2 (obecnie devlink i
126 # conflict with atm-vbr patched linux-libc-headers
127 %{__rm} include/uapi/linux/atm.h
137 %{?with_iface_descr:%patch12 -p1}
144 CC="%{_target_cpu}-uclibc-gcc" \
145 LD="%{_target_cpu}-uclibc-gcc" \
151 CCOPTS="%{rpmcflags} %{rpmcppflags} -Wno-unused-result -DXT_LIB_DIR=\\\"%{_libdir}/xtables\\\"" \
152 LDFLAGS="%{rpmldflags} -Wl,-export-dynamic" \
154 %{!?with_tc:SUBDIRS="lib ip misc"} \
157 # make sure we don't produce broken ip binary
158 ./ip/ip link add type vlan help 2>&1 | grep -q "VLANID :=" || exit 1
161 rm -rf $RPM_BUILD_ROOT
162 install -d $RPM_BUILD_ROOT{%{_includedir},/var/run/netns,%{systemdtmpfilesdir}}
166 DESTDIR=$RPM_BUILD_ROOT
168 # omitted by make install
169 install -Dp man/man7/tc-hfsc.7 $RPM_BUILD_ROOT%{_mandir}/man7/tc-hfsc.7
171 # arpd is not packaged here
172 %{__rm} $RPM_BUILD_ROOT%{_sbindir}/arpd $RPM_BUILD_ROOT%{_mandir}/man8/arpd.8
174 cp -p lib/libnetlink.a $RPM_BUILD_ROOT%{_libdir}
175 cp -p include/libnetlink.h $RPM_BUILD_ROOT%{_includedir}
177 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
180 rm -rf $RPM_BUILD_ROOT
183 %defattr(644,root,root,755)
184 %doc README doc/actions examples
185 %attr(755,root,root) %{_sbindir}/bridge
186 %attr(755,root,root) %{_sbindir}/ctstat
187 %attr(755,root,root) %{_sbindir}/devlink
188 %attr(755,root,root) %{_sbindir}/genl
189 %attr(755,root,root) %{_sbindir}/ifcfg
190 %attr(755,root,root) %{_sbindir}/ifstat
191 %attr(755,root,root) %{_sbindir}/ip
192 %attr(755,root,root) %{_sbindir}/lnstat
193 %attr(755,root,root) %{_sbindir}/nstat
194 %attr(755,root,root) %{_sbindir}/rdma
195 %attr(755,root,root) %{_sbindir}/routef
196 %attr(755,root,root) %{_sbindir}/routel
197 %attr(755,root,root) %{_sbindir}/rtacct
198 %attr(755,root,root) %{_sbindir}/rtmon
199 %attr(755,root,root) %{_sbindir}/rtpr
200 %attr(755,root,root) %{_sbindir}/rtstat
201 %attr(755,root,root) %{_sbindir}/ss
202 %attr(755,root,root) %{_sbindir}/tipc
204 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bpf_pinning
205 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ematch_map
206 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/group
207 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nl_protos
208 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rt_dsfield
209 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rt_protos
210 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rt_realms
211 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rt_scopes
212 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rt_tables
213 %{_mandir}/man8/bridge.8*
214 %{_mandir}/man8/ctstat.8*
215 %{_mandir}/man8/devlink.8*
216 %{_mandir}/man8/devlink-dev.8*
217 %{_mandir}/man8/devlink-dpipe.8*
218 %{_mandir}/man8/devlink-health.8*
219 %{_mandir}/man8/devlink-monitor.8*
220 %{_mandir}/man8/devlink-port.8*
221 %{_mandir}/man8/devlink-region.8*
222 %{_mandir}/man8/devlink-resource.8*
223 %{_mandir}/man8/devlink-sb.8*
224 %{_mandir}/man8/devlink-trap.8*
225 %{_mandir}/man8/genl.8*
226 %{_mandir}/man8/ifcfg.8*
227 %{_mandir}/man8/ifstat.8*
228 %{_mandir}/man8/ip.8*
229 %{_mandir}/man8/ip-*.8*
230 %{_mandir}/man8/lnstat.8*
231 %{_mandir}/man8/nstat.8*
232 %{_mandir}/man8/rdma.8*
233 %{_mandir}/man8/rdma-dev.8*
234 %{_mandir}/man8/rdma-link.8*
235 %{_mandir}/man8/rdma-resource.8*
236 %{_mandir}/man8/rdma-statistic.8*
237 %{_mandir}/man8/rdma-system.8*
238 %{_mandir}/man8/routef.8*
239 %{_mandir}/man8/routel.8*
240 %{_mandir}/man8/rtacct.8*
241 %{_mandir}/man8/rtmon.8*
242 %{_mandir}/man8/rtpr.8*
243 %{_mandir}/man8/rtstat.8*
244 %{_mandir}/man8/ss.8*
245 %{_mandir}/man8/tipc.8*
246 %{_mandir}/man8/tipc-*.8*
248 %attr(755,root,root) %{_sbindir}/tc
250 %attr(755,root,root) %{_libdir}/tc/*.so
252 %{_mandir}/man7/tc-hfsc.7*
253 %{_mandir}/man8/tc.8*
254 %{_mandir}/man8/tc-*.8*
256 %{systemdtmpfilesdir}/%{name}.conf
257 %dir %attr(750,root,root) /var/run/netns
260 %defattr(644,root,root,755)
261 %{_includedir}/iproute2
263 %files -n libnetlink-devel
264 %defattr(644,root,root,755)
265 %{_libdir}/libnetlink.a
266 %{_includedir}/libnetlink.h
267 %{_mandir}/man3/libnetlink.3*
269 %files -n bash-completion-iproute2
270 %defattr(644,root,root,755)
271 %{bash_compdir}/devlink