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