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