Release version 1.6.34
[platform/core/appfw/data-provider-master.git] / packaging / data-provider-master.spec
1 %bcond_with wayland
2
3 Name: data-provider-master
4 Summary: Master service provider for badge, shortcut, notification
5 Version: 1.6.34
6 Release: 1
7 Group: Applications/Core Applications
8 License: Apache-2.0
9 Source0: %{name}-%{version}.tar.gz
10 Source1: data-provider-master.service
11 Source1001: %{name}.manifest
12 BuildRequires: cmake, gettext-tools, smack, coreutils
13 BuildRequires: pkgconfig(dlog)
14 BuildRequires: pkgconfig(aul)
15 BuildRequires: pkgconfig(vconf)
16 BuildRequires: pkgconfig(sqlite3)
17 BuildRequires: pkgconfig(db-util)
18 BuildRequires: pkgconfig(glib-2.0)
19 BuildRequires: pkgconfig(gio-2.0)
20 BuildRequires: pkgconfig(gio-unix-2.0)
21 BuildRequires: pkgconfig(libsmack)
22 BuildRequires: pkgconfig(bundle)
23 BuildRequires: pkgconfig(capi-appfw-app-manager)
24 BuildRequires: pkgconfig(pkgmgr)
25 BuildRequires: pkgconfig(pkgmgr-info)
26 BuildRequires: pkgconfig(notification)
27 BuildRequires: pkgconfig(notification-ex)
28 BuildRequires: pkgconfig(badge)
29 BuildRequires: pkgconfig(shortcut)
30 BuildRequires: pkgconfig(libsystemd)
31 BuildRequires: pkgconfig(alarm-service)
32 BuildRequires: pkgconfig(libtzplatform-config)
33 BuildRequires: pkgconfig(security-manager)
34 BuildRequires: pkgconfig(gmock)
35
36 %if 0%{?gcov:1}
37 BuildRequires:  lcov
38 BuildRequires:  zip
39 %endif
40
41 Requires: notification-ex
42 Requires(post): dbus
43 %description
44
45 #################################################
46 # data-provider-master-unittests
47 #################################################
48 %package -n %{name}-unittests
49 Summary:    GTest for Data Provider Master API
50 Group:      Application Framework/Testing
51 Requires:   %{name}
52
53 %description -n %{name}-unittests
54 GTest for data-provider-master API
55
56 #################################################
57 # gcov
58 #################################################
59 %if 0%{?gcov:1}
60 %package gcov
61 Summary:  Data Provider Master API(gcov)
62 Group:    Application Framework/Testing
63
64 %description gcov
65 gcov objects of a data provider master
66 %endif
67
68 %prep
69 %setup -q
70 cp %{SOURCE1001} .
71
72 %build
73 %if 0%{?gcov:1}
74 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
75 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
76 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
77 export LDFLAGS+=" -lgcov"
78 %endif
79
80 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
81
82 %ifarch %ix86
83 export TARGET=emulator
84 %else
85 export TARGET=device
86 %endif
87
88 %cmake . \
89         -DNAME=%{name} \
90         -DTARGET=${TARGET} \
91         -DMAJORVER=${MAJORVER} \
92         -DFULLVER=%{version}
93
94 CFLAGS="${CFLAGS} -Wall -Winline -Werror" LDFLAGS="${LDFLAGS}" make %{?jobs:-j%jobs}
95
96 %check
97 ctest -V
98 %if 0%{?gcov:1}
99 lcov -c --ignore-errors mismatch,graph,unused --no-external -b . -d . -o %{name}.info
100 genhtml %{name}.info -o out --legend --show-details
101 %endif
102
103 %install
104 rm -rf %{buildroot}
105 %make_install
106 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system
107 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/data-provider-master.service
108
109 install -m 0644 org.tizen.data_provider_service.busname %{buildroot}%{_unitdir}/org.tizen.data_provider_service.busname
110
111 mkdir -p %{buildroot}%{_unitdir}/busnames.target.wants
112 ln -s ../org.tizen.data_provider_service.busname %{buildroot}%{_unitdir}/busnames.target.wants/org.tizen.data_provider_service.busname
113
114 %if 0%{?gcov:1}
115 builddir=$(basename $PWD)
116 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
117 mkdir -p "$gcno_obj_dir"
118 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
119 %endif
120
121 cat << EOF > run-unittest.sh
122 #!/bin/sh
123 setup() {
124     echo "setup start"
125 }
126
127 test_main() {
128     echo "test_main start"
129     /usr/bin/data-provider-master-unittests
130 }
131
132 teardown() {
133     echo "teardown start"
134 }
135
136 main() {
137     setup
138     test_main
139     teardown
140 }
141
142 main "\$*"
143 EOF
144
145 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
146 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
147
148 %files
149 %manifest %{name}.manifest
150 %defattr(-,root,root,-)
151 %license LICENSE
152 %attr(0755,root,root) %{_bindir}/data-provider-master
153 %attr(0644,root,root) %{_unitdir}/data-provider-master.service
154 %attr(0644,root,root) %{_datadir}/dbus-1/system-services/org.tizen.data_provider_service.service
155 %attr(0644,root,root) %{_unitdir}/org.tizen.data_provider_service.busname
156 %{_unitdir}/busnames.target.wants/org.tizen.data_provider_service.busname
157 %config %{_sysconfdir}/dbus-1/system.d/data-provider-master.conf
158 %{_prefix}/bin/%{name}
159 #%defattr(-,owner,users,-)
160
161 #################################################
162 # data-provider-master-unittests
163 #################################################
164 %files -n %{name}-unittests
165 %{_bindir}/%{name}-unittests
166 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
167
168 #################################################
169 # data-provider-master-gcov
170 #################################################
171 %if 0%{?gcov:1}
172 %files gcov
173 %{_datadir}/gcov/obj/*
174 %endif
175
176 # End of a file