Release version 1.0.7
[platform/core/appfw/event-system.git] / packaging / esd.spec
1 Name:       esd
2 Summary:    Event system daemon
3 Version:    1.0.7
4 Release:    1
5 Group:      Application Framework/Service
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    esd.service
9 Source1001: %{name}.manifest
10 BuildRequires:  cmake
11 BuildRequires:  pkgconfig(aul)
12 BuildRequires:  pkgconfig(bundle)
13 BuildRequires:  pkgconfig(parcel)
14 BuildRequires:  pkgconfig(dlog)
15 BuildRequires:  pkgconfig(pkgmgr-info)
16 BuildRequires:  pkgconfig(appsvc)
17 BuildRequires:  pkgconfig(gio-2.0)
18 BuildRequires:  pkgconfig(glib-2.0)
19 BuildRequires:  pkgconfig(pkgmgr)
20 BuildRequires:  pkgconfig(eventsystem)
21 BuildRequires:  pkgconfig(vconf)
22 BuildRequires:  pkgconfig(libtzplatform-config)
23 BuildRequires:  pkgconfig(systemd)
24 BuildRequires:  pkgconfig(cert-svc-vcore)
25 BuildRequires:  pkgconfig(cynara-client)
26 BuildRequires:  pkgconfig(cynara-creds-gdbus)
27 BuildRequires:  pkgconfig(cynara-session)
28 BuildRequires:  pkgconfig(security-manager)
29 BuildRequires:  pkgconfig(uuid)
30 BuildRequires:  pkgconfig(sqlite3)
31 BuildRequires:  pkgconfig(cion)
32 BuildRequires:  pkgconfig(capi-system-info)
33 BuildRequires:  pkgconfig(tizen-database)
34 BuildRequires:  pkgconfig(gmock)
35
36 %if 0%{?gcov:1}
37 BuildRequires:  lcov
38 %endif
39
40 Requires(post): /sbin/ldconfig
41 Requires(postun): /sbin/ldconfig
42
43 %description
44 Event System Daemon
45
46 %package devel
47 Summary:    Event system daemon (devel)
48 Group:      Development/Libraries
49 Requires:   %{name} = %{version}-%{release}
50
51 %description devel
52 Event system Daemon (devel)
53
54 %package -n esd-mod-cion
55 Summary:    ESD module for cion
56 Group:      Application Framework/Service
57
58 %description -n esd-mod-cion
59 This module is for cion
60
61 %package -n esd-mod-dbus-event
62 Summary:    ESD module for dbus-event
63 Group:      Application Framework/Service
64
65 %description -n esd-mod-dbus-event
66 This module is for event system using dbus
67
68 %define _moddir %{_datadir}/esd
69
70 #################################################
71 # unittests
72 #################################################
73 %package -n %{name}-unittests
74 Summary:    GTest for API
75 Group:      Application Framework/Testing
76 Requires:   %{name}
77
78 %description -n %{name}-unittests
79 GTest for API
80
81 %if 0%{?gcov:1}
82 %package gcov
83 Summary:  Event system daemon(gcov)
84 Group:    Application Framework/Service
85
86 %description gcov
87 gcov objects of a Event System
88 %endif
89
90 %prep
91 %setup -q
92 cp %{SOURCE1001} .
93
94 %build
95 %if 0%{?gcov:1}
96 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
97 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
98 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
99 export LDFLAGS+=" -lgcov"
100 %endif
101
102 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
103 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
104 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
105
106 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
107 %cmake \
108   -DFULLVER=%{version} \
109   -DMAJORVER=${MAJORVER} \
110   -DESD_MODULES_DIR=%{_moddir} \
111   .
112
113 make %{?jobs:-j%jobs}
114
115 %check
116 ctest -V
117
118 %if 0%{?gcov:1}
119 lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info
120 genhtml %{name}.info -o out --legend --show-details
121 %endif
122
123 %install
124 rm -rf %{buildroot}
125 %make_install
126 cat << EOF > run-unittest.sh
127 #!/bin/sh
128 setup() {
129     echo "setup start"
130 }
131
132 test_main() {
133     echo "test_main start"
134     /usr/bin/esd-mod-cion-unittests
135     /usr/bin/esd-mod-dbus_event-unittests
136 }
137
138 teardown() {
139     echo "teardown start"
140 }
141
142 main() {
143     setup
144     test_main
145     teardown
146 }
147
148 main "\$*"
149 EOF
150
151 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
152 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
153
154 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
155 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/esd.service
156 ln -sf ../esd.service %{buildroot}%{_unitdir}/multi-user.target.wants/esd.service
157
158 %if 0%{?gcov:1}
159 builddir=$(basename $PWD)
160 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
161 mkdir -p "$gcno_obj_dir"
162 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
163 %endif
164
165 %post -p /sbin/ldconfig
166
167 %postun -p /sbin/ldconfig
168
169 %files
170 %manifest %{name}.manifest
171 %config %{_sysconfdir}/dbus-1/system.d/eventsystem.conf
172 %defattr(-,root,root,-)
173 %{_bindir}/esd
174 %{_libdir}/libesd.so.*
175 %{_unitdir}/esd.service
176 %{_unitdir}/multi-user.target.wants/esd.service
177 %attr(0644,root,root) %{_datadir}/dbus-1/system-services/tizen.system.event.app2esd.service
178 %license LICENSE
179
180 %files devel
181 %{_includedir}/esd/*.hh
182 %{_libdir}/libesd.so
183 %{_libdir}/pkgconfig/*pc
184
185 %files -n esd-mod-cion
186 %manifest %{name}.manifest
187 %license LICENSE
188 %{_moddir}/mod/libesd-mod-cion.so
189
190 %files -n esd-mod-dbus-event
191 %manifest %{name}.manifest
192 %license LICENSE
193 %{_moddir}/mod/libesd-mod-dbus-event.so
194
195 #################################################
196 # unittests
197 #################################################
198 %files -n %{name}-unittests
199 %{_bindir}/esd-*-unittests
200 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
201
202 %if 0%{?gcov:1}
203 %files gcov
204 %{_datadir}/gcov/*
205 %endif