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