Release version 0.5.14
[platform/core/appfw/librua.git] / packaging / librua.spec
index ae7f5d2..4db64df 100644 (file)
-
-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.14
+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 mismatch,graph,unused --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