Merge "Spec: Add eth0 device as NetworkInterfaceBlacklist in ivi profile." into tizen
[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:        18
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
37 %define upgrade_script_path /usr/share/upgrade/scripts
38
39 %description
40 Connection Manager provides a daemon for managing Internet connections
41 within embedded devices running the Linux operating system.
42
43 %if %{with connman_openconnect}
44 %package plugin-openconnect
45 Summary:        Openconnect Support for Connman
46 Requires:       %{name} = %{version}
47 Requires:       openconnect
48
49 %description plugin-openconnect
50 Openconnect Support for Connman.
51 %endif
52
53 %if %{with connman_openvpn}
54 %package plugin-openvpn
55 Summary:        Openvpn Support for Connman
56 Requires:       %{name} = %{version}
57 Requires:       openvpn
58
59 %description plugin-openvpn
60 OpenVPN support for Connman.
61 %endif
62
63 %if %{with connman_vpnd}
64 %package connman-vpnd
65 Summary:        VPN Support for Connman
66 #BuildRequires:  %{name} = %{version}
67 Requires:       %{name} = %{version}
68
69 %description connman-vpnd
70 Provides VPN support for Connman
71 %endif
72
73 %package test
74 Summary:        Test Scripts for Connection Manager
75 Group:          Development/Tools
76 Requires:       %{name} = %{version}
77 Requires:       dbus-python
78 Requires:       pygobject
79 Requires:       python-xml
80
81 %description test
82 Scripts for testing Connman and its functionality
83
84 %package devel
85 Summary:        Development Files for connman
86 Group:          Development/Tools
87 Requires:       %{name} = %{version}
88
89 %description devel
90 Header files and development files for connman.
91
92 %prep
93 %setup -q
94
95
96 %build
97 CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
98 CFLAGS+=" -DTIZEN_SYS_CA_BUNDLE=\"%TZ_SYS_RO_CA_BUNDLE\""
99 %if "%{profile}" == "tv"
100 CFLAGS+=" -DTIZEN_TV_EXT"
101 %endif
102
103 %if %{with connman_vpnd}
104 VPN_CFLAGS+=" -DTIZEN_EXT -lsmack -Werror"
105 %endif
106
107 chmod +x bootstrap
108 ./bootstrap
109 %configure \
110             --sysconfdir=/etc \
111             --enable-client \
112             --enable-pacrunner \
113             --enable-wifi=builtin \
114 %if %{with connman_openconnect}
115             --enable-openconnect \
116 %endif
117 %if %{with connman_openvpn}
118             --enable-openvpn \
119 %endif
120 %if 0%{?enable_connman_features}
121             %connman_features \
122 %endif
123             --disable-ofono \
124             --enable-telephony=builtin \
125             --enable-test \
126                         --enable-loopback \
127                         --enable-ethernet \
128             --with-systemdunitdir=%{_libdir}/systemd/system \
129             --enable-pie \
130                         --disable-wispr
131
132 make %{?_smp_mflags}
133
134 %install
135 %make_install
136
137 #Systemd service file
138 mkdir -p %{buildroot}%{_libdir}/systemd/system/
139 %if "%{?_lib}" == "lib64"
140 mkdir -p %{buildroot}%{_unitdir}
141 %endif
142
143 %if "%{profile}" == "tv"
144 cp src/connman_tv.service %{buildroot}%{_libdir}/systemd/system/connman.service
145 %else
146 %if "%{?_lib}" == "lib64"
147 cp src/connman.service %{buildroot}%{_unitdir}/connman.service
148 cp vpn/connman-vpn.service %{buildroot}%{_unitdir}/connman-vpn.service
149 %endif
150 %endif
151
152 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
153 ln -s ../connman.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/connman.service
154 %if "%{?_lib}" == "lib64"
155 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
156 ln -s ../connman.service %{buildroot}%{_unitdir}/multi-user.target.wants/connman.service
157 %endif
158
159 #Systemd socket file for DNS proxy
160 %if "%{?_lib}" == "lib64"
161 cp src/connman.socket %{buildroot}%{_unitdir}/connman.socket
162 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
163 ln -s ../connman.socket %{buildroot}%{_unitdir}/sockets.target.wants/connman.socket
164 %else
165 cp src/connman.socket %{buildroot}%{_libdir}/systemd/system/connman.socket
166 mkdir -p %{buildroot}%{_libdir}/systemd/system/sockets.target.wants
167 ln -s ../connman.socket %{buildroot}%{_libdir}/systemd/system/sockets.target.wants/connman.socket
168 %endif
169
170 mkdir -p %{buildroot}/%{_localstatedir}/lib/connman
171 cp resources/var/lib/connman/settings %{buildroot}/%{_localstatedir}/lib/connman/settings
172 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
173 cp resources/usr/share/dbus-1/system-services/net.connman.service %{buildroot}%{_datadir}/dbus-1/system-services/net.connman.service
174 mkdir -p %{buildroot}/etc/connman
175
176 %if "%{profile}" == "ivi"
177 cp src/main_ivi.conf %{buildroot}/etc/connman/main.conf
178 %else
179 cp src/main.conf %{buildroot}/etc/connman/main.conf
180 %endif
181
182 rm %{buildroot}%{_sysconfdir}/dbus-1/system.d/*.conf
183 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d/
184 cp src/connman.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/
185
186 #License
187 mkdir -p %{buildroot}%{_datadir}/license
188 cp COPYING %{buildroot}%{_datadir}/license/connman
189
190 %if %{with connman_vpnd}
191 cp vpn/vpn-dbus.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
192 %endif
193
194 #OS Upgrade
195 mkdir -p %{buildroot}%{upgrade_script_path}
196 cp -f scripts/connman_upgrade.sh %{buildroot}%{upgrade_script_path}
197
198 %post
199 chsmack -a 'System' /%{_localstatedir}/lib/connman
200 chsmack -a 'System' /%{_localstatedir}/lib/connman/settings
201
202 %preun
203
204 %postun
205 systemctl daemon-reload
206
207 %docs_package
208
209 %files
210 %manifest connman.manifest
211 %attr(500,root,root) %{_sbindir}/*
212 %attr(500,root,root) %{_bindir}/connmanctl
213 %attr(600,root,root) /%{_localstatedir}/lib/connman/settings
214 #%{_libdir}/connman/plugins/*.so
215 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
216 #%{_datadir}/dbus-1/services/*
217 %{_sysconfdir}/dbus-1/system.d/*
218 %attr(644,root,root) %{_sysconfdir}/connman/main.conf
219 %{_sysconfdir}/dbus-1/system.d/*.conf
220 %attr(644,root,root) %{_libdir}/systemd/system/connman.service
221 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/connman.service
222 %attr(644,root,root) %{_libdir}/systemd/system/connman-vpn.service
223 %if "%{?_lib}" == "lib64"
224 %attr(644,root,root) %{_unitdir}/connman.service
225 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/connman.service
226 %attr(644,root,root) %{_unitdir}/connman-vpn.service
227 %attr(644,root,root) %{_unitdir}/connman.socket
228 %attr(644,root,root) %{_unitdir}/sockets.target.wants/connman.socket
229 %else
230 %attr(644,root,root) %{_libdir}/systemd/system/connman.socket
231 %attr(644,root,root) %{_libdir}/systemd/system/sockets.target.wants/connman.socket
232 %endif
233 %{_datadir}/license/connman
234 %{upgrade_script_path}/connman_upgrade.sh
235
236 %files test
237 %manifest connman.manifest
238 %{_libdir}/%{name}/test/*
239
240 %files devel
241 %manifest connman.manifest
242 %{_includedir}/*
243 %{_libdir}/pkgconfig/*.pc
244
245 %if %{with connman_openconnect}
246 %files plugin-openconnect
247 %manifest %{name}.manifest
248 %{_libdir}/connman/plugins-vpn/openconnect.so
249 %{_libdir}/connman/scripts/openconnect-script
250 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
251 %endif
252
253 %if %{with connman_openvpn}
254 %files plugin-openvpn
255 %manifest %{name}.manifest
256 %{_libdir}/%{name}/plugins-vpn/openvpn.so
257 %{_libdir}/%{name}/scripts/openvpn-script
258 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
259 %endif
260
261 %if %{with connman_vpnd}
262 %files connman-vpnd
263 %manifest %{name}.manifest
264 #%{_sbindir}/connman-vpnd
265 %dir %{_libdir}/%{name}
266 %dir %{_libdir}/%{name}/scripts
267 %dir %{_libdir}/%{name}/plugins-vpn
268 %config %{_sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf
269 %{_datadir}/dbus-1/system-services/net.connman.vpn.service
270 %endif
271
272