5c14cc37ef712b53ed0d9fec894f8c021f8f4e57
[platform/core/messaging/email-service.git] / packaging / email-service.spec
1 %global test_email_app_enabled 1
2
3 Name:       email-service
4 Summary:    E-mail Framework Middleware package
5 Version:    0.10.103
6 Release:    1
7 Group:      Messaging/Service
8 License:    Apache-2.0 and BSD-3-Clause
9 Source0:    %{name}-%{version}.tar.gz
10 Source1:    email-service.socket
11 Source2:    email-service.manifest
12 Source3:    email-service_init_db.sh
13 Source4:    email-service.service
14
15 Requires: connman
16 Requires: gmime
17 Requires(post):    /sbin/ldconfig
18 Requires(post):    systemd
19 Requires(post):    /usr/bin/sqlite3
20 Requires(post):    /usr/bin/vconftool
21 Requires(post):    contacts-service2
22 Requires(post):    msg-service
23 Requires(preun):   systemd
24 Requires(postun):  /sbin/ldconfig
25 Requires(postun):  systemd
26 BuildRequires:  cmake
27 BuildRequires:  pkgconfig(gmime-2.6)
28 BuildRequires:  pkgconfig(glib-2.0)
29 BuildRequires:  pkgconfig(gthread-2.0)
30 BuildRequires:  pkgconfig(aul)
31 BuildRequires:  pkgconfig(dpm)
32 BuildRequires:  pkgconfig(vconf-internal-keys)
33 BuildRequires:  pkgconfig(vconf)
34 BuildRequires:  pkgconfig(dlog)
35 BuildRequires:  pkgconfig(dbus-1)
36 BuildRequires:  pkgconfig(uw-imap-toolkit)
37 BuildRequires:  pkgconfig(openssl)
38 BuildRequires:  pkgconfig(alarm-service)
39 BuildRequires:  pkgconfig(key-manager)
40 BuildRequires:  pkgconfig(notification)
41 BuildRequires:  pkgconfig(contacts-service2)
42 BuildRequires:  pkgconfig(accounts-svc)
43 BuildRequires:  pkgconfig(libsystemd-daemon)
44 BuildRequires:  pkgconfig(capi-base-common)
45 BuildRequires:  pkgconfig(libcurl)
46 BuildRequires:  pkgconfig(tpkp-curl)
47 BuildRequires:  pkgconfig(libxml-2.0)
48 BuildRequires:  pkgconfig(cert-svc-vcore)
49 BuildRequires:  pkgconfig(badge)
50 BuildRequires:  pkgconfig(capi-appfw-application)
51 BuildRequires:  pkgconfig(libwbxml2)
52 BuildRequires:  pkgconfig(msg-service)
53 BuildRequires:  pkgconfig(cynara-client)
54 BuildRequires:  pkgconfig(cynara-creds-socket)
55 BuildRequires:  pkgconfig(cynara-session)
56 BuildRequires:  pkgconfig(cynara-creds-commons)
57 BuildRequires:  pkgconfig(libtzplatform-config)
58 BuildRequires:  pkgconfig(icu-i18n)
59 BuildRequires:  pkgconfig(storage)
60 BuildRequires:  pkgconfig(capi-network-connection)
61 BuildRequires:  pkgconfig(capi-system-device)
62 #BuildRequires:  pkgconfig(vasum)
63 BuildRequires:  pkgconfig(libtzplatform-config)
64 BuildRequires:  pkgconfig(libsmack)
65 BuildRequires:  pkgconfig(sqlite3)
66 BuildRequires:  pkgconfig(cryptsvc)
67 Requires: libtzplatform-config
68
69
70 # OS upgrade
71 %define upgrade_script_path /usr/share/upgrade/scripts
72 %define upgrade_data_path /usr/share/upgrade/data
73
74 %description
75 E-mail Framework Middleware Library/Binary package
76
77
78 %package devel
79 Summary:    E-mail Framework Middleware Development package
80 Group:      Development/Messaging
81 Requires:   %{name} = %{version}-%{release}
82
83 %description devel
84 E-mail Framework Middleware Development package
85
86
87 %prep
88 %setup -q
89 cp %{SOURCE2} .
90
91 %build
92
93 export CFLAGS="${CFLAGS} -fPIC -Wall -g -fvisibility=hidden -fdata-sections -ffunction-sections"
94 export CXXFLAGS="${CXXFLAGS} -fPIC -Wall -g -fvisibility=hidden"
95 export LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--rpath=%{_libdir} -Wl,--as-needed"
96
97 %cmake .  \
98 -DTZ_SYS_DATA=%TZ_SYS_DATA \
99 -DTZ_SYS_ETC=%TZ_SYS_ETC \
100 %if %{test_email_app_enabled}
101         -DTEST_APP_SUPPORT=On
102 %endif
103
104 make %{?_smp_mflags}
105
106 find -name '*.pc' -exec sed -i -e 's/\$version/%{version}/g' {} \;
107
108 %install
109 # OS upgrade
110 mkdir -p %{buildroot}%{upgrade_script_path}
111 mkdir -p %{buildroot}%{upgrade_data_path}
112 cp -f 500.%{name}.sh %{buildroot}%{upgrade_script_path}
113 cp -f res/%{name}.sql %{buildroot}%{upgrade_data_path}
114
115 %make_install
116
117 mkdir -p %{buildroot}%{_unitdir_user}
118 mkdir -p %{buildroot}%{_unitdir_user}/basic.target.wants
119 install -m 0644 %{SOURCE4} %{buildroot}%{_unitdir_user}/email-service.service
120 ln -s ../email-service.service %{buildroot}%{_unitdir_user}/basic.target.wants/email-service.service
121
122 mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants
123 install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir_user}/email-service.socket
124 ln -s ../email-service.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/email-service.socket
125
126 install -m 0775 %{SOURCE3} %{buildroot}%{_bindir}/
127
128 %post
129 /sbin/ldconfig
130
131 #################################################################
132 # Set executin script
133 #################################################################
134 chgrp %TZ_SYS_USER_GROUP %{_bindir}/email-service_init_db.sh
135 chsmack -a "User" %{TZ_SYS_DATA}/email/res/email-service.sql
136
137 systemctl daemon-reload
138 if [ $1 == 1 ]; then
139     systemctl restart email.service
140 fi
141
142 %preun
143 if [ $1 == 0]; then
144     systemctl stop email.service
145 fi
146
147 %postun
148 /sbin/ldconfig
149 systemctl daemon-reload
150
151
152 %files
153 %manifest email-service.manifest
154 %if %{test_email_app_enabled}
155 %{_bindir}/email-test-app
156 %endif
157 %{TZ_SYS_DATA}/email/res/*
158 %{_bindir}/email-service
159 %{_libdir}/lib*.so.*
160 %{_unitdir_user}/email-service.service
161 %{_unitdir_user}/basic.target.wants/email-service.service
162 %{_unitdir_user}/email-service.socket
163 %{_unitdir_user}/sockets.target.wants/email-service.socket
164 %{_datarootdir}/dbus-1/services/email-service.service
165 %license LICENSE
166 %attr(0775,root,root) /etc/rc.d/init.d/email-service
167 %{_bindir}/email-service_init_db.sh
168
169 # OS upgrade
170 %{upgrade_script_path}/500.%{name}.sh
171 %{upgrade_data_path}/%{name}.sql
172
173 %files devel
174 %{_includedir}/email-service/*.h
175 %{_libdir}/lib*.so
176 %{_libdir}/pkgconfig/*.pc