Added security-config requires
[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:        24
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(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 BuildRequires:  pkgconfig(openssl)
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 BuildRequires:  pkgconfig(openssl)
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 %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 %description extension-ivi
127 Supplies Tizen IVI profile configuration instead of the default one.
128 This overwrites conf file of %{name}.
129
130 %prep
131 %setup -q
132
133
134 %build
135 #CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
136
137 %if %{with connman_vpnd}
138 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
139 %endif
140
141 chmod +x bootstrap
142 ./bootstrap
143 %configure \
144             --sysconfdir=/etc \
145             --enable-client \
146                         --enable-tizen-ext \
147             --enable-pacrunner \
148             --enable-wifi=builtin \
149 %if %{with connman_openconnect}
150             --enable-openconnect \
151 %endif
152 %if %{with connman_openvpn}
153             --enable-openvpn \
154 %endif
155 %if %{with connman_ipsec}
156             --enable-ipsec \
157 %endif
158 %if 0%{?enable_connman_features}
159             %connman_features \
160 %endif
161             --disable-ofono \
162             --enable-telephony=builtin \
163             --enable-test \
164                         --enable-loopback \
165                         --enable-ethernet \
166             --with-systemdunitdir=%{_libdir}/systemd/system \
167             --enable-pie \
168                         --disable-wispr
169
170 make %{?_smp_mflags}
171
172 %install
173 %make_install
174
175 #Systemd service file
176 mkdir -p %{buildroot}%{_libdir}/systemd/system/
177 %if "%{?_lib}" == "lib64"
178 mkdir -p %{buildroot}%{_unitdir}
179 %endif
180
181 %if "%{?_lib}" == "lib64"
182 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
183 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
184 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
185 %else
186 cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service.tv
187 %endif
188
189 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
190 ln -s ../connman.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/connman.service
191 %if "%{?_lib}" == "lib64"
192 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
193 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
194 %endif
195
196 #Systemd socket file for DNS proxy
197 %if "%{?_lib}" == "lib64"
198 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
199 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
200 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
201 %else
202 cp src/connman.socket %{buildroot}%{_libdir}/systemd/system/connman.socket
203 mkdir -p %{buildroot}%{_libdir}/systemd/system/sockets.target.wants
204 ln -s ../connman.socket %{buildroot}%{_libdir}/systemd/system/sockets.target.wants/connman.socket
205 %endif
206
207 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
208 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
209 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
210 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
211 mkdir -p %{buildroot}/etc/connman
212
213 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
214 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
215 cp src/main.conf %{buildroot}/etc/connman/main.conf
216
217 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
218 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
219 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
220
221 %if %{with connman_vpnd}
222 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
223 %endif
224
225 #OS Upgrade
226 mkdir -p %{buildroot}%{upgrade_script_path}
227 cp -f scripts/%{upgrade_script_filename} %{buildroot}%{upgrade_script_path}
228
229 %post
230 #chsmack -a 'System' /%{_localstatedir}/lib/connman
231 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
232
233 %preun
234
235 %postun
236 systemctl daemon-reload
237
238 %docs_package
239
240 %files
241 %manifest connman.manifest
242 %attr(500,network_fw,network_fw) %{_bindir}/connmand
243 %attr(500,network_fw,network_fw) %{_bindir}/connmanctl
244 %attr(755,network_fw,network_fw) /%{_localstatedir}/lib/connman
245 %attr(600,network_fw,network_fw) /%{_localstatedir}/lib/connman/settings
246 %attr(644,root,root) %{_datadir}/dbus-1/system-services/net.connman.service
247 %{_sysconfdir}/dbus-1/system.d/*
248 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
249 %{_sysconfdir}/dbus-1/system.d/*.conf
250 %attr(644,root,root) %{_libdir}/systemd/system/connman.service
251 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/connman.service
252 %if "%{?_lib}" == "lib64"
253 %attr(644,root,root) %{_unitdir}/connman.service
254 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
255 %attr(644,root,root) %{_unitdir}/connman.socket
256 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
257 %else
258 %attr(644,root,root) %{_libdir}/systemd/system/connman.socket
259 %attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
260 %endif
261 %license COPYING
262 %{upgrade_script_path}/%{upgrade_script_filename}
263
264 %files test
265 %manifest connman.manifest
266 %{_libdir}/%{name}/test/*
267
268 %files devel
269 %manifest connman.manifest
270 %{_includedir}/*
271 %{_libdir}/pkgconfig/*.pc
272
273 %if %{with connman_openconnect}
274 %files plugin-openconnect
275 %manifest %{name}.manifest
276 %{_libdir}/connman/plugins-vpn/openconnect.so
277 %{_libdir}/connman/scripts/openconnect-script
278 %license COPYING
279 %endif
280
281 %if %{with connman_openvpn}
282 %files plugin-openvpn
283 %manifest %{name}.manifest
284 %{_libdir}/%{name}/plugins-vpn/openvpn.so
285 %{_libdir}/%{name}/scripts/openvpn-script
286 %license COPYING
287 %endif
288
289 %if %{with connman_ipsec}
290 %files plugin-ipsec
291 %manifest %{name}.manifest
292 %{_libdir}/%{name}/plugins-vpn/ipsec.so
293 %{_libdir}/%{name}/scripts/ipsec-script
294 %license COPYING
295 %endif
296
297 %if %{with connman_vpnd}
298 %files connman-vpnd
299 %manifest %{name}.manifest
300 %{_bindir}/connman-vpnd
301 %dir %{_libdir}/%{name}
302 %dir %{_libdir}/%{name}/scripts
303 %dir %{_libdir}/%{name}/plugins-vpn
304 %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
305 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
306 %license COPYING
307 %attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
308 %if "%{?_lib}" == "lib64"
309 %attr(644,root,root) %{_unitdir}/connman-vpn.service
310 %endif
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,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.tv
318 %license COPYING
319 %if "%{?_lib}" == "lib64"
320 %attr(644,root,root) %{_unitdir}/connman.service.tv
321 %else
322 %attr(644,root,root) %{_libdir}/systemd/system/connman.service.tv
323 %endif
324 %post extension-ivi
325 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
326 %files extension-ivi
327 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.ivi
328 %license COPYING
329