%bcond_with x
%bcond_with wayland
%define HALTESTS_PACKAGE 1
+%if 0%{?gcov:1}
+%define HALTESTS_GCOV 1
+%else
%define HALTESTS_GCOV 0
+%endif
+
+%define _tmpfilesdir /usr/lib/tmpfiles.d
Name: libtbm
-Version: 2.13.2
+Version: 4.1.3
Release: 1
License: MIT
Summary: The library for Tizen Buffer Manager
Group: System/Libraries
Source0: %{name}-%{version}.tar.gz
Source1001: %name.manifest
+Source1002: sw_sync.conf
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(pixman-1)
-BuildRequires: gtest-devel
+BuildRequires: pkgconfig(gmock)
+BuildRequires: pkgconfig(hal-api-tbm)
%description
Description: %{summary}
Development Files.
+%if 0%{?gcov:1}
+%package gcov
+Summary: Tizen Buffer Manager gcov data package
+Group: Development/Libraries
+
+%description gcov
+Tizen Buffer Manager gcno data for gcov
+%endif
+
%if "%{HALTESTS_PACKAGE}" == "1"
%package haltests
Summary: Tizen Buffer Manager unit tests package
%endif
%if %{with wayland}
-%reconfigure --prefix=%{_prefix} --with-tbm-platform=WAYLAND --with-haltests=${HALTESTS} \
+%reconfigure --prefix=%{_prefix} --with-tbm-platform=WAYLAND --with-haltests=${HALTESTS} --bindir=%{_bindir}/hal \
CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
%else
-%reconfigure --prefix=%{_prefix} --with-tbm-platform=X11 --with-haltests=${HALTESTS} \
+%reconfigure --prefix=%{_prefix} --with-tbm-platform=X11 --with-haltests=${HALTESTS} --bindir=%{_bindir}/hal \
CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
%endif
make %{?_smp_mflags}
+%if 0%{?gcov:1}
+mkdir -p gcov-obj
+find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
+rm gcov-obj/tbm_haltests-tc*
+%endif
+
%install
rm -rf %{buildroot}
%make_install
+%__mkdir_p %{buildroot}%{_tmpfilesdir}
+install -m 0644 %SOURCE1002 %{buildroot}%{_tmpfilesdir}/sw_sync.conf
+
%__mkdir_p %{buildroot}%{_unitdir_user}
install -m 644 service/tbm-drm-auth-user.service %{buildroot}%{_unitdir_user}
install -m 644 service/tbm-drm-auth-user.path %{buildroot}%{_unitdir_user}
+%if 0%{?gcov:1}
+mkdir -p %{buildroot}%{_datadir}/gcov/obj
+install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
+%endif
+
%clean
rm -rf %{buildroot}
%__mkdir_p %{_unitdir_user}/basic.target.wants
ln -sf ../tbm-drm-auth-user.path %{_unitdir_user}/basic.target.wants/
-%post -p /sbin/ldconfig
+%post
+%if "%{HALTESTS_PACKAGE}" == "1"
+if [ -f %{_bindir}/tbm-haltests ]; then
+ rm -f %{_bindir}/tbm-haltests
+fi
+ln -s %{_bindir}/hal/tbm-haltests %{_bindir}/tbm-haltests
+%endif
+
%postun -p /sbin/ldconfig
rm -f %{_unitdir_user}/basic.target.wants/tbm-drm-auth-user.path
%{_libdir}/libtbm.so.*
%{_unitdir_user}/tbm-drm-auth-user.path
%{_unitdir_user}/tbm-drm-auth-user.service
+%{_tmpfilesdir}/sw_sync.conf
%files devel
%manifest %{name}.manifest
%if "%{HALTESTS_PACKAGE}" == "1"
%files haltests
%defattr(-,root,root,-)
-%{_bindir}/tbm-haltests
+%{_bindir}/hal/tbm-haltests
+%endif
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
%endif