Remove net-config dependency
[platform/upstream/connman.git] / packaging / connman.spec
1 %bcond_with     connman_openconnect
2 %bcond_without  connman_wireguard
3 %bcond_without  connman_openvpn
4 %bcond_without  connman_ipsec
5 %bcond_without  connman_vpnd
6
7 Name:           connman
8 Version:        1.38
9 Release:        10
10 License:        GPL-2.0+
11 Summary:        Connection Manager
12 Url:            http://connman.net
13 Group:          Network & Connectivity/Connection Management
14 Source0:        %{name}-%{version}.tar.gz
15 BuildRequires:  systemd-devel
16 BuildRequires:  pkgconfig(dlog)
17 BuildRequires:  pkgconfig(dbus-1)
18 BuildRequires:  pkgconfig(glib-2.0)
19 BuildRequires:  pkgconfig(gio-2.0)
20 BuildRequires:  pkgconfig(libiptc)
21 BuildRequires:  pkgconfig(xtables)
22 BuildRequires:  pkgconfig(libsmack)
23 BuildRequires:  pkgconfig(libnl-3.0)
24 BuildRequires:  pkgconfig(libnl-genl-3.0)
25 BuildRequires:  pkgconfig(libsystemd)
26 %if %{with connman_openconnect}
27 BuildRequires:  openconnect
28 %endif
29 %if %{with connman_openvpn}
30 BuildRequires:  openvpn
31 %endif
32 %if %{with connman_ipsec}
33 BuildRequires:  strongswan
34 %endif
35 BuildRequires:  readline-devel
36 #%systemd_requires
37 Requires:       iptables
38 Requires:         systemd
39 Requires(post):   systemd
40 Requires(preun):  systemd
41 Requires(postun): systemd
42 Requires:         security-config
43 Provides:       %{name}-profile_common = %{version}-%{release}
44 Provides:       %{name}-profile_mobile = %{version}-%{release}
45 Provides:       %{name}-profile_wearable = %{version}-%{release}
46
47 %description
48 Connection Manager provides a daemon for managing Internet connections
49 within embedded devices running the Linux operating system.
50
51 %if %{with connman_openconnect}
52 %package plugin-openconnect
53 Summary:        Openconnect Support for Connman
54 Requires:       %{name} = %{version}
55 Requires:       openconnect
56
57 %description plugin-openconnect
58 Openconnect Support for Connman.
59 %endif
60
61 %if %{with connman_openvpn}
62 %package plugin-openvpn
63 Summary:        Openvpn Support for Connman
64 Requires:       %{name} = %{version}
65 Requires:       openvpn
66
67 %description plugin-openvpn
68 OpenVPN support for Connman.
69 %endif
70
71 %if %{with connman_ipsec}
72 %package plugin-ipsec
73 Summary:        IPsec Support for Connman
74 Requires:       %{name} = %{version}
75 Requires:       strongswan
76
77 %description plugin-ipsec
78 OpenVPN support for Connman.
79 %endif
80
81 %if %{with connman_vpnd}
82 %package connman-vpnd
83 Summary:        VPN Support for Connman
84 #BuildRequires:  %{name} = %{version}
85 Requires:       %{name} = %{version}
86
87 %description connman-vpnd
88 Provides VPN support for Connman
89 %endif
90
91 %if %{with connman_wireguard}
92 %package plugin-wireguard
93 Summary:        Wireguard Support for Connman
94 BuildRequires:  pkgconfig(libmnl)
95 Requires:       %{name} = %{version}
96
97 %description plugin-wireguard
98 Wireguard Support for Connman.
99 %endif
100
101 %package test
102 Summary:        Test Scripts for Connection Manager
103 Group:          Development/Tools
104 Requires:       %{name} = %{version}
105 Requires:       dbus-python
106 Requires:       pygobject
107 Requires:       python-xml
108
109 %description test
110 Scripts for testing Connman and its functionality
111
112 %package devel
113 Summary:        Development files for connman
114 Group:          Development/Tools
115 Requires:       %{name} = %{version}
116
117 %description devel
118 Header files and development files for connman.
119
120 %package extension-tv
121 Summary:        Connman service script for TV profile
122 Requires:       %{name} = %{version}-%{release}
123 Provides:       %{name}-profile_tv = %{version}-%{release}
124 Conflicts:      %{name}-extension-ivi
125 Conflicts:      %{name}-extension-disable-eth
126 %description extension-tv
127 Supplies Tizen TV profile systemd service scripts instead of the default one.
128 This overwrites service script of %{name}.
129
130 %package extension-ivi
131 Summary:        Connman configuration for IVI profile
132 Requires:       %{name} = %{version}-%{release}
133 Provides:       %{name}-profile_ivi = %{version}-%{release}
134 Conflicts:      %{name}-extension-tv
135 Conflicts:      %{name}-extension-disable-eth
136 %description extension-ivi
137 Supplies Tizen IVI profile configuration instead of the default one.
138 This overwrites conf file of %{name}.
139
140 %package extension-disable-eth
141 Summary:        Connman configuration for testing which requires the ethernet to be disabled
142 Requires:       %{name} = %{version}-%{release}
143 Conflicts:      %{name}-extension-tv
144 Conflicts:      %{name}-extension-ivi
145 %description extension-disable-eth
146 Connman without ethernet support
147 This overwrites conf file of %{name}.
148
149 %package extension-bpf
150 Summary:        Files for BPF support
151 Requires:       libelf
152 Requires:       zlib
153 Requires:       %{name} = %{version}-%{release}
154 %description extension-bpf
155 Files for BPF support
156
157 %package extension-bpf-devel
158 License:        GPL-2.0+ and LGPL-2.1+
159 Summary:        Development files for BPF support
160 Requires:       %{name} = %{version}-%{release}
161 Requires:       %{name}-extension-bpf
162 %description extension-bpf-devel
163 Header files and development files for BPF support
164
165
166 %prep
167 %setup -q
168
169
170 %build
171 %if %{with connman_vpnd}
172 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
173 %endif
174
175 chmod +x bootstrap
176 ./bootstrap
177 %configure \
178             --sysconfdir=/etc \
179             --enable-client \
180             --enable-tizen-ext \
181             --disable-tizen-ext-ins \
182             --enable-tizen-ext-eap-on-ethernet \
183             --enable-pacrunner \
184             --enable-wifi=builtin \
185 %if %{with connman_openconnect}
186             --enable-openconnect \
187 %endif
188 %if %{with connman_openvpn}
189             --enable-openvpn \
190 %endif
191 %if %{with connman_ipsec}
192             --enable-ipsec \
193 %endif
194 %if %{without connman_wireguard}
195             --disable-wireguard \
196 %endif
197 %if 0%{?enable_connman_features}
198             %connman_features \
199 %endif
200             --disable-ofono \
201             --enable-telephony=builtin \
202             --enable-test \
203             --enable-loopback \
204             --enable-ethernet \
205             --with-systemdunitdir=%{_unitdir} \
206             --enable-pie \
207             --disable-wispr \
208             --disable-backtrace \
209             --disable-tools
210
211 make %{?_smp_mflags}
212
213 %install
214 %make_install
215
216 #Systemd service file
217 mkdir -p %{buildroot}%{_unitdir}
218
219 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
220 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
221 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
222
223 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
224 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
225
226 #Systemd socket file for DNS proxy
227 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
228 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
229 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
230
231 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
232 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
233 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
234 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
235 mkdir -p %{buildroot}/etc/connman
236
237 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
238 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
239 cp src/main_disable_eth.conf %{buildroot}/etc/connman/main.conf.disable.eth
240 cp src/main.conf %{buildroot}/etc/connman/main.conf
241
242 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
243 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
244 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
245
246 %if %{with connman_vpnd}
247 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
248 %endif
249
250 # BPF file
251 mkdir -p %{buildroot}/%{_includedir}/bpf
252 cp -rf resources/usr/include/bpf/* %{buildroot}/%{_includedir}/bpf
253 cp resources/var/lib/connman/bpf_code %{buildroot}/%{_localstatedir}/lib/connman/bpf_code
254
255 %ifarch aarch64
256 cp resources/usr/lib/libbpf.so.64 %{buildroot}/%{_libdir}/libbpf.so.0.2.0
257 %else
258 cp resources/usr/lib/libbpf.so.32 %{buildroot}/%{_libdir}/libbpf.so.0.2.0
259 %endif
260
261 %post
262 #chsmack -a 'System' /%{_localstatedir}/lib/connman
263 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
264
265 %preun
266
267 %postun
268 systemctl daemon-reload
269
270 %docs_package
271
272 %files
273 %manifest connman.manifest
274 %attr(500,network_fw,network_fw) %{_bindir}/connmand
275 %attr(500,network_fw,network_fw) %{_bindir}/connmanctl
276 %attr(600,network_fw,network_fw) /%{_localstatedir}/lib/connman/settings
277 %attr(644,root,root) %{_datadir}/dbus-1/system-services/net.connman.service
278 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
279 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
280 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*.conf
281 %attr(644,root,root) %{_unitdir}/connman.service
282 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
283 %attr(644,root,root) %{_unitdir}/connman.socket
284 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
285 %license COPYING
286
287 %files test
288 %manifest connman.manifest
289 %{_libdir}/%{name}/test/*
290
291 %files devel
292 %manifest connman.manifest
293 %{_includedir}/*
294 %{_libdir}/pkgconfig/*.pc
295
296 %if %{with connman_openconnect}
297 %files plugin-openconnect
298 %manifest %{name}.manifest
299 %{_libdir}/connman/plugins-vpn/openconnect.so
300 %{_libdir}/connman/scripts/openconnect-script
301 %license COPYING
302 %endif
303
304 %if %{with connman_openvpn}
305 %files plugin-openvpn
306 %manifest %{name}.manifest
307 %{_libdir}/%{name}/plugins-vpn/openvpn.so
308 %{_libdir}/%{name}/scripts/openvpn-script
309 %license COPYING
310 %endif
311
312 %if %{with connman_ipsec}
313 %files plugin-ipsec
314 %manifest %{name}.manifest
315 %{_libdir}/%{name}/plugins-vpn/ipsec.so
316 %{_libdir}/%{name}/scripts/ipsec-script
317 %license COPYING
318 %endif
319
320 %if %{with connman_vpnd}
321 %files connman-vpnd
322 %manifest %{name}.manifest
323 %{_bindir}/connman-vpnd
324 %dir %{_libdir}/%{name}
325 %dir %{_libdir}/%{name}/scripts
326 %dir %{_libdir}/%{name}/plugins-vpn
327 %attr(644,root,root) %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
328 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
329 %license COPYING
330 %attr(644,root,root) %{_unitdir}/connman-vpn.service
331 %endif
332
333 %if %{with connman_wireguard}
334 %files plugin-wireguard
335 %manifest %{name}.manifest
336 %{_libdir}/%{name}/plugins-vpn/wireguard.so
337 %license COPYING
338 %endif
339
340 %post extension-tv
341 mv -f %{_unitdir}/connman.service.tv %{_unitdir}/connman.service
342 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
343
344 %files extension-tv
345 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.tv
346 %license COPYING
347 %attr(644,root,root) %{_unitdir}/connman.service.tv
348
349 %post extension-ivi
350 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
351
352 %files extension-ivi
353 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.ivi
354 %license COPYING
355
356 %post extension-disable-eth
357 mv -f %{_sysconfdir}/connman/main.conf.disable.eth %{_sysconfdir}/connman/main.conf
358
359 %files extension-disable-eth
360 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.disable.eth
361 %license COPYING
362
363 %files extension-bpf
364 %manifest %{name}.manifest
365 %attr(755,root,root) %{_libdir}/libbpf.so.0.2.0
366 %attr(640,network_fw,network_fw) %{_localstatedir}/lib/connman/bpf_code
367
368 %post extension-bpf
369 ln -s %{_libdir}/libbpf.so.0.2.0 %{_libdir}/libbpf.so.0
370 ln -s %{_libdir}/libbpf.so.0.2.0 %{_libdir}/libbpf.so
371
372 %files extension-bpf-devel
373 %manifest %{name}.manifest
374 %{_includedir}/bpf/*
375 %license COPYING
376 %license COPYING.LGPLv2