Merge branch 'ipsec' into tizen
[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:        21
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 %if %{with connman_vpnd}
223 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
224 %endif
225
226 #OS Upgrade
227 mkdir -p %{buildroot}%{upgrade_script_path}
228 cp -f scripts/%{upgrade_script_filename} %{buildroot}%{upgrade_script_path}
229
230 %post
231 chsmack -a 'System' /%{_localstatedir}/lib/connman
232 chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
233
234 %preun
235
236 %postun
237 systemctl daemon-reload
238
239 %docs_package
240
241 %files
242 %manifest connman.manifest
243 %attr(500,root,root) %{_sbindir}/*
244 %attr(500,root,root) %{_bindir}/connmanctl
245 %attr(600,root,root) /%{_localstatedir}/lib/connman/settings
246 #%{_libdir}/connman/plugins/*.so
247 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
248 #%{_datadir}/dbus-1/services/*
249 %{_sysconfdir}/dbus-1/system.d/*
250 %attr(644,root,root) %{_sysconfdir}/connman/main.conf
251 %{_sysconfdir}/dbus-1/system.d/*.conf
252 %attr(644,root,root) %{_libdir}/systemd/system/connman.service
253 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/connman.service
254 %attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
255 %if "%{?_lib}" == "lib64"
256 %attr(644,root,root) %{_unitdir}/connman.service
257 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
258 %attr(644,root,root) %{_unitdir}/connman-vpn.service
259 %attr(644,root,root) %{_unitdir}/connman.socket
260 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
261 %else
262 %attr(644,root,root) %{_libdir}/systemd/system/connman.socket
263 %attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
264 %endif
265 %license COPYING
266 %{upgrade_script_path}/%{upgrade_script_filename}
267
268 %files test
269 %manifest connman.manifest
270 %{_libdir}/%{name}/test/*
271
272 %files devel
273 %manifest connman.manifest
274 %{_includedir}/*
275 %{_libdir}/pkgconfig/*.pc
276
277 %if %{with connman_openconnect}
278 %files plugin-openconnect
279 %manifest %{name}.manifest
280 %{_libdir}/connman/plugins-vpn/openconnect.so
281 %{_libdir}/connman/scripts/openconnect-script
282 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
283 %license COPYING
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 %license COPYING
293 %endif
294
295 %if %{with connman_ipsec}
296 %files plugin-ipsec
297 %manifest %{name}.manifest
298 %{_libdir}/%{name}/plugins-vpn/ipsec.so
299 %{_libdir}/%{name}/scripts/ipsec-script
300 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
301 %endif
302
303 %if %{with connman_vpnd}
304 %files connman-vpnd
305 %manifest %{name}.manifest
306 #%{_sbindir}/connman-vpnd
307 %dir %{_libdir}/%{name}
308 %dir %{_libdir}/%{name}/scripts
309 %dir %{_libdir}/%{name}/plugins-vpn
310 %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
311 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
312 %license COPYING
313 %endif
314
315 %post extension-tv
316 mv -f %{_libdir}/systemd/system/connman.service.tv %{_libdir}/systemd/system/connman.service
317 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
318 %files extension-tv
319 %attr(644,root,root) %{_sysconfdir}/connman/main.conf.tv
320 %license COPYING
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
330 %license COPYING
331