From: Yunjin Lee Date: Thu, 27 Jun 2019 08:14:21 +0000 (+0900) Subject: Make gcov package when --define 'gcov ON' is given X-Git-Tag: accepted/tizen/unified/20190704.115635 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Ftags%2Faccepted%2Ftizen%2Funified%2F20190704.115635;p=platform%2Fcore%2Fsecurity%2Fprivilege-info.git Make gcov package when --define 'gcov ON' is given Change-Id: Id552076230ef6415ac02d1f760dca4ae6ddd6c61 Signed-off-by: Yunjin Lee --- diff --git a/packaging/privilege-info.spec b/packaging/privilege-info.spec index faf710b..eefdaa9 100644 --- a/packaging/privilege-info.spec +++ b/packaging/privilege-info.spec @@ -18,6 +18,9 @@ BuildRequires: pkgconfig(cynara-session) BuildRequires: pkgconfig(libsmack) BuildRequires: pkgconfig(libtzplatform-config) BuildRequires: pkgconfig(capi-system-info) +%if 0%{?gcov:1} +BuildRequires: lcov +%endif Requires: tizen-locale %description @@ -39,6 +42,15 @@ Requires: %{name} = %{version}-%{release} %description -n tc-privilege-info Privilege Info API Internal Test +%if 0%{?gcov:1} +%package gcov +Summary: Privilege Info(gcov) +Group: Security/Testing +%description gcov +New Privilege Info gcov objects +%endif + + %prep %setup -q @@ -48,13 +60,21 @@ export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE" export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE" export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE" +%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 + echo cmake . -DPREFIX=%{_prefix} \ -DLIBDIR=%{_libdir} \ -DINCLUDEDIR=%{_includedir} \ -DCMAKE_BUILD_TYPE=%{build_type} \ -DVERSION=%{version} \ -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \ - -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP + -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \ + -DBUILD_GCOV={?gcov:1}%{!?gcov:0} cmake . -DPREFIX=%{_prefix} \ -DLIBDIR=%{_libdir} \ @@ -62,15 +82,26 @@ cmake . -DPREFIX=%{_prefix} \ -DCMAKE_BUILD_TYPE=%{build_type} \ -DVERSION=%{version} \ -DTZ_SYS_RO_PACKAGES=%TZ_SYS_RO_PACKAGES \ - -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP + -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \ + -DBUILD_GCOV={?gcov:1}%{!?gcov:0} make %{?jobs:-j%jobs} +%if 0%{?gcov:1} +mkdir -p gcov-obj +find . \( -name '*.gcno' ! -name 'tc_*' \) -exec cp '{}' gcov-obj ';' +%endif + %install rm -rf %{buildroot} %make_install +%if 0%{?gcov:1} +mkdir -p %{buildroot}%{_datadir}/gcov/obj +install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj +%endif + %post -n privilege-info -p /sbin/ldconfig %postun -n privilege-info -p /sbin/ldconfig @@ -93,6 +124,10 @@ cyad -s -k MANIFESTS -c User::Pkg::org.tizen.test-privilege-info -u '*' -p http: %{TZ_SYS_RO_PACKAGES}/org.tizen.test-privilege-info.xml %{_bindir}/tc-privilege-info +%if 0%{?gcov:1} +%files gcov +%{_datadir}/gcov/obj/* +%endif %clean rm -rf %{buildroot}