Release version 0.5.14
[platform/core/appfw/librua.git] / packaging / librua.spec
1 Name:           librua
2 Version:        0.5.14
3 Release:        0
4 License:        Apache-2.0
5 Summary:        Recently used application
6 Group:          Application Framework/Libraries
7 Source0:        librua-%{version}.tar.gz
8 Source1001:     librua.manifest
9 BuildRequires:  cmake
10 BuildRequires:  sqlite3
11 BuildRequires:  pkgconfig(bundle)
12 BuildRequires:  pkgconfig(aul)
13 BuildRequires:  pkgconfig(sqlite3)
14 BuildRequires:  pkgconfig(libtzplatform-config)
15 BuildRequires:  pkgconfig(gio-2.0)
16 BuildRequires:  pkgconfig(glib-2.0)
17 BuildRequires:  pkgconfig(gmock)
18 BuildRequires:  pkgconfig(capi-appfw-app-control)
19 BuildRequires:  pkgconfig(pkgmgr-info)
20
21 %if 0%{?gcov:1}
22 BuildRequires:  lcov
23 BuildRequires:  zip
24 %endif
25
26 %description
27 Recently used application library
28
29 %package devel
30 Summary:        Recently used application (devel)
31 Requires:       %{name} = %{version}
32
33 %description devel
34 Recently used application library (devel)
35
36 %package unittests
37 Summary:        Recently used application (test)
38 Requires:       %{name} = %{version}
39
40 %description unittests
41 Recently used application library (test)
42
43 %prep
44 %setup -q
45 cp %{SOURCE1001} .
46
47 %build
48 %if 0%{?gcov:1}
49 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
50 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
51 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
52 export LDFLAGS+=" -lgcov"
53 %endif
54
55 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
56 %cmake -DFULLVER=%{version} \
57         -DMAJORVER=${MAJORVER} \
58         .
59
60 make %{?_smp_mflags}
61
62 %check
63 (cd tests && cd unittest && LD_LIBRARY_PATH=../../ ctest -V)
64 %if 0%{?gcov:1}
65 lcov -c --ignore-errors mismatch,graph,unused --no-external -q -d . -o rua.info
66 genhtml rua.info -o rua.out
67 zip -r rua.zip rua.out
68 install -m 0644 rua.zip %{buildroot}%{_datadir}/gcov/
69 %endif
70
71 %install
72 %make_install
73
74 %if 0%{?gcov:1}
75 builddir=$(basename $PWD)
76 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
77 mkdir -p "$gcno_obj_dir"
78 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
79 %endif
80
81 cat << EOF > run-unittest.sh
82 #!/bin/sh
83 setup() {
84     echo "setup start"
85 }
86
87 test_main() {
88     echo "test_main start"
89     /usr/bin/rua-test
90 }
91
92 teardown() {
93     echo "teardown start"
94 }
95
96 main() {
97     setup
98     test_main
99     teardown
100 }
101
102 main "\$*"
103 EOF
104
105 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
106 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
107
108 %post -p /sbin/ldconfig
109
110 %postun -p /sbin/ldconfig
111
112 %files
113 %manifest %{name}.manifest
114 %defattr(-,root,root,-)
115 %{_libdir}/librua.so.*
116 %license LICENSE
117
118 %files devel
119 %manifest %{name}.manifest
120 %defattr(-,root,root,-)
121 %dir %{_includedir}/rua
122 %{_includedir}/rua/*.h
123 %{_libdir}/librua.so
124 %{_libdir}/pkgconfig/rua.pc
125
126 %files unittests
127 %manifest %{name}.manifest
128 %defattr(-,root,root,-)
129 %{_bindir}/rua-test
130 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
131
132 #################################################
133 # rua-gcov
134 #################################################
135 %if 0%{?gcov:1}
136 %package gcov
137 Summary:    Simple string key-val dictionary ADT (gcov)
138 Group:      Application Framework/Testing
139
140 %description gcov
141 Simple string key-val dictionary ADT gcov objects
142 %endif
143
144 %if 0%{?gcov:1}
145 %files gcov
146 %defattr(-,root,root,-)
147 %{_datadir}/gcov/*
148 %endif