-
-Name: librua
-Summary: Recently used application
-Version: 0.1.0
-Release: 34
-Group: System/Libraries
-License: Apache License, Version 2.0
-Source0: librua-%{version}.tar.gz
-Requires(post): /sbin/ldconfig
-Requires(post): /usr/bin/sqlite3
-Requires(postun): /sbin/ldconfig
+Name: librua
+Version: 0.5.13
+Release: 0
+License: Apache-2.0
+Summary: Recently used application
+Group: Application Framework/Libraries
+Source0: librua-%{version}.tar.gz
+Source1001: librua.manifest
BuildRequires: cmake
+BuildRequires: sqlite3
+BuildRequires: pkgconfig(bundle)
+BuildRequires: pkgconfig(aul)
BuildRequires: pkgconfig(sqlite3)
-BuildRequires: pkgconfig(db-util)
-
+BuildRequires: pkgconfig(libtzplatform-config)
+BuildRequires: pkgconfig(gio-2.0)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(gmock)
+BuildRequires: pkgconfig(capi-appfw-app-control)
+BuildRequires: pkgconfig(pkgmgr-info)
+
+%if 0%{?gcov:1}
+BuildRequires: lcov
+BuildRequires: zip
+%endif
%description
Recently used application library
-
-
%package devel
-Summary: Recently used application (devel)
-Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Summary: Recently used application (devel)
+Requires: %{name} = %{version}
%description devel
Recently used application library (devel)
+%package unittests
+Summary: Recently used application (test)
+Requires: %{name} = %{version}
-%prep
-%setup -q -n %{name}-%{version}
+%description unittests
+Recently used application library (test)
+%prep
+%setup -q
+cp %{SOURCE1001} .
%build
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
-
-
-make %{?jobs:-j%jobs}
+%if 0%{?gcov:1}
+export CFLAGS+=" -fprofile-arcs -ftest-coverage"
+export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
+export FFLAGS+=" -fprofile-arcs -ftest-coverage"
+export LDFLAGS+=" -lgcov"
+%endif
+
+MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
+%cmake -DFULLVER=%{version} \
+ -DMAJORVER=${MAJORVER} \
+ .
+
+make %{?_smp_mflags}
+
+%check
+(cd tests && cd unittest && LD_LIBRARY_PATH=../../ ctest -V)
+%if 0%{?gcov:1}
+lcov -c --ignore-errors graph --no-external -q -d . -o rua.info
+genhtml rua.info -o rua.out
+zip -r rua.zip rua.out
+install -m 0644 rua.zip %{buildroot}%{_datadir}/gcov/
+%endif
%install
-rm -rf %{buildroot}
%make_install
-%post
-/sbin/ldconfig
-mkdir -p /opt/dbspace/
-sqlite3 /opt/dbspace/.rua.db < /opt/share/rua_db.sql
-rm -rf /opt/share/rua_db.sql
-chown 0:5000 /opt/dbspace/.rua.db
-chown 0:5000 /opt/dbspace/.rua.db-journal
-chmod 660 /opt/dbspace/.rua.db
-chmod 660 /opt/dbspace/.rua.db-journal
-chsmack -a rua::db /opt/dbspace/.rua.db
-chsmack -a rua::db /opt/dbspace/.rua.db-journal
+%if 0%{?gcov:1}
+builddir=$(basename $PWD)
+gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
+mkdir -p "$gcno_obj_dir"
+find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
+%endif
-%postun -p /sbin/ldconfig
+cat << EOF > run-unittest.sh
+#!/bin/sh
+setup() {
+ echo "setup start"
+}
+test_main() {
+ echo "test_main start"
+ /usr/bin/rua-test
+}
+teardown() {
+ echo "teardown start"
+}
-%files
-%manifest librua.manifest
-%defattr(-,root,root,-)
-%config(missingok) /opt/share/rua_db.sql
-/usr/lib/librua.so.*
+main() {
+ setup
+ test_main
+ teardown
+}
+
+main "\$*"
+EOF
+mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
+install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%manifest %{name}.manifest
+%defattr(-,root,root,-)
+%{_libdir}/librua.so.*
+%license LICENSE
%files devel
+%manifest %{name}.manifest
%defattr(-,root,root,-)
-/usr/include/rua/*.h
-/usr/lib/librua.so
-/usr/lib/pkgconfig/rua.pc
+%dir %{_includedir}/rua
+%{_includedir}/rua/*.h
+%{_libdir}/librua.so
+%{_libdir}/pkgconfig/rua.pc
+%files unittests
+%manifest %{name}.manifest
+%defattr(-,root,root,-)
+%{_bindir}/rua-test
+%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
+
+#################################################
+# rua-gcov
+#################################################
+%if 0%{?gcov:1}
+%package gcov
+Summary: Simple string key-val dictionary ADT (gcov)
+Group: Application Framework/Testing
+
+%description gcov
+Simple string key-val dictionary ADT gcov objects
+%endif
+
+%if 0%{?gcov:1}
+%files gcov
+%defattr(-,root,root,-)
+%{_datadir}/gcov/*
+%endif