Separate the exec-checker plugin to rpm package
[platform/core/appfw/aul-1.git] / packaging / aul.spec
1 Name:       aul
2 Summary:    App utility library
3 Version:    0.39.3
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:  pkgconfig(gio-2.0)
21 BuildRequires:  pkgconfig(glib-2.0)
22 BuildRequires:  pkgconfig(bundle)
23 BuildRequires:  pkgconfig(dlog)
24 BuildRequires:  xdgmime-devel, pkgconfig(xdgmime)
25 BuildRequires:  pkgconfig(vconf)
26 BuildRequires:  pkgconfig(pkgmgr-info)
27 BuildRequires:  libattr-devel
28 BuildRequires:  pkgconfig(libtzplatform-config)
29 BuildRequires:  pkgconfig(capi-system-info)
30 BuildRequires:  pkgconfig(iniparser)
31 BuildRequires:  pkgconfig(sqlite3)
32 BuildRequires:  pkgconfig(storage)
33 BuildRequires:  pkgconfig(ttrace)
34 BuildRequires:  pkgconfig(pkgmgr-installer)
35 BuildRequires:  pkgconfig(libxml-2.0)
36 BuildRequires:  pkgconfig(uuid)
37 BuildRequires:  pkgconfig(libsmack)
38 BuildRequires:  pkgconfig(gmock)
39 BuildRequires:  pkgconfig(parcel)
40 BuildRequires:  pkgconfig(libelf)
41
42 %if 0%{?gcov:1}
43 BuildRequires:  lcov
44 BuildRequires:  zip
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 %if "%{?_prelink_enable}" == "y"
109 %define tizen_feature_prelink 1
110 %else
111 %define tizen_feature_prelink 0
112 %endif
113
114 %define _aulresdir /opt/usr/home/owner/share/aul/res
115
116 %prep
117 %setup -q
118 sed -i 's|TZ_SYS_DB|%{TZ_SYS_DB}|g' %{SOURCE1001}
119 cp %{SOURCE1001} .
120 cp %{SOURCE1002} .
121 cp %{SOURCE1003} .
122
123 %build
124 %if 0%{?gcov:1}
125 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
126 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
127 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
128 export LDFLAGS+=" -lgcov"
129 %endif
130
131 %if 0%{?simulator}
132 CFLAGS="%{optflags} -D__emul__"; export CFLAGS
133 %endif
134
135 %if 0%{?tizen_feature_prelink}
136 _TIZEN_FEATURE_PRELINK=ON
137 %endif
138
139 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
140 %cmake -DFULLVER=%{version} \
141         -DMAJORVER=${MAJORVER} \
142         -D_TIZEN_FEATURE_PRELINK:BOOL=${_TIZEN_FEATURE_PRELINK} \
143         -DAUL_RES_DIR=%{_aulresdir} \
144         .
145
146 %__make %{?_smp_mflags}
147
148 sqlite3 .appsvc.db < ./data/appsvc_db.sql
149 sqlite3 .component.db < ./parser/component/data/component_db.sql
150
151 %if 0%{?gcov:1}
152 mkdir -p gcov-obj
153 find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
154 %endif
155
156 %check
157 export LD_LIBRARY_PATH="../../"
158 ctest -V
159 %if 0%{?gcov:1}
160 lcov -c --ignore-errors graph --no-external -q -d . -o %{name}.info
161 genhtml %{name}.info -o %{name}.out
162 zip -r %{name}.zip %{name}.out %{name}.info
163 install -m 0644 %{name}.zip %{buildroot}%{_datadir}/gcov/
164 %endif
165
166 %install
167 rm -rf %{buildroot}
168 %make_install
169
170 mkdir -p %{buildroot}%{TZ_SYS_DB}
171 install -m 0644 .appsvc.db %{buildroot}%{TZ_SYS_DB}
172 install -m 0644 .appsvc.db-journal %{buildroot}%{TZ_SYS_DB}
173 install -m 0644 .component.db %{buildroot}%{TZ_SYS_DB}
174 install -m 0644 .component.db-journal %{buildroot}%{TZ_SYS_DB}
175
176 mkdir -p %{buildroot}%{_datadir}/appsvc
177 cp -R %{_builddir}/%{name}-%{version}/alias/* %{buildroot}%{_datadir}/appsvc
178
179 mkdir -p %{buildroot}%{_sysconfdir}/gumd/useradd.d
180 cp -f scripts/12_appsvc-add.post %{buildroot}%{_sysconfdir}/gumd/useradd.d/12_appsvc-add.post
181
182 %if 0%{?gcov:1}
183 mkdir -p %{buildroot}%{_datadir}/gcov/obj
184 install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
185 %endif
186
187 %preun
188
189 %post
190 /sbin/ldconfig
191
192 chmod 666 %{TZ_SYS_DB}/.appsvc.db
193 chmod 666 %{TZ_SYS_DB}/.appsvc.db-journal
194 chsmack -a 'User::Home' %{TZ_SYS_DB}/.appsvc.db
195 chsmack -a 'User::Home' %{TZ_SYS_DB}/.appsvc.db-journal
196 chmod 666 %{TZ_SYS_DB}/.component.db
197 chmod 666 %{TZ_SYS_DB}/.component.db-journal
198 chsmack -a 'User::Home' %{TZ_SYS_DB}/.component.db
199 chsmack -a 'User::Home' %{TZ_SYS_DB}/.component.db-journal
200
201 %postun
202 /sbin/ldconfig
203
204 %post test
205 %if 0%{?gcov:1}
206 %{_bindir}/aul-unit-tests
207 %endif
208 chmod +x %{_aulresdir}/tpk/install.sh
209 %{_aulresdir}/tpk/install.sh
210
211 %postun server
212 /sbin/ldconfig
213
214 %post server
215 /sbin/ldconfig
216
217 %files
218 %license LICENSE
219 %manifest %{name}.manifest
220 %attr(0644,root,root) %{_libdir}/libaul.so.*
221 %config %{_sysconfdir}/dbus-1/system.d/aul.conf
222 %{_bindir}/aul_test
223 %{_bindir}/app_launcher
224 %{_bindir}/appgroup_info
225 %{_bindir}/app_com_tool
226 %{_bindir}/launch_app
227 %{_bindir}/appid2pid
228 %{_bindir}/launch_debug
229 %{_bindir}/compmgr_tool
230 %{_bindir}/appsvc-db-recovery
231 %{_bindir}/component-db-recovery
232 %{_bindir}/aul_window
233 %{_datadir}/aul/miregex/*
234 %{_datadir}/aul/preexec_list.txt
235 %{_datadir}/appsvc/*
236 %{_datadir}/parser-plugins/component.info
237 %{_datadir}/parser-plugins/alias-appid.info
238 %{_datadir}/parser-plugins/allowed-appid.info
239 %{TZ_SYS_DB}/.appsvc.db*
240 %{TZ_SYS_DB}/.component.db*
241 %{_sysconfdir}/package-manager/parserlib/metadata/*.so
242 %{_sysconfdir}/package-manager/parserlib/libcomponent-based-application.so
243
244 %attr(0755,root,root) %{_sysconfdir}/gumd/useradd.d/*
245 %attr(0755,root,root) %{_datadir}/upgrade/scripts/501.component_upgrade.sh
246
247 %files exec-checker-plugin
248 %manifest %{name}-exec-checker-plugin.manifest
249 %{_datadir}/parser-plugins/exec-checker.info
250 %{_sysconfdir}/package-manager/parserlib/libexec-checker.so*
251
252 %files test
253 %{_bindir}/app-control-tests
254 %{_bindir}/aul-unit-tests
255 %{_bindir}/open_app
256 %{_aulresdir}/*
257
258 %files devel
259 %{_includedir}/aul/*.h
260 %{_includedir}/aul/api/*.h
261 %{_libdir}/libaul.so
262 %{_libdir}/pkgconfig/aul.pc
263
264 #################################################
265 # aul-gcov
266 #################################################
267 %if 0%{?gcov:1}
268 %files gcov
269 %{_datadir}/gcov/*
270 %endif
271
272 %files server
273 %manifest %{name}-server.manifest
274 %attr(0644,root,root) %{_libdir}/libaul-server.so.*
275
276 %files server-devel
277 %{_includedir}/aul/server/*.h
278 %{_libdir}/libaul-server.so
279 %{_libdir}/pkgconfig/aul-server.pc