Release version 0.39.2
[platform/core/appfw/aul-1.git] / packaging / aul.spec
1 Name:       aul
2 Summary:    App utility library
3 Version:    0.39.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
11 Requires(post):   /sbin/ldconfig
12 Requires(post):   /usr/bin/systemctl
13 Requires(postun): /sbin/ldconfig
14 Requires(postun): /usr/bin/systemctl
15 Requires(preun):  /usr/bin/systemctl
16 Requires:   tizen-platform-config
17
18 BuildRequires:  cmake
19 BuildRequires:  pkgconfig(gio-2.0)
20 BuildRequires:  pkgconfig(glib-2.0)
21 BuildRequires:  pkgconfig(bundle)
22 BuildRequires:  pkgconfig(dlog)
23 BuildRequires:  xdgmime-devel, pkgconfig(xdgmime)
24 BuildRequires:  pkgconfig(vconf)
25 BuildRequires:  pkgconfig(pkgmgr-info)
26 BuildRequires:  libattr-devel
27 BuildRequires:  pkgconfig(libtzplatform-config)
28 BuildRequires:  pkgconfig(capi-system-info)
29 BuildRequires:  pkgconfig(iniparser)
30 BuildRequires:  pkgconfig(sqlite3)
31 BuildRequires:  pkgconfig(storage)
32 BuildRequires:  pkgconfig(ttrace)
33 BuildRequires:  pkgconfig(pkgmgr-installer)
34 BuildRequires:  pkgconfig(libxml-2.0)
35 BuildRequires:  pkgconfig(uuid)
36 BuildRequires:  pkgconfig(libsmack)
37 BuildRequires:  pkgconfig(gmock)
38 BuildRequires:  pkgconfig(parcel)
39 BuildRequires:  pkgconfig(libelf)
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 test
62 Summary:    App utility test tools
63 Group:      Development/Libraries
64 Requires:   %{name} = %{version}-%{release}
65
66 %description test
67 Application utility library (test tools)
68
69 #################################################
70 # aul-gcov
71 #################################################
72 %if 0%{?gcov:1}
73 %package gcov
74 Summary:    AUL (gcov)
75 Group:      Application Framework/Testing
76
77 %description gcov
78 AUL gcov objects
79 %endif
80
81 #################################################
82 # aul-server
83 #################################################
84 %package server
85 Summary:    Application Utility Library (Server)
86 Group:      Development/Libraries
87
88 %description server
89 Application Utility Library (Server)
90
91 %package server-devel
92 Summary:    Application Utility Library (Server)
93 Group:      Development/Libraries
94 Requires:   %{name}-server = %{version}-%{release}
95
96 %description server-devel
97 Application Utility Library (devel)
98
99 %if "%{?_prelink_enable}" == "y"
100 %define tizen_feature_prelink 1
101 %else
102 %define tizen_feature_prelink 0
103 %endif
104
105 %define _aulresdir /opt/usr/home/owner/share/aul/res
106
107 %prep
108 %setup -q
109 sed -i 's|TZ_SYS_DB|%{TZ_SYS_DB}|g' %{SOURCE1001}
110 cp %{SOURCE1001} .
111 cp %{SOURCE1002} .
112
113 %build
114 %if 0%{?gcov:1}
115 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
116 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
117 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
118 export LDFLAGS+=" -lgcov"
119 %endif
120
121 %if 0%{?simulator}
122 CFLAGS="%{optflags} -D__emul__"; export CFLAGS
123 %endif
124
125 %if 0%{?tizen_feature_prelink}
126 _TIZEN_FEATURE_PRELINK=ON
127 %endif
128
129 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
130 %cmake -DFULLVER=%{version} \
131         -DMAJORVER=${MAJORVER} \
132         -D_TIZEN_FEATURE_PRELINK:BOOL=${_TIZEN_FEATURE_PRELINK} \
133         -DAUL_RES_DIR=%{_aulresdir} \
134         .
135
136 %__make %{?_smp_mflags}
137
138 sqlite3 .appsvc.db < ./data/appsvc_db.sql
139 sqlite3 .component.db < ./parser/component/data/component_db.sql
140
141 %if 0%{?gcov:1}
142 mkdir -p gcov-obj
143 find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
144 %endif
145
146 %check
147 export LD_LIBRARY_PATH="../../"
148 ctest -V
149 %if 0%{?gcov:1}
150 lcov -c --ignore-errors graph --no-external -q -d . -o %{name}.info
151 genhtml %{name}.info -o %{name}.out
152 zip -r %{name}.zip %{name}.out %{name}.info
153 install -m 0644 %{name}.zip %{buildroot}%{_datadir}/gcov/
154 %endif
155
156 %install
157 rm -rf %{buildroot}
158 %make_install
159
160 mkdir -p %{buildroot}%{TZ_SYS_DB}
161 install -m 0644 .appsvc.db %{buildroot}%{TZ_SYS_DB}
162 install -m 0644 .appsvc.db-journal %{buildroot}%{TZ_SYS_DB}
163 install -m 0644 .component.db %{buildroot}%{TZ_SYS_DB}
164 install -m 0644 .component.db-journal %{buildroot}%{TZ_SYS_DB}
165
166 mkdir -p %{buildroot}%{_datadir}/appsvc
167 cp -R %{_builddir}/%{name}-%{version}/alias/* %{buildroot}%{_datadir}/appsvc
168
169 mkdir -p %{buildroot}%{_sysconfdir}/gumd/useradd.d
170 cp -f scripts/12_appsvc-add.post %{buildroot}%{_sysconfdir}/gumd/useradd.d/12_appsvc-add.post
171
172 %if 0%{?gcov:1}
173 mkdir -p %{buildroot}%{_datadir}/gcov/obj
174 install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
175 %endif
176
177 %preun
178
179 %post
180 /sbin/ldconfig
181
182 chmod 666 %{TZ_SYS_DB}/.appsvc.db
183 chmod 666 %{TZ_SYS_DB}/.appsvc.db-journal
184 chsmack -a 'User::Home' %{TZ_SYS_DB}/.appsvc.db
185 chsmack -a 'User::Home' %{TZ_SYS_DB}/.appsvc.db-journal
186 chmod 666 %{TZ_SYS_DB}/.component.db
187 chmod 666 %{TZ_SYS_DB}/.component.db-journal
188 chsmack -a 'User::Home' %{TZ_SYS_DB}/.component.db
189 chsmack -a 'User::Home' %{TZ_SYS_DB}/.component.db-journal
190
191 %postun
192 /sbin/ldconfig
193
194 %post test
195 %if 0%{?gcov:1}
196 %{_bindir}/aul-unit-tests
197 %endif
198 chmod +x %{_aulresdir}/tpk/install.sh
199 %{_aulresdir}/tpk/install.sh
200
201 %postun server
202 /sbin/ldconfig
203
204 %post server
205 /sbin/ldconfig
206
207 %files
208 %license LICENSE
209 %manifest %{name}.manifest
210 %attr(0644,root,root) %{_libdir}/libaul.so.*
211 %config %{_sysconfdir}/dbus-1/system.d/aul.conf
212 %{_bindir}/aul_test
213 %{_bindir}/app_launcher
214 %{_bindir}/appgroup_info
215 %{_bindir}/app_com_tool
216 %{_bindir}/launch_app
217 %{_bindir}/appid2pid
218 %{_bindir}/launch_debug
219 %{_bindir}/compmgr_tool
220 %{_bindir}/appsvc-db-recovery
221 %{_bindir}/component-db-recovery
222 %{_bindir}/aul_window
223 %{_datadir}/aul/miregex/*
224 %{_datadir}/aul/preexec_list.txt
225 %{_datadir}/appsvc/*
226 %{_datadir}/parser-plugins/*
227 %{TZ_SYS_DB}/.appsvc.db*
228 %{TZ_SYS_DB}/.component.db*
229 %{_sysconfdir}/package-manager/parserlib/metadata/*.so
230 %{_sysconfdir}/package-manager/parserlib/libcomponent-based-application.so
231 %{_sysconfdir}/package-manager/parserlib/libexec-checker.so*
232
233 %attr(0755,root,root) %{_sysconfdir}/gumd/useradd.d/*
234 %attr(0755,root,root) %{_datadir}/upgrade/scripts/501.component_upgrade.sh
235
236 %files test
237 %{_bindir}/app-control-tests
238 %{_bindir}/aul-unit-tests
239 %{_bindir}/open_app
240 %{_aulresdir}/*
241
242 %files devel
243 %{_includedir}/aul/*.h
244 %{_includedir}/aul/api/*.h
245 %{_libdir}/libaul.so
246 %{_libdir}/pkgconfig/aul.pc
247
248 #################################################
249 # aul-gcov
250 #################################################
251 %if 0%{?gcov:1}
252 %files gcov
253 %{_datadir}/gcov/*
254 %endif
255
256 %files server
257 %manifest %{name}-server.manifest
258 %attr(0644,root,root) %{_libdir}/libaul-server.so.*
259
260 %files server-devel
261 %{_includedir}/aul/server/*.h
262 %{_libdir}/libaul-server.so
263 %{_libdir}/pkgconfig/aul-server.pc