Fixed the build error using gcc 13
[platform/core/messaging/msg-service.git] / packaging / msg-service.spec
1 Name:           msg-service
2 Version:        1.0.11
3 Release:        2
4 License:        Apache-2.0
5 Summary:        Messaging Framework Library
6 Group:          System/Libraries
7 Source0:        %{name}-%{version}.tar.gz
8 Source1:        msg-server.service
9 Source2:        msg-server.socket
10 Source3:        msg-server.asan.conf
11
12 Requires(post): /usr/bin/sqlite3
13 Requires(post): /sbin/ldconfig
14 Requires(postun): /sbin/ldconfig
15 Requires(post): systemd
16 Requires(postun): systemd
17 Requires: acl
18 Requires: security-config
19 BuildRequires: boost-devel
20 BuildRequires: cmake
21 BuildRequires: pkgconfig(alarm-service)
22 BuildRequires: pkgconfig(aul)
23 BuildRequires: pkgconfig(bundle)
24 BuildRequires: pkgconfig(capi-media-image-util)
25 BuildRequires: pkgconfig(capi-media-metadata-extractor)
26 BuildRequires: pkgconfig(capi-media-thumbnail-util)
27 BuildRequires: pkgconfig(capi-network-connection)
28 BuildRequires: pkgconfig(capi-system-device)
29 BuildRequires: pkgconfig(capi-system-info)
30 BuildRequires: pkgconfig(capi-telephony)
31 BuildRequires: pkgconfig(contacts-service2)
32 BuildRequires: pkgconfig(cynara-client)
33 BuildRequires: pkgconfig(cynara-creds-commons)
34 BuildRequires: pkgconfig(cynara-creds-socket)
35 BuildRequires: pkgconfig(cynara-session)
36 BuildRequires: pkgconfig(deviced)
37 BuildRequires: pkgconfig(dlog)
38 BuildRequires: pkgconfig(dpm)
39 BuildRequires: pkgconfig(eventsystem)
40 BuildRequires: pkgconfig(gio-2.0)
41 BuildRequires: pkgconfig(icu-uc)
42 BuildRequires: pkgconfig(json-glib-1.0)
43 BuildRequires: pkgconfig(lbs-dbus)
44 BuildRequires: pkgconfig(libcurl)
45 BuildRequires: pkgconfig(libsmack)
46 BuildRequires: pkgconfig(libsystemd)
47 BuildRequires: pkgconfig(libtzplatform-config)
48 BuildRequires: pkgconfig(libxml-2.0)
49 BuildRequires: pkgconfig(libwbxml2)
50 BuildRequires: pkgconfig(motion)
51 BuildRequires: pkgconfig(phonenumber-utils)
52 BuildRequires: pkgconfig(sqlite3)
53 BuildRequires: pkgconfig(tapi)
54 BuildRequires: pkgconfig(vconf)
55 # Below BuildRequires-statements are only for msg-manager
56 BuildRequires: gettext-tools
57 BuildRequires: hash-signer
58 BuildRequires: pkgconfig(badge)
59 BuildRequires: pkgconfig(callmgr_client)
60 BuildRequires: pkgconfig(capi-appfw-event)
61 BuildRequires: pkgconfig(capi-appfw-package-manager)
62 BuildRequires: pkgconfig(capi-appfw-service-application)
63 BuildRequires: pkgconfig(capi-media-player)
64 BuildRequires: pkgconfig(capi-media-sound-manager)
65 BuildRequires: pkgconfig(capi-media-recorder)
66 BuildRequires: pkgconfig(feedback)
67 BuildRequires: pkgconfig(notification)
68
69 %if 0%{?gcov:1}
70 BuildRequires:  lcov
71 %endif
72
73 %description
74 Description: Messaging Framework Library
75
76 %package devel
77 License:        Apache-2.0
78 Summary:        Messaging Framework Library (development)
79 Requires:       %{name} = %{version}-%{release}
80 Group:          Development/Libraries
81
82 %description devel
83 Description: Messaging Framework Library (development)
84
85 %package -n sms-plugin
86 License:        Apache-2.0
87 Summary:        SMS plugin library
88 Requires:       %{name} = %{version}-%{release}
89 Group:          System/Libraries
90 Requires(post): /sbin/ldconfig
91 Requires(postun): /sbin/ldconfig
92
93 %description -n sms-plugin
94 Description: SMS plugin library
95
96 %package -n mms-plugin
97 License:        Apache-2.0
98 Summary:        MMS plugin library
99 Requires:       %{name} = %{version}-%{release}
100 Group:          System/Libraries
101 Requires(post): /sbin/ldconfig
102 Requires(postun): /sbin/ldconfig
103
104 %description -n mms-plugin
105 Description: MMS plugin library
106
107 %package -n msg-manager
108 License:        Apache-2.0
109 Summary:        Message manager application
110 Requires:       %{name} = %{version}-%{release}
111 Group:          Applications/Messaging
112
113 %description -n msg-manager
114 Description: Message manager application
115
116 %define APP_PKGNAME     org.tizen.msg-manager
117 %define APP_PREFIX      %{TZ_SYS_RO_APP}/%{APP_PKGNAME}
118 %define APP_RESDIR      %{APP_PREFIX}/res
119 %define APP_LOCALEDIR   %{APP_RESDIR}/locale
120
121 %ifarch i586
122 %define i586_option     "-D_TIZEN_I586_ENABLED:BOOL=ON"
123 %else
124 %define i586_option     "-D_TIZEN_I586_ENABLED:BOOL=OFF"
125 %endif
126
127 #################################################
128 # gcov
129 #################################################
130 %if 0%{?gcov:1}
131 %package gcov
132 Summary:    Messaging Framework library (gcov)
133 Group:      Service Framework/Testing
134 %description gcov
135 gcov objects for coverage test
136 %endif
137
138 %prep
139 %setup -q
140
141 %build
142 %if 0%{?gcov:1}
143 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
144 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
145 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
146 export LDFLAGS+=" -lgcov"
147 %endif
148 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
149                 -DLIB_INSTALL_DIR=%{_libdir} \
150                 -DAPP_MANIFESTDIR=%{TZ_SYS_RO_PACKAGES}   \
151                 -DAPP_BINDIR=%{APP_PREFIX}/bin   \
152                 -DAPP_LOCALEDIR=%{APP_RESDIR}/locale \
153                 -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
154                 -DTZ_SYS_GLOBALUSER_DATA=%TZ_SYS_GLOBALUSER_DATA \
155                 -DTZ_SYS_GLOBALUSER_DB=%TZ_SYS_GLOBALUSER_DB \
156                 -DTZ_SYS_HOME=%TZ_SYS_HOME \
157                 -DTZ_SYS_BIN=%TZ_SYS_BIN \
158                 %{i586_option}
159
160 make %{?jobs:-j%jobs}
161
162 %install
163 rm -rf %{buildroot}
164 mkdir -p %{buildroot}/etc/config
165
166 %make_install
167
168 %if 0%{?gcov:1}
169 builddir=$(basename $PWD)
170 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
171 mkdir -p "$gcno_obj_dir"
172 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
173 %endif
174
175 %define tizen_sign 1
176 %define tizen_sign_base %{APP_PREFIX}
177 %define tizen_sign_level platform
178 %define tizen_author_sign 1
179 %define tizen_dist_sign 1
180
181 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
182 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/msg-server.service
183 %install_service multi-user.target.wants msg-server.service
184
185 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
186 install -m 0644 %SOURCE2 %{buildroot}%{_unitdir}/msg-server.socket
187 %install_service sockets.target.wants msg-server.socket
188 %if "%{asan}" == "1"
189 mkdir -p %{buildroot}%{_unitdir}/msg-server.service.d
190 install -m 644 %SOURCE3 %{buildroot}%{_unitdir}/msg-server.service.d/msg-server.asan.conf
191 %endif
192
193 mkdir -p %{buildroot}%{TZ_SYS_GLOBALUSER_DB}
194 sqlite3 %{buildroot}%{TZ_SYS_GLOBALUSER_DB}/.msg_service.db "PRAGMA journal_mode = PERSIST;"
195 sqlite3 %{buildroot}%{TZ_SYS_GLOBALUSER_DB}/.msg_service.db < %{buildroot}/usr/share/msg-service/msg-service-db.sql
196
197 rm %{buildroot}/usr/share/msg-service/msg-service-db.sql
198 rm %{buildroot}%{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
199 touch %{buildroot}%{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
200
201 %post -n sms-plugin -p /sbin/ldconfig
202 %post -n mms-plugin -p /sbin/ldconfig
203
204 %post
205 /sbin/ldconfig
206
207 chmod 640 %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db
208 chmod 640 %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
209
210 mkdir -p -m 770 %{TZ_SYS_GLOBALUSER_DATA}/msg-service
211 mkdir -p -m 750 %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata
212 mkdir -p -m 750 %{TZ_SYS_GLOBALUSER_DATA}/msg-service/smildata
213 mkdir -p -m 770 %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
214 mkdir -p -m 750 %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata/thumbnails
215
216 chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db
217 chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
218 chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service
219 chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata
220 chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service/smildata
221 chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
222 chown messaging:priv_message_read %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata/thumbnails
223
224 chmod g+s %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata
225 chmod g+s %{TZ_SYS_GLOBALUSER_DATA}/msg-service/smildata
226 chmod g+s %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
227 chmod g+s %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata/thumbnails
228
229 chsmack -a "*" %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db
230 chsmack -a "*" %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db-journal
231 chsmack -a "System::Shared" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/
232 chsmack -a "System::Shared" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata -t
233 chsmack -a "System::Shared" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/smildata -t
234 chsmack -a "System::Run" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata -t
235 chsmack -a "System::Shared" %{TZ_SYS_GLOBALUSER_DATA}/msg-service/msgdata/thumbnails -t
236
237 #Multi group to ipcdata directory
238 chmod o= %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
239 setfacl -m group:priv_message_write:rw %{TZ_SYS_GLOBALUSER_DATA}/msg-service/ipcdata
240
241
242 %postun -p /sbin/ldconfig
243
244 %postun -n sms-plugin -p /sbin/ldconfig
245 %postun -n mms-plugin -p /sbin/ldconfig
246
247 %files
248 %manifest msg-service.manifest
249 %license LICENSE.APLv2
250 %config(noreplace) %{TZ_SYS_GLOBALUSER_DB}/.msg_service.db*
251 %{_bindir}/msg-server
252 %{_libdir}/libmsg_plugin_manager.so
253 %{_libdir}/libmsg_mapi.so.*
254 %{_libdir}/libmsg_framework_handler.so
255 %{_libdir}/libmsg_transaction_manager.so
256 %{_libdir}/libmsg_utils.so
257 %{_libdir}/libmsg_externals.so
258 %{_libdir}/libmsg_transaction_proxy.so
259 %{_libdir}/libmsg_vobject.so
260 %{_unitdir}/msg-server.service
261 %{_unitdir}/multi-user.target.wants/msg-server.service
262 %{_unitdir}/msg-server.socket
263 %{_unitdir}/sockets.target.wants/msg-server.socket
264 %if "%{asan}" == "1"
265 %{_unitdir}/msg-server.service.d/msg-server.asan.conf
266 %endif
267
268 %files devel
269 %license LICENSE.APLv2
270 %{_libdir}/libmsg_mapi.so
271 %{_libdir}/pkgconfig/msg-service.pc
272 %{_includedir}/msg-service/*
273
274 %files -n sms-plugin
275 %manifest sms-plugin.manifest
276 %license LICENSE.APLv2
277 %{_libdir}/libmsg_sms_plugin.so
278
279 %files -n mms-plugin
280 %manifest mms-plugin.manifest
281 %license LICENSE.APLv2
282 %{_libdir}/libmsg_mms_plugin.so
283
284 %files -n msg-manager
285 %manifest msg-manager.manifest
286 %license LICENSE.APLv2
287 %{APP_PREFIX}/bin/msg-manager
288 %{TZ_SYS_RO_PACKAGES}/*.xml
289 %{APP_PREFIX}/author-signature.xml
290 %{APP_PREFIX}/signature1.xml
291 %{APP_RESDIR}/*
292
293 %if 0%{?gcov:1}
294 %files gcov
295 %{_datadir}/gcov/obj/*
296 %endif
297
298 %changelog