1d8484d2ac13cdd5498d9599f3ea8ec60bbd1cca
[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.28
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 graph --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 %if 0%{?gcov:1}
110 builddir=$(basename $PWD)
111 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
112 mkdir -p "$gcno_obj_dir"
113 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
114 %endif
115
116 cat << EOF > run-unittest.sh
117 #!/bin/sh
118 setup() {
119     echo "setup start"
120 }
121
122 test_main() {
123     echo "test_main start"
124     /usr/bin/data-provider-master-unittests
125 }
126
127 teardown() {
128     echo "teardown start"
129 }
130
131 main() {
132     setup
133     test_main
134     teardown
135 }
136
137 main "\$*"
138 EOF
139
140 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
141 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
142
143 %files
144 %manifest %{name}.manifest
145 %defattr(-,root,root,-)
146 %license LICENSE
147 %attr(0755,root,root) %{_bindir}/data-provider-master
148 %attr(0644,root,root) %{_unitdir}/data-provider-master.service
149 %attr(0644,root,root) %{_datadir}/dbus-1/system-services/org.tizen.data_provider_service.service
150 %config %{_sysconfdir}/dbus-1/system.d/data-provider-master.conf
151 %{_prefix}/bin/%{name}
152 #%defattr(-,owner,users,-)
153
154 #################################################
155 # data-provider-master-unittests
156 #################################################
157 %files -n %{name}-unittests
158 %{_bindir}/%{name}-unittests
159 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
160
161 #################################################
162 # data-provider-master-gcov
163 #################################################
164 %if 0%{?gcov:1}
165 %files gcov
166 %{_datadir}/gcov/obj/*
167 %endif
168
169 # End of a file