diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 085739e..c74915f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,32 +1,2 @@ -/scap-security-guide-0.1-3.tar.gz -/scap-security-guide-0.1.4.tar.gz -/scap-security-guide-0.1-16.tar.gz -/scap-security-guide-0.1.5.tar.gz -/scap-security-guide-0.1.18.tar.gz -/scap-security-guide-0.1.19.tar.gz -/scap-security-guide-0.1.21.tar.gz -/v0.1.22.tar.gz -/v0.1.23.tar.gz -/v0.1.24.tar.gz -/v0.1.25.tar.gz -/v0.1.26.tar.gz -/v0.1.27.tar.gz -/v0.1.28.tar.gz -/scap-security-guide-0.1.29.tar.gz -/0.1.29.tar.gz -/v0.1.29.tar.gz -/v0.1.30.tar.gz -/scap-security-guide-0.1.31.tar.gz -/scap-security-guide-0.1.32.tar.gz -/scap-security-guide-0.1.33.tar.bz2 -/scap-security-guide-0.1.34.tar.bz2 -/scap-security-guide-0.1.35.tar.bz2 -/scap-security-guide-0.1.36.tar.bz2 -/scap-security-guide-0.1.37.tar.bz2 -/scap-security-guide-0.1.38.tar.bz2 -/scap-security-guide-0.1.39.tar.bz2 -/scap-security-guide-0.1.40.tar.bz2 -/scap-security-guide-0.1.41.tar.bz2 -/scap-security-guide-0.1.42.tar.bz2 -/scap-security-guide-0.1.43.tar.bz2 -/scap-security-guide-0.1.44.tar.bz2 +/scap-security-guide-0.1.78.tar.bz2 +/scap-security-guide-0.1.79.tar.bz2 diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..46eab8d --- /dev/null +++ b/gating.yaml @@ -0,0 +1,20 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/fedora_tests.functional} +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/fedora_tests.functional} +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/ci/tier1.functional} diff --git a/plans/fedora_tests.fmf b/plans/fedora_tests.fmf new file mode 100644 index 0000000..3f21692 --- /dev/null +++ b/plans/fedora_tests.fmf @@ -0,0 +1,5 @@ +summary: Run all tests in this repository +discover: + how: fmf +execute: + how: tmt diff --git a/scap-security-guide.spec b/scap-security-guide.spec index 49583e6..b9b927b 100644 --- a/scap-security-guide.spec +++ b/scap-security-guide.spec @@ -1,5 +1,10 @@ +# SSG build system and tests count with build directory name `build`. +# For more details see: +# https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds +%global _vpath_builddir build + Name: scap-security-guide -Version: 0.1.44 +Version: 0.1.79 Release: 1%{?dist} Summary: Security guidance and baselines in SCAP formats License: BSD-3-Clause @@ -7,10 +12,14 @@ URL: https://github.com/ComplianceAsCode/content/ Source0: https://github.com/ComplianceAsCode/content/releases/download/v%{version}/scap-security-guide-%{version}.tar.bz2 BuildArch: noarch -BuildRequires: libxslt, expat, python3, openscap-scanner >= 1.2.5, cmake >= 3.8, python3-jinja2, python3-PyYAML +BuildRequires: libxslt +BuildRequires: openscap-scanner >= 1.2.5 +BuildRequires: cmake >= 2.8 +BuildRequires: python%{python3_pkgversion} +BuildRequires: python%{python3_pkgversion}-jinja2 +BuildRequires: python%{python3_pkgversion}-PyYAML +BuildRequires: python%{python3_pkgversion}-setuptools Requires: xml-common, openscap-scanner >= 1.2.5 -Obsoletes: openscap-content < 0:0.9.13 -Provides: openscap-content %description The scap-security-guide project provides a guide for configuration of the @@ -18,7 +27,7 @@ system from the final system's security point of view. The guidance is specified in the Security Content Automation Protocol (SCAP) format and constitutes a catalog of practical hardening advice, linked to government requirements where applicable. The project bridges the gap between generalized policy -requirements and specific implementation guidelines. The Fedora system +requirements and specific implementation guidelines. The system administrator can use the oscap CLI tool from openscap-scanner package, or the scap-workbench GUI tool from scap-workbench package to verify that the system conforms to provided guideline. Refer to scap-security-guide(8) manual page for @@ -33,34 +42,274 @@ The %{name}-doc package contains HTML formatted documents containing hardening guidances that have been generated from XCCDF benchmarks present in %{name} package. -%prep -%setup -q -mkdir build +%if ( %{defined rhel} && (! %{defined centos}) && (! %{defined eln}) ) +%package rule-playbooks +Summary: Ansible playbooks per each rule. +Group: System Environment/Base +Requires: %{name} = %{version}-%{release} +%description rule-playbooks +The %{name}-rule-playbooks package contains individual ansible playbooks per rule. +%endif + +%prep +%autosetup -p1 + +%define cmake_defines_common -DSSG_SEPARATE_SCAP_FILES_ENABLED=OFF -DSSG_BASH_SCRIPTS_ENABLED=OFF -DSSG_BUILD_SCAP_12_DS=OFF +%define cmake_defines_specific %{nil} +%if 0%{?rhel} && ! %{defined eln} +%define cmake_defines_specific -DSSG_PRODUCT_DEFAULT:BOOLEAN=FALSE -DSSG_PRODUCT_RHEL%{rhel}:BOOLEAN=TRUE -DSSG_SCIENTIFIC_LINUX_DERIVATIVES_ENABLED:BOOL=OFF -DSSG_CENTOS_DERIVATIVES_ENABLED:BOOL=OFF -DSSG_ANSIBLE_PLAYBOOKS_PER_RULE_ENABLED:BOOL=ON +%endif +%if 0%{?centos} +%define cmake_defines_specific -DSSG_PRODUCT_DEFAULT:BOOLEAN=FALSE -DSSG_PRODUCT_RHEL%{centos}:BOOLEAN=TRUE -DSSG_SCIENTIFIC_LINUX_DERIVATIVES_ENABLED:BOOL=OFF -DSSG_CENTOS_DERIVATIVES_ENABLED:BOOL=ON +%endif + +mkdir -p build %build -cd build -%cmake ../ -%make_build +%cmake %{cmake_defines_common} %{cmake_defines_specific} +%cmake_build %install -cd build -%make_install +%cmake_install +rm %{buildroot}/%{_docdir}/%{name}/README.md +rm %{buildroot}/%{_docdir}/%{name}/Contributors.md %files %{_datadir}/xml/scap/ssg/content %{_datadir}/%{name}/kickstart -%{_datadir}/%{name}/ansible -%{_datadir}/%{name}/bash +%{_datadir}/%{name}/ansible/*.yml +%{_datadir}/%{name}/tailoring %lang(en) %{_mandir}/man8/scap-security-guide.8.* %doc %{_docdir}/%{name}/LICENSE -%doc %{_docdir}/%{name}/README.md -%doc %{_docdir}/%{name}/Contributors.md +%if ( %{defined rhel} && (! %{defined centos}) && (! %{defined eln}) ) +%exclude %{_datadir}/%{name}/ansible/rule_playbooks +%endif %files doc %doc %{_docdir}/%{name}/guides/*.html %doc %{_docdir}/%{name}/tables/*.html +%if ( %{defined rhel} && (! %{defined centos}) && (! %{defined eln}) ) +%files rule-playbooks +%defattr(-,root,root,-) +%{_datadir}/%{name}/ansible/rule_playbooks +%endif + %changelog +* Fri Nov 28 2025 Jan Černý - 0.1.79-1 +- Upgrade to the latest upstream release + +* Mon Sep 08 2025 Matthew Burket - 0.1.78-1 +- Update to latest upstream release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.78 + +* Fri Jul 25 2025 Fedora Release Engineering - 0.1.77-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jun 02 2025 Matthew Burket - 0.1.77-1 +- Update to latest upstream release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.77 + +* Fri Mar 07 2025 Matthew Burket - 0.1.76-2 +- Remove expat as a BuildRequires as it is no longer needed + +* Tue Feb 25 2025 Evgenii Kolesnikov - 0.1.76-1 +- Update to latest upstream release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.76 + +* Sun Jan 19 2025 Fedora Release Engineering - 0.1.75-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Nov 14 2024 Matthew Burket - 0.1.75-1 +- Update to latest upstream release + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.75 + +* Mon Aug 12 2024 Matthew Burket - 0.1.74-1 +- Update to latest upstream release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.74 +- Remove /usr/bin/python3 from BuildRequires + +* Sat Jul 20 2024 Fedora Release Engineering - 0.1.73-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed May 22 2024 Jan Černý - 0.1.73-1 +- Update to latest upstream release + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.73 + +* Fri Feb 09 2024 Vojtech Polasek - 0.1.72-1 +- Update to latest upstream SCAP-Security-Guide-0.1.72 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.72 + +* Sat Jan 27 2024 Fedora Release Engineering - 0.1.71-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Dec 19 2023 Vojtech Polasek - 0.1.71-1 +- Update to latest upstream SCAP-Security-Guide-0.1.71 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.71 + +* Thu Oct 12 2023 Matthew Burket - 0.1.70-1 +- Update to latest upstream SCAP-Security-Guide-0.1.70 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.70 + +* Thu Aug 03 2023 Jan Černý - 0.1.69-1 +- Update to latest upstream SCAP-Security-Guide-0.1.69 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.69 + +* Sat Jul 22 2023 Fedora Release Engineering - 0.1.68-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 15 2023 Jan Černý - 0.1.68-1 +- Update to latest upstream SCAP-Security-Guide-0.1.68 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.68 + +* Wed Apr 12 2023 Matthew Burket - 0.1.67-1 +- Update to latest upstream SCAP-Security-Guide-0.1.67 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.67 + + +* Fri Feb 03 2023 Vojtech Polasek - 0.1.66-1 +- Update to latest upstream SCAP-Security-Guide-0.1.66 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.66 + +* Sat Jan 21 2023 Fedora Release Engineering - 0.1.65-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Dec 06 2022 Marcus Burghardt - 0.1.65-1 +- Update to latest upstream SCAP-Security-Guide-0.1.65 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.65 + +* Tue Oct 04 2022 Watson Sato - 0.1.64-1 +- Update to latest upstream SCAP-Security-Guide-0.1.64 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.64 + +* Mon Aug 01 2022 Watson Sato - 0.1.63-1 +- Update to latest upstream SCAP-Security-Guide-0.1.63 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.63 + +* Sat Jul 23 2022 Fedora Release Engineering - 0.1.62-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jun 09 2022 Vojtech Polasek - 0.1.62-2 +- rebuild, the release did not get propagated into rawhide + +* Mon May 30 2022 Vojtech Polasek - 0.1.62-1 +- Update to latest upstream SCAP-Security-Guide-0.1.62 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.62 + +* Wed May 04 2022 Watson Sato - 0.1.61-1 +- Update to latest upstream SCAP-Security-Guide-0.1.61 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.61 + +* Fri Jan 28 2022 Watson Sato - 0.1.60-1 +- Update to latest upstream SCAP-Security-Guide-0.1.60 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.60 + +* Sat Jan 22 2022 Fedora Release Engineering - 0.1.59-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Dec 01 2021 Watson Sato - 0.1.59-1 +- Update to latest upstream SCAP-Security-Guide-0.1.59 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.59 +- Fix loading of jinja files + +* Thu Sep 30 2021 Watson Sato - 0.1.58-1 +- Update to latest upstream SCAP-Security-Guide-0.1.58 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.58 +- Fix license warning. + +* Thu Jul 29 2021 Matej Tyc - 0.1.57-1 +- Update to latest upstream SCAP-Security-Guide-0.1.57 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.57 + +* Fri Jul 23 2021 Fedora Release Engineering - 0.1.56-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jun 08 2021 Matej Tyc - 0.1.56-2 +- Updated the packaging according to the RHEL development trends. +- Don't ship 1.2 datastreams and Bash remediations. +- Clean up dependencies and other package metadata. +- Change the RHEL target. + +* Wed May 26 2021 Vojtech Polasek - 0.1.56-1 +- Update to latest upstream SCAP-Security-Guide-0.1.56 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.56 + +* Fri Mar 19 2021 Vojtech Polasek - 0.1.55-2 +- rebuilt + +* Fri Mar 19 2021 Vojtech Polasek - 0.1.55-1 +- Update to latest upstream SCAP-Security-Guide-0.1.55 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.55 + +* Fri Feb 12 2021 Matej Tyc - 0.1.54-3 +- Moved the spec file closer to the RHEL one. + +* Fri Feb 12 2021 Vojtech Polasek - 0.1.54-2 +- fix definition of build directory + +* Fri Feb 05 2021 Vojtech Polasek - 0.1.54-1 +- Update to latest upstream SCAP-Security-Guide-0.1.54 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.54 + +* Wed Jan 27 2021 Fedora Release Engineering - 0.1.53-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Nov 16 2020 Vojtech Polasek - 0.1.53-1 +- Update to latest upstream SCAP-Security-Guide-0.1.53 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.53 + +* Wed Sep 23 2020 Vojtech Polasek - 0.1.52-3 +- revert previous rework, it did not solve the problem + +* Wed Sep 23 2020 Vojtech Polasek - 0.1.52-2 +- rewrite solution for CMake out of source builds + +* Mon Sep 21 2020 Vojtech Polasek - 0.1.52-1 +- Update to latest upstream SCAP-Security-Guide-0.1.52 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.52 + +* Tue Aug 04 2020 Jan Černý - 0.1.51-4 +- Update for new CMake out of source builds + https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds +- Fix FTBS in Rawhide/F33 (RHBZ#1863741) + +* Sat Aug 01 2020 Fedora Release Engineering - 0.1.51-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.1.51-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 17 2020 Vojtech Polasek - 0.1.51-1 +- Update to latest upstream SCAP-Security-Guide-0.1.51 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.51 + +* Mon Mar 23 2020 Watson Sato - 0.1.49-1 +- Update to latest upstream SCAP-Security-Guide-0.1.49 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.49 + +* Thu Jan 30 2020 Fedora Release Engineering - 0.1.48-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 16 2020 Watson Sato - 0.1.48-1 +- Update to latest upstream SCAP-Security-Guide-0.1.48 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.48 + +* Mon Dec 09 2019 Matěj Týč - 0.1.47-2 +- Hotfix of the XML parsing fix. + +* Mon Dec 09 2019 Matěj Týč - 0.1.47-1 +- Update to latest upstream SCAP-Security-Guide-0.1.47 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.47 +- Fixed XML parsing of remediation functions. + +* Mon Jul 29 2019 Watson Sato - 0.1.45-1 +- Update to latest upstream SCAP-Security-Guide-0.1.45 release: + https://github.com/ComplianceAsCode/content/releases/tag/v0.1.45 + +* Fri Jul 26 2019 Fedora Release Engineering - 0.1.44-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Mon May 06 2019 Watson Yuuma Sato - 0.1.44-1 - Update to latest upstream SCAP-Security-Guide-0.1.44 release: https://github.com/ComplianceAsCode/content/releases/tag/v0.1.44 diff --git a/sources b/sources index 911b317..f88b2e8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (scap-security-guide-0.1.44.tar.bz2) = 8e0f8e64f8e94bf41d7971e1898d3cf87eb69eba3bae4a428cb4e969d6c8aab8e229d8ef39a6999c3b2f73ff4ec764cb81845dfafce3b6a6d1f1387697c6e3c2 +SHA512 (scap-security-guide-0.1.79.tar.bz2) = 57963e896aef6089523bb7165ece32dafeedc2caf0baac594c4d0d083ff00bd37c4fdc1c98357db1c70523bb67543c07b6a41b7d989ba1a8e97907218d954311 diff --git a/tests/smoke-test/main.fmf b/tests/smoke-test/main.fmf new file mode 100644 index 0000000..6e01198 --- /dev/null +++ b/tests/smoke-test/main.fmf @@ -0,0 +1,27 @@ +summary: Test calls upstream test suite. +description: | + Runs upstream test suite against content built from the source RPM - testing + the content from the installed scap-security-guide is not feasible as the + upstream test suite is hardcoded to test the content from the CMAKE_BINARY_DIR + directory with hardcoded paths which are not the same as paths where content is + installed from the scap-security-guide RPM. Test suite is also built from the + scap-security-guide source RPM by running %prep and %build stages from the spec + file. +contact: Matus Marhefka +test: ./runtest.sh +framework: beakerlib +require: + - library(ControlFlow/Cleanup) + - library(rpm/snapshot) + - scap-security-guide +recommend: + - yum-utils + - rpm-build + - dnf-plugins-core + - gcc + - python3-pytest + - python3-pip + - python3-devel + - ansible +duration: 90m +enabled: true diff --git a/tests/smoke-test/runtest.sh b/tests/smoke-test/runtest.sh new file mode 100755 index 0000000..b356a60 --- /dev/null +++ b/tests/smoke-test/runtest.sh @@ -0,0 +1,80 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /CoreOS/scap-security-guide/Sanity/smoke-test +# Description: Test calls upstream test suite. +# Author: Marek Haicman +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2018 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="scap-security-guide" + +rlJournalStart + + rlPhaseStartSetup + rlImport ControlFlow/Cleanup rpm/snapshot || rlDie "Failed to import libraries" + rlAssertRpm "$PACKAGE" + + RpmSnapshotCreate + CleanupRegister "RpmSnapshotRevert" + rlRun "TmpDir=\$(mktemp -d)" 0 + CleanupRegister "rlRun 'rm -r $TmpDir' 0 'Removing tmp directory'" + rlRun "pushd $TmpDir" + CleanupRegister "rlRun 'popd'" + + rlFetchSrcForInstalled $PACKAGE + rlRun "dnf builddep -y $PACKAGE*" + SITE_PACKAGES=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])') + rlRun "pip3 install --target=$SITE_PACKAGES ruamel.yaml yamlpath prometheus-client" + CleanupRegister "rlRun 'pip3 uninstall -y ruamel.yaml yamlpath prometheus-client'" + TOPDIR=`rpm --eval %_topdir` + rlRun "rm -rf ${TOPDIR}/BUILD/${PACKAGE}*" 0-255 + rlRun "rpm -ihv `ls *.rpm`" 0 "Install $PACKAGE source RPM" + rlPhaseEnd + + rlPhaseStartSetup "Prepare upstream test suite (%prep and %build stages from the spec file)" + rlRun "rpmbuild -v -bc ${TOPDIR}/SPECS/${PACKAGE}.spec" + CleanupRegister "rlRun 'rm -rf ${TOPDIR}/BUILD/${PACKAGE}*'" + CleanupRegister "rlRun 'rm -rf ${TOPDIR}/SPECS/${PACKAGE}*'" + CleanupRegister "rlRun 'rm -rf ${TOPDIR}/SOURCES/*'" + rlPhaseEnd + + rlPhaseStartTest "Run upstream test suite" + BUILD_DIR_PATH="$(find $TOPDIR -name build | grep scap-security-guide)" + rlRun -s "cmake --build $BUILD_DIR_PATH --target test -- ARGS='--output-on-failure'" + rv=$? + + # if we got error, submit file with result of particular test for easier debugging + if [ $rv -ne 0 ]; then + FILE="${BUILD_DIR_PATH}/Testing/Temporary/LastTest.log" + rlBundleLogs test_outputs $(readlink -f $FILE) + fi + rlPhaseEnd + + rlPhaseStartCleanup + CleanupDo + rlPhaseEnd + +rlJournalPrintText +rlJournalEnd