Notify total sync progress
[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.15
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-system-info)
15 BuildRequires:  pkgconfig(cynara-client)
16 BuildRequires:  pkgconfig(cynara-session)
17 BuildRequires:  pkgconfig(dbus-1)
18 BuildRequires:  pkgconfig(dlog)
19 BuildRequires:  pkgconfig(gio-2.0)
20 BuildRequires:  pkgconfig(gio-unix-2.0)
21 BuildRequires:  pkgconfig(glib-2.0)
22 BuildRequires:  pkgconfig(json-glib-1.0)
23 BuildRequires:  pkgconfig(libtzplatform-config)
24 BuildRequires:  pkgconfig(pkgmgr-info)
25 BuildRequires:  pkgconfig(sqlite3)
26
27 %if 0%{?sec_product_feature_profile_wearable}
28 BuildRequires:  pkgconfig(capi-base-common)
29 BuildRequires:  pkgconfig(capi-appfw-service-application)
30 BuildRequires:  pkgconfig(capi-message-port)
31 BuildRequires:  pkgconfig(sap-client-stub-api)
32 BuildRequires:  hash-signer
33
34 Requires(post): signing-client
35 Requires:       org.tizen.sticker-receiver
36 %endif
37
38 Requires:       security-config
39 Requires(post): /sbin/ldconfig
40 Requires(post): dbus
41 Requires(postun): /sbin/ldconfig
42
43 %description
44 Sticker client library and daemon
45
46 %package devel
47 Summary:    Sticker client library and daemon (Development)
48 Group:      Graphics & UI Framework/Input
49 Requires:   %{name} = %{version}-%{release}
50
51 %if 0%{?sec_product_feature_profile_wearable}
52 %define _companion_app_name org.tizen.sticker-receiver
53
54 %package -n %{_companion_app_name}
55 Summary:    Sticker companion service
56 Group:      Graphics & UI Framework/Input
57 Requires:   %{name} = %{version}-%{release}
58 %endif
59
60
61 %description devel
62 Sticker client library and daemon (Development)
63
64 %if 0%{?sec_product_feature_profile_wearable}
65 %description -n %{_companion_app_name}
66 Sticker companion service
67 %endif
68
69 %if 0%{?gcov:1}
70 %package gcov
71 Summary:  Sticker client library and daemon (gcov)
72 Group:      Graphics & UI Framework/Input
73 %description gcov
74 Sticker client library and daemon (gcov)
75 %endif
76
77 %prep
78 %setup -q -n %{name}-%{version}
79 cp %{SOURCE2} .
80
81 %build
82 %if 0%{?gcov:1}
83 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
84 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
85 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
86 export LDFLAGS+=" -lgcov"
87 %endif
88
89 export CFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -Werror"
90 export CXXFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden -Werror"
91 export FFLAGS+=" -DTIZEN_DEBUG_ENABLE -fvisibility=hidden"
92
93 %cmake . \
94 %if 0%{?sec_product_feature_profile_wearable}
95         -DCOMPANION_MODE=true \
96 %endif
97          -DCMAKE_INSTALL_PREFIX=/usr -DLIBDIR=%{_libdir} -DBINDIR=%{_bindir} -DINCLUDEDIR=%{_includedir} \
98          -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN -DTZ_SYS_SHARE=%TZ_SYS_SHARE \
99          -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES
100 make %{?jobs:-j%jobs}
101
102 %if 0%{?gcov:1}
103 mkdir -p gcov-obj
104 find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
105 %endif
106
107 %install
108 rm -rf %{buildroot}
109 %make_install
110
111 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system
112 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/capi-ui-sticker.service
113
114 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
115 install -m 0644 %SOURCE2 %{buildroot}%{_datadir}/dbus-1/system-services/org.tizen.sticker.server.service
116
117 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
118 install -m 0644 %SOURCE3 %{buildroot}%{_sysconfdir}/dbus-1/system.d/capi-ui-sticker.conf
119
120 %if 0%{?gcov:1}
121 mkdir -p %{buildroot}%{_datadir}/gcov/obj
122 install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
123 %endif
124
125 %if 0%{?sec_product_feature_profile_wearable}
126 %define tizen_sign 1
127 %define tizen_sign_base %{TZ_SYS_RO_APP}/%{_companion_app_name}
128 %define tizen_sign_level public
129 %define tizen_author_sign 1
130 %define tizen_dist_sign 1
131 %endif
132
133 %post
134 /sbin/ldconfig
135
136 mkdir -p -m 0775 %{TZ_SYS_SHARE}/sticker-data
137 chown -R ui_fw:ui_fw %{TZ_SYS_SHARE}/sticker-data
138 chsmack -t %{TZ_SYS_SHARE}/sticker-data
139 chsmack -a "System::Shared" %{TZ_SYS_SHARE}/sticker-data
140
141 %postun -p /sbin/ldconfig
142
143 %files
144 %manifest %{name}.manifest
145 %license LICENSE
146 %{_libdir}/lib*.so
147 %attr(0755,ui_fw,ui_fw) %{_bindir}/sticker-server
148 %attr(0644,root,root) %{_unitdir}/capi-ui-sticker.service
149 %attr(0644,root,root) %{_datadir}/dbus-1/system-services/org.tizen.sticker.server.service
150 %config %{_sysconfdir}/dbus-1/system.d/capi-ui-sticker.conf
151 %{TZ_SYS_RO_SHARE}/parser-plugins/capi-ui-sticker.info
152 %{TZ_SYS_RO_ETC}/package-manager/parserlib/category/libcapi-ui-sticker-parser.so*
153 %{TZ_SYS_RO_ETC}/package-manager/parserlib/metadata/libcapi-ui-sticker-parser.so*
154
155 %files devel
156 %manifest %{name}-devel.manifest
157 %defattr(-,root,root,-)
158 %{_libdir}/lib*.so
159 %{_libdir}/pkgconfig/capi-ui-sticker-consumer.pc
160 %{_libdir}/pkgconfig/capi-ui-sticker-provider.pc
161 %{_includedir}/sticker_error.h
162 %{_includedir}/sticker_data.h
163 %{_includedir}/sticker_consumer.h
164 %{_includedir}/sticker_provider.h
165
166 %if 0%{?sec_product_feature_profile_wearable}
167 %post -n %{_companion_app_name}
168 /usr/bin/signing-client/hash-signer-client.sh -a -d -p platform %{TZ_SYS_RO_APP}/%{_companion_app_name}
169
170 %files -n %{_companion_app_name}
171 %manifest receiver/%{_companion_app_name}.manifest
172 %license LICENSE
173 %{TZ_SYS_RO_PACKAGES}/%{_companion_app_name}.xml
174 %{TZ_SYS_RO_APP}/%{_companion_app_name}/*
175 %endif
176
177 %if 0%{?gcov:1}
178 %files gcov
179 %{_datadir}/gcov/obj/*
180 %endif