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}
46 Provides: %{name}-profile_robot = %{version}-%{release}
49 Connection Manager provides a daemon for managing Internet connections
50 within embedded devices running the Linux operating system.
52 %if %{with connman_openconnect}
53 %package plugin-openconnect
54 Summary: Openconnect Support for Connman
55 Requires: %{name} = %{version}
58 %description plugin-openconnect
59 Openconnect Support for Connman.
62 %if %{with connman_openvpn}
63 %package plugin-openvpn
64 Summary: Openvpn Support for Connman
65 Requires: %{name} = %{version}
68 %description plugin-openvpn
69 OpenVPN support for Connman.
72 %if %{with connman_ipsec}
74 Summary: IPsec Support for Connman
75 Requires: %{name} = %{version}
78 %description plugin-ipsec
79 OpenVPN support for Connman.
82 %if %{with connman_vpnd}
84 Summary: VPN Support for Connman
85 #BuildRequires: %{name} = %{version}
86 Requires: %{name} = %{version}
88 %description connman-vpnd
89 Provides VPN support for Connman
92 %if %{with connman_wireguard}
93 %package plugin-wireguard
94 Summary: Wireguard Support for Connman
95 BuildRequires: pkgconfig(libmnl)
96 Requires: %{name} = %{version}
98 %description plugin-wireguard
99 Wireguard Support for Connman.
103 Summary: Test Scripts for Connection Manager
104 Group: Development/Tools
105 Requires: %{name} = %{version}
106 Requires: dbus-python
111 Scripts for testing Connman and its functionality
114 Summary: Development files for connman
115 Group: Development/Tools
116 Requires: %{name} = %{version}
119 Header files and development files for connman.
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}.
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}.
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}.
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
161 %if %{with connman_vpnd}
162 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
171 --disable-tizen-ext-ins \
172 --enable-tizen-ext-eap-on-ethernet \
174 --enable-wifi=builtin \
175 %if %{with connman_openconnect}
176 --enable-openconnect \
178 %if %{with connman_openvpn}
181 %if %{with connman_ipsec}
184 %if %{without connman_wireguard}
185 --disable-wireguard \
187 %if 0%{?enable_connman_features}
191 --enable-telephony=builtin \
195 --with-systemdunitdir=%{_unitdir} \
198 --disable-backtrace \
206 #Systemd service file
207 mkdir -p %{buildroot}%{_unitdir}
209 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
210 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
211 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
213 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
214 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
216 #Systemd socket file for DNS proxy
217 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
218 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
219 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
221 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
222 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
223 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
224 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
225 mkdir -p %{buildroot}/etc/connman
227 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
228 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
229 cp src/main_disable_eth.conf %{buildroot}/etc/connman/main.conf.disable.eth
230 cp src/main.conf %{buildroot}/etc/connman/main.conf
232 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
233 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
234 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
235 cp src/connman-robot.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
237 %if %{with connman_vpnd}
238 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
242 #chsmack -a 'System' /%{_localstatedir}/lib/connman
243 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
248 systemctl daemon-reload
253 %manifest connman.manifest
254 %attr(500,network_fw,network_fw) %{_bindir}/connmand
255 %attr(500,network_fw,network_fw) %{_bindir}/connmanctl
256 %attr(600,network_fw,network_fw) /%{_localstatedir}/lib/connman/settings
257 %attr(644,root,root) %{_datadir}/dbus-1/system-services/net.connman.service
258 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
259 %exclude %{_sysconfdir}/dbus-1/system.d/connman-robot.conf
260 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
261 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*.conf
262 %attr(644,root,root) %{_unitdir}/connman.service
263 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
264 %attr(644,root,root) %{_unitdir}/connman.socket
265 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
269 %manifest connman.manifest
270 %{_libdir}/%{name}/test/*
273 %manifest connman.manifest
275 %{_libdir}/pkgconfig/*.pc
277 %if %{with connman_openconnect}
278 %files plugin-openconnect
279 %manifest %{name}.manifest
280 %{_libdir}/connman/plugins-vpn/openconnect.so
281 %{_libdir}/connman/scripts/openconnect-script
285 %if %{with connman_openvpn}
286 %files plugin-openvpn
287 %manifest %{name}.manifest
288 %{_libdir}/%{name}/plugins-vpn/openvpn.so
289 %{_libdir}/%{name}/scripts/openvpn-script
293 %if %{with connman_ipsec}
295 %manifest %{name}.manifest
296 %{_libdir}/%{name}/plugins-vpn/ipsec.so
297 %{_libdir}/%{name}/scripts/ipsec-script
301 %if %{with connman_vpnd}
303 %manifest %{name}.manifest
304 %{_bindir}/connman-vpnd
305 %dir %{_libdir}/%{name}
306 %dir %{_libdir}/%{name}/scripts
307 %dir %{_libdir}/%{name}/plugins-vpn
308 %attr(644,root,root) %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
309 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
311 %attr(644,root,root) %{_unitdir}/connman-vpn.service
314 %if %{with connman_wireguard}
315 %files plugin-wireguard
316 %manifest %{name}.manifest
317 %{_libdir}/%{name}/plugins-vpn/wireguard.so
322 mv -f %{_unitdir}/connman.service.tv %{_unitdir}/connman.service
323 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
326 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.tv
328 %attr(644,root,root) %{_unitdir}/connman.service.tv
331 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
334 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.ivi
337 %post extension-disable-eth
338 mv -f %{_sysconfdir}/connman/main.conf.disable.eth %{_sysconfdir}/connman/main.conf
340 %files extension-disable-eth
341 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.disable.eth
345 mv %{_sysconfdir}/dbus-1/system.d/connman-robot.conf %{_sysconfdir}/dbus-1/system.d/connman.conf
348 %manifest %{name}.manifest
349 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/connman-robot.conf