Add code to parse section struct into vici request
[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.29
8 Release:        20
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(libiptc)
18 BuildRequires:  pkgconfig(xtables)
19 BuildRequires:  pkgconfig(libsmack)
20 BuildRequires:  pkgconfig(tpkp-gnutls)
21 BuildRequires:  pkgconfig(libsystemd-daemon)
22 %if %{with connman_openconnect}
23 BuildRequires:  openconnect
24 %endif
25 %if %{with connman_openvpn}
26 BuildRequires:  openvpn
27 %endif
28 %if %{with connman_ipsec}
29 BuildRequires:  strongswan
30 %endif
31 BuildRequires:  ca-certificates-devel
32 BuildRequires:  readline-devel
33 #%systemd_requires
34 Requires:       iptables
35 Requires:         systemd
36 Requires(post):   systemd
37 Requires(preun):  systemd
38 Requires(postun): systemd
39 Requires:         net-config
40 Provides:       %{name}-profile_common = %{version}-%{release}
41 Provides:       %{name}-profile_mobile = %{version}-%{release}
42 Provides:       %{name}-profile_wearable = %{version}-%{release}
43
44 %define upgrade_script_filename 500.connman_upgrade.sh
45 %define upgrade_script_path /usr/share/upgrade/scripts
46
47 %description
48 Connection Manager provides a daemon for managing Internet connections
49 within embedded devices running the Linux operating system.
50
51 %if %{with connman_openconnect}
52 %package plugin-openconnect
53 Summary:        Openconnect Support for Connman
54 Requires:       %{name} = %{version}
55 Requires:       openconnect
56
57 %description plugin-openconnect
58 Openconnect Support for Connman.
59 %endif
60
61 %if %{with connman_openvpn}
62 %package plugin-openvpn
63 Summary:        Openvpn Support for Connman
64 Requires:       %{name} = %{version}
65 Requires:       openvpn
66
67 %description plugin-openvpn
68 OpenVPN support for Connman.
69 %endif
70
71 %if %{with connman_ipsec}
72 %package plugin-ipsec
73 Summary:        IPsec Support for Connman
74 Requires:       %{name} = %{version}
75 Requires:       strongswan
76
77 %description plugin-ipsec
78 OpenVPN support for Connman.
79 %endif
80
81 %if %{with connman_vpnd}
82 %package connman-vpnd
83 Summary:        VPN Support for Connman
84 #BuildRequires:  %{name} = %{version}
85 Requires:       %{name} = %{version}
86
87 %description connman-vpnd
88 Provides VPN support for Connman
89 %endif
90
91 %package test
92 Summary:        Test Scripts for Connection Manager
93 Group:          Development/Tools
94 Requires:       %{name} = %{version}
95 Requires:       dbus-python
96 Requires:       pygobject
97 Requires:       python-xml
98
99 %description test
100 Scripts for testing Connman and its functionality
101
102 %package devel
103 Summary:        Development Files for connman
104 Group:          Development/Tools
105 Requires:       %{name} = %{version}
106
107 %description devel
108 Header files and development files for connman.
109
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 %description extension-tv
116 Supplies Tizen TV profile systemd service scripts instead of the default one.
117 This overwrites service script of %{name}.
118
119 %package extension-ivi
120 Summary:        Connman configuration for IVI profile
121 Requires:       %{name} = %{version}-%{release}
122 Provides:       %{name}-profile_ivi = %{version}-%{release}
123 Conflicts:      %{name}-extension-tv
124 %description extension-ivi
125 Supplies Tizen IVI profile configuration instead of the default one.
126 This overwrites conf file of %{name}.
127
128 %prep
129 %setup -q
130
131
132 %build
133 CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
134 CFLAGS+=" -DTIZEN_SYS_CA_BUNDLE=\"%TZ_SYS_RO_CA_BUNDLE\""
135
136 %if %{with connman_vpnd}
137 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
138 %endif
139
140 chmod +x bootstrap
141 ./bootstrap
142 %configure \
143             --sysconfdir=/etc \
144             --enable-client \
145             --enable-pacrunner \
146             --enable-wifi=builtin \
147 %if %{with connman_openconnect}
148             --enable-openconnect \
149 %endif
150 %if %{with connman_openvpn}
151             --enable-openvpn \
152 %endif
153 %if %{with connman_ipsec}
154             --enable-ipsec \
155 %endif
156 %if 0%{?enable_connman_features}
157             %connman_features \
158 %endif
159             --disable-ofono \
160             --enable-telephony=builtin \
161             --enable-test \
162                         --enable-loopback \
163                         --enable-ethernet \
164             --with-systemdunitdir=%{_libdir}/systemd/system \
165             --enable-pie \
166                         --disable-wispr
167
168 make %{?_smp_mflags}
169
170 %install
171 %make_install
172
173 #Systemd service file
174 mkdir -p %{buildroot}%{_libdir}/systemd/system/
175 %if "%{?_lib}" == "lib64"
176 mkdir -p %{buildroot}%{_unitdir}
177 %endif
178
179 %if "%{?_lib}" == "lib64"
180 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
181 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
182 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
183 %else
184 cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service.tv
185 %endif
186
187 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
188 ln -s ../connman.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/connman.service
189 %if "%{?_lib}" == "lib64"
190 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
191 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
192 %endif
193
194 #Systemd socket file for DNS proxy
195 %if "%{?_lib}" == "lib64"
196 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
197 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
198 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
199 %else
200 cp src/connman.socket %{buildroot}%{_libdir}/systemd/system/connman.socket
201 mkdir -p %{buildroot}%{_libdir}/systemd/system/sockets.target.wants
202 ln -s ../connman.socket %{buildroot}%{_libdir}/systemd/system/sockets.target.wants/connman.socket
203 %endif
204
205 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
206 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
207 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
208 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
209 mkdir -p %{buildroot}/etc/connman
210
211 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
212 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
213 cp src/main.conf %{buildroot}/etc/connman/main.conf
214
215 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
216 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
217 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
218
219 #License
220 mkdir -p %{buildroot}%{_datadir}/license
221 cp COPYING %{buildroot}%{_datadir}/license/connman
222
223 %if %{with connman_vpnd}
224 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
225 %endif
226
227 #OS Upgrade
228 mkdir -p %{buildroot}%{upgrade_script_path}
229 cp -f scripts/%{upgrade_script_filename} %{buildroot}%{upgrade_script_path}
230
231 %post
232 chsmack -a 'System' /%{_localstatedir}/lib/connman
233 chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
234
235 %preun
236
237 %postun
238 systemctl daemon-reload
239
240 %docs_package
241
242 %files
243 %manifest connman.manifest
244 %attr(500,root,root) %{_sbindir}/*
245 %attr(500,root,root) %{_bindir}/connmanctl
246 %attr(600,root,root) /%{_localstatedir}/lib/connman/settings
247 #%{_libdir}/connman/plugins/*.so
248 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
249 #%{_datadir}/dbus-1/services/*
250 %{_sysconfdir}/dbus-1/system.d/*
251 %attr(644,root,root) %{_sysconfdir}/connman/main.conf
252 %{_sysconfdir}/dbus-1/system.d/*.conf
253 %attr(644,root,root) %{_libdir}/systemd/system/connman.service
254 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/connman.service
255 %attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
256 %if "%{?_lib}" == "lib64"
257 %attr(644,root,root) %{_unitdir}/connman.service
258 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
259 %attr(644,root,root) %{_unitdir}/connman-vpn.service
260 %attr(644,root,root) %{_unitdir}/connman.socket
261 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
262 %else
263 %attr(644,root,root) %{_libdir}/systemd/system/connman.socket
264 %attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
265 %endif
266 %{_datadir}/license/connman
267 %{upgrade_script_path}/%{upgrade_script_filename}
268
269 %files test
270 %manifest connman.manifest
271 %{_libdir}/%{name}/test/*
272
273 %files devel
274 %manifest connman.manifest
275 %{_includedir}/*
276 %{_libdir}/pkgconfig/*.pc
277
278 %if %{with connman_openconnect}
279 %files plugin-openconnect
280 %manifest %{name}.manifest
281 %{_libdir}/connman/plugins-vpn/openconnect.so
282 %{_libdir}/connman/scripts/openconnect-script
283 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
284 %endif
285
286 %if %{with connman_openvpn}
287 %files plugin-openvpn
288 %manifest %{name}.manifest
289 %{_libdir}/%{name}/plugins-vpn/openvpn.so
290 %{_libdir}/%{name}/scripts/openvpn-script
291 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
292 %endif
293
294 %if %{with connman_ipsec}
295 %files plugin-ipsec
296 %manifest %{name}.manifest
297 %{_libdir}/%{name}/plugins-vpn/ipsec.so
298 %{_libdir}/%{name}/scripts/ipsec-script
299 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
300 %endif
301
302 %if %{with connman_vpnd}
303 %files connman-vpnd
304 %manifest %{name}.manifest
305 #%{_sbindir}/connman-vpnd
306 %dir %{_libdir}/%{name}
307 %dir %{_libdir}/%{name}/scripts
308 %dir %{_libdir}/%{name}/plugins-vpn
309 %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
310 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
311 %endif
312
313 %post extension-tv
314 mv -f %{_libdir}/systemd/system/connman.service.tv %{_libdir}/systemd/system/connman.service
315 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
316 %files extension-tv
317 %attr(644,root,root) %{_sysconfdir}/connman/main.conf.tv
318 %if "%{?_lib}" == "lib64"
319 %attr(644,root,root) %{_unitdir}/connman.service.tv
320 %else
321 %attr(644,root,root) %{_libdir}/systemd/system/connman.service.tv
322 %endif
323 %post extension-ivi
324 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
325 %files extension-ivi
326 %attr(644,root,root) %{_sysconfdir}/connman/main.conf.ivi