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