3e75ea02fd4fc7cdf70611b37878aa625674c0f8
[platform/core/connectivity/wifi-direct-manager.git] / packaging / wifi-direct-manager.spec
1 # Do not provide .so automatically for the extensions.
2 # This if statement is for backward compatibility with GBM/Obsolete build systems
3 %if "%{?profile}" != "wearable" && "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
4 %global __provides_exclude_from ^.*\\.(wearable|mobile|tm1|tv|ivi|common)$
5 %endif
6
7 Name:           wifi-direct-manager
8 Summary:        Wi-Fi Direct manger
9 Version:        1.3.8
10 Release:        1
11 Group:      Network & Connectivity/Wireless
12 License:    Apache-2.0
13 Source0:        %{name}-%{version}.tar.gz
14 Source1:        dbus-wfd-manager.conf
15 Source2:        net.wifidirect.service
16 Source3:        wifi-direct-manager.service
17
18 BuildRequires:  pkgconfig(capi-network-wifi-direct)
19 BuildRequires:  pkgconfig(gio-2.0)
20 BuildRequires:  pkgconfig(dlog)
21 BuildRequires:  pkgconfig(vconf)
22 BuildRequires:  pkgconfig(libnl-3.0)
23 BuildRequires:  pkgconfig(dbus-1)
24 BuildRequires:  pkgconfig(aul)
25 BuildRequires:  pkgconfig(capi-system-info)
26 BuildRequires:  pkgconfig(capi-appfw-application)
27 BuildRequires:  pkgconfig(libsystemd)
28 BuildRequires:  pkgconfig(libtzplatform-config)
29 BuildRequires:  pkgconfig(hal-api-wifi)
30 %if 0%{?gtests:1}
31 BuildRequires: pkgconfig(gmock)
32 %endif
33 BuildRequires:  cmake
34
35 Requires:       net-tools
36
37 Requires: toybox-symlinks-dhcpd
38 Requires: toybox-symlinks-dhcp
39 Requires(post): /sbin/ldconfig
40 Requires(postun): /sbin/ldconfig
41
42 %description
43 Manager for handling wifi-direct functionalities
44
45 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
46 # if common || ivi || "undefined"
47 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "mobile"
48 %package profile_common
49 Summary:        Wi-Fi Direct manager for common/ivi
50 Requires:       %{name} = %{version}-%{release}
51 %description profile_common
52 Manager for handling wifi-direct functionalities for common/ivi
53 %endif
54
55 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
56 # if mobile || "undefined"
57 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
58 %package profile_mobile
59 Summary:        Wi-Fi Direct manager for mobile
60 Requires:       %{name} = %{version}-%{release}
61 %description profile_mobile
62 Manager for handling wifi-direct functionalities for mobile
63
64 %ifarch %{arm}
65 %package extension-TM1
66 Summary:        Extension for mobile TM1
67 Requires:       %{name}-profile_mobile = %{version}-%{release}
68 %description extension-TM1
69 Manager for handling wifi-direct functionalities for mobile TM1
70 %endif
71 %endif
72
73 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
74 # if wearable || "undefined"
75 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
76 %package profile_wearable
77 Summary:        Wi-Fi Direct manager for wearable
78 Requires:       %{name} = %{version}-%{release}
79 %description profile_wearable
80 Manager for handling wifi-direct functionalities for wearable
81 %endif
82
83 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
84 # if tv || "undefined"
85 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
86 %package profile_tv
87 Summary:        Wi-Fi Direct manager for tv
88 Requires:       %{name} = %{version}-%{release}
89 %description profile_tv
90 Manager for handling wifi-direct functionalities for tv
91 %endif
92
93 %package -n wifi-direct-plugin-wpasupplicant
94 Summary:    Wifi direct plugin for wpa supplicant
95 Group:      Network & Connectivity/Wireless
96 Requires:   %{name} = %{version}-%{release}
97 %description -n wifi-direct-plugin-wpasupplicant
98 Wi-Fi direct manager plugin to abstract wpa_supplicant
99
100 #%package -n wifi-direct-prd-plugin-wpasupplicant
101 #Summary:    Wifi direct prd plugin for wpa supplicant
102 #Group:      Network & Connectivity/Wireless
103 #Requires:   %{name} = %{version}-%{release}
104 #%description -n wifi-direct-prd-plugin-wpasupplicant
105 #Wi-Fi direct manager prd plugin to abstract wpa_supplicant
106
107 %prep
108 %setup -q
109 chmod 644 %{SOURCE0}
110 chmod 644 %{SOURCE1}
111 chmod 644 %{SOURCE2}
112 chmod 644 %{SOURCE3}
113 cp -a %{SOURCE1} ./wfd-manager.conf
114 cp -a %{SOURCE2} .
115 cp -a %{SOURCE3} .
116
117 %build
118
119 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
120 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
121 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
122 %if 0%{?gcov:1}
123 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
124 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
125 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
126 export LDFLAGS+=" -lgcov"
127 %endif
128
129 %ifarch %{arm}
130 export ARCH=arm
131 %else
132
133 %if 0%{?simulator}
134 export ARCH=emul
135 %else
136 export ARCH=i586
137 %endif
138
139 %endif
140
141 %cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DARCHITECTURE=$ARCH \
142 %if ! 0%{?model_build_feature_network_tethering_disable}
143         -DTIZEN_TETHERING_ENABLE=0 \
144 %endif
145         -DTIZEN_DEBUG_DBUS_VALUE=1 \
146 %if "%{?_lib}" == "lib64"
147         -DTIZEN_ARCH_64=1 \
148 %endif
149         -DLIB_DIR=%{_libdir} \
150         -DBIN_DIR=%{_bindir} \
151         -DSBIN_DIR=%{_sbindir} \
152         -DTZ_SYS_RO_ETC=%{TZ_SYS_RO_ETC} \
153         -DTZ_SYS_VAR=%{TZ_SYS_VAR} \
154         -DTZ_SYS_ETC=%{TZ_SYS_ETC} \
155         -DTZ_SYS_RUN=%{TZ_SYS_RUN} \
156         -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \
157         -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
158
159 make %{?_smp_mflags}
160
161 %install
162 rm -rf %{buildroot}
163 mkdir -p %{buildroot}/etc/wifi-direct
164
165 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
166 # if mobile || "undefined"
167 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
168 cp files/wifi-direct-manager.conf.mobile %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.mobile
169 %ifarch %{arm}
170 cp files/wifi-direct-manager.conf.tm1 %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.tm1
171 %endif
172 %endif
173
174 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
175 # if wearable || "undefined"
176 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
177 cp files/wifi-direct-manager.conf.wearable %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.wearable
178 %endif
179
180 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
181 # if tv || "undefined"
182 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
183 cp files/wifi-direct-manager.conf.tv %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.tv
184 %endif
185
186 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
187 # if common || ivi || "undefined"
188 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "mobile"
189 cp files/wifi-direct-manager.conf.common %{buildroot}/etc/wifi-direct/wifi-direct-manager.conf.common
190 %endif
191
192 %make_install
193
194 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
195 cp wfd-manager.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/wfd-manager.conf
196 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services/
197 cp net.wifidirect.service %{buildroot}%{_datadir}/dbus-1/system-services/net.wifidirect.service
198 mkdir -p %{buildroot}%{_unitdir}
199 cp wifi-direct-manager.service %{buildroot}%{_unitdir}/wifi-direct-manager.service
200
201 %post
202 chmod 644 %{TZ_SYS_RO_ETC}/wifi-direct/dhcpd.conf
203 chmod 644 %{TZ_SYS_RO_ETC}/wifi-direct/wifi-direct-manager.conf
204 chmod 755 %{_bindir}/dhcpd-notify.sh
205 chmod 755 %{TZ_SYS_RO_ETC}/wifi-direct/udhcp_script.non-autoip
206 chmod 755 %{_bindir}/wifi-direct-server.sh
207 chmod 755 %{_bindir}/wifi-direct-dhcp.sh
208 chmod 755 %{_sbindir}/p2p_supp.sh
209
210 if [ ! -d %{TZ_SYS_VAR}/lib/misc ]; then
211         mkdir -p %{TZ_SYS_VAR}/lib/misc
212 fi
213
214 touch %{TZ_SYS_VAR}/lib/misc/dhcpd.leases
215 chmod 666 %{TZ_SYS_VAR}/lib/misc/dhcpd.leases
216
217
218 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
219 # if common || "undefined"
220 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
221 %post profile_common
222 mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.common %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
223 %endif
224
225 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
226 # if mobile || "undefined"
227 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
228 %post profile_mobile
229 mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.mobile %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
230
231 %ifarch %{arm}
232 %post extension-TM1
233 mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.tm1 %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
234 %endif
235 %endif
236
237 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
238 # if wearable || "undefined"
239 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
240 %post profile_wearable
241 mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.wearable %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
242 %endif
243
244 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
245 # if tv || "undefined"
246 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
247 %post profile_tv
248 mv -f %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.tv %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf
249 %endif
250
251 %files
252 %manifest wifi-direct-manager.manifest
253 %license LICENSE
254 %defattr(-,network_fw,network_fw,-)
255 %config %{TZ_SYS_RO_ETC}/wifi-direct/ccode.conf
256 %config %{TZ_SYS_RO_ETC}/wifi-direct/dhcpd.conf
257 %config %{TZ_SYS_RO_ETC}/wifi-direct/wifi-direct-manager.conf
258 %config %{_sysconfdir}/dbus-1/system.d/wfd-manager.conf
259 %attr(755,-,-) %{_bindir}/dhcpd-notify.sh
260 %attr(755,-,-) %{_bindir}/wifi-direct-server.sh
261 %attr(755,-,-) %{_bindir}/wifi-direct-dhcp.sh
262 %attr(755,-,-) %{TZ_SYS_RO_ETC}/wifi-direct/udhcp_script.non-autoip
263 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/wfd-manager.conf
264 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
265 %attr(644,root,root) %{_unitdir}/wifi-direct-manager.service
266 %attr(755,-,-) %{_sbindir}/p2p_supp.sh
267 %attr(755,-,-) %{_bindir}/wfd-manager
268 %if 0%{?gtests:1}
269         %{_bindir}/gtest*
270 %endif
271
272 %files -n wifi-direct-plugin-wpasupplicant
273 %manifest wifi-direct-plugin-wpasupplicant.manifest
274 %license LICENSE
275 %defattr(-,network_fw,network_fw,-)
276 %{_libdir}/wifi-direct-plugin-wpasupplicant.so
277
278 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
279 # if common || ivi || "undefined"
280 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "mobile"
281 %files profile_common
282 %attr(644,network_fw,network_fw) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.common
283 %endif
284
285 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
286 # if mobile || "undefined"
287 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
288 %files profile_mobile
289 %attr(644,network_fw,network_fw) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.mobile
290 %ifarch %{arm}
291 %files extension-TM1
292 %attr(644,root,root) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.tm1
293 %endif
294 %endif
295
296 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
297 # if wearable || "undefined"
298 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
299 %files profile_wearable
300 %attr(644,root,root) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.wearable
301 %endif
302
303 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
304 # if tv || "undefined"
305 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
306 %files profile_tv
307 %attr(644,network_fw,network_fw) %{_sysconfdir}/wifi-direct/wifi-direct-manager.conf.tv
308 %endif
309
310 #%files -n wifi-direct-prd-plugin-wpasupplicant
311 #%manifest wifi-direct-prd-plugin-wpasupplicant.manifest
312 #%license LICENSE
313 #%defattr(-,network_fw,network_fw,-)
314 #%{_libdir}/wifi-direct-prd-plugin-wpasupplicant.so