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