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