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