]> git.pld-linux.org Git - packages/NetworkManager.git/blob - NetworkManager.spec
up to 1.36.4
[packages/NetworkManager.git] / NetworkManager.spec
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.4
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:  cd2c2d377b4f672612b5c499a4c913e1
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
This page took 0.216066 seconds and 3 git commands to generate.