Remove --ignore-errors mismatch lcov option
[platform/core/appfw/libslp-db-util.git] / packaging / libslp-db-util.spec
1 Name: libslp-db-util
2 Version: 0.1.2
3 Release: 0
4 License: Apache-2.0
5 Summary: DB Utility
6 Group: Application Framework/Database
7 Source0: %{name}-%{version}.tar.gz
8 Source1001:     %{name}.manifest
9 BuildRequires: cmake
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(glib-2.0)
12 BuildRequires: pkgconfig(icu-i18n)
13 BuildRequires: pkgconfig(sqlite3)
14 BuildRequires: pkgconfig(vconf)
15 BuildRequires: gtest-devel
16
17 %if 0%{?gcov:1}
18 BuildRequires: lcov
19 %endif
20
21 %description
22 DB Utility.
23
24 %package devel
25 Summary: Devel package for libslp-db-util (devel)
26 Requires: %{name} = %{version}
27 %description devel
28 Devel package for libslp-db-util (devel)
29
30 %if 0%{?gcov:1}
31 %package gcov
32 Summary: DB Utility(gcov)
33 %description gcov
34 libslp-db-util gcov objects
35 %endif
36
37 %package unittests
38 Summary:    %{name} unittests binary
39 %description unittests
40 unittests binary
41
42 %prep
43 %setup -q
44 cp %{SOURCE1001} ./%{name}.manifest
45
46 %build
47 %if 0%{?gcov:1}
48 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
49 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
50 export LDFLAGS+=" -lgcov"
51 %endif
52
53 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
54 %cmake . -DMAJORVER=${MAJORVER} -DFULLVER=%{version} \
55         -DCMAKE_VERBOSE_MAKEFILE=OFF \
56         -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
57 make %{?_smp_mflags}
58
59 %install
60 %make_install
61
62 %if 0%{?gcov:1}
63 builddir=$(basename $PWD)
64 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
65 mkdir -p "$gcno_obj_dir"
66 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
67 %endif
68
69 cat << EOF > run-unittest.sh
70 #!/bin/sh
71 setup() {
72     echo "setup start"
73 }
74
75 test_main() {
76     echo "test_main start"
77     /usr/bin/db-util-gtest
78 }
79
80 teardown() {
81     echo "teardown start"
82 }
83
84 main() {
85     setup
86     test_main
87     teardown
88 }
89
90 main "\$*"
91 EOF
92
93 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
94 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
95 install -m 0755 ./tests/db-util-gtest %{buildroot}%{_bindir}
96
97
98 %check
99 %if 0%{?gcov:1}
100 pushd tests
101 ./test-collation-db.sh
102 LD_PRELOAD=./libvconf-mock.so LD_LIBRARY_PATH=.. ./db-util-gtest
103 popd
104 lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info
105 genhtml %{name}.info -o out --legend --show-details
106 %endif
107
108 %post -p /sbin/ldconfig
109
110 %postun -p /sbin/ldconfig
111
112 %files
113 %manifest %{name}.manifest
114 %{_libdir}/libSLP-db-util.so.*
115 %license LICENSE.APLv2
116
117 %files devel
118 %{_libdir}/libSLP-db-util.so
119 %{_libdir}/pkgconfig/db-util.pc
120 %{_includedir}/db-util/*.h
121
122 %if 0%{?gcov:1}
123 %files gcov
124 %{_datadir}/gcov/*
125 %endif
126
127 %files unittests
128 %{_bindir}/db-util-gtest
129 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh