2 Summary: E-mail Framework Middleware package
5 Group: System/Libraries
7 Source0: %{name}-%{version}.tar.gz
11 Requires(post): /sbin/ldconfig
12 Requires(post): systemd
13 Requires(post): /usr/bin/sqlite3
14 Requires(post): /usr/bin/vconftool
15 Requires(preun): systemd
16 Requires(postun): /sbin/ldconfig
17 Requires(postun): systemd
19 BuildRequires: pkgconfig(glib-2.0)
20 BuildRequires: pkgconfig(gthread-2.0)
21 BuildRequires: pkgconfig(aul)
22 BuildRequires: pkgconfig(vconf-internal-keys)
23 BuildRequires: pkgconfig(vconf)
24 BuildRequires: pkgconfig(heynoti)
25 BuildRequires: pkgconfig(dlog)
26 BuildRequires: pkgconfig(db-util)
27 BuildRequires: pkgconfig(dbus-1)
28 BuildRequires: pkgconfig(dbus-glib-1)
29 BuildRequires: pkgconfig(contacts-service2)
30 BuildRequires: pkgconfig(uw-imap-toolkit)
31 BuildRequires: pkgconfig(drm-client)
32 BuildRequires: pkgconfig(openssl)
33 BuildRequires: pkgconfig(alarm-service)
34 BuildRequires: pkgconfig(mm-player)
35 BuildRequires: pkgconfig(mm-session)
36 BuildRequires: pkgconfig(devman_haptic)
37 BuildRequires: pkgconfig(secure-storage)
38 BuildRequires: pkgconfig(notification)
39 BuildRequires: pkgconfig(accounts-svc)
40 BuildRequires: pkgconfig(capi-base-common)
41 BuildRequires: pkgconfig(libcurl)
42 BuildRequires: pkgconfig(libxml-2.0)
43 BuildRequires: pkgconfig(gconf-2.0)
44 BuildRequires: pkgconfig(cert-svc)
45 BuildRequires: pkgconfig(badge)
48 BuildRoot: %{_tmppath}/%{name}-%{version}-build
51 E-mail Framework Middleware Library/Binary package
55 Summary: E-mail Framework Middleware Development package
56 Group: Development/Libraries
57 Requires: %{name} = %{version}-%{release}
60 E-mail Framework Middleware Development package
68 export CFLAGS="${CFLAGS} -fPIC -Wall -g -fvisibility=hidden"
69 export CXXFLAGS="${CXXFLAGS} -fPIC -Wall -g -fvisibility=hidden"
70 export LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--rpath=%{_prefix}/lib -Wl,--as-needed"
72 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
74 # Call make instruction with smp support
75 #make %{?jobs:-j%jobs}
81 mkdir -p %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants
82 install -m 0644 %SOURCE1 %{buildroot}%{_libdir}/systemd/user/
83 ln -sf ../email.service %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants/
85 # FIXME: remove initscripts after systemd is ready
86 mkdir -p %{buildroot}%{_sysconfdir}/rc.d/init.d
87 cat << EOF > %{buildroot}%{_sysconfdir}/rc.d/init.d/email-service
89 /usr/bin/email-service &
92 mkdir -p %{buildroot}%{_sysconfdir}/rc.d/rc3.d
93 mkdir -p %{buildroot}%{_sysconfdir}/rc.d/rc5.d
94 ln -sf ../init.d/email-service %{buildroot}%{_sysconfdir}/rc.d/rc3.d/S70email-service
95 ln -sf ../init.d/email-service %{buildroot}%{_sysconfdir}/rc.d/rc5.d/S70email-service
104 #################################################################
105 # Add preset account information
106 #################################################################
107 echo "[EMAIL-SERVICE] Start adding preset account information..."
109 ################################################################################################
111 # for default mail slot szie
112 vconftool set -t int db/private/email-service/slot_size "100" -g 6514
115 vconftool set -t int db/private/email-service/latest_mail_id "0" -g 6514
117 # for default account id
118 vconftool set -t int db/private/email-service/default_account_id "0" -g 6514
121 vconftool set -t int db/badge/org.tizen.email "0" -g 6514
123 vconftool set -t int db/email_handle/active_sync_handle "-1" -g 6514
125 # for default account id
126 vconftool set -t int memory/sync/email "0" -i -g 6514
129 vconftool set -t string db/private/email-service/noti_ringthone_path "Whistle.mp3" -g 6514
130 vconftool set -t int db/private/email-service/noti_rep_type "0" -g 6514
131 vconftool set -t int db/private/email-service/noti_notification_ticker "0" -g 6514
132 vconftool set -t int db/private/email-service/noti_display_content_ticker "0" -g 6514
133 vconftool set -t int db/private/email-service/noti_badge_ticker "0" -i -g 6514
134 vconftool set -t int db/private/email-service/noti_private_id/1 "0" -i -g 6514
135 vconftool set -t int db/private/email-service/noti_private_id/2 "0" -i -g 6514
136 vconftool set -t int db/private/email-service/noti_private_id/3 "0" -i -g 6514
137 vconftool set -t int db/private/email-service/noti_private_id/4 "0" -i -g 6514
138 vconftool set -t int db/private/email-service/noti_private_id/5 "0" -i -g 6514
139 vconftool set -t int db/private/email-service/noti_private_id/6 "0" -i -g 6514
140 vconftool set -t int db/private/email-service/noti_private_id/7 "0" -i -g 6514
141 vconftool set -t int db/private/email-service/noti_private_id/8 "0" -i -g 6514
142 vconftool set -t int db/private/email-service/noti_private_id/9 "0" -i -g 6514
143 vconftool set -t int db/private/email-service/noti_private_id/10 "0" -i -g 6514
145 #################################################################
146 # Set executin script
147 #################################################################
148 echo "[EMAIL-SERVICE] Set executing script ..."
149 EMAIL_SERVICE_EXEC_SCRIPT=/etc/rc.d/init.d/email-service
150 EMAIL_SERVICE_BOOT_SCRIPT=/etc/rc.d/rc3.d/S70email-service
151 EMAIL_SERVICE_FASTBOOT_SCRIPT=/etc/rc.d/rc5.d/S70email-service
152 echo '#!/bin/sh' > ${EMAIL_SERVICE_EXEC_SCRIPT}
153 echo 'account_count=$(sqlite3 /opt/usr/dbspace/.email-service.db "select COUNT(*) from mail_account_tbl")' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
154 echo 'if [ "$(echo "$account_count" | cut -c0-1)" == "0" ]' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
155 echo 'then' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
156 echo ' echo 'There is no account'' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
157 echo 'elif [ "$(echo "$account_count" | cut -c0-1)" == "" ]' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
158 echo 'then' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
159 echo ' echo 'DB failure'' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
160 echo 'else' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
161 echo ' /usr/bin/email-service & ' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
162 echo 'fi' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
163 chmod 755 ${EMAIL_SERVICE_EXEC_SCRIPT}
164 rm -rf ${EMAIL_SERVICE_BOOT_SCRIPT}
165 rm -rf ${EMAIL_SERVICE_FASTBOOT_SCRIPT}
166 ln -s ${EMAIL_SERVICE_EXEC_SCRIPT} ${EMAIL_SERVICE_BOOT_SCRIPT}
167 ln -s ${EMAIL_SERVICE_EXEC_SCRIPT} ${EMAIL_SERVICE_FASTBOOT_SCRIPT}
168 echo "[EMAIL-SERVICE] Finish executing script ..."
170 #################################################################
171 # Create DB file and tables.
172 #################################################################
173 echo "[EMAIL-SERVICE] Creating Email Tables ..."
175 mkdir -p /opt/usr/dbspace
176 sqlite3 /opt/usr/dbspace/.email-service.db 'PRAGMA journal_mode = PERSIST;
177 CREATE TABLE mail_account_tbl
179 account_id INTEGER PRIMARY KEY,
180 account_name VARCHAR(51),
181 logo_icon_path VARCHAR(256),
183 user_data_length INTEGER,
184 account_svc_id INTEGER,
186 sync_disabled INTEGER,
187 default_mail_slot_size INTEGER,
188 user_display_name VARCHAR(31),
189 user_email_address VARCHAR(129),
190 reply_to_address VARCHAR(129),
191 return_address VARCHAR(129),
192 incoming_server_type INTEGER,
193 incoming_server_address VARCHAR(51),
194 incoming_server_port_number INTEGER,
195 incoming_server_user_name VARCHAR(51),
196 incoming_server_password VARCHAR(51),
197 incoming_server_secure_connection INTEGER,
198 retrieval_mode INTEGER,
199 keep_mails_on_pop_server_after_download INTEGER,
200 check_interval INTEGER,
201 auto_download_size INTEGER,
202 outgoing_server_type INTEGER,
203 outgoing_server_address VARCHAR(51),
204 outgoing_server_port_number INTEGER,
205 outgoing_server_user_name VARCHAR(51),
206 outgoing_server_password VARCHAR(51),
207 outgoing_server_secure_connection INTEGER,
208 outgoing_server_need_authentication INTEGER,
209 outgoing_server_use_same_authenticator INTEGER,
211 keep_local_copy INTEGER,
212 req_delivery_receipt INTEGER,
213 req_read_receipt INTEGER,
214 download_limit INTEGER,
215 block_address INTEGER,
216 block_subject INTEGER,
217 display_name_from VARCHAR(256),
218 reply_with_body INTEGER,
219 forward_with_files INTEGER,
220 add_myname_card INTEGER,
221 add_signature INTEGER,
222 signature VARCHAR(256),
223 add_my_address_to_bcc INTEGER,
224 pop_before_smtp INTEGER,
225 incoming_server_requires_apop INTEGER,
227 certificate_path VARCHAR(256),
232 CREATE TABLE mail_attachment_tbl
234 attachment_id INTEGER PRIMARY KEY,
235 attachment_name VARCHAR(257),
236 attachment_path VARCHAR(257),
237 attachment_size INTEGER,
241 attachment_save_status INTEGER,
242 attachment_drm_type INTEGER,
243 attachment_drm_method INTEGER,
244 attachment_inline_content_status INTEGER,
245 attachment_mime_type VARCHAR(257)
248 CREATE TABLE mail_box_tbl
250 mailbox_id INTEGER PRIMARY KEY,
253 mailbox_name VARCHAR(256),
254 mailbox_type INTEGER,
256 sync_with_server_yn INTEGER,
257 modifiable_yn INTEGER,
258 total_mail_count_on_server INTEGER,
259 has_archived_mails INTEGER,
260 mail_slot_size INTEGER,
262 last_sync_time DATETIME
265 CREATE TABLE mail_read_mail_uid_tbl
270 mailbox_name VARCHAR(256) ,
275 idx_num INTEGER PRIMARY KEY
278 CREATE TABLE mail_rule_tbl
281 rule_id INTEGER PRIMARY KEY,
284 action_type INTEGER ,
285 target_mailbox_id INTEGER ,
290 CREATE TABLE mail_tbl
292 mail_id INTEGER PRIMARY KEY,
295 mailbox_name VARCHAR(129),
296 mailbox_type INTEGER,
299 server_mail_status INTEGER,
300 server_mailbox_name VARCHAR(129),
301 server_mail_id VARCHAR(129),
302 message_id VARCHAR(257),
303 reference_mail_id INTEGER,
304 full_address_from TEXT,
305 full_address_reply TEXT,
306 full_address_to TEXT,
307 full_address_cc TEXT,
308 full_address_bcc TEXT,
309 full_address_return TEXT,
310 email_address_sender TEXT collation user1,
311 email_address_recipient TEXT collation user1,
313 alias_recipient TEXT,
314 body_download_status INTEGER,
315 file_path_plain VARCHAR(257),
316 file_path_html VARCHAR(257),
317 file_path_mime_entity VARCHAR(257),
319 flags_seen_field BOOLEAN,
320 flags_deleted_field BOOLEAN,
321 flags_flagged_field BOOLEAN,
322 flags_answered_field BOOLEAN,
323 flags_recent_field BOOLEAN,
324 flags_draft_field BOOLEAN,
325 flags_forwarded_field BOOLEAN,
330 report_status INTEGER,
331 attachment_count INTEGER,
332 inline_content_count INTEGER,
334 thread_item_count INTEGER,
336 meeting_request_status INTEGER,
337 message_class INTEGER,
340 FOREIGN KEY(account_id) REFERENCES mail_account_tbl(account_id)
343 CREATE TABLE mail_meeting_tbl
345 mail_id INTEGER PRIMARY KEY,
348 meeting_response INTEGER,
352 global_object_id TEXT ,
355 standard_time_start_date INTEGER,
356 standard_bias INTEGER,
358 daylight_time_start_date INTEGER,
359 daylight_bias INTEGER
362 CREATE TABLE mail_local_activity_tbl
367 activity_type INTEGER,
368 server_mailid VARCHAR(129),
369 src_mbox VARCHAR(129),
370 dest_mbox VARCHAR(129)
373 CREATE TABLE mail_certificate_tbl
375 certificate_id INTEGER,
379 expiration_year INTEGER,
380 expiration_month INTEGER,
381 expiration_day INTEGER,
382 issue_organization_name VARCHAR(256),
383 email_address VARCHAR(129),
384 subject_str VARCHAR(256),
385 filepath VARCHAR(256),
389 CREATE TABLE mail_task_tbl
391 task_id INTEGER PRIMARY KEY,
394 task_priority INTEGER,
395 task_parameter_length INTEGER,
401 CREATE UNIQUE INDEX mail_account_idx1 ON mail_account_tbl (account_id);
402 CREATE UNIQUE INDEX mail_attachment_idx1 ON mail_attachment_tbl (mail_id, attachment_id);
403 CREATE UNIQUE INDEX mail_box_idx1 ON mail_box_tbl (mailbox_id);
404 CREATE UNIQUE INDEX mail_idx1 ON mail_tbl (mail_id, account_id);
405 CREATE UNIQUE INDEX mail_read_mail_uid_idx1 ON mail_read_mail_uid_tbl (account_id, mailbox_id, local_uid, mailbox_name, s_uid);
406 CREATE UNIQUE INDEX mail_meeting_idx1 ON mail_meeting_tbl (mail_id);
407 CREATE UNIQUE INDEX task_idx1 ON mail_task_tbl (task_id);
408 CREATE INDEX mail_idx_date_time ON mail_tbl (date_time);
409 CREATE INDEX mail_idx_thread_item_count ON mail_tbl (thread_item_count);
412 echo "[EMAIL-SERVICE] Finish Creating Email Tables."
414 chgrp db_email_service /opt/usr/dbspace/.email-service.db*
415 chmod 664 /opt/usr/dbspace/.email-service.db
416 chmod 664 /opt/usr/dbspace/.email-service.db-journal
418 mkdir -m775 -p /opt/usr/data/email/.email_data
419 chgrp db_email_service /opt/usr/data/email/.email_data
421 %postun -p /sbin/ldconfig
424 %manifest email-service.manifest
425 %exclude /usr/bin/email-test-app
426 %attr(0755,root,root) %{_sysconfdir}/rc.d/init.d/email-service
427 %{_sysconfdir}/rc.d/rc3.d/S70email-service
428 %{_sysconfdir}/rc.d/rc5.d/S70email-service
429 %{_bindir}/email-service
430 /opt/usr/data/email/res/*
432 %{_libdir}/systemd/user/email.service
433 %{_libdir}/systemd/user/tizen-middleware.target.wants/email.service
434 /usr/share/dbus-1/services/email-service.service
437 %{_includedir}/email-service/*.h
439 %{_libdir}/pkgconfig/*.pc