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