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(dlog)
25 BuildRequires: pkgconfig(db-util)
26 BuildRequires: pkgconfig(dbus-1)
27 BuildRequires: pkgconfig(dbus-glib-1)
28 BuildRequires: pkgconfig(contacts-service2)
29 BuildRequires: pkgconfig(uw-imap-toolkit)
30 BuildRequires: pkgconfig(drm-client)
31 BuildRequires: pkgconfig(openssl)
32 BuildRequires: pkgconfig(alarm-service)
33 BuildRequires: pkgconfig(mm-player)
34 BuildRequires: pkgconfig(mm-session)
35 BuildRequires: pkgconfig(secure-storage)
36 BuildRequires: pkgconfig(notification)
37 BuildRequires: pkgconfig(accounts-svc)
38 BuildRequires: pkgconfig(libsystemd-daemon)
39 BuildRequires: pkgconfig(capi-base-common)
40 BuildRequires: pkgconfig(libcurl)
41 BuildRequires: pkgconfig(libxml-2.0)
42 BuildRequires: pkgconfig(gconf-2.0)
43 BuildRequires: pkgconfig(cert-svc)
44 BuildRequires: pkgconfig(badge)
45 BuildRequires: pkgconfig(feedback)
50 E-mail Framework Middleware Library/Binary package
54 Summary: E-mail Framework Middleware Development package
55 Group: Development/Libraries
56 Requires: %{name} = %{version}-%{release}
59 E-mail Framework Middleware Development package
67 export CFLAGS="${CFLAGS} -fPIC -Wall -g -fvisibility=hidden"
68 export CXXFLAGS="${CXXFLAGS} -fPIC -Wall -g -fvisibility=hidden"
69 export LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--rpath=%{_prefix}/lib -Wl,--as-needed"
71 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
76 mkdir -p %{buildroot}/usr/share/license
79 mkdir -p %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants
80 install -m 0644 %SOURCE1 %{buildroot}%{_libdir}/systemd/user/
81 ln -sf ../email.service %{buildroot}%{_libdir}/systemd/user/tizen-middleware.target.wants/
87 #################################################################
88 # Add preset account information
89 #################################################################
90 echo "[EMAIL-SERVICE] Start adding preset account information..."
92 ################################################################################################
94 # for default mail slot szie
95 vconftool set -t int db/private/email-service/slot_size "100" -g 6514
98 vconftool set -t int db/private/email-service/latest_mail_id "0" -g 6514
100 # for default account id
101 vconftool set -t int db/private/email-service/default_account_id "0" -g 6514
104 vconftool set -t int db/badge/com.samsung.email "0" -g 6514
106 # for default account id
107 vconftool set -t int memory/sync/email "0" -i -g 6514
110 vconftool set -t string db/private/email-service/noti_ringtone_path "Whistle.mp3" -g 6514
111 vconftool set -t int db/private/email-service/noti_rep_type "0" -g 6514
112 vconftool set -t bool db/private/email-service/noti_notification_ticker "0" -g 6514
113 vconftool set -t bool db/private/email-service/noti_display_content_ticker "0" -g 6514
114 vconftool set -t bool db/private/email-service/noti_badge_ticker "0" -i -g 6514
115 vconftool set -t int db/private/email-service/noti_private_id/1 "0" -i -g 6514
116 vconftool set -t int db/private/email-service/noti_private_id/2 "0" -i -g 6514
117 vconftool set -t int db/private/email-service/noti_private_id/3 "0" -i -g 6514
118 vconftool set -t int db/private/email-service/noti_private_id/4 "0" -i -g 6514
119 vconftool set -t int db/private/email-service/noti_private_id/5 "0" -i -g 6514
120 vconftool set -t int db/private/email-service/noti_private_id/6 "0" -i -g 6514
121 vconftool set -t int db/private/email-service/noti_private_id/7 "0" -i -g 6514
122 vconftool set -t int db/private/email-service/noti_private_id/8 "0" -i -g 6514
123 vconftool set -t int db/private/email-service/noti_private_id/9 "0" -i -g 6514
124 vconftool set -t int db/private/email-service/noti_private_id/10 "0" -i -g 6514
126 #################################################################
127 # Set executin script
128 #################################################################
129 echo "[EMAIL-SERVICE] Set executing script ..."
130 EMAIL_SERVICE_EXEC_SCRIPT=/etc/rc.d/init.d/email-service
131 EMAIL_SERVICE_BOOT_SCRIPT=/etc/rc.d/rc3.d/S70email-service
132 EMAIL_SERVICE_FASTBOOT_SCRIPT=/etc/rc.d/rc5.d/S70email-service
133 echo '#!/bin/sh' > ${EMAIL_SERVICE_EXEC_SCRIPT}
134 echo 'account_count=$(sqlite3 /opt/usr/dbspace/.email-service.db "select COUNT(*) from mail_account_tbl")' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
135 echo 'if [ "$(echo "$account_count" | cut -c0-1)" == "0" ]' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
136 echo 'then' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
137 echo ' echo 'There is no account'' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
138 echo 'elif [ "$(echo "$account_count" | cut -c0-1)" == "" ]' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
139 echo 'then' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
140 echo ' echo 'DB failure'' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
141 echo 'else' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
142 echo ' /usr/bin/email-service & ' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
143 echo 'fi' >> ${EMAIL_SERVICE_EXEC_SCRIPT}
144 chmod 755 ${EMAIL_SERVICE_EXEC_SCRIPT}
145 rm -rf ${EMAIL_SERVICE_BOOT_SCRIPT}
146 rm -rf ${EMAIL_SERVICE_FASTBOOT_SCRIPT}
147 ln -s ${EMAIL_SERVICE_EXEC_SCRIPT} ${EMAIL_SERVICE_BOOT_SCRIPT}
148 ln -s ${EMAIL_SERVICE_EXEC_SCRIPT} ${EMAIL_SERVICE_FASTBOOT_SCRIPT}
149 echo "[EMAIL-SERVICE] Finish executing script ..."
151 #################################################################
152 # Create DB file and tables.
153 #################################################################
154 echo "[EMAIL-SERVICE] Creating Email Tables ..."
156 mkdir -p /opt/usr/dbspace
157 sqlite3 /opt/usr/dbspace/.email-service.db 'PRAGMA journal_mode = PERSIST;
158 CREATE TABLE mail_account_tbl
160 account_id INTEGER PRIMARY KEY,
161 account_name VARCHAR(51),
162 logo_icon_path VARCHAR(256),
164 user_data_length INTEGER,
165 account_svc_id INTEGER,
167 sync_disabled INTEGER,
168 default_mail_slot_size INTEGER,
169 user_display_name VARCHAR(31),
170 user_email_address VARCHAR(129),
171 reply_to_address VARCHAR(129),
172 return_address VARCHAR(129),
173 incoming_server_type INTEGER,
174 incoming_server_address VARCHAR(51),
175 incoming_server_port_number INTEGER,
176 incoming_server_user_name VARCHAR(51),
177 incoming_server_password VARCHAR(51),
178 incoming_server_secure_connection INTEGER,
179 retrieval_mode INTEGER,
180 keep_mails_on_pop_server_after_download INTEGER,
181 check_interval INTEGER,
182 auto_download_size INTEGER,
183 outgoing_server_type INTEGER,
184 outgoing_server_address VARCHAR(51),
185 outgoing_server_port_number INTEGER,
186 outgoing_server_user_name VARCHAR(51),
187 outgoing_server_password VARCHAR(51),
188 outgoing_server_secure_connection INTEGER,
189 outgoing_server_need_authentication INTEGER,
190 outgoing_server_use_same_authenticator INTEGER,
192 keep_local_copy INTEGER,
193 req_delivery_receipt INTEGER,
194 req_read_receipt INTEGER,
195 download_limit INTEGER,
196 block_address INTEGER,
197 block_subject INTEGER,
198 display_name_from VARCHAR(256),
199 reply_with_body INTEGER,
200 forward_with_files INTEGER,
201 add_myname_card INTEGER,
202 add_signature INTEGER,
203 signature VARCHAR(256),
204 add_my_address_to_bcc INTEGER,
205 pop_before_smtp INTEGER,
206 incoming_server_requires_apop INTEGER,
208 certificate_path VARCHAR(256),
213 CREATE TABLE mail_attachment_tbl
215 attachment_id INTEGER PRIMARY KEY,
216 attachment_name VARCHAR(257),
217 attachment_path VARCHAR(257),
218 attachment_size INTEGER,
222 attachment_save_status INTEGER,
223 attachment_drm_type INTEGER,
224 attachment_drm_method INTEGER,
225 attachment_inline_content_status INTEGER,
226 attachment_mime_type VARCHAR(257)
229 CREATE TABLE mail_box_tbl
231 mailbox_id INTEGER PRIMARY KEY,
234 mailbox_name VARCHAR(256),
235 mailbox_type INTEGER,
237 deleted_flag INTEGER,
238 modifiable_yn INTEGER,
239 total_mail_count_on_server INTEGER,
240 has_archived_mails INTEGER,
241 mail_slot_size INTEGER,
243 last_sync_time DATETIME
246 CREATE TABLE mail_read_mail_uid_tbl
251 mailbox_name VARCHAR(256) ,
256 idx_num INTEGER PRIMARY KEY
259 CREATE TABLE mail_rule_tbl
262 rule_id INTEGER PRIMARY KEY,
265 action_type INTEGER ,
266 target_mailbox_id INTEGER ,
271 CREATE TABLE mail_tbl
273 mail_id INTEGER PRIMARY KEY,
276 mailbox_name VARCHAR(129),
277 mailbox_type INTEGER,
280 server_mail_status INTEGER,
281 server_mailbox_name VARCHAR(129),
282 server_mail_id VARCHAR(129),
283 message_id VARCHAR(257),
284 reference_mail_id INTEGER,
285 full_address_from TEXT,
286 full_address_reply TEXT,
287 full_address_to TEXT,
288 full_address_cc TEXT,
289 full_address_bcc TEXT,
290 full_address_return TEXT,
291 email_address_sender TEXT collation user1,
292 email_address_recipient TEXT collation user1,
294 alias_recipient TEXT,
295 body_download_status INTEGER,
296 file_path_plain VARCHAR(257),
297 file_path_html VARCHAR(257),
298 file_path_mime_entity VARCHAR(257),
300 flags_seen_field BOOLEAN,
301 flags_deleted_field BOOLEAN,
302 flags_flagged_field BOOLEAN,
303 flags_answered_field BOOLEAN,
304 flags_recent_field BOOLEAN,
305 flags_draft_field BOOLEAN,
306 flags_forwarded_field BOOLEAN,
311 report_status INTEGER,
312 attachment_count INTEGER,
313 inline_content_count INTEGER,
315 thread_item_count INTEGER,
317 meeting_request_status INTEGER,
318 message_class INTEGER,
321 FOREIGN KEY(account_id) REFERENCES mail_account_tbl(account_id)
324 CREATE TABLE mail_meeting_tbl
326 mail_id INTEGER PRIMARY KEY,
329 meeting_response INTEGER,
333 global_object_id TEXT ,
336 standard_time_start_date INTEGER,
337 standard_bias INTEGER,
339 daylight_time_start_date INTEGER,
340 daylight_bias INTEGER
343 CREATE TABLE mail_local_activity_tbl
348 activity_type INTEGER,
349 server_mailid VARCHAR(129),
350 src_mbox VARCHAR(129),
351 dest_mbox VARCHAR(129)
354 CREATE TABLE mail_certificate_tbl
356 certificate_id INTEGER,
360 expiration_year INTEGER,
361 expiration_month INTEGER,
362 expiration_day INTEGER,
363 issue_organization_name VARCHAR(256),
364 email_address VARCHAR(129),
365 subject_str VARCHAR(256),
366 filepath VARCHAR(256),
370 CREATE TABLE mail_task_tbl
372 task_id INTEGER PRIMARY KEY,
375 task_priority INTEGER,
376 task_parameter_length INTEGER,
382 CREATE UNIQUE INDEX mail_account_idx1 ON mail_account_tbl (account_id);
383 CREATE UNIQUE INDEX mail_attachment_idx1 ON mail_attachment_tbl (mail_id, attachment_id);
384 CREATE UNIQUE INDEX mail_box_idx1 ON mail_box_tbl (mailbox_id);
385 CREATE UNIQUE INDEX mail_idx1 ON mail_tbl (mail_id, account_id);
386 CREATE UNIQUE INDEX mail_read_mail_uid_idx1 ON mail_read_mail_uid_tbl (account_id, mailbox_id, local_uid, mailbox_name, s_uid);
387 CREATE UNIQUE INDEX mail_meeting_idx1 ON mail_meeting_tbl (mail_id);
388 CREATE UNIQUE INDEX task_idx1 ON mail_task_tbl (task_id);
389 CREATE INDEX mail_idx_date_time ON mail_tbl (date_time);
390 CREATE INDEX mail_idx_thread_item_count ON mail_tbl (thread_item_count);
393 echo "[EMAIL-SERVICE] Finish Creating Email Tables."
395 chgrp 6006 /opt/usr/dbspace/.email-service.db*
396 chmod 664 /opt/usr/dbspace/.email-service.db
397 chmod 664 /opt/usr/dbspace/.email-service.db-journal
399 mkdir -m775 -p /opt/usr/data/email/.email_data
400 chgrp 6006 /opt/usr/data/email/.email_data
402 mkdir -m775 -p /opt/usr/data/email/.email_data/tmp
403 chgrp 6006 /opt/usr/data/email/.email_data/tmp
405 mkdir -p /opt/share/cert-svc/certs/trusteduser/email
406 chgrp 6006 /opt/share/cert-svc/certs/trusteduser/email
408 if [ -f /opt/usr/dbspace/.email-service.db ]
410 chsmack -a 'email-service::db' /opt/usr/dbspace/.email-service.db*
413 systemctl daemon-reload
415 systemctl restart email.service
420 systemctl stop email.service
425 systemctl daemon-reload
429 %manifest email-service.manifest
430 %exclude /usr/bin/email-test-app
431 %{_bindir}/email-service
432 /opt/usr/data/email/res/*
434 %{_libdir}/systemd/user/email.service
435 %{_libdir}/systemd/user/tizen-middleware.target.wants/email.service
436 /usr/share/dbus-1/services/email-service.service
437 /usr/share/license/email-service/LICENSE
440 %{_includedir}/email-service/*.h
442 %{_libdir}/pkgconfig/*.pc