Update version to 1.70.7
[platform/core/uifw/voice-control.git] / packaging / voice-control.spec
1 Name:       voice-control
2 Summary:    Voice control client library and daemon
3 Version:    1.70.7
4 Release:    1
5 Group:      Graphics & UI Framework/Voice Framework
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 Source1002: %{name}-devel.manifest
10 Requires(post): /sbin/ldconfig
11 Requires(postun): /sbin/ldconfig
12 Requires:  gawk
13 BuildRequires:  pkgconfig(aul)
14 BuildRequires:  pkgconfig(capi-appfw-app-control)
15 BuildRequires:  pkgconfig(buxton2)
16 BuildRequires:  pkgconfig(capi-appfw-app-manager)
17 BuildRequires:  pkgconfig(capi-base-common)
18 BuildRequires:  pkgconfig(capi-media-audio-io)
19 BuildRequires:  pkgconfig(capi-media-sound-manager)
20 BuildRequires:  pkgconfig(capi-system-info)
21 BuildRequires:  pkgconfig(cynara-client)
22 BuildRequires:  pkgconfig(cynara-session)
23 BuildRequires:  pkgconfig(db-util)
24 BuildRequires:  pkgconfig(dlog)
25 BuildRequires:  pkgconfig(ecore)
26 BuildRequires:  pkgconfig(ecore-wl2)
27 BuildRequires:  pkgconfig(glib-2.0)
28 BuildRequires:  pkgconfig(json-glib-1.0)
29 BuildRequires:  pkgconfig(libgum)
30 BuildRequires:  pkgconfig(libtzplatform-config)
31 BuildRequires:  pkgconfig(libxml-2.0)
32 BuildRequires:  pkgconfig(sqlite3)
33 BuildRequires:  pkgconfig(pkgmgr-info)
34 BuildRequires:  pkgconfig(pkgmgr-installer)
35 BuildRequires:  pkgconfig(vconf)
36 BuildRequires:  pkgconfig(gmock)
37 BuildRequires:  pkgconfig(rpc-port)
38 BuildRequires:  pkgconfig(bundle)
39
40 BuildRequires:  cmake
41 BuildRequires:  tidl
42
43 %if 0%{?gcov:1}
44 BuildRequires:  lcov
45 BuildRequires:  zip
46 %endif
47
48 %description
49 Voice Control client library and daemon
50
51
52 %package devel
53 Summary:    Voice control header files for VC development
54 Group:      libdevel
55 Requires:   %{name} = %{version}-%{release}
56
57 %description devel
58 Voice control header files for VC development.
59
60
61 %package widget-devel
62 Summary:    Voice control widget header files for VC development
63 Group:      libdevel
64 Requires:   %{name} = %{version}-%{release}
65
66 %description widget-devel
67 Voice control widget header files for VC development.
68
69
70 %package manager-devel
71 Summary:    Voice control manager header files for VC development
72 Group:      libdevel
73 Requires:   %{name} = %{version}-%{release}
74
75 %description manager-devel
76 Voice control manager header files for VC development.
77
78
79 %package setting-devel
80 Summary:    Voice control setting header files for VC development
81 Group:      libdevel
82 Requires:   %{name} = %{version}-%{release}
83
84 %description setting-devel
85 Voice control setting header files for VC development.
86
87
88 %package engine-devel
89 Summary:    Voice control engine header files for VC development
90 Group:      libdevel
91 Requires:   %{name} = %{version}-%{release}
92
93 %description engine-devel
94 Voice control engine header files for VC development.
95
96 %if 0%{?gcov:1}
97 %package gcov
98 Summary:        Voice control (gcov)
99 Group:          Graphics & UI Framework/Voice Framework
100 %description gcov
101 Voice control gcov objects
102 %endif
103
104 %package unittests
105 Summary:    Voice control tests
106 Group:      Development/Libraries
107 Requires:   %{name} = %{version}-%{release}
108
109 %description unittests
110 GTest for Voice Control
111
112
113 %prep
114 %setup -q -n %{name}-%{version}
115 cp %{SOURCE1001} %{SOURCE1002} .
116
117 tidlc -p -l C -i tidl/vc.tidl -o vc_proxy -n
118 tidlc -s -l C -i tidl/vc.tidl -o vcd_stub -n
119
120 tidlc -p -l C -i tidl/vc_setting.tidl -o vc_setting_proxy -n
121 tidlc -s -l C -i tidl/vc_setting.tidl -o vcd_setting_stub -n
122
123 tidlc -p -l C -i tidl/vc_mgr.tidl -o vc_mgr_proxy -n
124 tidlc -s -l C -i tidl/vc_mgr.tidl -o vcd_mgr_stub -n
125 tidlc -s -l C -i tidl/vcd_mgr.tidl -o vc_mgr_stub -n
126 tidlc -p -l C -i tidl/vcd_mgr.tidl -o vcd_mgr_proxy -n
127
128 tidlc -p -l C -i tidl/vc_widget.tidl -o vc_widget_proxy -n
129 tidlc -s -l C -i tidl/vc_widget.tidl -o vcd_widget_stub -n
130 tidlc -s -l C -i tidl/vcd_widget.tidl -o vc_widget_stub -n
131 tidlc -p -l C -i tidl/vcd_widget.tidl -o vcd_widget_proxy -n
132
133 mv vc_* client
134 mv vcd_* server
135
136 %build
137 %if 0%{?gcov:1}
138 export CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
139 export CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
140 export FFLAGS="$FFLAGS -fprofile-arcs -ftest-coverage"
141 export LDFLAGS="$LDFLAGS -lgcov"
142 %endif
143
144 %if "%{tizen_profile_name}" == "tv"
145 export CFLAGS="$CFLAGS -DTV_PRODUCT"
146 cmake . -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
147         -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -D_TV_PRODUCT=TRUE -DTZ_SYS_BIN=%TZ_SYS_BIN -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP
148 %else
149 cmake . -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
150         -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP
151 make %{?jobs:-j%jobs}
152 %endif
153
154 %install
155 rm -rf %{buildroot}
156
157 %make_install
158
159 %if 0%{?gcov:1}
160 builddir=$(basename $PWD)
161 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
162 mkdir -p "$gcno_obj_dir"
163 find ./server/ -name '*.gcno' -exec rm {} \;
164 find ./audio-manager/ -name '*.gcno' -exec rm {} \;
165 find ./tests/ -name '*.gcno' -exec rm {} \;
166 find ./engine-parser/ -name '*.gcno' -exec rm {} \;
167 find . -name '*_client.c.gcno' -exec rm {} \;
168 find . -name '*_dbus.c.gcno' -exec rm {} \;
169 find . -name '*_cmd_db.c.gcno' -exec rm {} \;
170 find . -name '*_command*.gcno' -exec rm {} \;
171 find . -name '*_config_*.gcno' -exec rm {} \;
172 find . -name '*_parser.c.gcno' -exec rm {} \;
173 find . -name '*_data*.gcno' -exec rm {} \;
174 find . -name 'vc_mgr*.gcno' -exec rm {} \;
175 find . -name 'vc_setting*.gcno' -exec rm {} \;
176 find . -name 'vc_widget*.gcno' -exec rm {} \;
177 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
178 %endif
179
180 cat << EOF > run-unittest.sh
181 #!/bin/sh
182 setup() {
183     echo "setup start"
184     touch /opt/share/askuser_disable
185     mount -o remount,rw /
186     tpk-backend --preload -y org.tizen.vc-unittests
187 }
188
189 test_main() {
190     echo "test_main start"
191     launch_app org.tizen.vc-unittests __AUL_SDK__ UNIT_TEST __LAUNCH_APP_MODE__ SYNC
192 }
193
194 teardown() {
195     echo "teardown start"
196 }
197
198 main() {
199     setup
200     test_main
201     teardown
202 }
203
204 main "\$*"
205 EOF
206
207 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
208 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}
209
210 %post
211 /sbin/ldconfig
212
213 mkdir -p %{_libdir}/voice/vc
214
215 %postun -p /sbin/ldconfig
216
217 %files
218 %license LICENSE
219 %manifest %{name}.manifest
220 %defattr(-,root,root,-)
221 %{_libdir}/libvc.so
222 %{_libdir}/libvc_setting.so
223 %{_libdir}/libvc_widget.so
224 %{_libdir}/libvc_manager.so
225 %{_libdir}/libvc_engine.so
226 %{_bindir}/vc_getengine
227 %{TZ_SYS_RO_SHARE}/voice/vc/1.0/vc-config.xml
228 %{TZ_SYS_RO_SHARE}/voice/vc/1.0/dependency-audio-manager/libvc-audio-manager.so
229 %{TZ_SYS_RO_SHARE}/parser-plugins/voice-control.info
230 %{TZ_SYS_RO_ETC}/package-manager/parserlib/metadata/libvc-engine-parser.so*
231
232 %files devel
233 %manifest %{name}-devel.manifest
234 %defattr(-,root,root,-)
235 %{_libdir}/pkgconfig/voice-control.pc
236 %{_includedir}/voice_control.h
237 %{_includedir}/voice_control_internal.h
238 %{_includedir}/voice_control_authority.h
239 %{_includedir}/voice_control_command.h
240 %{_includedir}/voice_control_common.h
241 %{_includedir}/voice_control_key_defines.h
242 %{_includedir}/voice_control_command_expand.h
243
244 %files widget-devel
245 %defattr(-,root,root,-)
246 %{_libdir}/pkgconfig/voice-control-widget.pc
247 %{_includedir}/voice_control_widget.h
248 %{_includedir}/voice_control_command.h
249 %{_includedir}/voice_control_common.h
250 %{_includedir}/voice_control_key_defines.h
251 %{_includedir}/voice_control_command_expand.h
252 %{_includedir}/voice_control_internal.h
253
254 %files manager-devel
255 %defattr(-,root,root,-)
256 %{_libdir}/pkgconfig/voice-control-manager.pc
257 %{_includedir}/voice_control_manager.h
258 %{_includedir}/voice_control_manager_internal.h
259 %{_includedir}/voice_control_command.h
260 %{_includedir}/voice_control_common.h
261 %{_includedir}/voice_control_key_defines.h
262 %{_includedir}/voice_control_command_expand.h
263
264 %files setting-devel
265 %defattr(-,root,root,-)
266 %{_libdir}/pkgconfig/voice-control-setting.pc
267 %{_includedir}/voice_control_setting.h
268
269 %files engine-devel
270 %defattr(-,root,root,-)
271 %{_libdir}/pkgconfig/voice-control-engine.pc
272 %{_includedir}/vce.h
273 %{_includedir}/vce_internal.h
274
275 %if 0%{?gcov:1}
276 %files gcov
277 %{_datadir}/gcov/obj/*
278 %endif
279
280 %files unittests
281 %manifest tests/org.tizen.vc-unittests.manifest
282 %defattr(-,root,root,-)
283 %{TZ_SYS_RO_PACKAGES}/org.tizen.vc-unittests.xml
284 %{TZ_SYS_RO_APP}/org.tizen.vc-unittests/bin/vc-unittests
285 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh