]>
Commit | Line | Data |
---|---|---|
1 | # TODO: package /usr/lib/firewalld/zones/nm-shared.xml for firewalld support | |
2 | # | |
3 | # Conditional build | |
4 | %bcond_without systemd # use systemd for session tracking instead of ConsoleKit (fallback to ConsoleKit on runtime) | |
5 | %bcond_without vala # Vala API | |
6 | %bcond_with firewalld # Firewalld zone for shared mode | |
7 | %bcond_with default_iwd # use IWD as deafult Wi-Fi backend instead of wpa_supplicant | |
8 | ||
9 | Summary: Network Manager for GNOME | |
10 | Summary(pl.UTF-8): Zarządca sieci dla GNOME | |
11 | Name: NetworkManager | |
12 | Version: 1.36.2 | |
13 | Release: 1 | |
14 | Epoch: 2 | |
15 | License: GPL v2+ | |
16 | Group: Networking/Admin | |
17 | Source0: https://download.gnome.org/sources/NetworkManager/1.36/%{name}-%{version}.tar.xz | |
18 | # Source0-md5: d52e4029df174a6342630b9daa218fed | |
19 | Source1: %{name}.conf | |
20 | Source3: %{name}.tmpfiles | |
21 | Source4: %{name}.init | |
22 | Patch0: ifcfg-path.patch | |
23 | Patch1: systemd-fallback.patch | |
24 | URL: https://wiki.gnome.org/Projects/NetworkManager | |
25 | BuildRequires: ModemManager-devel >= 1.0.0 | |
26 | BuildRequires: audit-libs-devel | |
27 | BuildRequires: autoconf >= 2.63 | |
28 | BuildRequires: automake >= 1:1.12 | |
29 | BuildRequires: bluez-libs-devel >= 5.0 | |
30 | BuildRequires: curl-devel >= 7.24.0 | |
31 | BuildRequires: dbus-devel >= 1.1.0 | |
32 | BuildRequires: gettext-tools >= 0.17 | |
33 | BuildRequires: glib2-devel >= 1:2.38.0 | |
34 | BuildRequires: gnome-common | |
35 | BuildRequires: gobject-introspection-devel >= 0.10.0 | |
36 | BuildRequires: gtk-doc >= 1.0 | |
37 | BuildRequires: gtk-doc-automake >= 1.0 | |
38 | BuildRequires: intltool >= 0.40.0 | |
39 | BuildRequires: jansson-devel >= 2.7 | |
40 | BuildRequires: libndp-devel | |
41 | BuildRequires: libnl-devel >= 3.2.8 | |
42 | BuildRequires: libpsl-devel >= 0.1 | |
43 | BuildRequires: libselinux-devel | |
44 | BuildRequires: libteamdctl-devel >= 1.9 | |
45 | BuildRequires: libtool >= 2:2.2 | |
46 | BuildRequires: libuuid-devel | |
47 | BuildRequires: libxslt-progs | |
48 | BuildRequires: newt-devel >= 0.52.15 | |
49 | # also gnutls (>= 2.12) possible (--with-crypto=gnutls) | |
50 | BuildRequires: nss-devel >= 3.11 | |
51 | BuildRequires: perl-base | |
52 | BuildRequires: pkgconfig | |
53 | BuildRequires: polkit-devel >= 0.97 | |
54 | BuildRequires: ppp-plugin-devel >= 3:2.4.6 | |
55 | BuildRequires: python3 >= 1:3 | |
56 | BuildRequires: python3-pygobject3 | |
57 | BuildRequires: readline-devel | |
58 | BuildRequires: rpm-build >= 4.6 | |
59 | BuildRequires: rpmbuild(macros) >= 1.752 | |
60 | BuildRequires: sed >= 4.0 | |
61 | %{?with_systemd:BuildRequires: systemd-devel >= 1:209} | |
62 | BuildRequires: tar >= 1:1.22 | |
63 | BuildRequires: udev-devel >= 1:175 | |
64 | %{?with_vala:BuildRequires: vala >= 2:0.17.1.24} | |
65 | BuildRequires: xz | |
66 | Requires(post,preun): /sbin/chkconfig | |
67 | Requires(post,preun,postun): systemd-units >= 38 | |
68 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
69 | %if %{with systemd} | |
70 | Suggests: ConsoleKit-x11 | |
71 | %else | |
72 | Requires: ConsoleKit-x11 | |
73 | %endif | |
74 | Requires: curl-libs >= 7.24.0 | |
75 | Requires: dhcp-client | |
76 | Requires: filesystem >= 3.0-37 | |
77 | Requires: jansson >= 2.7 | |
78 | Requires: libnl >= 3.2.8 | |
79 | Requires: libpsl >= 0.1 | |
80 | Requires: libteamdctl >= 1.9 | |
81 | Requires: newt >= 0.52.15 | |
82 | Requires: polkit >= 0.97 | |
83 | Requires: rc-scripts >= 0.4.3.0 | |
84 | Requires: systemd-units >= 38 | |
85 | Requires: wpa_supplicant >= 0.7.3-4 | |
86 | Suggests: ModemManager >= 1.0.0 | |
87 | Suggests: mobile-broadband-provider-info | |
88 | Suggests: resolvconf | |
89 | Suggests: teamd >= 1.9 | |
90 | Obsoletes: NetworkManager-systemd < 2:0.9.2.0-5 | |
91 | Obsoletes: dhcdbd < 3.0-1 | |
92 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
93 | ||
94 | %define plugindir %{_libdir}/NetworkManager | |
95 | %define distplugindir %{plugindir}/%{version}-%{release} | |
96 | ||
97 | %description | |
98 | Network Manager for GNOME. | |
99 | ||
100 | %description -l pl.UTF-8 | |
101 | Zarządca sieci dla GNOME. | |
102 | ||
103 | %package apidocs | |
104 | Summary: libnm library API documentation | |
105 | Summary(pl.UTF-8): Dokumentacja API biblioteki libnm | |
106 | Group: Documentation | |
107 | Requires: gtk-doc-common | |
108 | BuildArch: noarch | |
109 | ||
110 | %description apidocs | |
111 | libnm library API documentation. | |
112 | ||
113 | %description apidocs -l pl.UTF-8 | |
114 | Dokumentacja API biblioteki libnm. | |
115 | ||
116 | %package libs | |
117 | Summary: Network Manager shared libraries | |
118 | Summary(pl.UTF-8): Biblioteki dzielone Network Managera | |
119 | Group: Libraries | |
120 | Requires: glib2 >= 1:2.38.0 | |
121 | Requires: nss >= 3.11 | |
122 | Requires: udev-libs >= 1:175 | |
123 | Conflicts: NetworkManager < 0.6.4-0.2 | |
124 | ||
125 | %description libs | |
126 | Network Manager shared libraries. | |
127 | ||
128 | %description libs -l pl.UTF-8 | |
129 | Biblioteki dzielone Network Managera. | |
130 | ||
131 | %package devel | |
132 | Summary: Network Manager includes and more | |
133 | Summary(pl.UTF-8): Pliki nagłówkowe Network Managera | |
134 | Group: Development/Libraries | |
135 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
136 | Requires: glib2-devel >= 1:2.38.0 | |
137 | Requires: libuuid-devel | |
138 | Requires: nss-devel >= 3.11 | |
139 | ||
140 | %description devel | |
141 | Network Manager includes and more. | |
142 | ||
143 | %description devel -l pl.UTF-8 | |
144 | Pliki nagłówkowe Network Manager. | |
145 | ||
146 | %package static | |
147 | Summary: Network Manager static libraries | |
148 | Summary(pl.UTF-8): Statyczne biblioteki Network Managera | |
149 | Group: Development/Libraries | |
150 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} | |
151 | ||
152 | %description static | |
153 | Network Manager static libraries. | |
154 | ||
155 | %description static -l pl.UTF-8 | |
156 | Statyczne biblioteki Network Managera. | |
157 | ||
158 | %package -n vala-NetworkManager | |
159 | Summary: Vala API for NetworkManager libraries | |
160 | Summary(pl.UTF-8): API języka Vala do bibliotek NetworkManagera | |
161 | Group: Development/Libraries | |
162 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} | |
163 | Requires: vala >= 2:0.17.1.24 | |
164 | BuildArch: noarch | |
165 | ||
166 | %description -n vala-NetworkManager | |
167 | Vala API for NetworkManager libraries. | |
168 | ||
169 | %description -n vala-NetworkManager -l pl.UTF-8 | |
170 | API języka Vala do bibliotek NetworkManagera. | |
171 | ||
172 | %package -n bash-completion-NetworkManager | |
173 | Summary: Bash completion for NetworkManager command (nmcli) | |
174 | Summary(pl.UTF-8): Bashowe uzupełnianie nazw dla polecenia NetworkManagera (nmcli) | |
175 | Group: Applications/Shells | |
176 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
177 | Requires: bash-completion >= 2.0 | |
178 | BuildArch: noarch | |
179 | ||
180 | %description -n bash-completion-NetworkManager | |
181 | Bash completion for NetworkManager command (nmcli). | |
182 | ||
183 | %description -n bash-completion-NetworkManager -l pl.UTF-8 | |
184 | Bashowe uzupełnianie nazw dla polecenia NetworkManagera (nmcli). | |
185 | ||
186 | %prep | |
187 | %setup -q | |
188 | %patch0 -p1 | |
189 | %{?with_systemd:%patch1 -p1} | |
190 | ||
191 | grep -rl /usr/bin/env examples | xargs sed -i -e '1{ | |
192 | s,^#!.*bin/env gjs,#!/usr/bin/gjs, | |
193 | s,^#!.*bin/env lua,#!%{__lua}, | |
194 | s,^#!.*bin/env python,#!%{__python}, | |
195 | s,^#!.*bin/env ruby,#!%{__ruby}, | |
196 | }' | |
197 | ||
198 | ||
199 | %build | |
200 | %{__gtkdocize} | |
201 | %{__intltoolize} | |
202 | %{__libtoolize} | |
203 | %{__aclocal} -I m4 | |
204 | %{__autoconf} | |
205 | %{__autoheader} | |
206 | %{__automake} | |
207 | %configure \ | |
208 | --enable-gtk-doc \ | |
209 | --enable-ifcfg-rh \ | |
210 | --enable-more-warnings \ | |
211 | --disable-silent-rules \ | |
212 | --enable-static \ | |
213 | %{!?with_vala:--disable-vala} \ | |
214 | --with-config-wifi-backend-default=%{?with_default_iwd:iwd}%{!?with_default_iwd:wpa_supplicant} \ | |
215 | --with-dhclient=/sbin/dhclient \ | |
216 | --with-dhcpcd=/sbin/dhcpcd \ | |
217 | %{!?with_firewalld:--disable-firewalld-zone} \ | |
218 | --with-html-dir=%{_gtkdocdir} \ | |
219 | --with-iptables=/usr/sbin/iptables \ | |
220 | --with-iwd=yes \ | |
221 | --with-nft=/usr/sbin/nft \ | |
222 | --with-nmcli \ | |
223 | --with-system-ca-path=/etc/certs \ | |
224 | --with-systemdsystemunitdir=%{systemdunitdir} \ | |
225 | --with-session-tracking=%{?with_systemd:systemd}%{!?with_systemd:ck} \ | |
226 | --with-suspend-resume=%{?with_systemd:systemd}%{!?with_systemd:upower} \ | |
227 | --with-pppd=/usr/sbin/pppd \ | |
228 | --with-pppd-plugin-dir=%{_libdir}/pppd/plugins \ | |
229 | --with-resolvconf=/sbin/resolvconf \ | |
230 | --with-udev-dir=/lib/udev \ | |
231 | --with-dist-version=%{version}-%{release} | |
232 | ||
233 | %{__make} | |
234 | ||
235 | %install | |
236 | rm -rf $RPM_BUILD_ROOT | |
237 | install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/run/%{name},%{systemdtmpfilesdir}} \ | |
238 | $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{VPN,conf.d,dispatcher.d,dnsmasq.d,dnsmasq-shared.d,system-connections} \ | |
239 | $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/dispatcher.d/{pre-down.d,pre-up.d,no-wait.d} \ | |
240 | $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{VPN,conf.d} | |
241 | ||
242 | %{__make} install \ | |
243 | DESTDIR=$RPM_BUILD_ROOT | |
244 | ||
245 | install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} | |
246 | ||
247 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name} | |
248 | ||
249 | cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf | |
250 | ||
251 | # Cleanup | |
252 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la | |
253 | %{__rm} $RPM_BUILD_ROOT%{distplugindir}/*.{a,la} | |
254 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/pppd/plugins/*.{a,la} | |
255 | ||
256 | %find_lang %{name} | |
257 | ||
258 | # examples | |
259 | %{__make} clean-checkPROGRAMS | |
260 | ||
261 | install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
262 | cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} | |
263 | ||
264 | %clean | |
265 | rm -rf $RPM_BUILD_ROOT | |
266 | ||
267 | %post | |
268 | /sbin/chkconfig --add NetworkManager | |
269 | %service -n NetworkManager restart "NetworkManager daemon" | |
270 | %systemd_post NetworkManager.service NetworkManager-wait-online.service | |
271 | ||
272 | %preun | |
273 | if [ "$1" = "0" ]; then | |
274 | %service NetworkManager stop | |
275 | /sbin/chkconfig --del NetworkManager | |
276 | fi | |
277 | %systemd_preun NetworkManager.service NetworkManager-wait-online.service | |
278 | ||
279 | %postun | |
280 | %systemd_reload | |
281 | ||
282 | %triggerpostun -- NetworkManager < 2:0.9.2.0-5 | |
283 | %systemd_trigger NetworkManager.service NetworkManager-wait-online.service | |
284 | ||
285 | %triggerun -- NetworkManager < 0.8.9997-5 | |
286 | # < 0.7.0-0.svn4027.1: disable obsolete service | |
287 | if /sbin/chkconfig --list | grep -q NetworkManagerDispatcher ; then | |
288 | %service -q NetworkManagerDispatcher stop | |
289 | /sbin/chkconfig --del NetworkManagerDispatcher | |
290 | fi | |
291 | # < 0.8.9997-5: move network interfaces description files to new location | |
292 | mv -f /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/interfaces | |
293 | mv -f /etc/sysconfig/network-scripts/keys-* /etc/sysconfig/interfaces | |
294 | exit 0 | |
295 | ||
296 | %post libs -p /sbin/ldconfig | |
297 | %postun libs -p /sbin/ldconfig | |
298 | ||
299 | %files -f %{name}.lang | |
300 | %defattr(644,root,root,755) | |
301 | %doc AUTHORS ChangeLog NEWS README TODO | |
302 | %attr(755,root,root) %{_bindir}/nm-online | |
303 | %attr(755,root,root) %{_bindir}/nmcli | |
304 | %attr(755,root,root) %{_bindir}/nmtui | |
305 | %attr(755,root,root) %{_bindir}/nmtui-connect | |
306 | %attr(755,root,root) %{_bindir}/nmtui-edit | |
307 | %attr(755,root,root) %{_bindir}/nmtui-hostname | |
308 | %attr(755,root,root) %{_sbindir}/NetworkManager | |
309 | %dir %{plugindir} | |
310 | %dir %{distplugindir} | |
311 | %attr(755,root,root) %{distplugindir}/libnm-device-plugin-adsl.so | |
312 | %attr(755,root,root) %{distplugindir}/libnm-device-plugin-bluetooth.so | |
313 | %attr(755,root,root) %{distplugindir}/libnm-device-plugin-ovs.so | |
314 | %attr(755,root,root) %{distplugindir}/libnm-device-plugin-wifi.so | |
315 | %attr(755,root,root) %{distplugindir}/libnm-device-plugin-wwan.so | |
316 | %attr(755,root,root) %{distplugindir}/libnm-device-plugin-team.so | |
317 | %attr(755,root,root) %{distplugindir}/libnm-ppp-plugin.so | |
318 | %attr(755,root,root) %{distplugindir}/libnm-settings-plugin-ifcfg-rh.so | |
319 | %attr(755,root,root) %{distplugindir}/libnm-wwan.so | |
320 | %attr(755,root,root) %{_libexecdir}/nm-cloud-setup | |
321 | %attr(755,root,root) %{_libexecdir}/nm-daemon-helper | |
322 | %attr(755,root,root) %{_libexecdir}/nm-dhcp-helper | |
323 | %attr(755,root,root) %{_libexecdir}/nm-dispatcher | |
324 | %attr(755,root,root) %{_libexecdir}/nm-ifdown | |
325 | %attr(755,root,root) %{_libexecdir}/nm-ifup | |
326 | %attr(755,root,root) %{_libexecdir}/nm-initrd-generator | |
327 | %attr(755,root,root) %{_libexecdir}/nm-priv-helper | |
328 | %attr(755,root,root) %{_libdir}/pppd/plugins/nm-pppd-plugin.so | |
329 | %attr(754,root,root) /etc/rc.d/init.d/NetworkManager | |
330 | %if "%{_lib}" != "lib" | |
331 | %dir %{_prefix}/lib/NetworkManager | |
332 | %endif | |
333 | %dir %{_prefix}/lib/NetworkManager/VPN | |
334 | %dir %{_prefix}/lib/NetworkManager/conf.d | |
335 | %dir %{_prefix}/lib/NetworkManager/dispatcher.d | |
336 | %{_prefix}/lib/NetworkManager/dispatcher.d/90-nm-cloud-setup.sh | |
337 | %dir %{_prefix}/lib/NetworkManager/dispatcher.d/no-wait.d | |
338 | %attr(755,root,root) %{_prefix}/lib/NetworkManager/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh | |
339 | %{systemdunitdir}/NetworkManager.service | |
340 | %{systemdunitdir}/NetworkManager-dispatcher.service | |
341 | %{systemdunitdir}/NetworkManager-wait-online.service | |
342 | %dir %{systemdunitdir}/NetworkManager.service.d | |
343 | %{systemdunitdir}/NetworkManager.service.d/NetworkManager-ovs.conf | |
344 | %{systemdunitdir}/nm-cloud-setup.service | |
345 | %{systemdunitdir}/nm-cloud-setup.timer | |
346 | %{systemdunitdir}/nm-priv-helper.service | |
347 | %{systemdtmpfilesdir}/%{name}.conf | |
348 | %{_datadir}/dbus-1/system-services/org.freedesktop.nm_dispatcher.service | |
349 | %{_datadir}/dbus-1/system-services/org.freedesktop.nm_priv_helper.service | |
350 | %{_datadir}/dbus-1/system.d/nm-dispatcher.conf | |
351 | %{_datadir}/dbus-1/system.d/nm-ifcfg-rh.conf | |
352 | %{_datadir}/dbus-1/system.d/nm-priv-helper.conf | |
353 | %{_datadir}/dbus-1/system.d/org.freedesktop.NetworkManager.conf | |
354 | %{_datadir}/polkit-1/actions/org.freedesktop.NetworkManager.policy | |
355 | /lib/udev/rules.d/84-nm-drivers.rules | |
356 | /lib/udev/rules.d/85-nm-unmanaged.rules | |
357 | /lib/udev/rules.d/90-nm-thunderbolt.rules | |
358 | %dir %{_sysconfdir}/%{name}/VPN | |
359 | %dir %{_sysconfdir}/%{name}/conf.d | |
360 | %dir %{_sysconfdir}/%{name}/dispatcher.d | |
361 | %dir %{_sysconfdir}/%{name}/dispatcher.d/pre-down.d | |
362 | %dir %{_sysconfdir}/%{name}/dispatcher.d/pre-up.d | |
363 | %dir %{_sysconfdir}/%{name}/dispatcher.d/no-wait.d | |
364 | %dir %{_sysconfdir}/%{name}/dnsmasq.d | |
365 | %dir %{_sysconfdir}/%{name}/dnsmasq-shared.d | |
366 | %dir %{_sysconfdir}/%{name}/system-connections | |
367 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf | |
368 | %attr(711,root,root) %dir /var/run/%{name} | |
369 | %attr(700,root,root) %dir /var/lib/%{name} | |
370 | %{_mandir}/man1/nm-online.1* | |
371 | %{_mandir}/man1/nmcli.1* | |
372 | %{_mandir}/man1/nmtui-connect.1* | |
373 | %{_mandir}/man1/nmtui-edit.1* | |
374 | %{_mandir}/man1/nmtui-hostname.1* | |
375 | %{_mandir}/man1/nmtui.1* | |
376 | %{_mandir}/man5/NetworkManager.conf.5* | |
377 | %{_mandir}/man5/nm-settings.5* | |
378 | %{_mandir}/man5/nm-settings-dbus.5* | |
379 | %{_mandir}/man5/nm-settings-ifcfg-rh.5* | |
380 | %{_mandir}/man5/nm-settings-keyfile.5* | |
381 | %{_mandir}/man5/nm-settings-nmcli.5* | |
382 | %{_mandir}/man5/nm-system-settings.conf.5* | |
383 | %{_mandir}/man7/nm-openvswitch.7* | |
384 | %{_mandir}/man7/nmcli-examples.7* | |
385 | %{_mandir}/man8/NetworkManager.8* | |
386 | %{_mandir}/man8/NetworkManager-dispatcher.8* | |
387 | %{_mandir}/man8/nm-cloud-setup.8* | |
388 | %{_mandir}/man8/nm-initrd-generator.8* | |
389 | %{_examplesdir}/%{name}-%{version} | |
390 | ||
391 | %files apidocs | |
392 | %defattr(644,root,root,755) | |
393 | %{_gtkdocdir}/NetworkManager | |
394 | %{_gtkdocdir}/libnm | |
395 | ||
396 | %files libs | |
397 | %defattr(644,root,root,755) | |
398 | %attr(755,root,root) %{_libdir}/libnm.so.*.*.* | |
399 | %attr(755,root,root) %ghost %{_libdir}/libnm.so.0 | |
400 | %{_libdir}/girepository-1.0/NM-1.0.typelib | |
401 | ||
402 | %files devel | |
403 | %defattr(644,root,root,755) | |
404 | %attr(755,root,root) %{_libdir}/libnm.so | |
405 | %{_includedir}/libnm | |
406 | %{_pkgconfigdir}/libnm.pc | |
407 | %{_datadir}/dbus-1/interfaces/org.freedesktop.NetworkManager.xml | |
408 | %{_datadir}/dbus-1/interfaces/org.freedesktop.NetworkManager.*.xml | |
409 | %{_datadir}/gir-1.0/NM-1.0.gir | |
410 | ||
411 | %files static | |
412 | %defattr(644,root,root,755) | |
413 | %{_libdir}/libnm.a | |
414 | ||
415 | %if %{with vala} | |
416 | %files -n vala-NetworkManager | |
417 | %defattr(644,root,root,755) | |
418 | %{_datadir}/vala/vapi/libnm.deps | |
419 | %{_datadir}/vala/vapi/libnm.vapi | |
420 | %endif | |
421 | ||
422 | %files -n bash-completion-NetworkManager | |
423 | %defattr(644,root,root,755) | |
424 | %{bash_compdir}/nmcli |