1 %bcond_with connman_openconnect
2 %bcond_without connman_openvpn
3 %bcond_without connman_ipsec
4 %bcond_without connman_vpnd
10 Summary: Connection Manager
11 Url: http://connman.net
12 Group: Network & Connectivity/Connection Management
13 Source0: %{name}-%{version}.tar.gz
14 BuildRequires: systemd-devel
15 BuildRequires: pkgconfig(dbus-1)
16 BuildRequires: pkgconfig(glib-2.0)
17 BuildRequires: pkgconfig(gio-2.0)
18 BuildRequires: pkgconfig(libiptc)
19 BuildRequires: pkgconfig(xtables)
20 BuildRequires: pkgconfig(libsmack)
21 BuildRequires: pkgconfig(libsystemd-daemon)
22 %if %{with connman_openconnect}
23 BuildRequires: openconnect
25 %if %{with connman_openvpn}
26 BuildRequires: openvpn
28 %if %{with connman_ipsec}
29 BuildRequires: strongswan
31 BuildRequires: readline-devel
35 Requires(post): systemd
36 Requires(preun): systemd
37 Requires(postun): systemd
39 Requires: security-config
40 Provides: %{name}-profile_common = %{version}-%{release}
41 Provides: %{name}-profile_mobile = %{version}-%{release}
42 Provides: %{name}-profile_wearable = %{version}-%{release}
44 %define upgrade_script_filename 500.connman_upgrade.sh
45 %define upgrade_script_path /usr/share/upgrade/scripts
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
92 Summary: Test Scripts for Connection Manager
93 Group: Development/Tools
94 Requires: %{name} = %{version}
100 Scripts for testing Connman and its functionality
103 Summary: Development Files for connman
104 Group: Development/Tools
105 Requires: %{name} = %{version}
108 Header files and development files for connman.
110 %package extension-tv
111 Summary: Connman service script for TV profile
112 Requires: %{name} = %{version}-%{release}
113 Provides: %{name}-profile_tv = %{version}-%{release}
114 Conflicts: %{name}-extension-ivi
115 Conflicts: %{name}-extension-disable-eth
116 %description extension-tv
117 Supplies Tizen TV profile systemd service scripts instead of the default one.
118 This overwrites service script of %{name}.
120 %package extension-ivi
121 Summary: Connman configuration for IVI profile
122 Requires: %{name} = %{version}-%{release}
123 Provides: %{name}-profile_ivi = %{version}-%{release}
124 Conflicts: %{name}-extension-tv
125 Conflicts: %{name}-extension-disable-eth
126 %description extension-ivi
127 Supplies Tizen IVI profile configuration instead of the default one.
128 This overwrites conf file of %{name}.
130 %package extension-disable-eth
131 Summary: Connman configuration for testing which requires the ethernet to be disabled
132 Requires: %{name} = %{version}-%{release}
133 Conflicts: %{name}-extension-tv
134 Conflicts: %{name}-extension-ivi
135 %description extension-disable-eth
136 Connman without ethernet support
137 This overwrites conf file of %{name}.
144 #CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
146 %if %{with connman_vpnd}
147 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
157 --enable-wifi=builtin \
158 %if %{with connman_openconnect}
159 --enable-openconnect \
161 %if %{with connman_openvpn}
164 %if %{with connman_ipsec}
167 %if 0%{?enable_connman_features}
171 --enable-telephony=builtin \
175 --with-systemdunitdir=%{_libdir}/systemd/system \
184 #Systemd service file
185 mkdir -p %{buildroot}%{_libdir}/systemd/system/
186 %if "%{?_lib}" == "lib64"
187 mkdir -p %{buildroot}%{_unitdir}
190 %if "%{?_lib}" == "lib64"
191 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
192 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
193 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
195 cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service.tv
198 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
199 ln -s ../connman.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/connman.service
200 %if "%{?_lib}" == "lib64"
201 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
202 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
205 #Systemd socket file for DNS proxy
206 %if "%{?_lib}" == "lib64"
207 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
208 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
209 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
211 cp src/connman.socket %{buildroot}%{_libdir}/systemd/system/connman.socket
212 mkdir -p %{buildroot}%{_libdir}/systemd/system/sockets.target.wants
213 ln -s ../connman.socket %{buildroot}%{_libdir}/systemd/system/sockets.target.wants/connman.socket
216 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
217 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
218 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
219 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
220 mkdir -p %{buildroot}/etc/connman
222 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
223 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
224 cp src/main_disable_eth.conf %{buildroot}/etc/connman/main.conf.disable.eth
225 cp src/main.conf %{buildroot}/etc/connman/main.conf
227 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
228 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
229 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
231 %if %{with connman_vpnd}
232 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
236 mkdir -p %{buildroot}%{upgrade_script_path}
237 cp -f scripts/%{upgrade_script_filename} %{buildroot}%{upgrade_script_path}
240 #chsmack -a 'System' /%{_localstatedir}/lib/connman
241 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
246 systemctl daemon-reload
251 %manifest connman.manifest
252 %attr(500,network_fw,network_fw) %{_bindir}/connmand
253 %attr(500,network_fw,network_fw) %{_bindir}/connmanctl
254 %attr(755,network_fw,network_fw) /%{_localstatedir}/lib/connman
255 %attr(600,network_fw,network_fw) /%{_localstatedir}/lib/connman/settings
256 %attr(644,root,root) %{_datadir}/dbus-1/system-services/net.connman.service
257 %{_sysconfdir}/dbus-1/system.d/*
258 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
259 %{_sysconfdir}/dbus-1/system.d/*.conf
260 %attr(644,root,root) %{_libdir}/systemd/system/connman.service
261 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/connman.service
262 %if "%{?_lib}" == "lib64"
263 %attr(644,root,root) %{_unitdir}/connman.service
264 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
265 %attr(644,root,root) %{_unitdir}/connman.socket
266 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
268 %attr(644,root,root) %{_libdir}/systemd/system/connman.socket
269 %attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
272 %{upgrade_script_path}/%{upgrade_script_filename}
275 %manifest connman.manifest
276 %{_libdir}/%{name}/test/*
279 %manifest connman.manifest
281 %{_libdir}/pkgconfig/*.pc
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
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
299 %if %{with connman_ipsec}
301 %manifest %{name}.manifest
302 %{_libdir}/%{name}/plugins-vpn/ipsec.so
303 %{_libdir}/%{name}/scripts/ipsec-script
307 %if %{with 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 %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
315 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
317 %attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
318 %if "%{?_lib}" == "lib64"
319 %attr(644,root,root) %{_unitdir}/connman-vpn.service
324 mv -f %{_libdir}/systemd/system/connman.service.tv %{_libdir}/systemd/system/connman.service
325 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
327 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.tv
329 %if "%{?_lib}" == "lib64"
330 %attr(644,root,root) %{_unitdir}/connman.service.tv
332 %attr(644,root,root) %{_libdir}/systemd/system/connman.service.tv
335 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
337 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.ivi
339 %post extension-disable-eth
340 mv -f %{_sysconfdir}/connman/main.conf.disable.eth %{_sysconfdir}/connman/main.conf
341 %files extension-disable-eth
342 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.disable.eth