Blob Blame History Raw
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}

%global auditversion 0.3

Summary: A set of tools to gather troubleshooting information from a system
Name: sos
Version: 4.2
Release: 15%{?dist}
Group: Applications/System
Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz
Source1: sos-audit-%{auditversion}.tgz
License: GPLv2+
BuildArch: noarch
Url: https://github.com/sosreport/sos
BuildRequires: python3-devel
BuildRequires: gettext
Requires: libxml2-python3
#Requires: python3-rpm
Requires: tar
Requires: bzip2
Requires: xz
Recommends: python3-pexpect
Conflicts: vdsm < 4.40
Obsoletes: sos-collector <= 1.9
Recommends: python3-pexpect
Recommends: python3-requests
Patch1: sos-bz1869561-cpuX-individual-sizelimits.patch
Patch2: sos-bz2011533-unpackaged-recursive-symlink.patch
Patch3: sos-bz2011534-opacapture-under-allow-system-changes.patch
Patch4: sos-bz2011535-kernel-psi.patch
Patch5: sos-bz2011538-iptables-save-under-nf_tables-kmod.patch
Patch6: sos-bz2011537-estimate-only-option.patch
Patch7: sos-bz2011536-iptables-based-on-ntf.patch
Patch8: sos-bz2011507-foreman-puma-status.patch
Patch9: sos-bz2012858-dryrun-uncaught-exception.patch
Patch10: sos-bz2019697-openvswitch-offline-analysis.patch
Patch11: sos-bz2012859-plugin-timeout-unhandled-exception.patch
Patch12: sos-bz2023481-plugin-timeouts-proper-handling.patch
Patch13: sos-bz2020778-filter-namespace-per-pattern.patch
Patch14: sos-bz2024893-cleaner-hostnames-improvements.patch
Patch15: sos-bz2025611-RHTS-api-change.patch
Patch16: sos-bz2034001-nvidia-GPU-info.patch
Patch17: sos-bz2031777-rhui-logs.patch
Patch18: sos-bz2037350-ocp-backports.patch
Patch19: sos-bz2043104-foreman-tasks-msgpack.patch
Patch20: sos-bz2041855-virsh-in-foreground.patch
Patch21: sos-bz2043488-ovn-proper-package-enablement.patch
Patch22: sos-bz2054883-plugopt-logging-effective-opts.patch
Patch23: sos-bz2055548-honour-plugins-timeout-hardcoded.patch

%description
Sos is a set of tools that gathers information about system
hardware and configuration. The information can then be used for
diagnostic purposes and debugging. Sos is commonly used to help
support technicians and developers.

%prep
%setup -qn %{name}-%{version}
%setup -T -D -a1 -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1

%build
%py3_build

%install
%py3_install '--install-scripts=%{_sbindir}'

install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}
install -d -m 700 %{buildroot}%{_sysconfdir}/%{name}/cleaner
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/presets.d
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/groups.d
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/extras.d
install -m 644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf

rm -rf %{buildroot}/usr/config/

%find_lang %{name} || echo 0

cd %{name}-audit-%{auditversion}
DESTDIR=%{buildroot} ./install.sh
cd ..

