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