Fixed the unresolve package
[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.6
4 Release:    1
5 Group:      System/Libraries
6 License:    TBD
7 Source0:    %{name}-%{version}.tar.gz
8 Requires: connman
9 Requires(post):    /sbin/ldconfig
10 Requires(post):    /usr/bin/sqlite3
11 Requires(post):    /usr/bin/vconftool
12 Requires(postun):  /sbin/ldconfig
13 BuildRequires:  cmake
14 BuildRequires:  pkgconfig(glib-2.0)
15 BuildRequires:  pkgconfig(gthread-2.0)
16 BuildRequires:  pkgconfig(aul)
17 BuildRequires:  pkgconfig(vconf)
18 BuildRequires:  pkgconfig(heynoti)
19 BuildRequires:  pkgconfig(dlog)
20 BuildRequires:  pkgconfig(db-util)
21 BuildRequires:  pkgconfig(dbus-1)
22 BuildRequires:  pkgconfig(dbus-glib-1)
23 BuildRequires:  pkgconfig(contacts-service)
24 BuildRequires:  pkgconfig(uw-imap-toolkit)
25 BuildRequires:  pkgconfig(drm-client)
26 BuildRequires:  pkgconfig(openssl)
27 BuildRequires:  pkgconfig(alarm-service)
28 BuildRequires:  pkgconfig(mm-player)
29 BuildRequires:  pkgconfig(mm-session)
30 BuildRequires:  pkgconfig(devman_haptic)
31 BuildRequires:  pkgconfig(secure-storage)
32 BuildRequires:  pkgconfig(notification)
33 BuildRequires:  pkgconfig(accounts-svc)
34 BuildRequires:  pkgconfig(capi-base-common)
35 BuildRequires:  pkgconfig(libcurl)
36 BuildRequires:  pkgconfig(libxml-2.0)
37 BuildRequires:  pkgconfig(gconf-2.0)
38 BuildRequires:  pkgconfig(cert-svc)
39
40
41 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
42
43 %description
44 E-mail Framework Middleware Library/Binary package
45
46
47 %package devel
48 Summary:    E-mail Framework Middleware Development package
49 Group:      Development/Libraries
50 Requires:   %{name} = %{version}-%{release}
51
52 %description devel
53 E-mail Framework Middleware Development package
54
55
56 %prep
57 %setup -q
58
59 %build
60
61 export CFLAGS="${CFLAGS} -fPIC -Wall -g -fvisibility=hidden"
62 export CXXFLAGS="${CXXFLAGS} -fPIC -Wall -g -fvisibility=hidden"
63 export LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--rpath=%{_prefix}/lib -Wl,--as-needed"
64
65 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
66
67 # Call make instruction with smp support
68 #make %{?jobs:-j%jobs}
69 make
70
71 %install
72 %make_install
73
74 %clean
75 rm -rf %{buildroot}
76
77 %post
78 /sbin/ldconfig
79
80
81 #################################################################
82 # Add preset account information
83 #################################################################
84 echo "[EMAIL-SERVICE] Start adding preset account information..." 
85
86 ################################################################################################
87
88 # for default mail slot szie
89 vconftool set -t int    db/private/email-service/slot_size "100"        -g 6514
90
91 # for latest mail id
92 vconftool set -t int    db/private/email-service/latest_mail_id "0"     -g 6514
93
94 # for default account id
95 vconftool set -t int    db/private/email-service/default_account_id "0" -g 6514
96
97
98 #################################################################
99 # Set executin script
100 #################################################################
101 echo "[EMAIL-SERVICE] Set executing script ..."
102 EMAIL_SERVICE_EXEC_SCRIPT=/etc/rc.d/init.d/email-service
103 EMAIL_SERVICE_BOOT_SCRIPT=/etc/rc.d/rc3.d/S70email-service
104 EMAIL_SERVICE_FASTBOOT_SCRIPT=/etc/rc.d/rc5.d/S70email-service
105 echo '#!/bin/sh' > ${EMAIL_SERVICE_EXEC_SCRIPT}
106 echo '/usr/bin/email-service &' >> ${EMAIL_SERVICE_EXEC_SCRIPT} 
107 chmod 755 ${EMAIL_SERVICE_EXEC_SCRIPT}
108 rm -rf ${EMAIL_SERVICE_BOOT_SCRIPT}
109 rm -rf ${EMAIL_SERVICE_FASTBOOT_SCRIPT}
110 ln -s ${EMAIL_SERVICE_EXEC_SCRIPT} ${EMAIL_SERVICE_BOOT_SCRIPT} 
111 ln -s ${EMAIL_SERVICE_EXEC_SCRIPT} ${EMAIL_SERVICE_FASTBOOT_SCRIPT}
112 echo "[EMAIL-SERVICE] Finish executing script ..."
113
114 #################################################################
115 # Create DB file and tables.
116 #################################################################
117 echo "[EMAIL-SERVICE] Creating Email Tables ..."
118 sqlite3 /opt/dbspace/.email-service.db 'PRAGMA journal_mode = PERSIST;
119 CREATE TABLE mail_account_tbl 
120
121         account_id                               INTEGER PRIMARY KEY,
122         account_name                             VARCHAR(51),
123         logo_icon_path                           VARCHAR(256),
124         user_data                                BLOB,
125         user_data_length                         INTEGER,
126         account_svc_id                           INTEGER,
127         sync_status                              INTEGER,
128         sync_disabled                            INTEGER,
129         default_mail_slot_size                   INTEGER,
130         user_display_name                        VARCHAR(31),
131         user_email_address                       VARCHAR(129),
132         reply_to_address                         VARCHAR(129),
133         return_address                           VARCHAR(129),
134         incoming_server_type                     INTEGER,
135         incoming_server_address                  VARCHAR(51),
136         incoming_server_port_number              INTEGER,
137         incoming_server_user_name                VARCHAR(51),
138         incoming_server_password                 VARCHAR(51),
139         incoming_server_secure_connection        INTEGER,
140         retrieval_mode                           INTEGER,
141         keep_mails_on_pop_server_after_download  INTEGER,
142         check_interval                           INTEGER,
143         auto_download_size                       INTEGER,
144         outgoing_server_type                     INTEGER,
145         outgoing_server_address                  VARCHAR(51),
146         outgoing_server_port_number              INTEGER,
147         outgoing_server_user_name                VARCHAR(51),
148         outgoing_server_password                 VARCHAR(51),
149         outgoing_server_secure_connection        INTEGER,
150         outgoing_server_need_authentication      INTEGER,
151         outgoing_server_use_same_authenticator   INTEGER,
152         priority                                 INTEGER,
153         keep_local_copy                          INTEGER,
154         req_delivery_receipt                     INTEGER,
155         req_read_receipt                         INTEGER,
156         download_limit                           INTEGER,
157         block_address                            INTEGER,
158         block_subject                            INTEGER,
159         display_name_from                        VARCHAR(256),
160         reply_with_body                          INTEGER,
161         forward_with_files                       INTEGER,
162         add_myname_card                          INTEGER,
163         add_signature                            INTEGER,
164         signature                                VARCHAR(256),
165         add_my_address_to_bcc                    INTEGER,
166         pop_before_smtp                          INTEGER,
167         incoming_server_requires_apop            INTEGER,
168         smime_type                               INTEGER,
169         certificate_path                         VARCHAR(256),
170         cipher_type                              INTEGER,
171         digest_type                              INTEGER
172 );
173
174 CREATE TABLE mail_attachment_tbl 
175
176         attachment_id                            INTEGER PRIMARY KEY,
177         attachment_name                          VARCHAR(257),
178         attachment_path                          VARCHAR(257),
179         attachment_size                          INTEGER,
180         mail_id                                  INTEGER,
181         account_id                               INTEGER,
182         mailbox_id                               INTEGER,
183         attachment_save_status                   INTEGER,
184         attachment_drm_type                      INTEGER,
185         attachment_drm_method                    INTEGER,
186         attachment_inline_content_status         INTEGER,
187         attachment_mime_type                     VARCHAR(257)
188 );
189
190 CREATE TABLE mail_box_tbl 
191 (    
192         mailbox_id                       INTEGER PRIMARY KEY,
193         account_id                       INTEGER,
194         local_yn                         INTEGER,
195         mailbox_name                     VARCHAR(256),    
196         mailbox_type                     INTEGER,    
197         alias                            VARCHAR(256),    
198         sync_with_server_yn              INTEGER,    
199         modifiable_yn                    INTEGER,    
200         total_mail_count_on_server       INTEGER,
201         has_archived_mails               INTEGER,    
202         mail_slot_size                   INTEGER,
203         last_sync_time                   DATETIME
204 );
205
206 CREATE TABLE mail_read_mail_uid_tbl          
207 (    
208         account_id                       INTEGER ,
209         mailbox_id                       INTEGER ,
210         local_uid                        INTEGER ,
211         mailbox_name                     VARCHAR(256) ,
212         s_uid                            VARCHAR(129) ,
213         data1                            INTEGER ,
214         data2                            VARCHAR(257) ,
215         flag                             INTEGER ,
216         idx_num                          INTEGER PRIMARY KEY
217 );
218
219 CREATE TABLE mail_rule_tbl          
220 (    
221         account_id                       INTEGER ,
222         rule_id                          INTEGER PRIMARY KEY,
223         type                             INTEGER ,
224         value                            VARCHAR(257)  ,
225         action_type                      INTEGER ,
226         target_mailbox_id                INTEGER ,
227         flag1                            INTEGER ,
228         flag2                            INTEGER    
229 );
230
231 CREATE TABLE mail_tbl
232 (
233         mail_id                          INTEGER PRIMARY KEY,
234         account_id                       INTEGER,
235         mailbox_id                       INTEGER,
236         mailbox_name                     VARCHAR(129),
237         mailbox_type                     INTEGER,
238         subject                          TEXT,
239         date_time                        DATETIME,
240         server_mail_status               INTEGER,
241         server_mailbox_name              VARCHAR(129),
242         server_mail_id                   VARCHAR(129),
243         message_id                       VARCHAR(257),
244         reference_mail_id                INTEGER,
245         full_address_from                TEXT,
246         full_address_reply               TEXT,
247         full_address_to                  TEXT,
248         full_address_cc                  TEXT,
249         full_address_bcc                 TEXT,
250         full_address_return              TEXT,
251         email_address_sender             TEXT collation user1,
252         email_address_recipient          TEXT collation user1,
253         alias_sender                     TEXT,
254         alias_recipient                  TEXT,
255         body_download_status             INTEGER,
256         file_path_plain                  VARCHAR(257),
257         file_path_html                   VARCHAR(257),
258         file_path_mime_entity            VARCHAR(257),
259         mail_size                        INTEGER,
260         flags_seen_field                 BOOLEAN,
261         flags_deleted_field              BOOLEAN,
262         flags_flagged_field              BOOLEAN,
263         flags_answered_field             BOOLEAN,
264         flags_recent_field               BOOLEAN,
265         flags_draft_field                BOOLEAN,
266         flags_forwarded_field            BOOLEAN,
267         DRM_status                       INTEGER,
268         priority                         INTEGER,
269         save_status                      INTEGER,
270         lock_status                      INTEGER,
271         report_status                    INTEGER,
272         attachment_count                 INTEGER,
273         inline_content_count             INTEGER,
274         thread_id                        INTEGER,
275         thread_item_count                INTEGER,
276         preview_text                     TEXT, 
277         meeting_request_status           INTEGER,
278         message_class                    INTEGER,
279         digest_type                      INTEGER,
280         smime_type                       INTEGER,
281         FOREIGN KEY(account_id)          REFERENCES mail_account_tbl(account_id)
282 );
283
284 CREATE TABLE mail_meeting_tbl
285 (
286         mail_id                          INTEGER PRIMARY KEY,
287         account_id                       INTEGER,
288         mailbox_id                       INTEGER,
289         meeting_response                 INTEGER,
290         start_time                       INTEGER,
291         end_time                         INTEGER,
292         location                         TEXT ,
293         global_object_id                 TEXT ,
294         offset                           INTEGER,
295         standard_name                    TEXT ,
296         standard_time_start_date         INTEGER,
297         standard_bias                    INTEGER,
298         daylight_name                    TEXT ,
299         daylight_time_start_date         INTEGER,
300         daylight_bias                    INTEGER
301 );
302
303 CREATE TABLE mail_local_activity_tbl  
304 (  
305         activity_id                      INTEGER,
306         account_id                       INTEGER,
307         mail_id                          INTEGER,
308         activity_type                    INTEGER, 
309         server_mailid                    VARCHAR(129),
310         src_mbox                         VARCHAR(129),
311         dest_mbox                        VARCHAR(129) 
312 );
313
314 CREATE TABLE mail_certificate_tbl 
315
316         certificate_id              INTEGER,
317         issue_year                  INTEGER,
318         issue_month                 INTEGER,
319         issue_day                   INTEGER,
320         expiration_year             INTEGER,
321         expiration_month            INTEGER,
322         expiration_day              INTEGER,
323         issue_organization_name     VARCHAR(256),
324         email_address               VARCHAR(129),
325         subject_str                 VARCHAR(256),
326         filepath                    VARCHAR(256),
327         password                    VARCHAR(51)
328 );
329
330
331 CREATE UNIQUE INDEX mail_account_idx1 ON mail_account_tbl (account_id);
332 CREATE UNIQUE INDEX mail_attachment_idx1 ON mail_attachment_tbl (mail_id, attachment_id);
333 CREATE UNIQUE INDEX mail_box_idx1 ON mail_box_tbl (mailbox_id);
334 CREATE UNIQUE INDEX mail_idx1 ON mail_tbl (mail_id, account_id);
335 CREATE UNIQUE INDEX mail_read_mail_uid_idx1 ON mail_read_mail_uid_tbl (account_id, mailbox_id, local_uid, mailbox_name, s_uid);
336 CREATE UNIQUE INDEX mail_meeting_idx1 ON mail_meeting_tbl (mail_id);
337 CREATE INDEX mail_idx_date_time ON mail_tbl (date_time);
338 CREATE INDEX mail_idx_thread_item_count ON mail_tbl (thread_item_count);
339 '
340
341 echo "[EMAIL-SERVICE] Finish Creating Email Tables."
342
343
344 #################################################################
345 # Change file permission
346 #################################################################
347 #echo "[EMAIL-SERVICE] Start setting permission ..."
348 # 1. libraries
349
350 # 2. executables
351
352 # 3. DB files
353 chmod 644 /opt/dbspace/.email-service.db                                   
354 chmod 644 /opt/dbspace/.email-service.db-journal       
355
356 %postun -p /sbin/ldconfig
357
358 %files
359 %manifest email-service.manifest
360 %exclude /usr/bin/email-test-app
361 %{_libdir}/lib*.so.*
362 %{_bindir}/email-service
363 /opt/data/email/res/*
364
365
366 %files devel
367 %{_includedir}/email-service/*.h
368 %{_libdir}/lib*.so
369 %{_libdir}/pkgconfig/*.pc
370
371