diff --git a/SOURCES/oscap-anaconda-addon-1.2.2-deep_archives-PR_168.patch b/SOURCES/oscap-anaconda-addon-1.2.2-deep_archives-PR_168.patch new file mode 100644 index 0000000..d499c9c --- /dev/null +++ b/SOURCES/oscap-anaconda-addon-1.2.2-deep_archives-PR_168.patch @@ -0,0 +1,51 @@ +From 3377a914f4668af3d72216468ae192bc300890f9 Mon Sep 17 00:00:00 2001 +From: Matej Tyc +Date: Mon, 9 Aug 2021 15:45:58 +0200 +Subject: [PATCH 1/2] Fix archive handling in GUI installs + +GUI downloads an archive, so the ensuing installation doesn't have to. +However, the installation has to be able to discover files recovered +from the archive. +The fix makes sure that files are discovered also in subdirectories. +--- + org_fedora_oscap/content_discovery.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/org_fedora_oscap/content_discovery.py b/org_fedora_oscap/content_discovery.py +index f6b4d27..5fc7343 100644 +--- a/org_fedora_oscap/content_discovery.py ++++ b/org_fedora_oscap/content_discovery.py +@@ -196,7 +196,8 @@ def _gather_available_files(self, actually_fetched_content, dest_filename): + if not dest_filename: # using scap-security-guide + fpaths = [self.DEFAULT_SSG_DATA_STREAM_PATH] + else: # Using downloaded XCCDF/OVAL/DS/tailoring +- fpaths = glob(str(self.CONTENT_DOWNLOAD_LOCATION / "*.xml")) ++ fpaths = pathlib.Path(self.CONTENT_DOWNLOAD_LOCATION).rglob("*") ++ fpaths = [str(p) for p in fpaths if p.is_file()] + else: + dest_filename = pathlib.Path(dest_filename) + # RPM is an archive at this phase + +From 191df327e3e51f486fb655e97acac30222c264fa Mon Sep 17 00:00:00 2001 +From: Matej Tyc +Date: Mon, 9 Aug 2021 15:48:50 +0200 +Subject: [PATCH 2/2] Improve logging + +Logs written to log files can contain specific details. +--- + org_fedora_oscap/ks/oscap.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/org_fedora_oscap/ks/oscap.py b/org_fedora_oscap/ks/oscap.py +index d1b8c9e..65d74cf 100644 +--- a/org_fedora_oscap/ks/oscap.py ++++ b/org_fedora_oscap/ks/oscap.py +@@ -393,7 +393,7 @@ def _terminate(self, message): + time.sleep(100000) + + def _handle_error(self, exception): +- log.error("Failed to fetch and initialize SCAP content!") ++ log.error(f"Failed to fetch and initialize SCAP content: {str(exception)}") + + if isinstance(exception, ContentCheckError): + msg = _("The integrity check of the security content failed.") diff --git a/SPECS/oscap-anaconda-addon.spec b/SPECS/oscap-anaconda-addon.spec index af5cdbc..1b384d6 100644 --- a/SPECS/oscap-anaconda-addon.spec +++ b/SPECS/oscap-anaconda-addon.spec @@ -3,7 +3,7 @@ Name: oscap-anaconda-addon Version: 1.2.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Anaconda addon integrating OpenSCAP to the installation process License: GPLv2+ @@ -20,6 +20,7 @@ Source0: %{name}-%{version}.tar.gz # Let the Patch1 be reserved for translations patches Patch1: lang.patch Patch2: oscap-anaconda-addon-1.2.2-content_ident-PR_167.patch +Patch3: oscap-anaconda-addon-1.2.2-deep_archives-PR_168.patch BuildArch: noarch BuildRequires: make @@ -47,6 +48,7 @@ content. # Patch1 needs to be aplied last. %patch1 -p1 %patch2 -p1 +%patch3 -p1 # NOTE CONCERNING TRANSLATION PATCHES # When preparing translation patches, don't consider that some languages are unsupported - # we aim to include all applicable translation texts to the appropriate patch. @@ -68,6 +70,10 @@ make install DESTDIR=%{buildroot} %doc COPYING ChangeLog README.md %changelog +* Mon Aug 09 2021 Matej Tyc - 1.2.1-3 +- Fix handling of archives with directories in GUI installs +- Resolves: rhbz#1691305 + * Tue Aug 03 2021 Matej Tyc - 1.2.1-2 - Refactor content identification - Resolves: rhbz#1989441