support ivi
[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 BuildRequires: cmake
21 BuildRequires: libacl-devel
22 BuildRequires: pkgconfig(alarm-service)
23 BuildRequires: pkgconfig(aul)
24 BuildRequires: pkgconfig(badge)
25 BuildRequires: pkgconfig(bundle)
26 BuildRequires: pkgconfig(capi-appfw-application)
27 BuildRequires: pkgconfig(capi-content-media-content)
28 BuildRequires: pkgconfig(capi-media-image-util)
29 BuildRequires: pkgconfig(capi-media-metadata-extractor)
30 BuildRequires: pkgconfig(capi-media-player)
31 BuildRequires: pkgconfig(capi-media-sound-manager)
32 BuildRequires: pkgconfig(capi-media-thumbnail-util)
33 BuildRequires: pkgconfig(capi-network-connection)
34 BuildRequires: pkgconfig(capi-system-device)
35 BuildRequires: pkgconfig(capi-system-info)
36 BuildRequires: pkgconfig(capi-system-system-settings)
37 BuildRequires: pkgconfig(capi-telephony)
38 BuildRequires: pkgconfig(cynara-client)
39 BuildRequires: pkgconfig(cynara-creds-commons)
40 BuildRequires: pkgconfig(cynara-creds-socket)
41 BuildRequires: pkgconfig(cynara-session)
42 BuildRequires: pkgconfig(deviced)
43 BuildRequires: pkgconfig(dlog)
44 BuildRequires: pkgconfig(eventsystem)
45 BuildRequires: pkgconfig(feedback)
46 BuildRequires: pkgconfig(gio-2.0)
47 BuildRequires: pkgconfig(gobject-2.0)
48 BuildRequires: pkgconfig(icu-uc)
49 BuildRequires: pkgconfig(iniparser)
50 BuildRequires: pkgconfig(json-glib-1.0)
51 BuildRequires: pkgconfig(lbs-dbus)
52 BuildRequires: pkgconfig(libcurl)
53 BuildRequires: pkgconfig(libxml-2.0)
54 BuildRequires: pkgconfig(libwbxml2)
55 BuildRequires: pkgconfig(motion)
56 BuildRequires: pkgconfig(notification)
57 BuildRequires: pkgconfig(privacy-manager-client)
58 BuildRequires: pkgconfig(security-server)
59 BuildRequires: pkgconfig(sqlite3)
60 BuildRequires: pkgconfig(storage)
61 BuildRequires: pkgconfig(tapi)
62 BuildRequires: pkgconfig(vconf)
63 %if "%{?profile}" != "wearable"
64 BuildRequires: pkgconfig(contacts-service2)
65 %endif
66
67 %description
68 Description: Messaging Framework Library
69
70
71 %package devel
72 License:        Apache-2.0
73 Summary:        Messaging Framework Library (development)
74 Requires:       %{name} = %{version}-%{release}
75 Group:          Development/Libraries
76
77 %description devel
78 Description: Messaging Framework Library (development)
79
80
81 %package tools
82 License:        Apache-2.0
83 Summary:        Messaging server application
84 Requires:       %{name} = %{version}-%{release}
85 Group:          TO_BU / FILL_IN
86 Requires(post): /usr/bin/sqlite3
87 Requires(post): /sbin/ldconfig
88 Requires(postun): /sbin/ldconfig
89
90 %description tools
91 Description:  Messaging server application
92
93
94 %package -n sms-plugin
95 License:        Apache-2.0
96 Summary:        SMS plugin library
97 Requires:       %{name} = %{version}-%{release}
98 Group:          System/Libraries
99 Requires(post): /sbin/ldconfig
100 Requires(postun): /sbin/ldconfig
101
102 %description -n sms-plugin
103 Description: SMS plugin library
104
105 %package -n mms-plugin
106 License:        Apache-2.0
107 Summary:        MMS plugin library
108 Requires:       %{name} = %{version}-%{release}
109 Group:          System/Libraries
110 Requires(post): /sbin/ldconfig
111 Requires(postun): /sbin/ldconfig
112
113 %description -n mms-plugin
114 Description: MMS plugin library
115
116 %prep
117 %setup -q
118
119 %build
120 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
121         -DLIB_INSTALL_DIR=%{_libdir} \
122         -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
123         -DTZ_SYS_DATA=%TZ_SYS_DATA \
124         -DTZ_SYS_DB=%TZ_SYS_DB \
125 %ifarch i586
126 -D_TIZEN_I586_ENABLED:BOOL=ON \
127 %else
128 -D_TIZEN_I586_ENABLED:BOOL=OFF \
129 %endif
130 %if "%{?profile}" == "wearable"
131 -D_MSG_WEARABLE_PROFILE:BOOL=ON \
132 %else
133 -D_MSG_WEARABLE_PROFILE:BOOL=OFF \
134 %endif
135
136 make %{?jobs:-j%jobs}
137
138 %install
139 rm -rf %{buildroot}
140 mkdir -p %{buildroot}/usr/share/license
141 mkdir -p %{buildroot}/etc/config
142
143 %make_install
144
145 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
146 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/msg-server.service
147 %install_service multi-user.target.wants msg-server.service
148
149 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
150 install -m 0644 %SOURCE2 %{buildroot}%{_unitdir}/msg-server.socket
151 %install_service sockets.target.wants msg-server.socket
152
153 mkdir -p %{buildroot}%{TZ_SYS_DB}
154 sqlite3 %{buildroot}%{TZ_SYS_DB}/.msg_service.db "PRAGMA journal_mode = PERSIST;"
155 sqlite3 %{buildroot}%{TZ_SYS_DB}/.msg_service.db < %{buildroot}/usr/share/msg-service/msg-service-db.sql
156
157 rm %{buildroot}/usr/share/msg-service/msg-service-db.sql
158
159 %post tools
160 /sbin/ldconfig
161
162 chmod 640 %{TZ_SYS_DB}/.msg_service.db
163 chmod 660 %{TZ_SYS_DB}/.msg_service.db-journal
164
165 mkdir -p -m 775 %{TZ_SYS_DATA}/msg-service
166 mkdir -p -m 770 %{TZ_SYS_DATA}/msg-service/msgdata
167 mkdir -p -m 770 %{TZ_SYS_DATA}/msg-service/smildata
168 mkdir -p -m 770 %{TZ_SYS_DATA}/msg-service/ipcdata
169 mkdir -p -m 770 %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails
170
171
172 chgrp priv_message_read %{TZ_SYS_DB}/.msg_service.db
173 chgrp priv_message_read %{TZ_SYS_DATA}/msg-service/msgdata
174 chgrp priv_message_read %{TZ_SYS_DATA}/msg-service/smildata
175 chgrp priv_message_write %{TZ_SYS_DATA}/msg-service/ipcdata
176 chgrp priv_message_read %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails
177
178
179 chsmack -a "*" %{TZ_SYS_DB}/.msg_service.db
180 chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/msgdata -t
181 chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/smildata -t
182 chsmack -a "System::Run" %{TZ_SYS_DATA}/msg-service/ipcdata -t
183 chsmack -a "System::Shared" %{TZ_SYS_DATA}/msg-service/msgdata/thumbnails -t
184
185 %post -n sms-plugin -p /sbin/ldconfig
186 %post -n mms-plugin -p /sbin/ldconfig
187
188 %post
189 /sbin/ldconfig
190
191 %postun -p /sbin/ldconfig
192
193 %postun tools -p /sbin/ldconfig
194 %postun -n sms-plugin -p /sbin/ldconfig
195 %postun -n mms-plugin -p /sbin/ldconfig
196
197 %files
198 %manifest msg-service.manifest
199 %license LICENSE.APLv2
200 %{_libdir}/libmsg_plugin_manager.so
201 %{_libdir}/libmsg_mapi.so.*
202 %{_libdir}/libmsg_framework_handler.so
203 %{_libdir}/libmsg_transaction_manager.so
204 %{_libdir}/libmsg_utils.so
205 %{_libdir}/libmsg_externals.so
206 %{_libdir}/libmsg_transaction_proxy.so
207 %{_libdir}/libmsg_vobject.so
208
209 %files devel
210 %license LICENSE.APLv2
211 %{_libdir}/libmsg_mapi.so
212 %{_libdir}/pkgconfig/msg-service.pc
213 %{_includedir}/msg-service/*
214
215 %files tools
216 %manifest msg-service-tools.manifest
217 %license LICENSE.APLv2
218 %caps(cap_chown,cap_dac_override,cap_lease=eip) %{_bindir}/msg-server
219 %config(noreplace) %{TZ_SYS_DB}/.msg_service.db*
220 %{_unitdir}/msg-server.service
221 %{_unitdir}/multi-user.target.wants/msg-server.service
222 %{_unitdir}/msg-server.socket
223 %{_unitdir}/sockets.target.wants/msg-server.socket
224 /etc/config/*
225
226 %files -n sms-plugin
227 %manifest sms-plugin.manifest
228 %license LICENSE.APLv2
229 %{_libdir}/libmsg_sms_plugin.so
230
231 %files -n mms-plugin
232 %manifest mms-plugin.manifest
233 %license LICENSE.APLv2
234 %{_libdir}/libmsg_mms_plugin.so
235
236 %changelog