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