]> git.pld-linux.org Git - packages/NetworkManager.git/blob - NetworkManager.spec
36960771e0663e2ddcb0d125da7d4ce86c54b677
[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.4.0
10 Release:        2
11 Epoch:          2
12 License:        GPL v2+
13 Group:          Networking/Admin
14 Source0:        http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.4/%{name}-%{version}.tar.xz
15 # Source0-md5:  337e676261ca94af08f8e9b6f9b09a5b
16 Source1:        %{name}.conf
17 Source3:        %{name}.tmpfiles
18 Source4:        %{name}.init
19 Patch0:         ifcfg-path.patch
20 Patch1:         systemd-fallback.patch
21 Patch2:         0001-wifi-set-mac-addr-workaround-rh1371478.patch
22 Patch3:         0002-dhcp-helper-sync-notify-rh1372854.patch
23 Patch4:         0003-wifi-set-mac-addr-workaround-rh1371478-v2.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:  dbus-devel >= 1.1.0
31 BuildRequires:  dbus-glib-devel >= 0.100
32 BuildRequires:  docbook-dtd412-xml
33 BuildRequires:  gettext-tools >= 0.17
34 BuildRequires:  glib2-devel >= 1:2.38.0
35 BuildRequires:  gnome-common
36 BuildRequires:  gobject-introspection-devel >= 0.10.0
37 BuildRequires:  gtk-doc >= 1.0
38 BuildRequires:  gtk-doc-automake >= 1.0
39 BuildRequires:  intltool >= 0.40.0
40 BuildRequires:  jansson-devel
41 BuildRequires:  libndp-devel
42 BuildRequires:  libnl-devel >= 3.2.8
43 BuildRequires:  libselinux-devel
44 BuildRequires:  libsoup-devel >= 2.40.0
45 BuildRequires:  libteamdctl-devel >= 1.9
46 BuildRequires:  libtool >= 2:2.2
47 BuildRequires:  libuuid-devel
48 BuildRequires:  newt-devel >= 0.52.15
49 BuildRequires:  nss-devel >= 3.11
50 BuildRequires:  pkgconfig
51 BuildRequires:  polkit-devel >= 0.97
52 BuildRequires:  ppp-plugin-devel >= 3:2.4.6
53 BuildRequires:  rpm-pythonprov
54 BuildRequires:  rpmbuild(macros) >= 1.673
55 BuildRequires:  sed >= 4.0
56 %{?with_systemd:BuildRequires:  systemd-devel >= 1:209}
57 BuildRequires:  tar >= 1:1.22
58 BuildRequires:  udev-devel
59 BuildRequires:  udev-glib-devel >= 1:165
60 %{?with_vala:BuildRequires:     vala >= 2:0.17.1.24}
61 BuildRequires:  xz
62 Requires(post,preun):   /sbin/chkconfig
63 Requires(post,preun,postun):    systemd-units >= 38
64 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
65 %if %{with systemd}
66 Suggests:       ConsoleKit-x11
67 %else
68 Requires:       ConsoleKit-x11
69 %endif
70 Requires:       dhcp-client
71 Requires:       filesystem >= 3.0-37
72 Requires:       libnl >= 3.2.8
73 Requires:       libsoup >= 2.40.0
74 Requires:       libteamdctl >= 1.9
75 Requires:       newt >= 0.52.15
76 Requires:       polkit >= 0.97
77 Requires:       rc-scripts >= 0.4.3.0
78 Requires:       systemd-units >= 38
79 Requires:       wpa_supplicant >= 0.7.3-4
80 Suggests:       ModemManager >= 1.0.0
81 Suggests:       mobile-broadband-provider-info
82 Suggests:       resolvconf
83 Suggests:       teamd >= 1.9
84 Obsoletes:      NetworkManager-systemd
85 Obsoletes:      dhcdbd < 3.0-1
86 # sr@Latn vs. sr@latin
87 Conflicts:      glibc-misc < 6:2.7
88 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
89
90 %define         _libexecdir     %{_libdir}/%{name}
91
92 %description
93 Network Manager for GNOME.
94
95 %description -l pl.UTF-8
96 Zarządca sieci dla GNOME.
97
98 %package apidocs
99 Summary:        libnm-glib library API documentation
100 Summary(pl.UTF-8):      Dokumentacja API biblioteki libnm-glib
101 Group:          Documentation
102 Requires:       gtk-doc-common
103 %if "%{_rpmversion}" >= "5"
104 BuildArch:      noarch
105 %endif
106
107 %description apidocs
108 libnm-glib library API documentation.
109
110 %description apidocs -l pl.UTF-8
111 Dokumentacja API biblioteki libnm-glib.
112
113 %package libs
114 Summary:        Network Manager shared libraries
115 Summary(pl.UTF-8):      Biblioteki dzielone Network Managera
116 Group:          Libraries
117 Requires:       dbus-glib >= 0.100
118 Requires:       glib2 >= 1:2.38.0
119 Requires:       nss >= 3.11
120 Requires:       udev-glib >= 1:165
121 Conflicts:      NetworkManager < 0.6.4-0.2
122
123 %description libs
124 Network Manager shared libraries.
125
126 %description libs -l pl.UTF-8
127 Biblioteki dzielone Network Managera.
128
129 %package devel
130 Summary:        Network Manager includes and more
131 Summary(pl.UTF-8):      Pliki nagłówkowe Network Managera
132 Group:          Development/Libraries
133 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
134 Requires:       dbus-glib-devel >= 0.100
135 Requires:       glib2-devel >= 1:2.38.0
136 Requires:       libuuid-devel
137 Requires:       nss-devel >= 3.11
138 Requires:       udev-glib-devel >= 1:165
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 %if "%{_rpmversion}" >= "5"
165 BuildArch:      noarch
166 %endif
167
168 %description -n vala-NetworkManager
169 Vala API for NetworkManager libraries.
170
171 %description -n vala-NetworkManager -l pl.UTF-8
172 API języka Vala do bibliotek NetworkManagera.
173
174 %package -n bash-completion-NetworkManager
175 Summary:        Bash completion for NetworkManager command (nmcli)
176 Summary(pl.UTF-8):      Bashowe uzupełnianie nazw dla polecenia NetworkManagera (nmcli)
177 Group:          Applications/Shells
178 Requires:       %{name} = %{epoch}:%{version}-%{release}
179 Requires:       bash-completion >= 2.0
180 %if "%{_rpmversion}" >= "5"
181 BuildArch:      noarch
182 %endif
183
184 %description -n bash-completion-NetworkManager
185 Bash completion for NetworkManager command (nmcli).
186
187 %description -n bash-completion-NetworkManager -l pl.UTF-8
188 Bashowe uzupełnianie nazw dla polecenia NetworkManagera (nmcli).
189
190 %prep
191 %setup -q
192 %patch0 -p1
193 %{?with_systemd:%patch1 -p1}
194 %patch2 -p1
195 %patch3 -p1
196 %patch4 -p1
197
198 %build
199 %{__gtkdocize}
200 %{__intltoolize}
201 %{__libtoolize}
202 %{__aclocal} -I m4
203 %{__autoconf}
204 %{__autoheader}
205 %{__automake}
206 %configure \
207         --disable-silent-rules \
208         --with-html-dir=%{_gtkdocdir} \
209         --enable-ifcfg-rh \
210         --enable-more-warnings=yes \
211         --with-dhclient=/sbin/dhclient \
212         --with-dhcpcd=/sbin/dhcpcd \
213         --with-iptables=/usr/sbin/iptables \
214         --with-system-ca-path=/etc/certs \
215         --with-systemdsystemunitdir=%{systemdunitdir} \
216         --with-session-tracking=%{?with_systemd:systemd}%{!?with_systemd:ck} \
217         --with-suspend-resume=%{?with_systemd:systemd}%{!?with_systemd:upower} \
218         --with-pppd=/usr/sbin/pppd \
219         --with-pppd-plugin-dir=%{_libdir}/pppd/plugins \
220         --with-pppoe=/usr/sbin/pppoe \
221         --with-resolvconf=/sbin/resolvconf \
222         --with-udev-dir=/lib/udev \
223         --with-dist-version=%{version}-%{release} \
224         --with-docs \
225         --enable-static \
226         %{!?with_vala:--disable-vala}
227
228 %{__make}
229
230 %install
231 rm -rf $RPM_BUILD_ROOT
232 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/run/%{name},%{systemdtmpfilesdir}} \
233         $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{VPN,dispatcher.d,system-connections} \
234         $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/{VPN,conf.d}
235
236 %{__make} install \
237         DESTDIR=$RPM_BUILD_ROOT
238
239 install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
240
241 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
242
243 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
244
245 # Cleanup
246 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
247 %{__rm} $RPM_BUILD_ROOT%{_libdir}/NetworkManager/*.{a,la}
248 %{__rm} $RPM_BUILD_ROOT%{_libdir}/pppd/plugins/*.{a,la}
249
250 %find_lang %{name}
251
252 # examples
253 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
254 cp -a examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
255 %{__make} clean \
256         top_builddir=$(pwd) \
257         -C $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
258 find $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -name 'Makefile*' | xargs rm
259
260 %clean
261 rm -rf $RPM_BUILD_ROOT
262
263 %post
264 /sbin/chkconfig --add NetworkManager
265 %service -n NetworkManager restart "NetworkManager daemon"
266 %systemd_post NetworkManager.service NetworkManager-wait-online.service
267
268 %preun
269 if [ "$1" = "0" ]; then
270         %service NetworkManager stop
271         /sbin/chkconfig --del NetworkManager
272 fi
273 %systemd_preun NetworkManager.service NetworkManager-wait-online.service
274
275 %postun
276 %systemd_reload
277
278 %triggerpostun -- NetworkManager < 2:0.9.2.0-5
279 %systemd_trigger NetworkManager.service NetworkManager-wait-online.service
280
281 %triggerun -- NetworkManager < 0.7.0-0.svn4027.1
282 %service -q NetworkManagerDispatcher stop
283 /sbin/chkconfig --del NetworkManagerDispatcher
284
285 %triggerun -- NetworkManager < 0.8.9997-5
286 # move network interfaces description files to new location
287 mv -f /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/interfaces
288 mv -f /etc/sysconfig/network-scripts/keys-* /etc/sysconfig/interfaces
289 exit 0
290
291 %post   libs -p /sbin/ldconfig
292 %postun libs -p /sbin/ldconfig
293
294 %files -f %{name}.lang
295 %defattr(644,root,root,755)
296 %doc AUTHORS ChangeLog NEWS README TODO
297 %attr(755,root,root) %{_bindir}/nm-online
298 %attr(755,root,root) %{_bindir}/nmcli
299 %attr(755,root,root) %{_bindir}/nmtui
300 %attr(755,root,root) %{_bindir}/nmtui-connect
301 %attr(755,root,root) %{_bindir}/nmtui-edit
302 %attr(755,root,root) %{_bindir}/nmtui-hostname
303 %attr(755,root,root) %{_sbindir}/NetworkManager
304 %dir %{_libdir}/NetworkManager
305 %attr(755,root,root) %{_libdir}/NetworkManager/libnm-device-plugin-adsl.so
306 %attr(755,root,root) %{_libdir}/NetworkManager/libnm-device-plugin-bluetooth.so
307 %attr(755,root,root) %{_libdir}/NetworkManager/libnm-device-plugin-wifi.so
308 %attr(755,root,root) %{_libdir}/NetworkManager/libnm-device-plugin-wwan.so
309 %attr(755,root,root) %{_libdir}/NetworkManager/libnm-device-plugin-team.so
310 %attr(755,root,root) %{_libdir}/NetworkManager/libnm-settings-plugin-ibft.so
311 %attr(755,root,root) %{_libdir}/NetworkManager/libnm-settings-plugin-ifcfg-rh.so
312 %attr(755,root,root) %{_libdir}/NetworkManager/libnm-wwan.so
313 %attr(755,root,root) %{_libexecdir}/nm-dhcp-helper
314 %attr(755,root,root) %{_libexecdir}/nm-dispatcher
315 %attr(755,root,root) %{_libexecdir}/nm-iface-helper
316 %attr(755,root,root) %{_libdir}/pppd/plugins/nm-pppd-plugin.so
317 %attr(754,root,root) /etc/rc.d/init.d/NetworkManager
318 %if "%{_lib}" != "lib"
319 %dir %{_prefix}/lib/NetworkManager
320 %endif
321 %dir %{_prefix}/lib/NetworkManager/VPN
322 %dir %{_prefix}/lib/NetworkManager/conf.d
323 %{systemdunitdir}/NetworkManager.service
324 %{systemdunitdir}/NetworkManager-dispatcher.service
325 %{systemdunitdir}/NetworkManager-wait-online.service
326 # XXX: dir here or add to systemd-units?
327 %dir %{systemdunitdir}/network-online.target.wants
328 %{systemdunitdir}/network-online.target.wants/NetworkManager-wait-online.service
329 %{_datadir}/dbus-1/system-services/org.freedesktop.NetworkManager.service
330 %{systemdtmpfilesdir}/%{name}.conf
331 %{_datadir}/dbus-1/system-services/org.freedesktop.nm_dispatcher.service
332 %{_datadir}/polkit-1/actions/org.freedesktop.NetworkManager.policy
333 /lib/udev/rules.d/84-nm-drivers.rules
334 /lib/udev/rules.d/85-nm-unmanaged.rules
335 %dir %{_sysconfdir}/%{name}/VPN
336 %dir %{_sysconfdir}/%{name}/system-connections
337 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
338 %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/nm-dispatcher.conf
339 %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/nm-ifcfg-rh.conf
340 %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf
341 %attr(711,root,root) %dir /var/run/%{name}
342 %attr(700,root,root) %dir /var/lib/%{name}
343 %{_mandir}/man1/nm-online.1*
344 %{_mandir}/man1/nmcli.1*
345 %{_mandir}/man1/nmtui-connect.1*
346 %{_mandir}/man1/nmtui-edit.1*
347 %{_mandir}/man1/nmtui-hostname.1*
348 %{_mandir}/man1/nmtui.1*
349 %{_mandir}/man5/NetworkManager.conf.5*
350 %{_mandir}/man5/nm-settings-ifcfg-rh.5*
351 %{_mandir}/man5/nm-settings-keyfile.5*
352 %{_mandir}/man5/nm-settings.5*
353 %{_mandir}/man5/nm-system-settings.conf.5*
354 %{_mandir}/man7/nmcli-examples.7*
355 %{_mandir}/man8/NetworkManager.8*
356 %{_examplesdir}/%{name}-%{version}
357
358 %files apidocs
359 %defattr(644,root,root,755)
360 %{_gtkdocdir}/NetworkManager
361 %{_gtkdocdir}/libnm
362 %{_gtkdocdir}/libnm-glib
363 %{_gtkdocdir}/libnm-util
364
365 %files libs
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/libnm.so.*.*.*
368 %attr(755,root,root) %ghost %{_libdir}/libnm.so.0
369 %attr(755,root,root) %{_libdir}/libnm-util.so.*.*.*
370 %attr(755,root,root) %ghost %{_libdir}/libnm-util.so.2
371 %attr(755,root,root) %{_libdir}/libnm-glib.so.*.*.*
372 %attr(755,root,root) %ghost %{_libdir}/libnm-glib.so.4
373 %attr(755,root,root) %{_libdir}/libnm-glib-vpn.so.*.*.*
374 %attr(755,root,root) %ghost %{_libdir}/libnm-glib-vpn.so.1
375 %{_libdir}/girepository-1.0/NM-1.0.typelib
376 %{_libdir}/girepository-1.0/NMClient-1.0.typelib
377 %{_libdir}/girepository-1.0/NetworkManager-1.0.typelib
378
379 %files devel
380 %defattr(644,root,root,755)
381 %attr(755,root,root) %{_libdir}/libnm.so
382 %attr(755,root,root) %{_libdir}/libnm-util.so
383 %attr(755,root,root) %{_libdir}/libnm-glib.so
384 %attr(755,root,root) %{_libdir}/libnm-glib-vpn.so
385 %{_includedir}/NetworkManager
386 %{_includedir}/libnm
387 %{_includedir}/libnm-glib
388 %{_pkgconfigdir}/NetworkManager.pc
389 %{_pkgconfigdir}/libnm.pc
390 %{_pkgconfigdir}/libnm-util.pc
391 %{_pkgconfigdir}/libnm-glib-vpn.pc
392 %{_pkgconfigdir}/libnm-glib.pc
393 %{_datadir}/gir-1.0/NM-1.0.gir
394 %{_datadir}/gir-1.0/NMClient-1.0.gir
395 %{_datadir}/gir-1.0/NetworkManager-1.0.gir
396
397 %files static
398 %defattr(644,root,root,755)
399 %{_libdir}/libnm.a
400 %{_libdir}/libnm-util.a
401 %{_libdir}/libnm-glib.a
402 %{_libdir}/libnm-glib-vpn.a
403
404 %if %{with vala}
405 %files -n vala-NetworkManager
406 %defattr(644,root,root,755)
407 %{_datadir}/vala/vapi/libnm-glib.deps
408 %{_datadir}/vala/vapi/libnm-glib.vapi
409 %{_datadir}/vala/vapi/libnm-util.deps
410 %{_datadir}/vala/vapi/libnm-util.vapi
411 %endif
412
413 %files -n bash-completion-NetworkManager
414 %defattr(644,root,root,755)
415 %{bash_compdir}/nmcli
This page took 0.134393 seconds and 2 git commands to generate.