Release version 0.60.20
[platform/core/appfw/aul-1.git] / packaging / aul.spec
1 Name:       aul
2 Summary:    App utility library
3 Version:    0.60.20
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
12 Requires(post):   /sbin/ldconfig
13 Requires(post):   /usr/bin/systemctl
14 Requires(postun): /sbin/ldconfig
15 Requires(postun): /usr/bin/systemctl
16 Requires(preun):  /usr/bin/systemctl
17 Requires:   tizen-platform-config
18
19 BuildRequires:  cmake
20 BuildRequires:  libattr-devel
21 BuildRequires:  pkgconfig(bundle)
22 BuildRequires:  pkgconfig(capi-system-info)
23 BuildRequires:  pkgconfig(capi-system-resource)
24 BuildRequires:  pkgconfig(dlog)
25 BuildRequires:  pkgconfig(gio-2.0)
26 BuildRequires:  pkgconfig(glib-2.0)
27 BuildRequires:  pkgconfig(gmock)
28 BuildRequires:  pkgconfig(iniparser)
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(pkgmgr-installer)
35 BuildRequires:  pkgconfig(sqlite3)
36 BuildRequires:  pkgconfig(storage)
37 BuildRequires:  pkgconfig(ttrace)
38 BuildRequires:  pkgconfig(uuid)
39 BuildRequires:  pkgconfig(vconf)
40 BuildRequires:  xdgmime-devel, pkgconfig(xdgmime)
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 %package unittests
108 Summary:    %{name} unittests binary
109
110 %description unittests
111 unittests binary
112
113 %if "%{?_prelink_enable}" == "y"
114 %define tizen_feature_prelink 1
115 %else
116 %define tizen_feature_prelink 0
117 %endif
118
119 %define _aulresdir /opt/usr/home/owner/share/aul/res
120 %define appsvc_db_version 2
121 %define component_db_version 1
122
123 %prep
124 %setup -q
125 sed -i 's|TZ_SYS_DB|%{TZ_SYS_DB}|g' %{SOURCE1001}
126 cp %{SOURCE1001} .
127 cp %{SOURCE1002} .
128 cp %{SOURCE1003} .
129
130 %build
131 %if 0%{?gcov:1}
132 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
133 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
134 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
135 export LDFLAGS+=" -lgcov"
136 %endif
137
138 %if 0%{?simulator}
139 CFLAGS="%{optflags} -D__emul__"; export CFLAGS
140 %endif
141
142 %if 0%{?tizen_feature_prelink}
143 _TIZEN_FEATURE_PRELINK=ON
144 %endif
145
146 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
147 %cmake -DFULLVER=%{version} \
148         -DMAJORVER=${MAJORVER} \
149         -D_TIZEN_FEATURE_PRELINK:BOOL=${_TIZEN_FEATURE_PRELINK} \
150         -DAUL_RES_DIR=%{_aulresdir} \
151         -DAPPSVC_DB_VERSION=%{appsvc_db_version} \
152         -DCOMPONENT_DB_VERSION=%{component_db_version} \
153         .
154
155 %__make %{?_smp_mflags}
156
157 sqlite3 .appsvc.db < ./data/appsvc_db.sql
158 sqlite3 .component.db < ./parser/component/data/component_db.sql
159
160 %check
161 export LD_LIBRARY_PATH="../../"
162 ctest -V
163
164 %if 0%{?gcov:1}
165 lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info
166 genhtml %{name}.info -o out --legend --show-details
167 %endif
168
169 %install
170 rm -rf %{buildroot}
171 %make_install
172
173 mkdir -p %{buildroot}%{TZ_SYS_DB}
174 install -m 0644 .appsvc.db %{buildroot}%{TZ_SYS_DB}
175 install -m 0644 .appsvc.db-journal %{buildroot}%{TZ_SYS_DB}
176 install -m 0644 .component.db %{buildroot}%{TZ_SYS_DB}
177 install -m 0644 .component.db-journal %{buildroot}%{TZ_SYS_DB}
178
179 mkdir -p %{buildroot}%{_datadir}/appsvc
180 cp -R %{_builddir}/%{name}-%{version}/alias/* %{buildroot}%{_datadir}/appsvc
181
182 mkdir -p %{buildroot}%{_sysconfdir}/gumd/useradd.d
183 cp -f scripts/12_appsvc-add.post %{buildroot}%{_sysconfdir}/gumd/useradd.d/12_appsvc-add.post
184
185 %if 0%{?gcov:1}
186 builddir=$(basename $PWD)
187 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
188 mkdir -p "$gcno_obj_dir"
189 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
190 %endif
191
192 cat << EOF > run-unittest.sh
193 #!/bin/sh
194 setup() {
195     echo "setup start"
196     %{_aulresdir}/tpk/install.sh
197 }
198
199 test_main() {
200     echo "test_main start"
201     /usr/bin/aul-unit-tests
202     /usr/bin/app-control-tests
203 }
204
205 teardown() {
206     echo "teardown start"
207 }
208
209 main() {
210     setup
211     test_main
212     teardown
213 }
214
215 main "\$*"
216 EOF
217
218 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
219 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
220
221 %preun
222
223 %post
224 /sbin/ldconfig
225
226 chmod 666 %{TZ_SYS_DB}/.appsvc.db
227 chmod 666 %{TZ_SYS_DB}/.appsvc.db-journal
228 chsmack -a 'User::Home' %{TZ_SYS_DB}/.appsvc.db
229 chsmack -a 'User::Home' %{TZ_SYS_DB}/.appsvc.db-journal
230 chmod 666 %{TZ_SYS_DB}/.component.db
231 chmod 666 %{TZ_SYS_DB}/.component.db-journal
232 chsmack -a 'User::Home' %{TZ_SYS_DB}/.component.db
233 chsmack -a 'User::Home' %{TZ_SYS_DB}/.component.db-journal
234
235 %postun
236 /sbin/ldconfig
237
238 %post test
239 %if 0%{?gcov:1}
240 %{_bindir}/aul-unit-tests
241 %endif
242
243 %postun server
244 /sbin/ldconfig
245
246 %post server
247 /sbin/ldconfig
248
249 %files
250 %license LICENSE
251 %manifest %{name}.manifest
252 %attr(0644,root,root) %{_libdir}/libaul.so.*
253 %config %{_sysconfdir}/dbus-1/system.d/aul.conf
254 %{_bindir}/aulctl
255 %{_bindir}/aul_test
256 %{_bindir}/app_launcher
257 %{_bindir}/appgroup_info
258 %{_bindir}/app_com_tool
259 %{_bindir}/launch_app
260 %{_bindir}/appid2pid
261 %{_bindir}/launch_debug
262 %{_bindir}/compmgr_tool
263 %{_bindir}/appsvc-db-recovery
264 %{_bindir}/component-db-recovery
265 %{_bindir}/aul_window
266 %{_datadir}/aul/miregex/*
267 %{_datadir}/aul/preexec_list.txt
268 %{_datadir}/appsvc/*
269 %{_datadir}/parser-plugins/component.info
270 %{_datadir}/parser-plugins/alias-appid.info
271 %{_datadir}/parser-plugins/allowed-appid.info
272 %{_datadir}/parser-plugins/boot-sequencer.info
273 %{TZ_SYS_DB}/.appsvc.db*
274 %{TZ_SYS_DB}/.component.db*
275 %{_sysconfdir}/package-manager/parserlib/metadata/*.so
276 %{_sysconfdir}/package-manager/parserlib/libcomponent-based-application.so
277 %{_sysconfdir}/package-manager/parserlib/libboot-sequencer.so
278
279 %attr(0755,root,root) %{_sysconfdir}/gumd/useradd.d/*
280 %attr(0755,root,root) %{_datadir}/upgrade/scripts/501.component_upgrade.sh
281 %attr(0755,root,root) %{_datadir}/upgrade/scripts/501.appsvc_db_upgrade.sh
282 %attr(0755,root,root) %{_sysconfdir}/aul/upgrade/scripts/*
283 %attr(0755,root,root) %{_sysconfdir}/aul/component/upgrade/scripts/*
284
285 %files exec-checker-plugin
286 %manifest %{name}-exec-checker-plugin.manifest
287 %{_datadir}/parser-plugins/exec-checker.info
288 %{_sysconfdir}/package-manager/parserlib/libexec-checker.so*
289
290 %files test
291 %{_bindir}/open_app
292
293 %files devel
294 %{_includedir}/aul/*.h
295 %{_includedir}/aul/api/*.h
296 %{_libdir}/libaul.so
297 %{_libdir}/pkgconfig/aul.pc
298
299 #################################################
300 # aul-gcov
301 #################################################
302 %if 0%{?gcov:1}
303 %files gcov
304 %{_datadir}/gcov/*
305 %endif
306
307 %files server
308 %manifest %{name}-server.manifest
309 %attr(0644,root,root) %{_libdir}/libaul-server.so.*
310
311 %files server-devel
312 %{_includedir}/aul/server/*.h
313 %{_libdir}/libaul-server.so
314 %{_libdir}/pkgconfig/aul-server.pc
315
316 %files unittests
317 %attr(0755,root,root) %{_bindir}/aul-unit-tests
318 %attr(0755,root,root) %{_bindir}/app-control-tests
319 %attr(0755,root,root) %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
320 %attr(0755,root,root) %{_aulresdir}/*