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