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)
45 %if %{enable_log_manager}
46 BuildRequires: pkgconfig(bundle)
49 Requires: %{name}-compat = %{version}-%{release}
50 # This is for old profile-based OBS project optimizations.
51 # In 4.0 unified build env, this if statement is always true.
52 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
53 Recommends: %{name}-profile_common = %{version}-%{release}
57 Input Delegator Application for Wearable environment
59 # This is for old profile-based OBS project optimizations.
60 # In 4.0 unified build env, this if statement is always true.
61 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
62 %package profile_common
63 Summary: Inputdelegator binaries and resources without flavors
64 Provides: %{name}-compat = %{version}-%{release}
65 Conflicts: %{name}-profile_mobile
66 Conflicts: %{name}-profile_tv
67 Conflicts: %{name}-profile_wearable
68 Conflicts: %{name}-profile_ivi
69 %description profile_common
70 Inputdelegator binaries and resources without flavors, intended
71 to support common profiles, which does not supply any additional options
75 # This is for old profile-based OBS project optimizations.
76 # In 4.0 unified build env, this if statement is always true.
77 %if "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
78 %package profile_mobile
79 Summary: Inputdelegator binaries and resources with mobile profile
80 Provides: %{name}-compat = %{version}-%{release}
81 Conflicts: %{name}-profile_common
82 Conflicts: %{name}-profile_tv
83 Conflicts: %{name}-profile_wearable
84 Conflicts: %{name}-profile_ivi
85 %description profile_mobile
86 Inputdelegator binaries and resources with mobile options.
87 This is intended to support mobile profiles.
90 # This is for old profile-based OBS project optimizations.
91 # In 4.0 unified build env, this if statement is always true.
92 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
94 Summary: Inputdelegator binaries and resources with tv profile
95 Provides: %{name}-compat = %{version}-%{release}
96 Conflicts: %{name}-profile_common
97 Conflicts: %{name}-profile_mobile
98 Conflicts: %{name}-profile_wearable
99 Conflicts: %{name}-profile_ivi
100 %description profile_tv
101 Inputdelegator binaries and resources with tv options.
102 This is intended to support tv profiles.
105 # This is for old profile-based OBS project optimizations.
106 # In 4.0 unified build env, this if statement is always true.
107 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv"
109 Summary: Inputdelegator binaries and resources with ivi profile
110 Provides: %{name}-compat = %{version}-%{release}
111 Conflicts: %{name}-profile_common
112 Conflicts: %{name}-profile_mobile
113 Conflicts: %{name}-profile_wearable
114 Conflicts: %{name}-profile_tv
115 %description profile_ivi
116 Inputdelegator) binaries and resources with ivi options.
117 This is intended to support ivi profiles.
120 # This is for old profile-based OBS project optimizations.
121 # In 4.0 unified build env, this if statement is always true.
122 # Common is blocked because wearable has extra efl-ext entries, which will be
123 # removed for unified build env later.
124 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
125 %package profile_wearable
126 Summary: Meta package of Inputdelegator for wearable profiles. (circle/rectangle)
127 Provides: %{name}-compat = %{version}-%{release}
128 Conflicts: %{name}-profile_common
129 Conflicts: %{name}-profile_mobile
130 Conflicts: %{name}-profile_tv
131 Conflicts: %{name}-profile_ivi
132 Requires: %{name}-profile_wearable-extension = %{version}-%{release}
133 Recommends: %{name}-profile_wearable-extension-circle = %{version}-%{release}
134 %description profile_wearable
135 Meta package of Inputdelegator binaries and resources with
138 %package profile_wearable-extension-circle
139 Summary: Inputdelegator binaries and resources with wearable profile (circle)
140 Provides: %{name}-profile_wearable-extension = %{version}-%{release}
141 Conflicts: %{name}-profile_wearable-extension-rectangle
142 %description profile_wearable-extension-circle
143 Inputdelegator binaries and resources with wearable options.
144 This is intended to support wearable profiles with circle display.
146 %package profile_wearable-extension-rectangle
147 Summary: Inputdelegator binaries and resources with wearable profile (rectangle)
148 Provides: %{name}-profile_wearable-extension = %{version}-%{release}
149 Conflicts: %{name}-profile_wearable-extension-circle
150 %description profile_wearable-extension-rectangle
151 Inputdelegator binaries and resources with wearable options.
152 This is intended to support wearable profiles with rectangle display.
159 export CFLAGS_BASE="${CFLGAS} -DTIZEN_DEBUG_ENABLE -fvisibility=hidden"
160 export CXXFLAGS_BASE="${CXXFLAGS} -DTIZEN_DEBUG_ENABLE -std=c++11 -fvisibility-inlines-hidden"
161 export FFLAGS+=" -DTIZEN_DEBUG_ENABLE"
164 rm -rf CMakeCache.txt
166 # This is for old profile-based OBS project optimizations.
167 # In 4.0 unified build env, this if statement is always true.
168 # Common is blocked because wearable has extra efl-ext entries, which will be
169 # removed for unified build env later.
170 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
171 mkdir -p build_wearable_rec
172 pushd build_wearable_rec
173 export CFLAGS="${CFLAGS_BASE} -D_WEARABLE";
174 export CXXFLAGS="${CXXFLAGS_BASE} -D_WEARABLE";
175 %cmake .. -DTARGET=wearable \
176 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
177 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
179 make %{?jobs:-j%jobs}
182 mkdir -p build_wearable_cir
183 pushd build_wearable_cir
184 export CFLAGS="${CFLAGS_BASE} -D_WEARABLE -D_CIRCLE";
185 export CXXFLAGS="${CXXFLAGS_BASE} -D_WEARABLE -D_CIRCLE";
186 %cmake .. -DTARGET=wearable \
187 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
188 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
190 make %{?jobs:-j%jobs}
195 # This is for old profile-based OBS project optimizations.
196 # In 4.0 unified build env, this if statement is always true.
197 %if "%{?profile}" != "tv" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
198 mkdir -p build_mobile
200 export CFLAGS="${CFLAGS_BASE} -D_MOBILE";
201 export CXXFLAGS="${CXXFLAGS_BASE} -D_MOBILE";
202 %cmake .. -DTARGET=mobile \
203 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
204 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \
207 make %{?jobs:-j%jobs}
211 # This is for old profile-based OBS project optimizations.
212 # In 4.0 unified build env, this if statement is always true.
213 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
216 export CFLAGS="${CFLAGS_BASE} -D_TV";
217 export CXXFLAGS="${CXXFLAGS_BASE} -D_TV";
218 %cmake .. -DTARGET=tv \
219 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
220 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
222 make %{?jobs:-j%jobs}
226 # This is for old profile-based OBS project optimizations.
227 # In 4.0 unified build env, this if statement is always true.
228 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common"
231 export CFLAGS="${CFLAGS_BASE} -D_IVI";
232 export CXXFLAGS="${CXXFLAGS_BASE} -D_IVI";
233 %cmake .. -DTARGET=ivi \
234 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
235 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
237 make %{?jobs:-j%jobs}
241 # This is for old profile-based OBS project optimizations.
242 # In 4.0 unified build env, this if statement is always true.
243 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
244 export CFLAGS="${CFLAGS_BASE}";
245 export CXXFLAGS="${CXXFLAGS_BASE}";
246 %cmake . -DTARGET=common \
247 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
248 -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
250 make %{?jobs:-j%jobs}
259 # This is for old profile-based OBS project optimizations.
260 # In 4.0 unified build env, this if statement is always true.
261 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
263 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/common
264 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
268 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../common/res/; fi; done
273 # This is for old profile-based OBS project optimizations.
274 # In 4.0 unified build env, this if statement is always true.
275 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
279 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/mobile
280 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
284 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../mobile/res/; fi; done
289 # This is for old profile-based OBS project optimizations.
290 # In 4.0 unified build env, this if statement is always true.
291 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
295 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/tv
296 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
300 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../tv/res/; fi; done
305 # This is for old profile-based OBS project optimizations.
306 # In 4.0 unified build env, this if statement is always true.
307 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common"
311 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/ivi
312 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
316 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../ivi/res/; fi; done
321 # This is for old profile-based OBS project optimizations.
322 # In 4.0 unified build env, this if statement is always true.
323 # Common is blocked because wearable has extra efl-ext entries, which will be
324 # removed for unified build env later.
325 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
326 pushd build_wearable_cir
329 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable-circle
330 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
331 mv bin wearable-circle/
332 mkdir -p wearable-circle/res
334 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../wearable-circle/res/; fi; done
338 pushd build_wearable_rec
341 mkdir -p %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable-rectangle
342 pushd %{buildroot}%{TZ_SYS_RO_APP}/org.tizen.inputdelegator/
343 mv bin wearable-rectangle/
344 mkdir -p wearable-rectangle/res
346 for FILE in *; do if [[ $FILE =~ ^locale$ ]]; then echo skip commonly used "${FILE}"; else mv "${FILE}" ../wearable-rectangle/res/; fi; done
351 %find_lang inputdelegator
353 %files -f inputdelegator.lang
354 %manifest %{name}.manifest
355 %defattr(-,root,root,-)
356 %{TZ_SYS_RO_PACKAGES}/%{name}.xml
359 # This is for old profile-based OBS project optimizations.
360 # In 4.0 unified build env, this if statement is always true.
361 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi"
363 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/common/
366 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
367 if [ "$1" = "2" ]; then
370 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
373 for FILE in bin/*; do ln -sf "../common/${FILE}" ../bin; done
374 for FILE in res/*; do ln -sf "../common/${FILE}" ../res; done
376 %preun profile_common
377 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
378 if [ "$1" = "0" ]; then
379 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
382 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
386 %files profile_common
387 %manifest %{name}.manifest
388 %defattr(-,root,root,-)
389 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/common/*
393 # This is for old profile-based OBS project optimizations.
394 # In 4.0 unified build env, this if statement is always true.
395 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
397 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/mobile/
400 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
401 if [ "$1" = "2" ]; then
404 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
407 for FILE in bin/*; do ln -sf "../mobile/${FILE}" ../bin; done
408 for FILE in res/*; do ln -sf "../mobile/${FILE}" ../res; done
410 %preun profile_mobile
411 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
412 if [ "$1" = "0" ]; then
413 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
416 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
420 %files profile_mobile
421 %manifest %{name}.manifest
422 %defattr(-,root,root,-)
423 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/mobile/*
427 # This is for old profile-based OBS project optimizations.
428 # In 4.0 unified build env, this if statement is always true.
429 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
431 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/tv/
434 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
435 if [ "$1" = "2" ]; then
438 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
441 for FILE in bin/*; do ln -sf "../tv/${FILE}" ../bin; done
442 for FILE in res/*; do ln -sf "../tv/${FILE}" ../res; done
445 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
446 if [ "$1" = "0" ]; then
447 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
450 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
455 %manifest %{name}.manifest
456 %defattr(-,root,root,-)
457 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/tv/*
461 # This is for old profile-based OBS project optimizations.
462 # In 4.0 unified build env, this if statement is always true.
463 %if "%{?profile}" != "mobile" && "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common"
465 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/ivi/
468 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
469 if [ "$1" = "2" ]; then
472 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
475 for FILE in bin/*; do ln -sf "../ivi/${FILE}" ../bin; done
476 for FILE in res/*; do ln -sf "../ivi/${FILE}" ../res; done
479 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
480 if [ "$1" = "0" ]; then
481 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
484 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
489 %manifest %{name}.manifest
490 %defattr(-,root,root,-)
491 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/ivi/*
495 # This is for old profile-based OBS project optimizations.
496 # In 4.0 unified build env, this if statement is always true.
497 # Common is blocked because wearable has extra efl-ext entries, which will be
498 # removed for unified build env later.
499 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "ivi"
500 %files profile_wearable
502 %post profile_wearable-extension-circle
503 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable-circle/
506 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
507 if [ "$1" = "2" ]; then
510 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
513 for FILE in bin/*; do ln -sf "../wearable-circle/${FILE}" ../bin; done
514 for FILE in res/*; do ln -sf "../wearable-circle/${FILE}" ../res; done
516 %preun profile_wearable-extension-circle
517 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
518 if [ "$1" = "0" ]; then
519 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
522 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
526 %files profile_wearable-extension-circle
527 %manifest %{name}.manifest
528 %defattr(-,root,root,-)
529 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable-circle/*
532 %post profile_wearable-extension-rectangle
533 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable-rectangle/
536 # If we are upgrading this package, remove existing files before copying (1:install / 2:upgrade)
537 if [ "$1" = "2" ]; then
540 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
543 for FILE in bin/*; do ln -sf "../wearable-rectangle/${FILE}" ../bin; done
544 for FILE in res/*; do ln -sf "../wearable-rectangle/${FILE}" ../res; done
546 %preun profile_wearable-extension-rectangle
547 # Perform file removal only when uninstalling (0:uninstall / 1:upgrade)
548 if [ "$1" = "0" ]; then
549 pushd %{TZ_SYS_RO_APP}/org.tizen.inputdelegator
552 for FILE in *; do if [[ $FILE =~ locale$ ]]; then echo skip "${FILE}"; else rm -Rf "${FILE}"; fi; done
556 %files profile_wearable-extension-rectangle
557 %manifest %{name}.manifest
558 %defattr(-,root,root,-)
559 %{TZ_SYS_RO_APP}/org.tizen.inputdelegator/wearable-rectangle/*