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