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