Name: libfeedback
Summary: Feedback library
-Version: 0.1.3
+Version: 0.2.0
Release: 1
Group: System/Libraries
-License: Apache License, Version 2.0
+License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
source1: libfeedback.manifest
source2: svi-data.manifest
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(vconf)
BuildRequires: pkgconfig(mm-keysound)
-BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(capi-base-common)
-BuildRequires: pkgconfig(dbus-1)
-Requires(post): svi-data
+BuildRequires: pkgconfig(capi-media-sound-manager)
+BuildRequires: pkgconfig(capi-media-wav-player)
+BuildRequires: pkgconfig(libtzplatform-config)
+BuildRequires: pkgconfig(capi-system-info)
+BuildRequires: pkgconfig(libsyscommon)
+
+%if 0%{?gcov:1}
+BuildRequires: lcov
+%endif
+
+Requires: svi-data-compat = %{version}-%{release}
+Recommends: svi-data-profile_common = %{version}-%{release}
%description
Feedback library for playing sound and vibration
-%package -n libfeedback-devel
+%package devel
Summary: Feedback library for (devel)
Group: Development/Libraries
Requires: libfeedback = %{version}-%{release}
-%description -n libfeedback-devel
+%description devel
Feedback library for playing sound and vibration (devel)
%package -n svi-data
Summary: svi resource package
Group: Development/Libraries
-Requires: findutils
%description -n svi-data
svi resource package
+%package -n svi-data-profile_common
+Summary: svi resource package body without mobile/wearable mods
+Provides: svi-data-compat = %{version}-%{release}
+Provides: svi-data-profile_tv = %{version}-%{release}
+Provides: svi-data-profile_ivi = %{version}-%{release}
+Conflicts: svi-data-profile_mobile
+Conflicts: svi-data-profile_wearable
+%description -n svi-data-profile_common
+default set for svi resource package (not for mobile or wearable).
+
+%package -n svi-data-profile_mobile
+Summary: svi resource package body without mobile/wearable mods
+Provides: svi-data-compat = %{version}-%{release}
+Provides: svi-data-profile_tv = %{version}-%{release}
+Provides: svi-data-profile_ivi = %{version}-%{release}
+Conflicts: svi-data-profile_common
+Conflicts: svi-data-profile_wearable
+%description -n svi-data-profile_mobile
+default set for svi resource package (not for mobile or wearable).
+
+%package -n svi-data-profile_wearable
+Summary: svi resource package body without mobile/wearable mods
+Provides: svi-data-compat = %{version}-%{release}
+Provides: svi-data-profile_tv = %{version}-%{release}
+Provides: svi-data-profile_ivi = %{version}-%{release}
+Conflicts: svi-data-profile_common
+Conflicts: svi-data-profile_mobile
+%description -n svi-data-profile_wearable
+default set for svi resource package (not for mobile or wearable).
+
+%package test
+Summary: Libfeedback test tool
+Group: System/Utilities
+Requires: libfeedback = %{version}-%{release}
+%description test
+Test-tool for libfeedback API.
+This package can be installed optional for API test.
+
+%if 0%{?gcov:1}
+%package gcov
+Summary: Feedback library for (gcov)
+Group: Development/Libraries
+%description gcov
+Feedback library for playing sound and vibration (gcov)
+%endif
+
%prep
%setup -q
%build
+%if 0%{?gcov:1}
+export CFLAGS+=" -fprofile-arcs -ftest-coverage"
+export LDFLAGS+=" -lgcov"
+%endif
+
export CFLAGS+=" -DTIZEN_ENGINEER_MODE"
cp %{SOURCE1} .
cp %{SOURCE2} .
-%if "%{?tizen_profile_name}" == "wearable"
-%define PROFILE wearable
-%else if "%{?tizen_profile_name}" == "mobile"
-%define PROFILE mobile
-%endif
-
-%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DPROFILE=%{PROFILE}
+%cmake . \
+ -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+ -DTZ_SYS_RO_SHARE=%{_datadir} \
+ -DTZ_SYS_SHARE=%{TZ_SYS_SHARE}
make
+%if 0%{?gcov:1}
+mkdir -p gcov-obj
+find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
+%endif
%install
rm -rf %{buildroot}
-%make_install
-mkdir -p %{buildroot}%{_datadir}/license
-cp LICENSE %{buildroot}/usr/share/license/%{name}
-cp LICENSE %{buildroot}/usr/share/license/svi-data
-
-mkdir -p %{buildroot}/opt/usr/share/feedback/haptic/custom
+%make_install
+pushd %{buildroot}%{_datadir}
+mv common feedback
+mv mobile feedback.mobile
+mv wearable feedback.wearable
+popd
+
+%if 0%{?gcov:1}
+mkdir -p %{buildroot}%{_datadir}/gcov/obj/%{name}
+install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj/%{name}
+%endif
%post -p /sbin/ldconfig
-%post -n svi-data
-
-if [ -f %{_libdir}/rpm-plugins/msm.so ]; then
- find /opt/usr/share/feedback/ | xargs chsmack -a 'svi-data'
-fi
-
%postun -p /sbin/ldconfig
-%postun -n svi-data
-rm -rf %{_datadir}/feedback/
-rm -rf /opt/usr/share/feedback/
-
%files
%defattr(-,root,root,-)
%{_libdir}/libfeedback.so.*
-%{_datadir}/license/%{name}
+%license LICENSE
%manifest libfeedback.manifest
-%files -n libfeedback-devel
+%files devel
%defattr(-,root,root,-)
%{_includedir}/feedback/*.h
%{_libdir}/libfeedback.so
%{_libdir}/pkgconfig/feedback.pc
%files -n svi-data
+%defattr(666,app,app,-)
+%license LICENSE
+%manifest svi-data.manifest
+
+%files -n svi-data-profile_common
%defattr(644,root,root,-)
%{_datadir}/feedback/*
-%defattr(666,app,app,-)
-%dir /opt/usr/share/feedback/haptic/custom
-%{_datadir}/license/svi-data
+%license LICENSE
+%manifest svi-data.manifest
+
+%post -n svi-data-profile_mobile
+rm -rf %{_datadir}/feedback
+ln -sf %{_datadir}/feedback.mobile %{_datadir}/feedback
+%files -n svi-data-profile_mobile
+%defattr(644,root,root,-)
+%{_datadir}/feedback.mobile/*
+%license LICENSE
%manifest svi-data.manifest
+
+%post -n svi-data-profile_wearable
+rm -rf %{_datadir}/feedback
+ln -sf %{_datadir}/feedback.wearable %{_datadir}/feedback
+%files -n svi-data-profile_wearable
+%defattr(644,root,root,-)
+%{_datadir}/feedback.wearable/*
+%license LICENSE
+%manifest svi-data.manifest
+
+%files test
+%manifest libfeedback.manifest
+%license LICENSE
+%{_bindir}/feedback-test
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/*
+%endif