Add blink feature for daemon processes
[platform/core/appfw/aul-1.git] / packaging / aul.spec
1 Name:       aul
2 Summary:    App utility library
3 Version:    0.63.6
4 Release:    1
5 Group:      Application Framework/Libraries
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 Source1002: %{name}-server.manifest
10 Source1003: %{name}-exec-checker-plugin.manifest
11 Source1004: %{name}-rsc-mgr.manifest
12
13 Requires(post):   /sbin/ldconfig
14 Requires(post):   /usr/bin/systemctl
15 Requires(postun): /sbin/ldconfig
16 Requires(postun): /usr/bin/systemctl
17 Requires(preun):  /usr/bin/systemctl
18 Requires:   tizen-platform-config
19
20 BuildRequires:  cmake
21 BuildRequires:  libattr-devel
22 BuildRequires:  pkgconfig(bundle)
23 BuildRequires:  pkgconfig(capi-system-info)
24 BuildRequires:  pkgconfig(capi-system-resource)
25 BuildRequires:  pkgconfig(dlog)
26 BuildRequires:  pkgconfig(gio-2.0)
27 BuildRequires:  pkgconfig(glib-2.0)
28 BuildRequires:  pkgconfig(gmock)
29 BuildRequires:  pkgconfig(libsmack)
30 BuildRequires:  pkgconfig(libtzplatform-config)
31 BuildRequires:  pkgconfig(libxml-2.0)
32 BuildRequires:  pkgconfig(parcel)
33 BuildRequires:  pkgconfig(pkgmgr-info)
34 BuildRequires:  pkgconfig(sqlite3)
35 BuildRequires:  pkgconfig(ttrace)
36 BuildRequires:  pkgconfig(uuid)
37 BuildRequires:  pkgconfig(vconf)
38 BuildRequires:  xdgmime-devel, pkgconfig(xdgmime)
39
40 Requires: libstorage
41
42 %if 0%{?gcov:1}
43 BuildRequires:  lcov
44 %endif
45
46 Recommends: amd
47 Recommends: amd-mod-component-manager
48 Recommends: amd-mod-watchdog
49
50 %description
51 Application utility library
52
53 %package devel
54 Summary:    App utility library (devel)
55 Group:      Development/Libraries
56 Requires:   %{name} = %{version}-%{release}
57
58 %description devel
59 Application utility library (devel)
60
61 %package exec-checker-plugin
62 Summary:    App binary executable cheker
63 Group:      Development/Libraries
64 Requires:   %{name} = %{version}-%{release}
65
66 %description exec-checker-plugin
67 Application utility library (exec checker)
68
69 %package test
70 Summary:    App utility test tools
71 Group:      Development/Libraries
72 Requires:   %{name} = %{version}-%{release}
73
74 %description test
75 Application utility library (test tools)
76
77 #################################################
78 # aul-gcov
79 #################################################
80 %if 0%{?gcov:1}
81 %package gcov
82 Summary:    AUL (gcov)
83 Group:      Application Framework/Testing
84
85 %description gcov
86 AUL gcov objects
87 %endif
88
89 #################################################
90 # aul-server
91 #################################################
92 %package server
93 Summary:    Application Utility Library (Server)
94 Group:      Development/Libraries
95
96 %description server
97 Application Utility Library (Server)
98
99 %package server-devel
100 Summary:    Application Utility Library (Server)
101 Group:      Development/Libraries
102 Requires:   %{name}-server = %{version}-%{release}
103
104 %description server-devel
105 Application Utility Library (devel)
106
107 #################################################
108 # aul-rsc-mgr
109 #################################################
110 %package rsc-mgr
111 Summary:    Application Utility Library (Resource Manager)
112 Group:      Development/Libraries
113
114 %description rsc-mgr
115 Application Utility Library (Resource Manager)
116
117 %package rsc-mgr-devel
118 Summary:    Application Utility Library (Resource Manager)
119 Group:      Development/Libraries
120 Requires:   %{name}-rsc-mgr = %{version}-%{release}
121
122 %description rsc-mgr-devel
123 Application Utility Library (devel)
124
125 %package unittests
126 Summary:    %{name} unittests binary
127
128 %description unittests
129 unittests binary
130
131 %if "%{?_prelink_enable}" == "y"
132 %define tizen_feature_prelink 1
133 %else
134 %define tizen_feature_prelink 0
135 %endif
136
137 %define _aulresdir /opt/usr/home/owner/share/aul/res
138 %define appsvc_db_version 2
139 %define component_db_version 1
140
141 %prep
142 %setup -q
143 sed -i 's|TZ_SYS_DB|%{TZ_SYS_DB}|g' %{SOURCE1001}
144 cp %{SOURCE1001} .
145 cp %{SOURCE1002} .
146 cp %{SOURCE1003} .
147 cp %{SOURCE1004} .
148
149 %build
150 %if 0%{?gcov:1}
151 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
152 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
153 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
154 export LDFLAGS+=" -lgcov"
155 %endif
156
157 %if 0%{?simulator}
158 CFLAGS="%{optflags} -D__emul__"; export CFLAGS
159 %endif
160
161 %if 0%{?tizen_feature_prelink}
162 _TIZEN_FEATURE_PRELINK=ON
163 %endif
164
165 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
166 %cmake -DFULLVER=%{version} \
167         -DMAJORVER=${MAJORVER} \
168         -D_TIZEN_FEATURE_PRELINK:BOOL=${_TIZEN_FEATURE_PRELINK} \
169         -DAUL_RES_DIR=%{_aulresdir} \
170         -DAPPSVC_DB_VERSION=%{appsvc_db_version} \
171         -DCOMPONENT_DB_VERSION=%{component_db_version} \
172         .
173
174 %__make %{?_smp_mflags}
175
176 sqlite3 .appsvc.db < ./data/appsvc_db.sql
177 sqlite3 .component.db < ./src/parser/component/data/component_db.sql
178
179 %check
180 export LD_LIBRARY_PATH="../../src/aul"
181 ctest -V
182
183 %if 0%{?gcov:1}
184 lcov -c --ignore-errors mismatch,graph,unused --no-external -b . -d . -o %{name}.info
185 genhtml %{name}.info -o out --legend --show-details
186 %endif
187
188 %install
189 rm -rf %{buildroot}
190 %make_install
191
192 mkdir -p %{buildroot}%{TZ_SYS_DB}
193 install -m 0644 .appsvc.db %{buildroot}%{TZ_SYS_DB}
194 install -m 0644 .appsvc.db-journal %{buildroot}%{TZ_SYS_DB}
195 install -m 0644 .component.db %{buildroot}%{TZ_SYS_DB}
196 install -m 0644 .component.db-journal %{buildroot}%{TZ_SYS_DB}
197
198 mkdir -p %{buildroot}%{_sysconfdir}/gumd/useradd.d
199 cp -f scripts/12_appsvc-add.post %{buildroot}%{_sysconfdir}/gumd/useradd.d/12_appsvc-add.post
200
201 %if 0%{?gcov:1}
202 builddir=$(basename $PWD)
203 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
204 mkdir -p "$gcno_obj_dir"
205 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
206 %endif
207
208 cat << EOF > run-unittest.sh
209 #!/bin/sh
210 setup() {
211     echo "setup start"
212     %{_aulresdir}/tpk/install.sh
213 }
214
215 test_main() {
216     echo "test_main start"
217     /usr/bin/aul-unit-tests
218     /usr/bin/app-control-tests
219 }
220
221 teardown() {
222     echo "teardown start"
223 }
224
225 main() {
226     setup
227     test_main
228     teardown
229 }
230
231 main "\$*"
232 EOF
233
234 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
235 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
236
237 %preun
238
239 %post
240 /sbin/ldconfig
241
242 chmod 666 %{TZ_SYS_DB}/.appsvc.db
243 chmod 666 %{TZ_SYS_DB}/.appsvc.db-journal
244 chsmack -a 'User::Home' %{TZ_SYS_DB}/.appsvc.db
245 chsmack -a 'User::Home' %{TZ_SYS_DB}/.appsvc.db-journal
246 chmod 666 %{TZ_SYS_DB}/.component.db
247 chmod 666 %{TZ_SYS_DB}/.component.db-journal
248 chsmack -a 'User::Home' %{TZ_SYS_DB}/.component.db
249 chsmack -a 'User::Home' %{TZ_SYS_DB}/.component.db-journal
250
251 %postun
252 /sbin/ldconfig
253
254 %post test
255 %if 0%{?gcov:1}
256 %{_bindir}/aul-unit-tests
257 %endif
258
259 %postun server
260 /sbin/ldconfig
261
262 %post server
263 /sbin/ldconfig
264
265 %postun rsc-mgr
266 /sbin/ldconfig
267
268 %post rsc-mgr
269 /sbin/ldconfig
270
271 %files
272 %license LICENSE
273 %manifest %{name}.manifest
274 %attr(0644,root,root) %{_libdir}/libaul.so.*
275 %attr(0644,root,root) %{_libdir}/libaul-blink.so
276 %config %{_sysconfdir}/dbus-1/system.d/aul.conf
277 %{_bindir}/aulctl
278 %{_bindir}/aul_test
279 %{_bindir}/app_launcher
280 %{_bindir}/appgroup_info
281 %{_bindir}/app_com_tool
282 %{_bindir}/launch_app
283 %{_bindir}/appid2pid
284 %{_bindir}/launch_debug
285 %{_bindir}/compmgr_tool
286 %{_bindir}/appsvc-db-recovery
287 %{_bindir}/component-db-recovery
288 %{_bindir}/aul_window
289 %{_datadir}/aul/miregex/*
290 %{_datadir}/aul/preexec_list.txt
291 %{_datadir}/parser-plugins/component.info
292 %{_datadir}/parser-plugins/alias-appid.info
293 %{_datadir}/parser-plugins/allowed-appid.info
294 %{_datadir}/parser-plugins/boot-sequencer.info
295 %{TZ_SYS_DB}/.appsvc.db*
296 %{TZ_SYS_DB}/.component.db*
297 %{_sysconfdir}/package-manager/parserlib/metadata/*.so
298 %{_sysconfdir}/package-manager/parserlib/libcomponent-based-application.so
299 %{_sysconfdir}/package-manager/parserlib/libboot-sequencer.so
300
301 %attr(0755,root,root) %{_sysconfdir}/gumd/useradd.d/*
302 %attr(0755,root,root) %{_datadir}/upgrade/scripts/501.component_upgrade.sh
303 %attr(0755,root,root) %{_datadir}/upgrade/scripts/501.appsvc_db_upgrade.sh
304 %attr(0755,root,root) %{_sysconfdir}/aul/upgrade/scripts/*
305 %attr(0755,root,root) %{_sysconfdir}/aul/component/upgrade/scripts/*
306
307 %files exec-checker-plugin
308 %manifest %{name}-exec-checker-plugin.manifest
309 %{_datadir}/parser-plugins/exec-checker.info
310 %{_sysconfdir}/package-manager/parserlib/libexec-checker.so*
311
312 %files test
313 %{_bindir}/open_app
314
315 %files devel
316 %{_includedir}/aul/*.h
317 %{_includedir}/aul/api/*.h
318 %{_libdir}/libaul.so
319 %{_libdir}/pkgconfig/aul.pc
320
321 #################################################
322 # aul-gcov
323 #################################################
324 %if 0%{?gcov:1}
325 %files gcov
326 %{_datadir}/gcov/*
327 %endif
328
329 %files server
330 %manifest %{name}-server.manifest
331 %attr(0644,root,root) %{_libdir}/libaul-server.so.*
332
333 %files server-devel
334 %{_includedir}/aul/server/*.h
335 %{_libdir}/libaul-server.so
336 %{_libdir}/pkgconfig/aul-server.pc
337
338 %files rsc-mgr
339 %manifest %{name}-rsc-mgr.manifest
340 %attr(0644,root,root) %{_libdir}/libaul-rsc-mgr.so.*
341 %{_datadir}/aul/res.xsd
342
343 %files rsc-mgr-devel
344 %{_includedir}/aul/rsc-mgr/*.h
345 %{_libdir}/libaul-rsc-mgr.so
346 %{_libdir}/pkgconfig/aul-rsc-mgr.pc
347
348 %files unittests
349 %attr(0755,root,root) %{_bindir}/aul-unit-tests
350 %attr(0755,root,root) %{_bindir}/app-control-tests
351 %attr(0755,root,root) %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
352 %attr(0755,root,root) %{_aulresdir}/*