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