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