Allow install of email-service without webkit2.
[platform/core/messaging/email-service.git] / packaging / email-service.spec
1 Name:       email-service
2 Summary:    E-mail Framework Middleware package
3 Version:    0.10.101
4 Release:    1
5 Group:      Messaging/Service
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    email.service
9 Requires: connman
10 Suggests: webkit2-efl
11 Requires(post):    /sbin/ldconfig
12 Requires(post):    systemd
13 Requires(post):    /usr/bin/sqlite3
14 Requires(post):    /usr/bin/vconftool
15 Requires(post):    libss-client
16 Requires(post):    ss-server
17 Requires(preun):   systemd
18 Requires(postun):  /sbin/ldconfig
19 Requires(postun):  systemd
20 BuildRequires:  cmake
21 BuildRequires:  pkgconfig(glib-2.0)
22 BuildRequires:  pkgconfig(gthread-2.0)
23 BuildRequires:  pkgconfig(aul)
24 BuildRequires:  pkgconfig(vconf-internal-keys)
25 BuildRequires:  pkgconfig(vconf)
26 BuildRequires:  pkgconfig(dlog)
27 BuildRequires:  pkgconfig(db-util)
28 BuildRequires:  pkgconfig(dbus-1)
29 BuildRequires:  pkgconfig(dbus-glib-1)
30 BuildRequires:  pkgconfig(contacts-service2)
31 BuildRequires:  pkgconfig(uw-imap-toolkit)
32 BuildRequires:  pkgconfig(drm-client)
33 BuildRequires:  pkgconfig(openssl)
34 BuildRequires:  pkgconfig(alarm-service)
35 BuildRequires:  pkgconfig(mm-player)
36 BuildRequires:  pkgconfig(mm-session)
37 BuildRequires:  pkgconfig(secure-storage)
38 BuildRequires:  pkgconfig(notification)
39 BuildRequires:  pkgconfig(accounts-svc)
40 BuildRequires:  pkgconfig(libsystemd-daemon)
41 BuildRequires:  pkgconfig(capi-base-common)
42 BuildRequires:  pkgconfig(libcurl)
43 BuildRequires:  pkgconfig(libxml-2.0)
44 BuildRequires:  pkgconfig(gconf-2.0)
45 BuildRequires:  pkgconfig(cert-svc)
46 BuildRequires:  pkgconfig(badge)
47 BuildRequires:  pkgconfig(feedback)
48 BuildRequires:  pkgconfig(capi-appfw-application)
49 BuildRequires:  pkgconfig(libwbxml2)
50 BuildRequires:  pkgconfig(msg-service)
51 BuildRequires:  pkgconfig(pmapi)
52 BuildRequires:  pkgconfig(libsmack)
53 BuildRequires:  pkgconfig(security-server)
54 BuildRequires:  pkgconfig(deviced)
55 BuildRequires:  pkgconfig(icu-i18n)
56
57 %description
58 E-mail Framework Middleware Library/Binary package
59
60
61 %package devel
62 Summary:    E-mail Framework Middleware Development package
63 Group:      Development/Messaging
64 Requires:   %{name} = %{version}-%{release}
65
66 %description devel
67 E-mail Framework Middleware Development package
68
69
70 %prep
71 %setup -q
72
73 %build
74
75 export CFLAGS="${CFLAGS} -fPIC -Wall -g -fvisibility=hidden"
76 export CXXFLAGS="${CXXFLAGS} -fPIC -Wall -g -fvisibility=hidden"
77 export LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--rpath=%{_libdir} -Wl,--as-needed"
78
79 %cmake .
80
81 make %{?_smp_mflags}
82
83 %install
84 mkdir -p %{buildroot}/usr/share/license
85 %make_install
86
87 mkdir -p %{buildroot}/usr/lib/systemd/user/tizen-middleware.target.wants
88 install -m 0644 %SOURCE1 %{buildroot}/usr/lib/systemd/user/
89 ln -sf ../email.service %{buildroot}/usr/lib/systemd/user/tizen-middleware.target.wants/
90
91
92 %post
93 /sbin/ldconfig
94
95 #################################################################
96 # Add preset account information
97 #################################################################
98 echo "[EMAIL-SERVICE] Start adding preset account information..."
99
100 ################################################################################################
101
102 # for active sync
103 vconftool set -t int    db/email_handle/active_sync_handle "0"          -g 6514 -s "email::vconf_active_sync_handle"
104
105 # for default mail slot szie
106 vconftool set -t int    db/private/email-service/slot_size "100"        -g 6514 -s "email::vconf_slot_size"
107
108 # for latest mail id
109 vconftool set -t int    db/private/email-service/latest_mail_id "0"     -g 6514 -s "email::vconf_latest_mail_id"
110
111 # for default account id
112 vconftool set -t int    db/private/email-service/default_account_id "0" -g 6514 -s "email::vconf_default_account_id"
113
114 # for default account id
115 vconftool set -t int    memory/sync/email "0" -i -g 6514                        -s "email::vconf_sync_status"
116
117 <<<<<<< HEAD
118 # for priority send 
119 vconftool set -t string db/private/email-service/noti_ringtone_path "/opt/usr/share/settings/Alerts/Over the horizon.mp3" -g 6514 -s "email::vconf_ringtone_path"
120 vconftool set -t int    db/private/email-service/noti_rep_type "0" -g 6514                -s "email::vconf_rep_type"
121 vconftool set -t bool   db/private/email-service/noti_notification_ticker "0" -g 6514     -s "email::vconf_notification"
122 vconftool set -t bool   db/private/email-service/noti_display_content_ticker "0" -g 6514  -s "email::vconf_display_content"
123 vconftool set -t bool   db/private/email-service/noti_badge_ticker "0" -i -g 6514         -s "email::vconf_bagdge"
124 =======
125 # for priority send
126 vconftool set -t string db/private/email-service/noti_ringtone_path "Whistle.mp3" -g 6514
127 vconftool set -t int    db/private/email-service/noti_rep_type "0" -g 6514
128 vconftool set -t bool   db/private/email-service/noti_notification_ticker "0" -g 6514
129 vconftool set -t bool   db/private/email-service/noti_display_content_ticker "0" -g 6514
130 vconftool set -t bool   db/private/email-service/noti_badge_ticker "0" -i -g 6514
131 >>>>>>> 61cf8bf... Allow install of email-service without webkit2.
132 vconftool set -t int    db/private/email-service/noti_private_id/1 "0" -i -g 6514
133 vconftool set -t int    db/private/email-service/noti_private_id/2 "0" -i -g 6514
134 vconftool set -t int    db/private/email-service/noti_private_id/3 "0" -i -g 6514
135 vconftool set -t int    db/private/email-service/noti_private_id/4 "0" -i -g 6514
136 vconftool set -t int    db/private/email-service/noti_private_id/5 "0" -i -g 6514
137 vconftool set -t int    db/private/email-service/noti_private_id/6 "0" -i -g 6514
138 vconftool set -t int    db/private/email-service/noti_private_id/7 "0" -i -g 6514
139 vconftool set -t int    db/private/email-service/noti_private_id/8 "0" -i -g 6514
140 vconftool set -t int    db/private/email-service/noti_private_id/9 "0" -i -g 6514
141 vconftool set -t int    db/private/email-service/noti_private_id/10 "0" -i -g 6514
142 vconftool set -t bool   db/private/email-service/noti_vibration_status "0" -g 6514        -s "email::vconf_vibration"
143 vconftool set -t bool   db/private/email-service/noti_vip_vibration_status "0" -g 6514    -s "email::vconf_vip_vibration"
144 vconftool set -t bool   db/private/email-service/noti_use_default_ringtone "1" -g 6514    -s "email::vconf_use_default_ringtone"
145 vconftool set -t bool   db/private/email-service/noti_vip_use_default_ringtone "1" -g 6514    -s "email::vconf_vip_use_default_ringtone"
146
147
148 #################################################################
149 # Set executin script
150 #################################################################
151 echo "[EMAIL-SERVICE] Set executing script ..."
152 EMAIL_SERVICE_EXEC_SCRIPT=/etc/rc.d/init.d/email-service
153 EMAIL_SERVICE_BOOT_SCRIPT=/etc/rc.d/rc3.d/S70email-service
154 EMAIL_SERVICE_FASTBOOT_SCRIPT=/etc/rc.d/rc5.d/S70email-service
155 echo '#!/bin/sh' > ${EMAIL_SERVICE_EXEC_SCRIPT}
156 echo 'account_count=$(sqlite3 /opt/usr/dbspace/.email-service.db "select COUNT(*) from mail_account_tbl")' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
157 echo 'if [ "$(echo "$account_count" | cut -c0-1)" == "0" ]' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
158 echo 'then' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
159 echo '  echo 'There is no account'' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
160 echo 'elif [ "$(echo "$account_count" | cut -c0-1)" == "" ]' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
161 echo 'then' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
162 echo '  echo 'DB failure'' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
163 echo 'else' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
164 echo '  /usr/bin/email-service & ' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
165 echo 'fi' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
166 chmod 755 ${EMAIL_SERVICE_EXEC_SCRIPT}
167 rm -rf ${EMAIL_SERVICE_BOOT_SCRIPT}
168 rm -rf ${EMAIL_SERVICE_FASTBOOT_SCRIPT}
169 ln -s ${EMAIL_SERVICE_EXEC_SCRIPT} ${EMAIL_SERVICE_BOOT_SCRIPT}
170 ln -s ${EMAIL_SERVICE_EXEC_SCRIPT} ${EMAIL_SERVICE_FASTBOOT_SCRIPT}
171 echo "[EMAIL-SERVICE] Finish executing script ..."
172
173 #################################################################
174 # Create DB file and tables.
175 #################################################################
176 echo "[EMAIL-SERVICE] Creating Email Tables ..."
177 mkdir -p /opt/usr
178 mkdir -p /opt/usr/dbspace
179
180 sqlite3 /opt/usr/dbspace/.email-service.db 'PRAGMA journal_mode = PERSIST;'
181 sqlite3 /opt/usr/dbspace/.email-service.db < /opt/usr/data/email/res/email-service.sql
182
183 echo "[EMAIL-SERVICE] Finish Creating Email Tables."
184
185 chgrp 6006 /opt/usr/dbspace/.email-service.db*
186 chmod 664 /opt/usr/dbspace/.email-service.db
187 chmod 664 /opt/usr/dbspace/.email-service.db-journal
188
189 mkdir -m775 -p /opt/usr/data/email/.email_data
190 chgrp 6006 /opt/usr/data/email/.email_data
191 chsmack -a 'email-service' /opt/usr/data/email/.email_data
192
193 mkdir -m775 -p /opt/usr/data/email/.email_data/tmp
194 chgrp 6006 /opt/usr/data/email/.email_data/tmp
195 chsmack -a 'email-service' /opt/usr/data/email/.email_data/tmp
196
197 mkdir -p /opt/share/cert-svc/certs/trusteduser/email
198 chgrp 6006 /opt/share/cert-svc/certs/trusteduser/email
199
200 if [ -f /opt/usr/dbspace/.email-service.db ]
201 then
202         chsmack -a 'email-service::db' /opt/usr/dbspace/.email-service.db*
203 fi
204
205 systemctl daemon-reload
206 if [ $1 == 1 ]; then
207     systemctl restart email.service
208 fi
209
210 %preun
211 if [ $1 == 0]; then
212     systemctl stop email.service
213 fi
214
215 %postun
216 /sbin/ldconfig
217 systemctl daemon-reload
218
219
220 %files
221 %manifest email-service.manifest
222 %exclude /usr/bin/email-test-app
223 %{_bindir}/email-service
224 /opt/usr/data/email/res/*
225 %{_libdir}/lib*.so.*
226 /usr/lib/systemd/user/email.service
227 /usr/lib/systemd/user/tizen-middleware.target.wants/email.service
228 /usr/share/dbus-1/services/email-service.service
229 /usr/share/license/email-service
230
231 /opt/etc/smack/accesses.d/email-service.rule
232
233 %files devel
234 %{_includedir}/email-service/*.h
235 %{_libdir}/lib*.so
236 %{_libdir}/pkgconfig/*.pc