1 # For the backward compatibility, this is to be built for
2 # wearable profile or 4.0 unified building environment.
3 # This cannot be built for non-wearable in conventional 3.0 build environment.
4 # Note that it is not a good idea to limit building with ExcludeArch because there are new architectures being tested.
5 # Use ExclusiveArch istead.
6 %if "%{?profile}" == "mobile" || "%{?profile}" == "ivi" || "%{?profile}" == "common"
10 Name: org.tizen.inputdelegator
11 Summary: Input Delegator Application
16 Source0: %{name}-%{version}.tar.gz
18 %define enable_log_manager 1
20 BuildRequires: pkgconfig(ecore)
21 BuildRequires: pkgconfig(evas)
22 BuildRequires: pkgconfig(edje)
25 BuildRequires: edje-bin
26 BuildRequires: gettext-tools
28 BuildRequires: pkgconfig(dlog)
29 BuildRequires: pkgconfig(capi-appfw-application)
30 BuildRequires: pkgconfig(capi-appfw-app-control)
31 BuildRequires: pkgconfig(capi-appfw-preference)
32 BuildRequires: pkgconfig(capi-media-wav-player)
33 BuildRequires: pkgconfig(capi-system-device)
34 BuildRequires: pkgconfig(eina)
35 BuildRequires: pkgconfig(elementary)
36 BuildRequires: pkgconfig(efl-extension)
37 BuildRequires: pkgconfig(feedback)
38 BuildRequires: pkgconfig(stt)
39 BuildRequires: pkgconfig(vconf)
40 BuildRequires: pkgconfig(db-util)
41 BuildRequires: pkgconfig(sqlite3)
42 BuildRequires: pkgconfig(capi-media-audio-io)
43 BuildRequires: pkgconfig(capi-system-info)
44 BuildRequires: pkgconfig(smartreply)
45 BuildRequires: pkgconfig(capi-media-recorder)
46 BuildRequires: pkgconfig(capi-content-media-content)
47 BuildRequires: pkgconfig(storage)
49 %if %{enable_log_manager}
50 BuildRequires: pkgconfig(bundle)
53 Requires: %{name}-compat = %{version}-%{release}
54 # This is for old profile-based OBS project optimizations.
55 # In 4.0 unified build env, this if statement is always true.
56 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
57 Recommends: %{name}-profile_common = %{version}-%{release}
61 Input Delegator Application for Wearable environment
63 # This is for old profile-based OBS project optimizations.
64 # In 4.0 unified build env, this if statement is always true.
65 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
66 %package profile_common
67 Summary: Inputdelegator binaries and resources without flavors
68 Provides: %{name}-compat = %{version}-%{release}
69 Conflicts: %{name}-profile_mobile
70 Conflicts: %{name}-profile_tv
71 Conflicts: %{name}-profile_wearable
72 Conflicts: %{name}-profile_ivi
73 %description profile_common
74 Inputdelegator binaries and resources without flavors, intended
75 to support common profiles, which does not supply any additional options
79 # This is for old profile-based OBS project optimizations.
80 # In 4.0 unified build env, this if statement is always true.
81 %if "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
82 %package profile_mobile
83 Summary: Inputdelegator binaries and resources with mobile profile
84 Provides: %{name}-compat = %{version}-%{release}
85 Conflicts: %{name}-profile_common
86 Conflicts: %{name}-profile_tv
87 Conflicts: %{name}-profile_wearable
88 Conflicts: %{name}-profile_ivi
89 %description profile_mobile
90 Inputdelegator binaries and resources with mobile options.
91 This is intended to support mobile profiles.
94 # This is for old profile-based OBS project optimizations.
95 # In 4.0 unified build env, this if statement is always true.
96 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
98 Summary: Inputdelegator binaries and resources with tv profile
99 Provides: %{name}-compat = %{version}-%{release}
100 Conflicts: %{name}-profile_common
101 Conflicts: %{name}-profile_mobile
102 Conflicts: %{name}-profile_wearable
103 Conflicts: %{name}-profile_ivi
104 %description profile_tv
105 Inputdelegator binaries and resources with tv options.
106 This is intended to support tv profiles.
110 # This is for old profile-based OBS project optimizations.
111 # In 4.0 unified build env, this if statement is always true.
112 # Common is blocked because wearable has extra efl-ext entries, which will be
113 # removed for unified build env later.
114 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
115 %package profile_wearable
116 Summary: Meta package of Inputdelegator for wearable profiles.
117 Provides: %{name}-compat = %{version}-%{release}
118 Conflicts: %{name}-profile_common
119 Conflicts: %{name}-profile_mobile
120 Conflicts: %{name}-profile_tv
121 Conflicts: %{name}-profile_ivi
122 %description profile_wearable
123 Meta package of Inputdelegator binaries and resources with
131 export CFLAGS_BASE="${CFLAGS} -DTIZEN_DEBUG_ENABLE -fvisibility=hidden"
132 export CXXFLAGS_BASE="${CXXFLAGS} -DTIZEN_DEBUG_ENABLE -std=c++11 -fvisibility-inlines-hidden"
133 export FFLAGS+=" -DTIZEN_DEBUG_ENABLE"
136 rm -rf CMakeCache.txt
138 # This is for old profile-based OBS project optimizations.
139 # In 4.0 unified build env, this if statement is always true.
140 # Common is blocked because wearable has extra efl-ext entries, which will be
141 # removed for unified build env later.
142 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
143 mkdir -p build_wearable
145 export CFLAGS="${CFLAGS_BASE} -D_WEARABLE -D_CIRCLE";
146 export CXXFLAGS="${CXXFLAGS_BASE} -D_WEARABLE -D_CIRCLE";
147 %cmake .. -DTARGET=wearable \
148 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
149 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
151 make %{?jobs:-j%jobs}
156 # This is for old profile-based OBS project optimizations.
157 # In 4.0 unified build env, this if statement is always true.
158 %if "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
159 mkdir -p build_mobile
161 export CFLAGS="${CFLAGS_BASE} -D_MOBILE";
162 export CXXFLAGS="${CXXFLAGS_BASE} -D_MOBILE";
163 %cmake .. -DTARGET=mobile \
164 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
165 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
168 make %{?jobs:-j%jobs}
172 # This is for old profile-based OBS project optimizations.
173 # In 4.0 unified build env, this if statement is always true.
174 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
177 export CFLAGS="${CFLAGS_BASE} -D_TV";
178 export CXXFLAGS="${CXXFLAGS_BASE} -D_TV";
179 %cmake .. -DTARGET=tv \
180 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
181 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
183 make %{?jobs:-j%jobs}
188 # This is for old profile-based OBS project optimizations.
189 # In 4.0 unified build env, this if statement is always true.
190 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
191 export CFLAGS="${CFLAGS_BASE}";
192 export CXXFLAGS="${CXXFLAGS_BASE}";
193 %cmake . -DTARGET=common \
194 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
195 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
197 make %{?jobs:-j%jobs}
206 # This is for old profile-based OBS project optimizations.
207 # In 4.0 unified build env, this if statement is always true.
208 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
210 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/common
211 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
215 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../common/res/; fi; done
220 # This is for old profile-based OBS project optimizations.
221 # In 4.0 unified build env, this if statement is always true.
222 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
226 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/mobile
227 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
231 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../mobile/res/; fi; done
236 # This is for old profile-based OBS project optimizations.
237 # In 4.0 unified build env, this if statement is always true.
238 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
242 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/tv
243 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
247 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../tv/res/; fi; done
253 # This is for old profile-based OBS project optimizations.
254 # In 4.0 unified build env, this if statement is always true.
255 # Common is blocked because wearable has extra efl-ext entries, which will be
256 # removed for unified build env later.
257 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
261 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable
262 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
264 mkdir -p wearable/res
266 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../wearable/res/; fi; done
271 %find_lang inputdelegator
273 %files -f inputdelegator.lang
274 %manifest %{name}.manifest
275 %defattr(-,root,root,-)
276 %{TZ_SYS_RO_PACKAGES}/%{name}.xml
279 # This is for old profile-based OBS project optimizations.
280 # In 4.0 unified build env, this if statement is always true.
281 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
283 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/common/
286 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
287 if [ "$1" = "2" ]; then
290 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
293 for FILE in bin/*; do ln -sf "../common/${FILE}" ../bin; done
294 for FILE in res/*; do ln -sf "../common/${FILE}" ../res; done
296 %preun profile_common
297 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
298 if [ "$1" = "0" ]; then
299 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
302 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
306 %files profile_common
307 %manifest %{name}.manifest
308 %defattr(-,root,root,-)
309 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/common/*
313 # This is for old profile-based OBS project optimizations.
314 # In 4.0 unified build env, this if statement is always true.
315 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
317 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/mobile/
320 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
321 if [ "$1" = "2" ]; then
324 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
327 for FILE in bin/*; do ln -sf "../mobile/${FILE}" ../bin; done
328 for FILE in res/*; do ln -sf "../mobile/${FILE}" ../res; done
330 %preun profile_mobile
331 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
332 if [ "$1" = "0" ]; then
333 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
336 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
340 %files profile_mobile
341 %manifest %{name}.manifest
342 %defattr(-,root,root,-)
343 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/mobile/*
347 # This is for old profile-based OBS project optimizations.
348 # In 4.0 unified build env, this if statement is always true.
349 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
351 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/tv/
354 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
355 if [ "$1" = "2" ]; then
358 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
361 for FILE in bin/*; do ln -sf "../tv/${FILE}" ../bin; done
362 for FILE in res/*; do ln -sf "../tv/${FILE}" ../res; done
365 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
366 if [ "$1" = "0" ]; then
367 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
370 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
375 %manifest %{name}.manifest
376 %defattr(-,root,root,-)
377 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/tv/*
381 # This is for old profile-based OBS project optimizations.
382 # In 4.0 unified build env, this if statement is always true.
383 # Common is blocked because wearable has extra efl-ext entries, which will be
384 # removed for unified build env later.
385 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
386 %post profile_wearable
387 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable/
390 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
391 if [ "$1" = "2" ]; then
394 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
397 for FILE in bin/*; do ln -sf "../wearable/${FILE}" ../bin; done
398 for FILE in res/*; do ln -sf "../wearable/${FILE}" ../res; done
400 %preun profile_wearable
401 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
402 if [ "$1" = "0" ]; then
403 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
406 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
410 %files profile_wearable
411 %manifest %{name}.manifest
412 %defattr(-,root,root,-)
413 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable/*