Fixed the build error for gcc-14
[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.106
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 Source5:    email-service.asan.conf
13
14 Requires: connman
15 Requires: gmime
16 Requires(post):    /sbin/ldconfig
17 Requires(post):    systemd
18 Requires(post):    /usr/bin/sqlite3
19 Requires(post):    /usr/bin/vconftool
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(openssl3)
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)
41 BuildRequires:  pkgconfig(capi-base-common)
42 BuildRequires:  pkgconfig(libcurl)
43 BuildRequires:  pkgconfig(libxml-2.0)
44 BuildRequires:  pkgconfig(cert-svc-vcore)
45 BuildRequires:  pkgconfig(badge)
46 BuildRequires:  pkgconfig(capi-appfw-application)
47 BuildRequires:  pkgconfig(libwbxml2)
48 BuildRequires:  pkgconfig(cynara-client)
49 BuildRequires:  pkgconfig(cynara-creds-socket)
50 BuildRequires:  pkgconfig(cynara-session)
51 BuildRequires:  pkgconfig(cynara-creds-commons)
52 BuildRequires:  pkgconfig(libtzplatform-config)
53 BuildRequires:  pkgconfig(icu-i18n)
54 BuildRequires:  pkgconfig(storage)
55 BuildRequires:  pkgconfig(capi-network-connection)
56 BuildRequires:  pkgconfig(capi-system-device)
57 BuildRequires:  pkgconfig(libsmack)
58 BuildRequires:  pkgconfig(sqlite3)
59 BuildRequires:  pkgconfig(cryptsvc)
60 BuildRequires:  pkgconfig(capi-system-info)
61
62 %if 0%{?gcov:1}
63 BuildRequires:  lcov
64 %endif
65
66 %description
67 E-mail Framework Middleware Library/Binary package
68
69
70 %package devel
71 Summary:    E-mail Framework Middleware Development package
72 Group:      Development/Messaging
73 Requires:   %{name} = %{version}-%{release}
74
75 %description devel
76 E-mail Framework Middleware Development package
77
78 %package test
79 Summary:    E-mail Framework Middleware Test package
80 Group:      Development/Messaging
81 Requires:   %{name} = %{version}-%{release}
82
83 %description test
84 E-mail Framework Middleware Test package
85
86 #################################################
87 # gcov
88 #################################################
89 %if 0%{?gcov:1}
90 %package gcov
91 Summary:    Email Framework Middleware Library (gcov)
92 Group:      Service Framework/Testing
93 %description gcov
94 gcov objects for coverage test
95 %endif
96
97 %prep
98 %setup -q
99 cp %{SOURCE2} .
100 cp %{SOURCE2} %{name}-test.manifest
101
102 %build
103 %if 0%{?gcov:1}
104 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
105 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
106 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
107 export LDFLAGS+=" -lgcov"
108 %endif
109 export CFLAGS="${CFLAGS} -fPIC -Wall -g -fvisibility=hidden -fdata-sections -ffunction-sections -Wno-format-overflow"
110 export CXXFLAGS="${CXXFLAGS} -fPIC -Wall -g -fvisibility=hidden -Wno-psabi"
111 export LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--rpath=%{_libdir} -Wl,--as-needed"
112
113 %cmake . -DTZ_SYS_DATA=%TZ_SYS_DATA -DTZ_SYS_ETC=%TZ_SYS_ETC -DBIN_INSTALL_DIR:PATH=%{_bindir}
114
115 make %{?_smp_mflags}
116
117 find -name '*.pc' -exec sed -i -e 's/\$version/%{version}/g' {} \;
118
119 %install
120
121 %make_install
122 %if 0%{?gcov:1}
123 builddir=$(basename $PWD)
124 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
125 mkdir -p "$gcno_obj_dir"
126 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
127 %endif
128
129 mkdir -p %{buildroot}%{_unitdir_user}
130 mkdir -p %{buildroot}%{_unitdir_user}/default.target.wants
131 install -m 0644 %{SOURCE4} %{buildroot}%{_unitdir_user}/email-service.service
132 %if "%{asan}" == "1"
133 mkdir -p %{buildroot}%{_unitdir_user}/email-service.service.d
134 install -m 644 %{SOURCE5} %{buildroot}%{_unitdir_user}/email-service.service.d/email-service.asan.conf
135 %endif
136
137 mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants
138 install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir_user}/email-service.socket
139 ln -s ../email-service.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/email-service.socket
140
141 install -m 0775 %{SOURCE3} %{buildroot}%{_bindir}/
142
143 %post -p /sbin/ldconfig
144 %post test
145 chsmack -e "User" %{_bindir}/email-test-app
146
147 #################################################################
148 # Set executin script
149 #################################################################
150 chgrp %TZ_SYS_USER_GROUP %{_bindir}/email-service_init_db.sh
151 chsmack -a "User" %{TZ_SYS_DATA}/email/res/email-service.sql
152
153 systemctl daemon-reload
154 if [ 1 = $1 ]; then
155     systemctl restart email.service
156 fi
157
158 %preun
159 if [ 0 = $1 ]; then
160     systemctl stop email.service
161 fi
162
163 %postun
164 /sbin/ldconfig
165 systemctl daemon-reload
166
167
168 %files
169 %manifest email-service.manifest
170 %{TZ_SYS_DATA}/email/res/*
171 %{_bindir}/email-service
172 %{_libdir}/lib*.so.*
173 %{_unitdir_user}/email-service.service
174 %{_unitdir_user}/email-service.socket
175 %{_unitdir_user}/sockets.target.wants/email-service.socket
176 %{_datarootdir}/dbus-1/services/email-service.service
177 %if "%{asan}" == "1"
178 %{_unitdir_user}/email-service.service.d/email-service.asan.conf
179 %endif
180 %license LICENSE
181 %license LICENSE.BSD
182 %attr(0775,root,root) /etc/rc.d/init.d/email-service
183 %{_bindir}/email-service_init_db.sh
184
185 %files devel
186 %{_includedir}/email-service/*.h
187 %{_libdir}/lib*.so
188 %{_libdir}/pkgconfig/*.pc
189
190 %files test
191 %manifest email-service-test.manifest
192 %{_bindir}/email-test-app
193
194 %if 0%{?gcov:1}
195 %files gcov
196 %{_datadir}/gcov/obj/*
197 %endif