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