%files -f %{name}.lang
%{_sbindir}/sos
%{_sbindir}/sosreport
%{_sbindir}/sos-collector
#%dir /etc/sos/cleaner
%dir /etc/sos/presets.d
%dir /etc/sos/extras.d
%dir /etc/sos/groups.d
%{python3_sitelib}/*
%{_mandir}/man1/*
%{_mandir}/man5/sos.conf.5.gz
%doc AUTHORS README.md
%license LICENSE
%config(noreplace) %{_sysconfdir}/sos/sos.conf
%config(noreplace) %{_sysconfdir}/sos/cleaner


%package audit
Summary: Audit use of some commands for support purposes
License: GPLv2+
Group: Application/System

%description audit

Sos-audit provides configuration files for the Linux Auditing System
to track the use of some commands capable of changing the configuration
of the system.  Currently storage and filesystem commands are audited.

%post audit
%{_sbindir}/sos-audit.sh

%files audit
%defattr(755,root,root,-)
%{_sbindir}/sos-audit.sh
%defattr(644,root,root,-)
%config(noreplace) %{_sysconfdir}/sos/sos-audit.conf
%defattr(444,root,root,-)
%{_prefix}/lib/sos/audit/*
%{_mandir}/man5/sos-audit.conf.5.gz
%{_mandir}/man8/sos-audit.sh.8.gz
%ghost /etc/audit/rules.d/40-sos-filesystem.rules
%ghost /etc/audit/rules.d/40-sos-storage.rules


%changelog
* Wed Feb 23 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-15
- [sosnode] Handle downstream versioning for runtime option
  Resolves: bz2037350
- [options] Fix logging on plugopts in effective sos command
  Resolves: bz2054883
- [report] Honor plugins' hardcoded plugin_timeout
  Resolves: bz2055548
- [policies] Set fallback to None sysroot, don't chroot to '/'
  Resolves: bz2011537
- [ovn_central] Rename container responsable of Red Hat
  Resolves: bz2043488

* Wed Jan 26 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-13
- [virsh] Catch parsing exception
  Resolves: bz2041855

* Tue Jan 25 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-12
- [foreman] Use psql-msgpack-decode wrapper for dynflow >= 1.6
  Resolves: bz2043104
- [virsh] Call virsh commands in the foreground / with a TTY
  Resolves: bz2041855
- [ovn_central] Account for Red Hat ovn package naming
  Resolves: bz2043488
- [clean,parsers] Build regex lists for static items only once
  Resolves: bz2037350

* Mon Jan 10 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-11
- [report] Add journal logs for NetworkManager plugin
  Resolves: bz2037350

* Fri Jan 07 2022 Pavel Moravec <pmoravec@redhat.com> = 4.2-9
- add oc transport, backport various PRs for OCP
  Resolves: bz2037350
- [report] Provide better warning about estimate-mode
  Resolves: bz2011537
- [hostname] Fix loading and detection of long base domains
  Resolves: bz2024893

* Sun Dec 19 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-8
- [rhui] New log folder
  Resolves: bz2031777
- nvidia]:Patch to update nvidia plugin for GPU info
  Resolves: bz2034001
- [hostname] Fix edge case for new hosts in a known subdomain
  Resolves: bz2024893

* Wed Dec 08 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-7
- [hostname] Simplify case matching for domains
  Resolves: bz2024893

* Tue Nov 30 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-6
- [redhat] Fix broken URI to upload to customer portal
  Resolves: bz2025611

* Mon Nov 22 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-5
- [clean,hostname_parser] Source /etc/hosts for obfuscation
  Resolves: bz2024893
- [clean, hostname] Fix unintentionally case sensitive
  Resolves: bz2024892
- [redhat] update SFTP API version to v2
  Resolves: bz2025611

* Tue Nov 16 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-4
- [report] Calculate sizes of dirs, symlinks and manifest in
  Resolves: bz2011537
- [report] shutdown threads for timeouted plugins
  Resolves: bz2012859
- [report] fix filter_namespace per pattern
  Resolves: bz2020778
- Ensure specific plugin timeouts are only set
  Resolves: bz2023481

* Wed Nov 03 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-2
- [firewall_tables] call iptables -t <table> based on nft
  Resolves: bz2011536
- [report] Count with sos_logs and sos_reports in
  Resolves: bz2011537
- [foreman] Collect puma status and stats
  Resolves: bz2011507
- [report] Overwrite pred=None before refering predicate
  Resolves: bz2012858
- [openvswitch] add commands for offline analysis
  Resolves: bz2019697

* Wed Oct 06 2021 Pavel Moravec <pmoravec@redhat.com> = 4.2-1
- Rebase on upstream 4.2
  Resolves: bz1998134
- [report] Implement --estimate-only
  Resolves: bz2011537
- [omnipath_client] Opacapture to run only with allow changes
  Resolves: bz2011534
- [unpackaged] deal with recursive loop of symlinks properly
  Resolves: bz2011533
- [networking] prevent iptables-save commands to load nf_tables
  Resolves: bz2011538
- [kernel] Capture Pressure Stall Information
  Resolves: bz2011535
- [processor] Apply sizelimit to /sys/devices/system/cpu/cpuX
  Resolves: bz1869561

* Wed Aug 11 2021 Pavel Moravec <pmoravec@redhat.com> = 4.1-8
- [report,collect] unify --map-file arguments
  Resolves: bz1985985
- [rhui] add new plugin for RHUI 4
  Resolves: bz1992859
- [username parser] Load usernames from `last` for LDAP users
  Resolves: bz1992861

* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 4.1-7
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
  Related: rhbz#1991688

* Tue Jul 27 2021 Pavel Moravec <pmoravec@redhat.com> - 4.1-6
- [networking] collect also tc filter show ingress
  Resolves: bz1985976
- [cleaner] Only skip packaging-based files for the IP parser
  Resolves: bz1985982
- [sssd] sssd plugin when sssd-common
  Resolves: bz1967718
- Various OCP/cluster/cleanup enhancements
  Resolves: bz1985983
- [options] allow variant option names in config file
  Resolves: bz1985985
- [plugins] Set default predicate instead of None
  Resolves: bz1938874
- [MigrationResults] collect info about conversions and
  Resolves: bz1959779

* Wed Jun 02 2021 Pavel Moravec <pmoravec@redhat.com> - 4.1-4
- [archive] skip copying SELinux context for /proc and /sys everytime
  Resolves: bz1965002
- Load maps from all archives before obfuscation
  Resolves: bz1967110
- Multiple fixes in man pages
  Resolves: bz1967111
- [ds] Mask password and encryption keys in ldif files
  Resolves: bz1967112
- [report] add --cmd-timeout option
  Resolves: bz1967113
- [cups] Add gathering cups-browsed logs
  Resolves: bz1967114
- [sssd] Collect memory cache / individual logfiles
  Resolves: bz1967115
- Collect ibmvNIC dynamic_debugs
  Resolves: bz1967116
- [pulpcore] add plugin for pulp-3
  Resolves: bz1967117
- [saphana] remove redundant unused argument of get_inst_info
  Resolves: bz1967118
- [networking] Add nstat command support
  Resolves: bz1967119
- [snapper] add a new plugin
  Resolves: bz1967120

* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 4.1-4
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937

* Thu Apr 01 2021 Pavel Moravec <pmoravec@redhat.com> - 4.1-3
- adding sos-audit
- [gluster] Add glusterd public keys and status files
  Resolves: bz1925419 

* Wed Mar 10 2021 Sandro Bonazzola <sbonazzo@redhat.com> - 4.1-1
- Rebase to 4.1