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