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(libnl-3.0)
22 BuildRequires: pkgconfig(libnl-genl-3.0)
23 BuildRequires: pkgconfig(libsystemd-daemon)
24 %if %{with connman_openconnect}
25 BuildRequires: openconnect
27 %if %{with connman_openvpn}
28 BuildRequires: openvpn
30 %if %{with connman_ipsec}
31 BuildRequires: strongswan
33 BuildRequires: readline-devel
37 Requires(post): systemd
38 Requires(preun): systemd
39 Requires(postun): systemd
41 Requires: security-config
42 Provides: %{name}-profile_common = %{version}-%{release}
43 Provides: %{name}-profile_mobile = %{version}-%{release}
44 Provides: %{name}-profile_wearable = %{version}-%{release}
46 %define upgrade_script_filename 500.connman_upgrade.sh
47 %define upgrade_script_path /usr/share/upgrade/scripts
50 Connection Manager provides a daemon for managing Internet connections
51 within embedded devices running the Linux operating system.
53 %if %{with connman_openconnect}
54 %package plugin-openconnect
55 Summary: Openconnect Support for Connman
56 Requires: %{name} = %{version}
59 %description plugin-openconnect
60 Openconnect Support for Connman.
63 %if %{with connman_openvpn}
64 %package plugin-openvpn
65 Summary: Openvpn Support for Connman
66 Requires: %{name} = %{version}
69 %description plugin-openvpn
70 OpenVPN support for Connman.
73 %if %{with connman_ipsec}
75 Summary: IPsec Support for Connman
76 Requires: %{name} = %{version}
79 %description plugin-ipsec
80 OpenVPN support for Connman.
83 %if %{with connman_vpnd}
85 Summary: VPN Support for Connman
86 #BuildRequires: %{name} = %{version}
87 Requires: %{name} = %{version}
89 %description connman-vpnd
90 Provides VPN support for Connman
94 Summary: Test Scripts for Connection Manager
95 Group: Development/Tools
96 Requires: %{name} = %{version}
102 Scripts for testing Connman and its functionality
105 Summary: Development Files for connman
106 Group: Development/Tools
107 Requires: %{name} = %{version}
110 Header files and development files for connman.
112 %package extension-tv
113 Summary: Connman service script for TV profile
114 Requires: %{name} = %{version}-%{release}
115 Provides: %{name}-profile_tv = %{version}-%{release}
116 Conflicts: %{name}-extension-ivi
117 Conflicts: %{name}-extension-disable-eth
118 %description extension-tv
119 Supplies Tizen TV profile systemd service scripts instead of the default one.
120 This overwrites service script of %{name}.
122 %package extension-ivi
123 Summary: Connman configuration for IVI profile
124 Requires: %{name} = %{version}-%{release}
125 Provides: %{name}-profile_ivi = %{version}-%{release}
126 Conflicts: %{name}-extension-tv
127 Conflicts: %{name}-extension-disable-eth
128 %description extension-ivi
129 Supplies Tizen IVI profile configuration instead of the default one.
130 This overwrites conf file of %{name}.
132 %package extension-disable-eth
133 Summary: Connman configuration for testing which requires the ethernet to be disabled
134 Requires: %{name} = %{version}-%{release}
135 Conflicts: %{name}-extension-tv
136 Conflicts: %{name}-extension-ivi
137 %description extension-disable-eth
138 Connman without ethernet support
139 This overwrites conf file of %{name}.
146 %if %{with connman_vpnd}
147 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
156 --disable-tizen-ext-ins \
157 --enable-tizen-ext-eap-on-ethernet \
159 --enable-wifi=builtin \
160 %if %{with connman_openconnect}
161 --enable-openconnect \
163 %if %{with connman_openvpn}
166 %if %{with connman_ipsec}
169 %if 0%{?enable_connman_features}
173 --enable-telephony=builtin \
177 --with-systemdunitdir=%{_libdir}/systemd/system \
180 --disable-backtrace \
188 #Systemd service file
189 mkdir -p %{buildroot}%{_libdir}/systemd/system/
190 %if "%{?_lib}" == "lib64"
191 mkdir -p %{buildroot}%{_unitdir}
194 %if "%{?_lib}" == "lib64"
195 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
196 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
197 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
199 cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service.tv
202 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
203 ln -s ../connman.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/connman.service
204 %if "%{?_lib}" == "lib64"
205 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
206 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
209 #Systemd socket file for DNS proxy
210 %if "%{?_lib}" == "lib64"
211 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
212 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
213 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
215 cp src/connman.socket %{buildroot}%{_libdir}/systemd/system/connman.socket
216 mkdir -p %{buildroot}%{_libdir}/systemd/system/sockets.target.wants
217 ln -s ../connman.socket %{buildroot}%{_libdir}/systemd/system/sockets.target.wants/connman.socket
220 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
221 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
222 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
223 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
224 mkdir -p %{buildroot}/etc/connman
226 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
227 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
228 cp src/main_disable_eth.conf %{buildroot}/etc/connman/main.conf.disable.eth
229 cp src/main.conf %{buildroot}/etc/connman/main.conf
231 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
232 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
233 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
235 %if %{with connman_vpnd}
236 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
240 mkdir -p %{buildroot}%{upgrade_script_path}
241 cp -f scripts/%{upgrade_script_filename} %{buildroot}%{upgrade_script_path}
244 #chsmack -a 'System' /%{_localstatedir}/lib/connman
245 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
250 systemctl daemon-reload
255 %manifest connman.manifest
256 %attr(500,network_fw,network_fw) %{_bindir}/connmand
257 %attr(500,network_fw,network_fw) %{_bindir}/connmanctl
258 %attr(755,network_fw,network_fw) /%{_localstatedir}/lib/connman
259 %attr(600,network_fw,network_fw) /%{_localstatedir}/lib/connman/settings
260 %attr(644,root,root) %{_datadir}/dbus-1/system-services/net.connman.service
261 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
262 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
263 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*.conf
264 %attr(644,root,root) %{_libdir}/systemd/system/connman.service
265 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/connman.service
266 %if "%{?_lib}" == "lib64"
267 %attr(644,root,root) %{_unitdir}/connman.service
268 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
269 %attr(644,root,root) %{_unitdir}/connman.socket
270 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
272 %attr(644,root,root) %{_libdir}/systemd/system/connman.socket
273 %attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
276 %{upgrade_script_path}/%{upgrade_script_filename}
279 %manifest connman.manifest
280 %{_libdir}/%{name}/test/*
283 %manifest connman.manifest
285 %{_libdir}/pkgconfig/*.pc
287 %if %{with connman_openconnect}
288 %files plugin-openconnect
289 %manifest %{name}.manifest
290 %{_libdir}/connman/plugins-vpn/openconnect.so
291 %{_libdir}/connman/scripts/openconnect-script
295 %if %{with connman_openvpn}
296 %files plugin-openvpn
297 %manifest %{name}.manifest
298 %{_libdir}/%{name}/plugins-vpn/openvpn.so
299 %{_libdir}/%{name}/scripts/openvpn-script
303 %if %{with connman_ipsec}
305 %manifest %{name}.manifest
306 %{_libdir}/%{name}/plugins-vpn/ipsec.so
307 %{_libdir}/%{name}/scripts/ipsec-script
311 %if %{with connman_vpnd}
313 %manifest %{name}.manifest
314 %{_bindir}/connman-vpnd
315 %dir %{_libdir}/%{name}
316 %dir %{_libdir}/%{name}/scripts
317 %dir %{_libdir}/%{name}/plugins-vpn
318 %attr(644,root,root) %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
319 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
321 %attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
322 %if "%{?_lib}" == "lib64"
323 %attr(644,root,root) %{_unitdir}/connman-vpn.service
328 mv -f %{_libdir}/systemd/system/connman.service.tv %{_libdir}/systemd/system/connman.service
329 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
331 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.tv
333 %if "%{?_lib}" == "lib64"
334 %attr(644,root,root) %{_unitdir}/connman.service.tv
336 %attr(644,root,root) %{_libdir}/systemd/system/connman.service.tv
339 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
341 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.ivi
343 %post extension-disable-eth
344 mv -f %{_sysconfdir}/connman/main.conf.disable.eth %{_sysconfdir}/connman/main.conf
345 %files extension-disable-eth
346 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.disable.eth