Verify INS functions using connmanctl
[platform/upstream/connman.git] / packaging / connman.spec
1 %bcond_with     connman_openconnect
2 %bcond_without  connman_openvpn
3 %bcond_without  connman_ipsec
4 %bcond_without  connman_vpnd
5
6 Name:           connman
7 Version:        1.37
8 Release:        37
9 License:        GPL-2.0+
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
26 %endif
27 %if %{with connman_openvpn}
28 BuildRequires:  openvpn
29 %endif
30 %if %{with connman_ipsec}
31 BuildRequires:  strongswan
32 %endif
33 BuildRequires:  readline-devel
34 #%systemd_requires
35 Requires:       iptables
36 Requires:         systemd
37 Requires(post):   systemd
38 Requires(preun):  systemd
39 Requires(postun): systemd
40 Requires:         net-config
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}
45
46 %define upgrade_script_filename 500.connman_upgrade.sh
47 %define upgrade_script_path /usr/share/upgrade/scripts
48
49 %description
50 Connection Manager provides a daemon for managing Internet connections
51 within embedded devices running the Linux operating system.
52
53 %if %{with connman_openconnect}
54 %package plugin-openconnect
55 Summary:        Openconnect Support for Connman
56 Requires:       %{name} = %{version}
57 Requires:       openconnect
58
59 %description plugin-openconnect
60 Openconnect Support for Connman.
61 %endif
62
63 %if %{with connman_openvpn}
64 %package plugin-openvpn
65 Summary:        Openvpn Support for Connman
66 Requires:       %{name} = %{version}
67 Requires:       openvpn
68
69 %description plugin-openvpn
70 OpenVPN support for Connman.
71 %endif
72
73 %if %{with connman_ipsec}
74 %package plugin-ipsec
75 Summary:        IPsec Support for Connman
76 Requires:       %{name} = %{version}
77 Requires:       strongswan
78
79 %description plugin-ipsec
80 OpenVPN support for Connman.
81 %endif
82
83 %if %{with connman_vpnd}
84 %package connman-vpnd
85 Summary:        VPN Support for Connman
86 #BuildRequires:  %{name} = %{version}
87 Requires:       %{name} = %{version}
88
89 %description connman-vpnd
90 Provides VPN support for Connman
91 %endif
92
93 %package test
94 Summary:        Test Scripts for Connection Manager
95 Group:          Development/Tools
96 Requires:       %{name} = %{version}
97 Requires:       dbus-python
98 Requires:       pygobject
99 Requires:       python-xml
100
101 %description test
102 Scripts for testing Connman and its functionality
103
104 %package devel
105 Summary:        Development Files for connman
106 Group:          Development/Tools
107 Requires:       %{name} = %{version}
108
109 %description devel
110 Header files and development files for connman.
111
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}.
121
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}.
131
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}.
140
141 %prep
142 %setup -q
143
144
145 %build
146 %if %{with connman_vpnd}
147 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
148 %endif
149
150 chmod +x bootstrap
151 ./bootstrap
152 %configure \
153             --sysconfdir=/etc \
154             --enable-client \
155             --enable-tizen-ext \
156             --disable-tizen-ext-ins \
157             --enable-pacrunner \
158             --enable-wifi=builtin \
159 %if %{with connman_openconnect}
160             --enable-openconnect \
161 %endif
162 %if %{with connman_openvpn}
163             --enable-openvpn \
164 %endif
165 %if %{with connman_ipsec}
166             --enable-ipsec \
167 %endif
168 %if 0%{?enable_connman_features}
169             %connman_features \
170 %endif
171             --disable-ofono \
172             --enable-telephony=builtin \
173             --enable-test \
174             --enable-loopback \
175             --enable-ethernet \
176             --with-systemdunitdir=%{_libdir}/systemd/system \
177             --enable-pie \
178             --disable-wispr \
179             --disable-backtrace \
180             --disable-tools
181
182 make %{?_smp_mflags}
183
184 %install
185 %make_install
186
187 #Systemd service file
188 mkdir -p %{buildroot}%{_libdir}/systemd/system/
189 %if "%{?_lib}" == "lib64"
190 mkdir -p %{buildroot}%{_unitdir}
191 %endif
192
193 %if "%{?_lib}" == "lib64"
194 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
195 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
196 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
197 %else
198 cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service.tv
199 %endif
200
201 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
202 ln -s ../connman.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/connman.service
203 %if "%{?_lib}" == "lib64"
204 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
205 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
206 %endif
207
208 #Systemd socket file for DNS proxy
209 %if "%{?_lib}" == "lib64"
210 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
211 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
212 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
213 %else
214 cp src/connman.socket %{buildroot}%{_libdir}/systemd/system/connman.socket
215 mkdir -p %{buildroot}%{_libdir}/systemd/system/sockets.target.wants
216 ln -s ../connman.socket %{buildroot}%{_libdir}/systemd/system/sockets.target.wants/connman.socket
217 %endif
218
219 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
220 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
221 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
222 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
223 mkdir -p %{buildroot}/etc/connman
224
225 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
226 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
227 cp src/main_disable_eth.conf %{buildroot}/etc/connman/main.conf.disable.eth
228 cp src/main.conf %{buildroot}/etc/connman/main.conf
229
230 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
231 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
232 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
233
234 %if %{with connman_vpnd}
235 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
236 %endif
237
238 #OS Upgrade
239 mkdir -p %{buildroot}%{upgrade_script_path}
240 cp -f scripts/%{upgrade_script_filename} %{buildroot}%{upgrade_script_path}
241
242 %post
243 #chsmack -a 'System' /%{_localstatedir}/lib/connman
244 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
245
246 %preun
247
248 %postun
249 systemctl daemon-reload
250
251 %docs_package
252
253 %files
254 %manifest connman.manifest
255 %attr(500,network_fw,network_fw) %{_bindir}/connmand
256 %attr(500,network_fw,network_fw) %{_bindir}/connmanctl
257 %attr(755,network_fw,network_fw) /%{_localstatedir}/lib/connman
258 %attr(600,network_fw,network_fw) /%{_localstatedir}/lib/connman/settings
259 %attr(644,root,root) %{_datadir}/dbus-1/system-services/net.connman.service
260 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
261 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
262 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*.conf
263 %attr(644,root,root) %{_libdir}/systemd/system/connman.service
264 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/connman.service
265 %if "%{?_lib}" == "lib64"
266 %attr(644,root,root) %{_unitdir}/connman.service
267 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
268 %attr(644,root,root) %{_unitdir}/connman.socket
269 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
270 %else
271 %attr(644,root,root) %{_libdir}/systemd/system/connman.socket
272 %attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
273 %endif
274 %license COPYING
275 %{upgrade_script_path}/%{upgrade_script_filename}
276
277 %files test
278 %manifest connman.manifest
279 %{_libdir}/%{name}/test/*
280
281 %files devel
282 %manifest connman.manifest
283 %{_includedir}/*
284 %{_libdir}/pkgconfig/*.pc
285
286 %if %{with connman_openconnect}
287 %files plugin-openconnect
288 %manifest %{name}.manifest
289 %{_libdir}/connman/plugins-vpn/openconnect.so
290 %{_libdir}/connman/scripts/openconnect-script
291 %license COPYING
292 %endif
293
294 %if %{with connman_openvpn}
295 %files plugin-openvpn
296 %manifest %{name}.manifest
297 %{_libdir}/%{name}/plugins-vpn/openvpn.so
298 %{_libdir}/%{name}/scripts/openvpn-script
299 %license COPYING
300 %endif
301
302 %if %{with connman_ipsec}
303 %files plugin-ipsec
304 %manifest %{name}.manifest
305 %{_libdir}/%{name}/plugins-vpn/ipsec.so
306 %{_libdir}/%{name}/scripts/ipsec-script
307 %license COPYING
308 %endif
309
310 %if %{with connman_vpnd}
311 %files connman-vpnd
312 %manifest %{name}.manifest
313 %{_bindir}/connman-vpnd
314 %dir %{_libdir}/%{name}
315 %dir %{_libdir}/%{name}/scripts
316 %dir %{_libdir}/%{name}/plugins-vpn
317 %attr(644,root,root) %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
318 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
319 %license COPYING
320 %attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
321 %if "%{?_lib}" == "lib64"
322 %attr(644,root,root) %{_unitdir}/connman-vpn.service
323 %endif
324 %endif
325
326 %post extension-tv
327 mv -f %{_libdir}/systemd/system/connman.service.tv %{_libdir}/systemd/system/connman.service
328 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
329 %files extension-tv
330 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.tv
331 %license COPYING
332 %if "%{?_lib}" == "lib64"
333 %attr(644,root,root) %{_unitdir}/connman.service.tv
334 %else
335 %attr(644,root,root) %{_libdir}/systemd/system/connman.service.tv
336 %endif
337 %post extension-ivi
338 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
339 %files extension-ivi
340 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.ivi
341 %license COPYING
342 %post extension-disable-eth
343 mv -f %{_sysconfdir}/connman/main.conf.disable.eth %{_sysconfdir}/connman/main.conf
344 %files extension-disable-eth
345 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.disable.eth
346 %license COPYING