]> git.pld-linux.org Git - packages/iproute2.git/blob - iproute2.spec
a11597434b61fe7596331116793ee4675895f770
[packages/iproute2.git] / iproute2.spec
1 #
2 # TODO:
3 # - fix build @ uClibc
4 # - fix iface_descr patch
5 #
6 # Conditional build
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
11
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
16 Name:           iproute2
17 Version:        5.10.0
18 Release:        2
19 License:        GPL v2+
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
26
27 Patch5:         %{name}-build.patch
28 Patch6:         %{name}-print_cache_route_entries.patch
29 # extensions
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
36 BuildRequires:  bison
37 BuildRequires:  db-devel
38 # libelf
39 BuildRequires:  elfutils-devel
40 BuildRequires:  flex
41 BuildRequires:  iptables-devel >= 0:1.4.5
42 BuildRequires:  libbsd-devel
43 BuildRequires:  libcap-devel
44 BuildRequires:  libmnl-devel
45 BuildRequires:  libselinux-devel
46 %if %{with atm}
47 BuildRequires:  linux-atm-devel
48 %endif
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
53 BuildRequires:  xz
54 Requires:       iptables-libs >= 0:1.4.5
55 Obsoletes:      ifstat < 1.2
56 Obsoletes:      iproute
57 Obsoletes:      iproute2-doc < 4.14.1
58 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60 %define         _sbindir        /sbin
61 %define         _sysconfdir     /etc/iproute2
62
63 %description
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.
67
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.
73
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.
78
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.
84
85 %package devel
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
90
91 %description devel
92 Header file for tc plugins development.
93
94 %description devel -l pl.UTF-8
95 Plik nagłówkowy do tworzenia wtyczek programu tc.
96
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
101
102 %description -n libnetlink-devel
103 This library provides an interface for kernel-user netlink interface.
104
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.
108
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
115
116 %description -n bash-completion-iproute2
117 Bash completion for iproute2 commands (currently devlink and tc).
118
119 %description -n bash-completion-iproute2 -l pl.UTF-8
120 Bashowe dopełnianie parametrów poleceń iproute2 (obecnie devlink i
121 tc).
122
123 %prep
124 %setup -q
125
126 # conflict with atm-vbr patched linux-libc-headers
127 %{__rm} include/uapi/linux/atm.h
128
129 %patch0 -p1
130 %patch3 -p1
131
132 %patch5 -p1
133 %patch6 -p1
134 # extensions:
135 %patch10 -p1
136 %patch11 -p1
137 %{?with_iface_descr:%patch12 -p1}
138 %patch14 -p1
139 %patch15 -p1
140
141 %build
142 %{__make} \
143 %if %{with uClibc}
144         CC="%{_target_cpu}-uclibc-gcc" \
145         LD="%{_target_cpu}-uclibc-gcc" \
146 %else
147         CC="%{__cc}" \
148         LD="%{__cc}" \
149 %endif
150         HOSTCC="%{__cc}" \
151         CCOPTS="%{rpmcflags} %{rpmcppflags} -Wno-unused-result -DXT_LIB_DIR=\\\"%{_libdir}/xtables\\\"" \
152         LDFLAGS="%{rpmldflags} -Wl,-export-dynamic" \
153         LIBDIR=%{_libdir} \
154         %{!?with_tc:SUBDIRS="lib ip misc"} \
155         V=1
156
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
159
160 %install
161 rm -rf $RPM_BUILD_ROOT
162 install -d $RPM_BUILD_ROOT{%{_includedir},/var/run/netns,%{systemdtmpfilesdir}}
163
164 %{__make} install \
165         LIBDIR=%{_libdir} \
166         DESTDIR=$RPM_BUILD_ROOT
167
168 # omitted by make install
169 install -Dp man/man7/tc-hfsc.7 $RPM_BUILD_ROOT%{_mandir}/man7/tc-hfsc.7
170
171 # arpd is not packaged here
172 %{__rm} $RPM_BUILD_ROOT%{_sbindir}/arpd $RPM_BUILD_ROOT%{_mandir}/man8/arpd.8
173
174 cp -p lib/libnetlink.a $RPM_BUILD_ROOT%{_libdir}
175 cp -p include/libnetlink.h $RPM_BUILD_ROOT%{_includedir}
176
177 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
178
179 %clean
180 rm -rf $RPM_BUILD_ROOT
181
182 %files
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
203 %dir %{_sysconfdir}
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*
247 %if %{with tc}
248 %attr(755,root,root) %{_sbindir}/tc
249 %dir %{_libdir}/tc
250 %attr(755,root,root) %{_libdir}/tc/*.so
251 %{_libdir}/tc/*.dist
252 %{_mandir}/man7/tc-hfsc.7*
253 %{_mandir}/man8/tc.8*
254 %{_mandir}/man8/tc-*.8*
255 %endif
256 %{systemdtmpfilesdir}/%{name}.conf
257 %dir %attr(750,root,root) /var/run/netns
258
259 %files devel
260 %defattr(644,root,root,755)
261 %{_includedir}/iproute2
262
263 %files -n libnetlink-devel
264 %defattr(644,root,root,755)
265 %{_libdir}/libnetlink.a
266 %{_includedir}/libnetlink.h
267 %{_mandir}/man3/libnetlink.3*
268
269 %files -n bash-completion-iproute2
270 %defattr(644,root,root,755)
271 %{bash_compdir}/devlink
272 %{bash_compdir}/tc
This page took 0.054245 seconds and 2 git commands to generate.