diff --git a/.gitignore b/.gitignore index 6088c68..bf012f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/sos-4.9.1.tar.gz +SOURCES/sos-4.9.2.tar.gz SOURCES/sos-audit-0.3-1.tgz diff --git a/.sos.metadata b/.sos.metadata index 1d44a20..e84d0ba 100644 --- a/.sos.metadata +++ b/.sos.metadata @@ -1,2 +1,2 @@ -9c7e8309a950a99ccd4f02268b7b842374f7da16 SOURCES/sos-4.9.1.tar.gz +928a58267511054d8173802fca3ee8ca087e1eac SOURCES/sos-4.9.2.tar.gz 00752b68ec5e1141192a9dab7d44377b8d637bf7 SOURCES/sos-audit-0.3-1.tgz diff --git a/SOURCES/sos-cleaner-Use-hostname-f-in-HostnamePrepper.patch b/SOURCES/sos-cleaner-Use-hostname-f-in-HostnamePrepper.patch deleted file mode 100644 index 4dad30f..0000000 --- a/SOURCES/sos-cleaner-Use-hostname-f-in-HostnamePrepper.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 1d449044caf2224da5e55d0de51459137feb0807 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -Date: Sun, 25 May 2025 11:46:34 +0200 -Subject: [PATCH] [cleaner] Use "hostname -f" in HostnamePrepper - -HostnamePrepper should always be fed by FQDN to ensure domain names are -recognized properly. - -This is important esp. when: -- /etc/hosts is empty -- "hostname" contains shortname only -- "hostname -f" contains FQDN - -Resolves: #4022 -Closes: #4026 - -Signed-off-by: Pavel Moravec ---- - sos/cleaner/preppers/hostname.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sos/cleaner/preppers/hostname.py b/sos/cleaner/preppers/hostname.py -index 0812597e..b20f5679 100644 ---- a/sos/cleaner/preppers/hostname.py -+++ b/sos/cleaner/preppers/hostname.py -@@ -29,7 +29,7 @@ class HostnamePrepper(SoSPrepper): - items = [] - _file = 'hostname' - if archive.is_sos: -- _file = 'sos_commands/host/hostname' -+ _file = 'sos_commands/host/hostname_-f' - elif archive.is_insights: - _file = 'data/insights_commands/hostname_-f' - --- -2.49.0 - diff --git a/SOURCES/sos-dnf-Scrub-passwords-in-repository-URIs.patch b/SOURCES/sos-dnf-Scrub-passwords-in-repository-URIs.patch deleted file mode 100644 index 6551572..0000000 --- a/SOURCES/sos-dnf-Scrub-passwords-in-repository-URIs.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c41fca3daed8b515c4022ab02232acab8b1ec4c4 Mon Sep 17 00:00:00 2001 -From: Pavel Moravec -Date: Tue, 20 May 2025 13:18:26 +0200 -Subject: [PATCH] [dnf] Scrub passwords in repository URIs - -Closes: #4018 - -Signed-off-by: Pavel Moravec ---- - sos/report/plugins/dnf.py | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/sos/report/plugins/dnf.py b/sos/report/plugins/dnf.py -index 4a1e52b9..69224955 100644 ---- a/sos/report/plugins/dnf.py -+++ b/sos/report/plugins/dnf.py -@@ -150,4 +150,10 @@ class DNFPlugin(Plugin, RedHatPlugin): - # - self.do_file_sub("/etc/dnf/dnf.conf", regexp, repl) - -+ # Scrub credentials in http URIs -+ self.do_paths_http_sub([ -+ '/etc/yum.repos.d/*', -+ '/var/log/dnf.*', -+ ]) -+ - # vim: set et ts=4 sw=4 : --- -2.49.0 - diff --git a/SOURCES/sos-policy-Re-add-logic-to-request-case-id-if-not-presen.patch b/SOURCES/sos-policy-Re-add-logic-to-request-case-id-if-not-presen.patch deleted file mode 100644 index 228e89f..0000000 --- a/SOURCES/sos-policy-Re-add-logic-to-request-case-id-if-not-presen.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 369e65acafa70a6d7a9751802395bddaaeafd141 Mon Sep 17 00:00:00 2001 -From: Jose Castillo -Date: Wed, 21 May 2025 10:10:41 +0100 -Subject: [PATCH] [policy] Re-add logic to request case-id if not present - -This commit re-adds the logic to ask for case-id if -the user hasn't specified it in the command line -explicitly. - -Related: RHEL-92071 - -Signed-off-by: Jose Castillo ---- - sos/policies/distros/__init__.py | 18 ++++++++++++++++-- - sos/upload/__init__.py | 3 +++ - sos/upload/targets/redhat.py | 22 ++-------------------- - 3 files changed, 21 insertions(+), 22 deletions(-) - -diff --git a/sos/policies/distros/__init__.py b/sos/policies/distros/__init__.py -index 06327a6b..7004fdbd 100644 ---- a/sos/policies/distros/__init__.py -+++ b/sos/policies/distros/__init__.py -@@ -13,6 +13,7 @@ - import os - import re - -+from sos import _sos as _ - from sos.policies import Policy - from sos.policies.init_systems import InitSystem - from sos.policies.init_systems.systemd import SystemdInit -@@ -300,8 +301,21 @@ class LinuxPolicy(Policy): - if cmdline_opts.low_priority: - self._configure_low_priority() - -- if cmdline_opts.case_id: -- self.case_id = cmdline_opts.case_id -+ # set or query for case id -+ self.case_id = self.prompt_for_case_id(cmdline_opts) -+ -+ def prompt_for_case_id(self, cmdline_opts): -+ if not cmdline_opts.batch and not \ -+ cmdline_opts.quiet: -+ if not cmdline_opts.case_id: -+ cmdline_opts.case_id = input( -+ _("Optionally, please enter the case id that you are " -+ "generating this report for: ") -+ ) -+ self.case_id = cmdline_opts.case_id if \ -+ cmdline_opts.case_id else "" -+ -+ return self.case_id - - def _configure_low_priority(self): - """Used to constrain sos to a 'low priority' execution, potentially -diff --git a/sos/upload/__init__.py b/sos/upload/__init__.py -index 97872f69..7be33f65 100644 ---- a/sos/upload/__init__.py -+++ b/sos/upload/__init__.py -@@ -282,6 +282,9 @@ this utility. - if self.from_cmdline: - self.intro() - self.archive = self.opts.upload_file -+ self.caseid = self.policy.prompt_for_case_id( -+ cmdline_opts=self.opts -+ ) - cmdline_target = self.opts.upload_target - if cmdline_target and cmdline_target != 'local': - self.upload_target = self.upload_targets[cmdline_target] -diff --git a/sos/upload/targets/redhat.py b/sos/upload/targets/redhat.py -index b3e8e3c5..d5262af0 100644 ---- a/sos/upload/targets/redhat.py -+++ b/sos/upload/targets/redhat.py -@@ -52,25 +52,6 @@ class RHELUploadTarget(UploadTarget): - - self.upload_directory = self.commons['cmdlineopts'].upload_directory - -- def prompt_for_case_id(self): -- caseid = self.commons['cmdlineopts'].case_id if \ -- self.commons['cmdlineopts'].case_id else "" -- -- # set or query for case id -- if not self.commons['cmdlineopts'].batch and not \ -- self.commons['cmdlineopts'].quiet: -- if caseid: -- self.commons['cmdlineopts'].case_id = caseid -- else: -- self.commons['cmdlineopts'].case_id = input( -- _("Optionally, please enter the case id that you are " -- "generating this report for: ") -- ) -- if self.commons['cmdlineopts'].case_id: -- self.case_id = self.commons['cmdlineopts'].case_id -- -- return self.case_id -- - def prompt_for_upload_user(self): - if self.commons['cmdlineopts'].upload_user: - self.ui_log.info( -@@ -101,7 +82,8 @@ class RHELUploadTarget(UploadTarget): - if self.commons['cmdlineopts'].upload_protocol == 'sftp': - return self.RH_SFTP_HOST - if not self.commons['cmdlineopts'].case_id and not\ -- self.prompt_for_case_id(): -+ self.commons['policy'].prompt_for_case_id( -+ self.commons['cmdlineopts']): - return self.RH_SFTP_HOST - - except Exception as e: --- -2.49.0 - diff --git a/SOURCES/sos-python36-walrus-operator.patch b/SOURCES/sos-python36-walrus-operator.patch index 6ebe35c..ad84519 100644 --- a/SOURCES/sos-python36-walrus-operator.patch +++ b/SOURCES/sos-python36-walrus-operator.patch @@ -23,3 +23,19 @@ res.append(ls[0]) except Exception as err: self.log_debug(f"Error parsing sos help: {err}") +--- a/sos/report/plugins/mongodb.py ++++ b/sos/report/plugins/mongodb.py +@@ -87,9 +87,11 @@ + ) + + def setup(self): +- if get_juju_info := self.path_exists('/var/lib/juju/db'): ++ if self.path_exists('/var/lib/juju/db'): ++ get_juju_info = self.path_exists('/var/lib/juju/db') + self.db_folder = "/var/lib/juju/db" +- elif get_juju_info := self.path_exists('/var/snap/juju-db/curent/db'): ++ elif self.path_exists('/var/snap/juju-db/curent/db'): ++ get_juju_info = self.path_exists('/var/snap/juju-db/curent/db') + self.db_folder = "/var/snap/juju-db/current/db" + + super().setup() diff --git a/SOURCES/sosreport-binary.patch b/SOURCES/sosreport-binary.patch index 76bc320..fd950e2 100644 --- a/SOURCES/sosreport-binary.patch +++ b/SOURCES/sosreport-binary.patch @@ -1,5 +1,5 @@ --- /dev/null 2025-04-03 01:35:45.132999852 +0200 -+++ sos-4.9.1/bin/sosreport 2025-04-15 13:54:04.924751581 +0200 ++++ sos-4.9.2/bin/sosreport 2025-04-15 13:54:04.924751581 +0200 @@ -0,0 +1,5 @@ +#!/usr/bin/python3 +msg = ("sosreport binary is deprecated, use 'sos report' instead") @@ -8,7 +8,7 @@ +# vim:ts=4 et sw=4 --- /dev/null 2025-04-03 01:35:45.132999852 +0200 -+++ sos-4.9.1/bin/sos-collector 2025-04-15 15:10:17.780281627 +0200 ++++ sos-4.9.2/bin/sos-collector 2025-04-15 15:10:17.780281627 +0200 @@ -0,0 +1,5 @@ +#!/usr/bin/python3 +msg = ("sos-collector binary is deprecated, use 'sos collector' instead") @@ -16,14 +16,14 @@ + +# vim:ts=4 et sw=4 ---- sos-4.9.1/setup.py 2025-04-15 15:17:21.938635468 +0200 -+++ sos-4.9.1/setup.py 2025-04-15 15:17:41.328198501 +0200 -@@ -19,7 +19,7 @@ +--- sos-4.9.2/setup.py 2025-04-15 15:17:21.938635468 +0200 ++++ sos-4.9.2/setup.py 2025-04-15 15:17:41.328198501 +0200 +@@ -34,7 +34,7 @@ maintainer_email='jacob.r.hunsaker@gmail.com', url='https://github.com/sosreport/sos', license="GPLv2+", - scripts=['bin/sos'], + scripts=['bin/sos', 'bin/sosreport', 'bin/sos-collector'], - data_files=[ - ('share/man/man1', ['man/en/sos-report.1', 'man/en/sos.1', - 'man/en/sos-collect.1', 'man/en/sos-clean.1', + data_files=data_files, + packages=find_packages(include=['sos', 'sos.*']) + ) diff --git a/SPECS/sos.spec b/SPECS/sos.spec index 9e0d6cb..2f39edd 100644 --- a/SPECS/sos.spec +++ b/SPECS/sos.spec @@ -4,8 +4,8 @@ Summary: A set of tools to gather troubleshooting information from a system Name: sos -Version: 4.9.1 -Release: 2%{?dist} +Version: 4.9.2 +Release: 1%{?dist} Group: Applications/System Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz Source1: sos-audit-%{auditversion}.tgz @@ -24,9 +24,6 @@ Conflicts: vdsm < 4.40 Obsoletes: sos-collector Patch1: sos-python36-walrus-operator.patch Patch2: sosreport-binary.patch -Patch3: sos-cleaner-Use-hostname-f-in-HostnamePrepper.patch -Patch4: sos-dnf-Scrub-passwords-in-repository-URIs.patch -Patch5: sos-policy-Re-add-logic-to-request-case-id-if-not-presen.patch %description Sos is a set of tools that gathers information about system @@ -39,9 +36,6 @@ support technicians and developers. %setup -T -D -a1 -q %patch -P 1 -p1 %patch -P 2 -p1 -%patch -P 3 -p1 -%patch -P 4 -p1 -%patch -P 5 -p1 %build %py3_build @@ -114,6 +108,10 @@ of the system. Currently storage and filesystem commands are audited. %license LICENSE %changelog +* Fri Jul 04 2025 Jan Jansky = 4.9.2-1 +- Update to 4.9.2 in RHEL 8 + Resolves: RHEL-101716 + * Fri May 30 2025 Jan Jansky = 4.9.1-2 - Update to 4.9.1-2 in RHEL 8 Resolves: RHEL-86645