c62c806cc1e6665f71aedc56cee5ecf08aae4060
[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.37
8 Release:        46
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(dlog)
16 BuildRequires:  pkgconfig(dbus-1)
17 BuildRequires:  pkgconfig(glib-2.0)
18 BuildRequires:  pkgconfig(gio-2.0)
19 BuildRequires:  pkgconfig(libiptc)
20 BuildRequires:  pkgconfig(xtables)
21 BuildRequires:  pkgconfig(libsmack)
22 BuildRequires:  pkgconfig(libnl-3.0)
23 BuildRequires:  pkgconfig(libnl-genl-3.0)
24 BuildRequires:  pkgconfig(libsystemd-daemon)
25 %if %{with connman_openconnect}
26 BuildRequires:  openconnect
27 %endif
28 %if %{with connman_openvpn}
29 BuildRequires:  openvpn
30 %endif
31 %if %{with connman_ipsec}
32 BuildRequires:  strongswan
33 %endif
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 Requires:         security-config
43 Provides:       %{name}-profile_common = %{version}-%{release}
44 Provides:       %{name}-profile_mobile = %{version}-%{release}
45 Provides:       %{name}-profile_wearable = %{version}-%{release}
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
77 %description plugin-ipsec
78 OpenVPN support for Connman.
79 %endif
80
81 %if %{with connman_vpnd}
82 %package connman-vpnd
83 Summary:        VPN Support for Connman
84 #BuildRequires:  %{name} = %{version}
85 Requires:       %{name} = %{version}
86
87 %description connman-vpnd
88 Provides VPN support for Connman
89 %endif
90
91 %package test
92 Summary:        Test Scripts for Connection Manager
93 Group:          Development/Tools
94 Requires:       %{name} = %{version}
95 Requires:       dbus-python
96 Requires:       pygobject
97 Requires:       python-xml
98
99 %description test
100 Scripts for testing Connman and its functionality
101
102 %package devel
103 Summary:        Development Files for connman
104 Group:          Development/Tools
105 Requires:       %{name} = %{version}
106
107 %description devel
108 Header files and development files for connman.
109
110 %package extension-tv
111 Summary:        Connman service script for TV profile
112 Requires:       %{name} = %{version}-%{release}
113 Provides:       %{name}-profile_tv = %{version}-%{release}
114 Conflicts:      %{name}-extension-ivi
115 Conflicts:      %{name}-extension-disable-eth
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 Conflicts:      %{name}-extension-disable-eth
126 %description extension-ivi
127 Supplies Tizen IVI profile configuration instead of the default one.
128 This overwrites conf file of %{name}.
129
130 %package extension-disable-eth
131 Summary:        Connman configuration for testing which requires the ethernet to be disabled
132 Requires:       %{name} = %{version}-%{release}
133 Conflicts:      %{name}-extension-tv
134 Conflicts:      %{name}-extension-ivi
135 %description extension-disable-eth
136 Connman without ethernet support
137 This overwrites conf file of %{name}.
138
139 %prep
140 %setup -q
141
142
143 %build
144 %if %{with connman_vpnd}
145 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
146 %endif
147
148 chmod +x bootstrap
149 ./bootstrap
150 %configure \
151             --sysconfdir=/etc \
152             --enable-client \
153             --enable-tizen-ext \
154             --disable-tizen-ext-ins \
155             --enable-tizen-ext-eap-on-ethernet \
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=%{_unitdir} \
176             --enable-pie \
177             --disable-wispr \
178             --disable-backtrace \
179             --disable-tools
180
181 make %{?_smp_mflags}
182
183 %install
184 %make_install
185
186 #Systemd service file
187 mkdir -p %{buildroot}%{_unitdir}
188
189 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
190 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
191 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
192
193 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
194 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
195
196 #Systemd socket file for DNS proxy
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
201 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
202 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
203 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
204 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
205 mkdir -p %{buildroot}/etc/connman
206
207 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
208 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
209 cp src/main_disable_eth.conf %{buildroot}/etc/connman/main.conf.disable.eth
210 cp src/main.conf %{buildroot}/etc/connman/main.conf
211
212 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
213 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
214 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
215
216 %if %{with connman_vpnd}
217 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
218 %endif
219
220 %post
221 #chsmack -a 'System' /%{_localstatedir}/lib/connman
222 #chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
223
224 %preun
225
226 %postun
227 systemctl daemon-reload
228
229 %docs_package
230
231 %files
232 %manifest connman.manifest
233 %attr(500,network_fw,network_fw) %{_bindir}/connmand
234 %attr(500,network_fw,network_fw) %{_bindir}/connmanctl
235 %attr(755,network_fw,network_fw) /%{_localstatedir}/lib/connman
236 %attr(600,network_fw,network_fw) /%{_localstatedir}/lib/connman/settings
237 %attr(644,root,root) %{_datadir}/dbus-1/system-services/net.connman.service
238 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
239 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf
240 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*.conf
241 %attr(644,root,root) %{_unitdir}/connman.service
242 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
243 %attr(644,root,root) %{_unitdir}/connman.socket
244 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
245 %license COPYING
246
247 %files test
248 %manifest connman.manifest
249 %{_libdir}/%{name}/test/*
250
251 %files devel
252 %manifest connman.manifest
253 %{_includedir}/*
254 %{_libdir}/pkgconfig/*.pc
255
256 %if %{with connman_openconnect}
257 %files plugin-openconnect
258 %manifest %{name}.manifest
259 %{_libdir}/connman/plugins-vpn/openconnect.so
260 %{_libdir}/connman/scripts/openconnect-script
261 %license COPYING
262 %endif
263
264 %if %{with connman_openvpn}
265 %files plugin-openvpn
266 %manifest %{name}.manifest
267 %{_libdir}/%{name}/plugins-vpn/openvpn.so
268 %{_libdir}/%{name}/scripts/openvpn-script
269 %license COPYING
270 %endif
271
272 %if %{with connman_ipsec}
273 %files plugin-ipsec
274 %manifest %{name}.manifest
275 %{_libdir}/%{name}/plugins-vpn/ipsec.so
276 %{_libdir}/%{name}/scripts/ipsec-script
277 %license COPYING
278 %endif
279
280 %if %{with connman_vpnd}
281 %files connman-vpnd
282 %manifest %{name}.manifest
283 %{_bindir}/connman-vpnd
284 %dir %{_libdir}/%{name}
285 %dir %{_libdir}/%{name}/scripts
286 %dir %{_libdir}/%{name}/plugins-vpn
287 %attr(644,root,root) %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
288 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
289 %license COPYING
290 %attr(644,root,root) %{_unitdir}/connman-vpn.service
291 %endif
292
293 %post extension-tv
294 mv -f %{_unitdir}/connman.service.tv %{_unitdir}/connman.service
295 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
296 %files extension-tv
297 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.tv
298 %license COPYING
299 %attr(644,root,root) %{_unitdir}/connman.service.tv
300 %post extension-ivi
301 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
302 %files extension-ivi
303 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.ivi
304 %license COPYING
305 %post extension-disable-eth
306 mv -f %{_sysconfdir}/connman/main.conf.disable.eth %{_sysconfdir}/connman/main.conf
307 %files extension-disable-eth
308 %attr(644,network_fw,network_fw) %{_sysconfdir}/connman/main.conf.disable.eth
309 %license COPYING