Release version 2.1.28
[platform/core/appfw/watchface-complication.git] / packaging / libwatchface-complication.spec
1 Name: libwatchface-complication
2 Summary: Library for developing the watchface complication
3 Version: 2.1.28
4 Release: 1
5 Group: Applications/Application Utility
6 License: Apache-2.0
7 Source0: %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 Source1002: %{name}-provider.manifest
10 Source1003: libwatchface-editor.manifest
11 Source1004: libwatchface-common.manifest
12 BuildRequires: cmake
13 BuildRequires: pkgconfig(dlog)
14 BuildRequires: pkgconfig(glib-2.0)
15 BuildRequires: pkgconfig(gio-2.0)
16 BuildRequires: pkgconfig(bundle)
17 BuildRequires: pkgconfig(aul)
18 BuildRequires: pkgconfig(db-util)
19 BuildRequires: pkgconfig(sqlite3)
20 BuildRequires: pkgconfig(libxml-2.0)
21 BuildRequires: pkgconfig(gmock)
22 BuildRequires: pkgconfig(appsvc)
23 BuildRequires: pkgconfig(capi-appfw-app-common)
24 BuildRequires: pkgconfig(libtzplatform-config)
25 BuildRequires: pkgconfig(pkgmgr-info)
26 BuildRequires: pkgconfig(pkgmgr)
27 BuildRequires: pkgconfig(pkgmgr-installer)
28 BuildRequires: pkgconfig(capi-appfw-app-control)
29 BuildRequires: pkgconfig(cynara-client)
30 BuildRequires: pkgconfig(cynara-creds-gdbus)
31 BuildRequires: pkgconfig(capi-system-info)
32 BuildRequires: pkgconfig(capi-base-utils-i18n)
33 %if 0%{?gcov:1}
34 BuildRequires:  lcov
35 BuildRequires:  zip
36 %endif
37 Requires: %{name}-provider
38 Requires: libwatchface-common
39 Recommends: amd-mod-complication
40
41 %define upgrade_script_path /usr/share/upgrade/scripts
42
43 %description
44 API for creating a new watchface complication and managing it.
45
46 %package devel
47 Summary: Development Library for watch complication (dev)
48 Group: Development/Libraries
49 Requires: %{name} = %{version}-%{release}
50
51 %description devel
52 Header and package configuration files for the watchface complication development
53
54 %prep
55 %setup -q
56 cp %{SOURCE1001} .
57 cp %{SOURCE1002} .
58 cp %{SOURCE1003} .
59 cp %{SOURCE1004} .
60
61 %build
62 %if 0%{?gcov:1}
63 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
64 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
65 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
66 export LDFLAGS+=" -lgcov"
67 %endif
68
69 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
70
71 %cmake . \
72         -DTZ_SYS_SHARE=/usr/share \
73         -DMAJORVER=${MAJORVER} \
74         -DFULLVER=%{version}
75 %__make %{?_smp_mflags}
76
77
78 %if 0%{?gcov:1}
79 mkdir -p gcov-obj
80 find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
81 %endif
82
83 %install
84 %make_install
85 mkdir -p %{buildroot}%{TZ_SYS_DB}
86 mkdir -p %{buildroot}%{_sysconfdir}/skel/.applications/dbspace
87
88 cat /dev/null > .complication_provider.db
89 cat /dev/null > .complication_provider.db-journal
90
91 install -m 0644 .complication_provider.db %{buildroot}%{TZ_SYS_DB}
92 install -m 0644 .complication_provider.db-journal %{buildroot}%{TZ_SYS_DB}
93 install -m 0644 .complication_provider.db %{buildroot}%{_sysconfdir}/skel/.applications/dbspace
94 install -m 0644 .complication_provider.db-journal %{buildroot}%{_sysconfdir}/skel/.applications/dbspace
95
96 %if 0%{?gcov:1}
97 mkdir -p %{buildroot}%{_datadir}/gcov/obj
98 install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
99 %endif
100
101 mkdir -p %{buildroot}%{upgrade_script_path}
102 cp -f scripts/504.watchface_complication_upgrade.sh %{buildroot}%{upgrade_script_path}
103
104 %check
105 ctest -V
106 %if 0%{?gcov:1}
107 lcov -c --ignore-errors graph --no-external -q -d . -o watchface-complication.info
108 genhtml watchface-complication.info -o watchface-complication.out
109 zip -r watchface-complication.zip watchface-complication.out
110 install -m 0644 watchface-complication.zip %{buildroot}%{_datadir}/gcov/
111 %endif
112
113 #################################################
114 # libwatchface-complication
115 #################################################
116 %post -n %{name} -p /sbin/ldconfig
117
118 %postun -n %{name} -p /sbin/ldconfig
119
120 %files -n %{name}
121 %manifest %{name}.manifest
122 %attr(0644,root,root) %{_libdir}/%{name}.so.*
123 %license LICENSE
124 %attr(0755,root,root) %{_datadir}/upgrade/scripts/504.watchface_complication_upgrade.sh
125
126 %files -n %{name}-devel
127 %{_includedir}/watchface-complication/*.h
128 %{_includedir}/watchface-complication/*.hh
129 %{_includedir}/watchface-common/*.h
130 %{_includedir}/watchface-common/*.hh
131 %{_libdir}/pkgconfig/watchface-complication.pc
132 %attr(0644,root,root) %{_libdir}/%{name}.so
133
134 #################################################
135 # libwatchface-complication-provider
136 #################################################
137 %package -n %{name}-provider
138 Summary: Library for developing the watchface complication provider
139 Group: Applications/Application Utility
140 License: Apache-2.0
141
142 %description -n %{name}-provider
143 Provide APIs to develop the watchface complication provider.
144
145 %package -n %{name}-provider-devel
146 Summary: Watchface complication provider development library (dev)
147 Group: Development/Libraries
148 Requires: %{name}-provider
149
150 %description -n %{name}-provider-devel
151 Header & package configuration files to support development of the watchface complication provider.
152
153 %post -n %{name}-provider
154 /sbin/ldconfig
155 chsmack -a 'User::Home' %{TZ_SYS_DB}/.complication_provider.db
156 chsmack -a 'User::Home' %{TZ_SYS_DB}/.complication_provider.db-journal
157
158 %postun -n %{name}-provider -p /sbin/ldconfig
159
160 %files -n %{name}-provider
161 %manifest %{name}-provider.manifest
162 %attr(0644,root,root) %{_libdir}/%{name}-provider.so.*
163 %license LICENSE
164 %{_sysconfdir}/package-manager/parserlib/*
165 %{_sysconfdir}/skel/.applications/dbspace/.complication_provider.db
166 %{_sysconfdir}/skel/.applications/dbspace/.complication_provider.db-journal
167 %{TZ_SYS_DB}/.complication_provider.db
168 %{TZ_SYS_DB}/.complication_provider.db-journal
169 %{_datarootdir}/parser-plugins/complication_plugins.txt
170
171 %files -n %{name}-provider-devel
172 %{_includedir}/watchface-complication-provider/*.h
173 %{_libdir}/pkgconfig/watchface-complication-provider.pc
174 %attr(0644,root,root) %{_libdir}/%{name}-provider.so
175
176 #################################################
177 # libwatchface-editor
178 #################################################
179 %package -n libwatchface-editor
180 Summary: Library for developing the watchface editor
181 Group: Applications/Application Utility
182 License: Apache-2.0
183
184 %description -n libwatchface-editor
185 Provide APIs to develop the watchface editor.
186
187 %package -n libwatchface-editor-devel
188 Summary: Watchface editor development library (dev)
189 Group: Development/Libraries
190 Requires: libwatchface-editor
191
192 %description -n libwatchface-editor-devel
193 Header & package configuration files to support development of the watchface editor.
194
195 %post -n libwatchface-editor -p /sbin/ldconfig
196 %postun -n libwatchface-editor -p /sbin/ldconfig
197
198 %files -n libwatchface-editor
199 %manifest libwatchface-editor.manifest
200 %attr(0644,root,root) %{_libdir}/libwatchface-editor.so.*
201 %license LICENSE
202
203 %files -n libwatchface-editor-devel
204 %{_includedir}/watchface-editor/*.h
205 %{_libdir}/pkgconfig/watchface-editor.pc
206 %attr(0644,root,root) %{_libdir}/libwatchface-editor.so
207
208
209 #################################################
210 # libwatchface-common
211 #################################################
212 %package -n libwatchface-common
213 Summary: Library for developing the watchface common
214 Group: Applications/Application Utility
215 License: Apache-2.0
216
217 %description -n libwatchface-common
218 Provide utility to develop the watchface.
219
220 %package -n libwatchface-common-devel
221 Summary: Watchface common development library (dev)
222 Group: Development/Libraries
223 Requires: libwatchface-common
224
225 %description -n libwatchface-common-devel
226 Header & package configuration files to support development of the watchface library.
227
228 %post -n libwatchface-common -p /sbin/ldconfig
229 %postun -n libwatchface-common -p /sbin/ldconfig
230
231 %files -n libwatchface-common
232 %manifest libwatchface-common.manifest
233 %attr(0644,root,root) %{_libdir}/libwatchface-common.so.*
234 %license LICENSE
235
236 %files -n libwatchface-common-devel
237 %{_includedir}/watchface-common/*.h
238 %{_includedir}/watchface-common/*.hh
239 %{_libdir}/pkgconfig/watchface-common.pc
240 %attr(0644,root,root) %{_libdir}/libwatchface-common.so
241
242 #################################################
243 # libwatchface-complication-wrapper
244 #################################################
245 %package -n libwatchface-complication-wrapper
246 Summary: Library for developing the watchface
247 Group: Applications/Application Utility
248 License: Apache-2.0
249
250 %description -n libwatchface-complication-wrapper
251 Provide utility to develop the watchface.
252
253 %package -n libwatchface-complication-wrapper-devel
254 Summary: Watchface common development library (dev)
255 Group: Development/Libraries
256 Requires: libwatchface-complication-wrapper
257
258 %description -n libwatchface-complication-wrapper-devel
259 Header & package configuration files to support development of the watchface editor.
260
261 %post -n libwatchface-complication-wrapper -p /sbin/ldconfig
262 %postun -n libwatchface-complication-wrapper -p /sbin/ldconfig
263
264 %files -n libwatchface-complication-wrapper
265 %manifest libwatchface-common.manifest
266 %license LICENSE
267
268 %files -n libwatchface-complication-wrapper-devel
269 %{_includedir}/watchface-complication-wrapper/*.h
270 %{_libdir}/pkgconfig/watchface-complication-wrapper.pc
271
272
273 #################################################
274 # watchface-complication-unittests
275 #################################################
276 %package -n watchface-complication-unittests
277 Summary:    GTest for watchface-complication
278 Group:      Development/Libraries
279
280 %description -n watchface-complication-unittests
281 GTest for watchface-complication
282
283 %files -n watchface-complication-unittests
284 %{_bindir}/watchface-complication_unittests
285 /opt/share/watchface-complication/*
286
287
288 #################################################
289 # watchface-complication-gcov
290 #################################################
291 %if 0%{?gcov:1}
292 %package gcov
293 Summary:    Simple string key-val dictionary ADT (gcov)
294 Group:      Application Framework/Testing
295
296 %description gcov
297 Simple string key-val dictionary ADT gcov objects
298 %endif
299
300 %if 0%{?gcov:1}
301 %files gcov
302 %{_datadir}/gcov/*
303 %endif
304
305 # End of a file