[connman] Add IPv6 gateway address after service IP bound.
[platform/upstream/connman.git] / packaging / connman.spec
1 %bcond_with     connman_openconnect
2 %bcond_without  connman_openvpn
3 %bcond_without  connman_vpnd
4
5 Name:           connman
6 Version:        1.29
7 Release:        21
8 License:        GPL-2.0+
9 Summary:        Connection Manager
10 Url:            http://connman.net
11 Group:          Network & Connectivity/Connection Management
12 Source0:        %{name}-%{version}.tar.gz
13 BuildRequires:  systemd-devel
14 BuildRequires:  pkgconfig(dbus-1)
15 BuildRequires:  pkgconfig(glib-2.0)
16 BuildRequires:  pkgconfig(libiptc)
17 BuildRequires:  pkgconfig(xtables)
18 BuildRequires:  pkgconfig(libsmack)
19 BuildRequires:  pkgconfig(tpkp-gnutls)
20 BuildRequires:  pkgconfig(libsystemd-daemon)
21 %if %{with connman_openconnect}
22 BuildRequires:  openconnect
23 %endif
24 %if %{with connman_openvpn}
25 BuildRequires:  openvpn
26 %endif
27 BuildRequires:  ca-certificates-devel
28 BuildRequires:  readline-devel
29 #%systemd_requires
30 Requires:       iptables
31 Requires:         systemd
32 Requires(post):   systemd
33 Requires(preun):  systemd
34 Requires(postun): systemd
35 Requires:         net-config
36 Provides:       %{name}-profile_common = %{version}-%{release}
37 Provides:       %{name}-profile_mobile = %{version}-%{release}
38 Provides:       %{name}-profile_wearable = %{version}-%{release}
39
40 %define upgrade_script_filename 500.connman_upgrade.sh
41 %define upgrade_script_path /usr/share/upgrade/scripts
42
43 %description
44 Connection Manager provides a daemon for managing Internet connections
45 within embedded devices running the Linux operating system.
46
47 %if %{with connman_openconnect}
48 %package plugin-openconnect
49 Summary:        Openconnect Support for Connman
50 Requires:       %{name} = %{version}
51 Requires:       openconnect
52
53 %description plugin-openconnect
54 Openconnect Support for Connman.
55 %endif
56
57 %if %{with connman_openvpn}
58 %package plugin-openvpn
59 Summary:        Openvpn Support for Connman
60 Requires:       %{name} = %{version}
61 Requires:       openvpn
62
63 %description plugin-openvpn
64 OpenVPN support for Connman.
65 %endif
66
67 %if %{with connman_vpnd}
68 %package connman-vpnd
69 Summary:        VPN Support for Connman
70 #BuildRequires:  %{name} = %{version}
71 Requires:       %{name} = %{version}
72
73 %description connman-vpnd
74 Provides VPN support for Connman
75 %endif
76
77 %package test
78 Summary:        Test Scripts for Connection Manager
79 Group:          Development/Tools
80 Requires:       %{name} = %{version}
81 Requires:       dbus-python
82 Requires:       pygobject
83 Requires:       python-xml
84
85 %description test
86 Scripts for testing Connman and its functionality
87
88 %package devel
89 Summary:        Development Files for connman
90 Group:          Development/Tools
91 Requires:       %{name} = %{version}
92
93 %description devel
94 Header files and development files for connman.
95
96 %package extension-tv
97 Summary:        Connman service script for TV profile
98 Requires:       %{name} = %{version}-%{release}
99 Provides:       %{name}-profile_tv = %{version}-%{release}
100 Conflicts:      %{name}-extension-ivi
101 %description extension-tv
102 Supplies Tizen TV profile systemd service scripts instead of the default one.
103 This overwrites service script of %{name}.
104
105 %package extension-ivi
106 Summary:        Connman configuration for IVI profile
107 Requires:       %{name} = %{version}-%{release}
108 Provides:       %{name}-profile_ivi = %{version}-%{release}
109 Conflicts:      %{name}-extension-tv
110 %description extension-ivi
111 Supplies Tizen IVI profile configuration instead of the default one.
112 This overwrites conf file of %{name}.
113
114 %prep
115 %setup -q
116
117
118 %build
119 CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
120 CFLAGS+=" -DTIZEN_SYS_CA_BUNDLE=\"%TZ_SYS_RO_CA_BUNDLE\""
121
122 %if %{with connman_vpnd}
123 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
124 %endif
125
126 chmod +x bootstrap
127 ./bootstrap
128 %configure \
129             --sysconfdir=/etc \
130             --enable-client \
131             --enable-pacrunner \
132             --enable-wifi=builtin \
133 %if %{with connman_openconnect}
134             --enable-openconnect \
135 %endif
136 %if %{with connman_openvpn}
137             --enable-openvpn \
138 %endif
139 %if 0%{?enable_connman_features}
140             %connman_features \
141 %endif
142             --disable-ofono \
143             --enable-telephony=builtin \
144             --enable-test \
145                         --enable-loopback \
146                         --enable-ethernet \
147             --with-systemdunitdir=%{_libdir}/systemd/system \
148             --enable-pie \
149                         --disable-wispr
150
151 make %{?_smp_mflags}
152
153 %install
154 %make_install
155
156 #Systemd service file
157 mkdir -p %{buildroot}%{_libdir}/systemd/system/
158 %if "%{?_lib}" == "lib64"
159 mkdir -p %{buildroot}%{_unitdir}
160 %endif
161
162 %if "%{?_lib}" == "lib64"
163 cp src/connman_tv.service %{buildroot}%{_unitdir}/connman.service.tv
164 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
165 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
166 %else
167 cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service.tv
168 %endif
169
170 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
171 ln -s ../connman.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/connman.service
172 %if "%{?_lib}" == "lib64"
173 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
174 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
175 %endif
176
177 #Systemd socket file for DNS proxy
178 %if "%{?_lib}" == "lib64"
179 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
180 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
181 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
182 %else
183 cp src/connman.socket %{buildroot}%{_libdir}/systemd/system/connman.socket
184 mkdir -p %{buildroot}%{_libdir}/systemd/system/sockets.target.wants
185 ln -s ../connman.socket %{buildroot}%{_libdir}/systemd/system/sockets.target.wants/connman.socket
186 %endif
187
188 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
189 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
190 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
191 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
192 mkdir -p %{buildroot}/etc/connman
193
194 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf.ivi
195 cp src/main_tv.conf %{buildroot}/etc/connman/main.conf.tv
196 cp src/main.conf %{buildroot}/etc/connman/main.conf
197
198 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
199 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
200 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
201
202 #License
203 mkdir -p %{buildroot}%{_datadir}/license
204 cp COPYING %{buildroot}%{_datadir}/license/connman
205
206 %if %{with connman_vpnd}
207 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
208 %endif
209
210 #OS Upgrade
211 mkdir -p %{buildroot}%{upgrade_script_path}
212 cp -f scripts/%{upgrade_script_filename} %{buildroot}%{upgrade_script_path}
213
214 %post
215 chsmack -a 'System' /%{_localstatedir}/lib/connman
216 chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
217
218 %preun
219
220 %postun
221 systemctl daemon-reload
222
223 %docs_package
224
225 %files
226 %manifest connman.manifest
227 %attr(500,root,root) %{_sbindir}/*
228 %attr(500,root,root) %{_bindir}/connmanctl
229 %attr(600,root,root) /%{_localstatedir}/lib/connman/settings
230 #%{_libdir}/connman/plugins/*.so
231 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
232 #%{_datadir}/dbus-1/services/*
233 %{_sysconfdir}/dbus-1/system.d/*
234 %attr(644,root,root) %{_sysconfdir}/connman/main.conf
235 %{_sysconfdir}/dbus-1/system.d/*.conf
236 %attr(644,root,root) %{_libdir}/systemd/system/connman.service
237 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/connman.service
238 %attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
239 %if "%{?_lib}" == "lib64"
240 %attr(644,root,root) %{_unitdir}/connman.service
241 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
242 %attr(644,root,root) %{_unitdir}/connman-vpn.service
243 %attr(644,root,root) %{_unitdir}/connman.socket
244 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
245 %else
246 %attr(644,root,root) %{_libdir}/systemd/system/connman.socket
247 %attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
248 %endif
249 %{_datadir}/license/connman
250 %{upgrade_script_path}/%{upgrade_script_filename}
251
252 %files test
253 %manifest connman.manifest
254 %{_libdir}/%{name}/test/*
255
256 %files devel
257 %manifest connman.manifest
258 %{_includedir}/*
259 %{_libdir}/pkgconfig/*.pc
260
261 %if %{with connman_openconnect}
262 %files plugin-openconnect
263 %manifest %{name}.manifest
264 %{_libdir}/connman/plugins-vpn/openconnect.so
265 %{_libdir}/connman/scripts/openconnect-script
266 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
267 %endif
268
269 %if %{with connman_openvpn}
270 %files plugin-openvpn
271 %manifest %{name}.manifest
272 %{_libdir}/%{name}/plugins-vpn/openvpn.so
273 %{_libdir}/%{name}/scripts/openvpn-script
274 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
275 %endif
276
277 %if %{with connman_vpnd}
278 %files connman-vpnd
279 %manifest %{name}.manifest
280 #%{_sbindir}/connman-vpnd
281 %dir %{_libdir}/%{name}
282 %dir %{_libdir}/%{name}/scripts
283 %dir %{_libdir}/%{name}/plugins-vpn
284 %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
285 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
286 %endif
287
288 %post extension-tv
289 mv -f %{_libdir}/systemd/system/connman.service.tv %{_libdir}/systemd/system/connman.service
290 mv -f %{_sysconfdir}/connman/main.conf.tv %{_sysconfdir}/connman/main.conf
291 %files extension-tv
292 %attr(644,root,root) %{_sysconfdir}/connman/main.conf.tv
293 %if "%{?_lib}" == "lib64"
294 %attr(644,root,root) %{_unitdir}/connman.service.tv
295 %else
296 %attr(644,root,root) %{_libdir}/systemd/system/connman.service.tv
297 %endif
298 %post extension-ivi
299 mv -f %{_sysconfdir}/connman/main.conf.ivi %{_sysconfdir}/connman/main.conf
300 %files extension-ivi
301 %attr(644,root,root) %{_sysconfdir}/connman/main.conf.ivi