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