-# Do not provide *.so from per-profile subpackage.
-%global __provides_exclude_from ^.*\\.(mobile|wearable)$
-
Name: libfeedback
Summary: Feedback library
Version: 0.2.0
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(libtzplatform-config)
Requires(post): svi-data
-Provides: %{name}-profile_common = %{version}-%{release}
-Provides: %{name}-profile_tv = %{version}-%{release}
-Provides: %{name}-profile_ivi = %{version}-%{release}
%description
Feedback library for playing sound and vibration
-%package profile_mobile
-Summary: Feedback library mod for mobile profile
-Requires: %{name} = %{version}-%{release}
-Conflicts: %{name}-profile_wearable
-%description profile_mobile
-Feedback library mod for mobile profile that replaces .so.* files.
-This overwrites .so.* files of %{name}.
-
-%package profile_wearable
-Summary: Feedback library mod for wearable profile
-Requires: %{name} = %{version}-%{release}
-Conflicts: %{name}-profile_wearable
-%description profile_wearable
-Feedback library mod for wearable profile that replaces .so.* files.
-This overwrites .so.* files of %{name}.
%package devel
Summary: Feedback library for (devel)
%package -n svi-data
Summary: svi resource package
Group: Development/Libraries
-Requires: svi-data-compat = %{version}-%{release}
-Recommends: svi-data-profile_common = %{version}-%{release}
%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).
-
%prep
%setup -q
cp %{SOURCE1} .
cp %{SOURCE2} .
-mkdir -p build_mobile
-pushd build_mobile
-%cmake .. \
- -DCMAKE_INSTALL_PREFIX=%{_prefix} \
- -DPROFILE=mobile \
- -DTZ_SYS_RO_SHARE=%{_datadir} \
- -DTZ_SYS_SHARE=%{TZ_SYS_SHARE}
-make
-popd
-
-mkdir -p build_wearable
-pushd build_wearable
-%cmake .. \
- -DCMAKE_INSTALL_PREFIX=%{_prefix} \
- -DPROFILE=wearable \
- -DTZ_SYS_RO_SHARE=%{_datadir} \
- -DTZ_SYS_SHARE=%{TZ_SYS_SHARE}
-make
-popd
-
-# Note that common is used for tv/ivi/common.
%cmake . \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
- -DPROFILE=common \
+ -DPROFILE=%{profile} \
-DTZ_SYS_RO_SHARE=%{_datadir} \
-DTZ_SYS_SHARE=%{TZ_SYS_SHARE}
make
%install
rm -rf %{buildroot}
-
-pushd build_mobile
-%make_install
-popd
-pushd %{buildroot}%{_libdir}
-for file in libfeedback.so.*[0-9]; do mv "$file" "$file.mobile"; done
-ls -l
-popd
-pushd %{buildroot}%{_datadir}
-mv feedback feedback.mobile
-popd
-
-
-pushd build_wearable
-%make_install
-popd
-pushd %{buildroot}%{_libdir}
-for file in libfeedback.so.*[0-9]; do mv "$file" "$file.wearable"; done
-ls -l
-popd
-pushd %{buildroot}%{_datadir}
-mv feedback feedback.wearable
-popd
-
%make_install
-pushd %{buildroot}%{_libdir}
-ls -l
-popd
mkdir -p %{buildroot}%{_datadir}/license
cp LICENSE %{buildroot}%{_datadir}/license/%{name}
%files
%defattr(-,root,root,-)
-%exclude %{_libdir}/libfeedback.so.*.mobile
-%exclude %{_libdir}/libfeedback.so.*.wearable
%{_libdir}/libfeedback.so.*
%{_datadir}/license/%{name}
%manifest libfeedback.manifest
-%post profile_mobile
-pushd %{_libdir}
-for file in libfeedback.so.*.mobile; do mv "$file" "${file%.mobile}"; done
-popd
-%preun profile_mobile
-pushd %{_libdir}
-echo "You need to reinstall libfeedback to let libfeedback work as expected after this uninstall. Otherwise it will keep working as mobile-mod."
-# adding symlinks to supress warnings at uninstall
-for file in libfeedback.so.*; do ln -sf "$file" "$file.mobile"; done
-popd
-%files profile_mobile
-%{_libdir}/libfeedback.so.*.mobile
-
-%post profile_wearable
-pushd %{_libdir}
-for file in libfeedback.so.*.wearable; do mv "$file" "${file%.wearable}"; done
-popd
-%preun profile_wearable
-pushd %{_libdir}
-echo "You need to reinstall libfeedback to let libfeedback work as expected after this uninstall. Otherwise it will keep working as wearable-mod."
-# adding symlinks to supress warnings at uninstall
-for file in libfeedback.so.*; do ln -sf "$file" "$file.wearable"; done
-popd
-%files profile_wearable
-%{_libdir}/libfeedback.so.*.wearable
-
%files devel
%defattr(-,root,root,-)
%{_includedir}/feedback/*.h
%files -n svi-data
%defattr(644,root,root,-)
+%{_datadir}/feedback/*
%defattr(666,app,app,-)
%dir %{TZ_SYS_SHARE}/feedback/haptic/custom
%{_datadir}/license/svi-data
%manifest svi-data.manifest
-
-%files -n svi-data-profile_common
-%{_datadir}/feedback/*
-
-%post -n svi-data-profile_mobile
-ln -sf feedback.mobile %{_datadir}/feedback
-%preun -n svi-data-profile_mobile
-rm -f %{_datadir}/feedback
-%files -n svi-data-profile_mobile
-%{_datadir}/feedback.mobile/*
-
-%post -n svi-data-profile_wearable
-ln -sf feedback.wearable %{_datadir}/feedback
-%preun -n svi-data-profile_wearable
-rm -f %{_datadir}/feedback
-%files -n svi-data-profile_wearable
-%{_datadir}/feedback.wearable/*