Merge branch 'tizen_5.5' into tizen
[platform/core/uifw/capi-ui-sticker.git] / packaging / capi-ui-sticker.spec
1 Name:       capi-ui-sticker
2 Summary:    Sticker client library and daemon
3 Version:    0.1.54
4 Release:    1
5 Group:      Graphics & UI Framework/Input
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    capi-ui-sticker.service
9 Source2:    org.tizen.sticker.server.service
10 Source3:    capi-ui-sticker.conf
11 BuildRequires:  cmake, coreutils
12 BuildRequires:  pkgconfig(capi-appfw-app-common)
13 BuildRequires:  pkgconfig(capi-appfw-package-manager)
14 BuildRequires:  pkgconfig(capi-appfw-event)
15 BuildRequires:  pkgconfig(capi-system-info)
16 BuildRequires:  pkgconfig(cynara-client)
17 BuildRequires:  pkgconfig(cynara-session)
18 BuildRequires:  pkgconfig(dbus-1)
19 BuildRequires:  pkgconfig(dlog)
20 BuildRequires:  pkgconfig(gio-2.0)
21 BuildRequires:  pkgconfig(gio-unix-2.0)
22 BuildRequires:  pkgconfig(glib-2.0)
23 BuildRequires:  pkgconfig(json-glib-1.0)
24 BuildRequires:  pkgconfig(libtzplatform-config)
25 BuildRequires:  pkgconfig(pkgmgr-info)
26 BuildRequires:  pkgconfig(sqlite3)
27 BuildRequires:  pkgconfig(gmock)
28
29 %if 0%{?sec_product_feature_profile_wearable}
30 BuildRequires:  pkgconfig(capi-base-common)
31 BuildRequires:  pkgconfig(capi-appfw-service-application)
32 BuildRequires:  pkgconfig(capi-message-port)
33 BuildRequires:  pkgconfig(capi-appfw-preference)
34 BuildRequires:  pkgconfig(capi-system-device)
35 BuildRequires:  pkgconfig(sap-client-stub-api)
36 BuildRequires:  pkgconfig(vconf)
37 BuildRequires:  pkgconfig(capi-media-thumbnail-util)
38 BuildRequires:  pkgconfig(ecore)
39 BuildRequires:  hash-signer
40
41 Requires(post): signing-client
42 Requires:       org.tizen.sticker-receiver
43 %endif
44
45 Requires:       security-config
46 Requires(post): /sbin/ldconfig
47 Requires(post): dbus
48 Requires(postun): /sbin/ldconfig
49
50 %if 0%{?gcov:1}
51 BuildRequires:  lcov
52 BuildRequires:  zip
53 %endif
54
55 %description
56 Sticker client library and daemon
57
58 %package devel
59 Summary:    Sticker client library and daemon (Development)
60 Group:      Graphics & UI Framework/Input
61 Requires:   %{name} = %{version}-%{release}
62
63 %if 0%{?sec_product_feature_profile_wearable}
64 %define _companion_app_name org.tizen.sticker-receiver
65
66 %package -n %{_companion_app_name}
67 Summary:    Sticker companion service
68 Group:      Graphics & UI Framework/Input
69 Requires:   %{name} = %{version}-%{release}
70 %endif
71
72
73 %description devel
74 Sticker client library and daemon (Development)
75
76 %if 0%{?sec_product_feature_profile_wearable}
77 %description -n %{_companion_app_name}
78 Sticker companion service
79 %endif
80
81 %if 0%{?gcov:1}
82 %package gcov
83 Summary:  Sticker client library and daemon (gcov)
84 Group:      Graphics & UI Framework/Input
85 %description gcov
86 Sticker client library and daemon (gcov)
87 %endif
88
89 %package unittests
90 Summary:    Sticker tests
91 Group:      Development/Libraries
92 Requires:   %{name} = %{version}-%{release}
93
94 %description unittests
95 GTest for sticker
96
97 %prep
98 %setup -q -n %{name}-%{version}
99 cp %{SOURCE2} .
100
101 %build
102 %if 0%{?gcov:1}
103 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
104 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
105 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
106 export LDFLAGS+=" -lgcov"
107 %endif
108
109 export CFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -Werror"
110 export CXXFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -Werror"
111 export FFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden"
112
113 %cmake . \
114 %if 0%{?sec_product_feature_profile_wearable}
115         -DCOMPANION_MODE=true \
116 %endif
117          -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
118          -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN -DTZ_USER_SHARE=%TZ_USER_SHARE \
119          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
120 make %{?jobs:-j%jobs}
121
122 %if 0%{?gcov:1}
123 mkdir -p gcov-obj
124 find . -name '*_dbus.c.gcno' -exec rm {} \;
125 find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
126 %endif
127
128 %install
129 rm -rf %{buildroot}
130 %make_install
131
132 %check
133 ctest --output-on-failure %{?_smp_mflags}
134 %if 0%{?gcov:1}
135 lcov -c --ignore-errors graph --no-external -q -d . -o gcov.info
136 genhtml gcov.info
137 %endif
138
139 mkdir -p %{buildroot}/%{TZ_SYS_ETC}/dump.d/module.d
140 cp -af dump/sticker_log_dump.sh %{buildroot}/%{TZ_SYS_ETC}/dump.d/module.d
141
142 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system
143 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/capi-ui-sticker.service
144
145 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
146 install -m 0644 %SOURCE2 %{buildroot}%{_datadir}/dbus-1/system-services/org.tizen.sticker.server.service
147
148 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
149 install -m 0644 %SOURCE3 %{buildroot}%{_sysconfdir}/dbus-1/system.d/capi-ui-sticker.conf
150
151 %if 0%{?gcov:1}
152 mkdir -p %{buildroot}%{_datadir}/gcov/obj
153 install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
154 %endif
155
156 %if 0%{?sec_product_feature_profile_wearable}
157 %define tizen_sign 1
158 %define tizen_sign_base %{TZ_SYS_RO_APP}/%{_companion_app_name}
159 %define tizen_sign_level public
160 %define tizen_author_sign 1
161 %define tizen_dist_sign 1
162 %endif
163
164 %post
165 /sbin/ldconfig
166
167 mkdir -p -m 0775 /opt/usr/share/sticker-data
168 chown -R ui_fw:ui_fw /opt/usr/share/sticker-data
169 chsmack -t /opt/usr/share/sticker-data
170 chsmack -a "User::App::Shared" /opt/usr/share/sticker-data
171
172 %postun -p /sbin/ldconfig
173
174 %files
175 %manifest %{name}.manifest
176 %license LICENSE
177 %{_libdir}/lib*.so
178 %attr(0755,ui_fw,ui_fw) %{_bindir}/sticker-server
179 %attr(0644,root,root) %{_unitdir}/capi-ui-sticker.service
180 %attr(0644,root,root) %{_datadir}/dbus-1/system-services/org.tizen.sticker.server.service
181 %config %{_sysconfdir}/dbus-1/system.d/capi-ui-sticker.conf
182 %{TZ_SYS_RO_SHARE}/parser-plugins/capi-ui-sticker.info
183 %{TZ_SYS_RO_ETC}/package-manager/parserlib/category/libcapi-ui-sticker-parser.so*
184 %{TZ_SYS_RO_ETC}/package-manager/parserlib/metadata/libcapi-ui-sticker-parser.so*
185 %{TZ_SYS_ETC}/dump.d/module.d/*
186
187 %files devel
188 %manifest %{name}-devel.manifest
189 %defattr(-,root,root,-)
190 %{_libdir}/lib*.so
191 %{_libdir}/pkgconfig/capi-ui-sticker-consumer.pc
192 %{_libdir}/pkgconfig/capi-ui-sticker-provider.pc
193 %{_includedir}/sticker_error.h
194 %{_includedir}/sticker_data.h
195 %{_includedir}/sticker_consumer.h
196 %{_includedir}/sticker_provider.h
197
198 %if 0%{?sec_product_feature_profile_wearable}
199 %post -n %{_companion_app_name}
200 /usr/bin/signing-client/hash-signer-client.sh -a -d -p platform %{TZ_SYS_RO_APP}/%{_companion_app_name}
201
202 %files -n %{_companion_app_name}
203 %manifest receiver/%{_companion_app_name}.manifest
204 %license LICENSE
205 %{TZ_SYS_RO_PACKAGES}/%{_companion_app_name}.xml
206 %{TZ_SYS_RO_APP}/%{_companion_app_name}/*
207 %endif
208
209 %files unittests
210 %{_bindir}/*
211
212 %if 0%{?gcov:1}
213 %files gcov
214 %{_datadir}/gcov/obj/*
215 %endif