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
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
29 %if %{with connman_openvpn}
30 BuildRequires: openvpn
32 %if %{with connman_ipsec}
33 BuildRequires: strongswan
35 BuildRequires: readline-devel
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}
48 Connection Manager provides a daemon for managing Internet connections
49 within embedded devices running the Linux operating system.
51 %if %{with connman_openconnect}
52 %package plugin-openconnect
53 Summary: Openconnect Support for Connman
54 Requires: %{name} = %{version}
57 %description plugin-openconnect
58 Openconnect Support for Connman.
61 %if %{with connman_openvpn}
62 %package plugin-openvpn
63 Summary: Openvpn Support for Connman
64 Requires: %{name} = %{version}
67 %description plugin-openvpn
68 OpenVPN support for Connman.
71 %if %{with connman_ipsec}
73 Summary: IPsec Support for Connman
74 Requires: %{name} = %{version}
77 %description plugin-ipsec
78 OpenVPN support for Connman.
81 %if %{with connman_vpnd}
83 Summary: VPN Support for Connman
84 #BuildRequires: %{name} = %{version}
85 Requires: %{name} = %{version}
87 %description connman-vpnd
88 Provides VPN support for Connman
91 %if %{with connman_wireguard}
92 %package plugin-wireguard
93 Summary: Wireguard Support for Connman
94 BuildRequires: pkgconfig(libmnl)
95 Requires: %{name} = %{version}
97 %description plugin-wireguard
98 Wireguard Support for Connman.
102 Summary: Test Scripts for Connection Manager
103 Group: Development/Tools
104 Requires: %{name} = %{version}
105 Requires: dbus-python
110 Scripts for testing Connman and its functionality
113 Summary: Development files for connman
114 Group: Development/Tools
115 Requires: %{name} = %{version}
118 Header files and development files for connman.
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}.
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}.
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}.
149 %package extension-bpf
150 Summary: Files for BPF support
152 Requires: %{name} = %{version}-%{release}
153 %description extension-bpf
154 Files for BPF support
156 %package extension-bpf-devel
157 License: GPL-2.0+ and LGPL-2.1+
158 Summary: Development files for BPF support
159 Requires: %{name} = %{version}-%{release}
160 Requires: %{name}-extension-bpf
161 %description extension-bpf-devel
162 Header files and development files for BPF support
170 %if %{with connman_vpnd}
171 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
180 --disable-tizen-ext-ins \
181 --enable-tizen-ext-eap-on-ethernet \
183 --enable-wifi=builtin \
184 %if %{with connman_openconnect}
185 --enable-openconnect \
187 %if %{with connman_openvpn}
190 %if %{with connman_ipsec}
193 %if %{without connman_wireguard}
194 --disable-wireguard \
196 %if 0%{?enable_connman_features}
200 --enable-telephony=builtin \
204 --with-systemdunitdir=%{_unitdir} \
207 --disable-backtrace \
215 #Systemd service file
216 mkdir -p %{buildroot}%{_unitdir}
218 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
219 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
220 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
222 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
223 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
225 #Systemd socket file for DNS proxy
226 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
227 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
228 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
230 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
231 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
232 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
233 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
234 mkdir -p %{buildroot}/etc/connman
236 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
237 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
238 cp src/main_disable_eth.conf %{buildroot}/etc/connman/main.conf.disable.eth
239 cp src/main.conf %{buildroot}/etc/connman/main.conf
241 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
242 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
243 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
245 %if %{with connman_vpnd}
246 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
250 mkdir -p %{buildroot}/%{_includedir}/bpf
251 cp -rf resources/usr/include/bpf/* %{buildroot}/%{_includedir}/bpf
252 cp resources/var/lib/connman/bpf_code %{buildroot}/%{_localstatedir}/lib/connman/bpf_code
255 cp resources/usr/lib/libbpf.so.64 %{buildroot}/%{_libdir}/libbpf.so.0.2.0
257 cp resources/usr/lib/libbpf.so.32 %{buildroot}/%{_libdir}/libbpf.so.0.2.0
261 #chsmack -a 'System' /%{_localstatedir}/lib/connman
262 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
267 systemctl daemon-reload
272 %manifest connman.manifest
273 %attr(500,network_fw,network_fw) %{_bindir}/connmand
274 %attr(500,network_fw,network_fw) %{_bindir}/connmanctl
275 %attr(600,network_fw,network_fw) /%{_localstatedir}/lib/connman/settings
276 %attr(644,root,root) %{_datadir}/dbus-1/system-services/net.connman.service
277 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
278 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
279 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*.conf
280 %attr(644,root,root) %{_unitdir}/connman.service
281 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
282 %attr(644,root,root) %{_unitdir}/connman.socket
283 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
287 %manifest connman.manifest
288 %{_libdir}/%{name}/test/*
291 %manifest connman.manifest
293 %{_libdir}/pkgconfig/*.pc
295 %if %{with connman_openconnect}
296 %files plugin-openconnect
297 %manifest %{name}.manifest
298 %{_libdir}/connman/plugins-vpn/openconnect.so
299 %{_libdir}/connman/scripts/openconnect-script
303 %if %{with connman_openvpn}
304 %files plugin-openvpn
305 %manifest %{name}.manifest
306 %{_libdir}/%{name}/plugins-vpn/openvpn.so
307 %{_libdir}/%{name}/scripts/openvpn-script
311 %if %{with connman_ipsec}
313 %manifest %{name}.manifest
314 %{_libdir}/%{name}/plugins-vpn/ipsec.so
315 %{_libdir}/%{name}/scripts/ipsec-script
319 %if %{with connman_vpnd}
321 %manifest %{name}.manifest
322 %{_bindir}/connman-vpnd
323 %dir %{_libdir}/%{name}
324 %dir %{_libdir}/%{name}/scripts
325 %dir %{_libdir}/%{name}/plugins-vpn
326 %attr(644,root,root) %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
327 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
329 %attr(644,root,root) %{_unitdir}/connman-vpn.service
332 %if %{with connman_wireguard}
333 %files plugin-wireguard
334 %manifest %{name}.manifest
335 %{_libdir}/%{name}/plugins-vpn/wireguard.so
340 mv -f %{_unitdir}/connman.service.tv %{_unitdir}/connman.service
341 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
344 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.tv
346 %attr(644,root,root) %{_unitdir}/connman.service.tv
349 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
352 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.ivi
355 %post extension-disable-eth
356 mv -f %{_sysconfdir}/connman/main.conf.disable.eth %{_sysconfdir}/connman/main.conf
358 %files extension-disable-eth
359 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.disable.eth
363 %manifest %{name}.manifest
364 %attr(755,root,root) %{_libdir}/libbpf.so.0.2.0
365 %attr(640,network_fw,network_fw) %{_localstatedir}/lib/connman/bpf_code
368 ln -s %{_libdir}/libbpf.so.0.2.0 %{_libdir}/libbpf.so.0
369 ln -s %{_libdir}/libbpf.so.0.2.0 %{_libdir}/libbpf.so
371 %files extension-bpf-devel
372 %manifest %{name}.manifest
375 %license COPYING.LGPLv2