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.1
Release: 4%{?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: http://github.com/sosreport/sos
BuildRequires: python3-devel
BuildRequires: gettext
Requires: libxml2-python3
Requires: bzip2
Requires: xz
Conflicts: vdsm < 4.40
Obsoletes: sos-collector
Recommends: python3-pexpect
Patch1: sos-bz1930181-collect-cleaning-consistency.patch
Patch2: sos-bz1935603-manpages-see-also.patch
Patch3: sos-bz1937418-add-cmd-timeout.patch
Patch4: sos-bz1937298-ds-mask-password-in-ldif.patch
Patch5: sos-bz1939963-gather-cups-browsed-logs.patch
Patch6: sos-bz1940502-sssd-memcache-and-logs.patch
Patch7: sos-bz1942276-ibmvNIC-dynamic-debugs.patch
Patch8: sos-bz1956673-pulpcore-plugin.patch
Patch9: sos-bz1959413-saphana-traceback.patch
Patch10: sos-bz1961458-collect-nstat.patch
Patch11: sos-bz1961229-snapper-plugin-and-allocation-failures.patch
Patch12: sos-bz1925419-all-gluster-files.patch
Patch13: sos-bz1964499-obfuscate-fqdn-from-dnf-log.patch
Patch14: sos-bz1886711-enhance-tc-hw-offload.patch
Patch15: sos-bz1965001-fix-avc-copystating-proc-sys.patch
Patch16: sos-bz1967613-sssd-common.patch
Patch17: sos-bz1973675-ocp-cluster-cleaner.patch
Patch18: sos-bz1923938-sos-log-effective-options.patch
Patch19: sos-bz1985986-potential-issues-static-analyse.patch
Patch20: sos-bz1959598-conversions-and-upgrades.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

%build
%py3_build

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

install -Dm644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf

%find_lang %{name} || echo 0

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

mkdir -p %{buildroot}%{_sysconfdir}/sos/{cleaner,presets.d,extras.d,groups.d}

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

%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
* Mon Jul 26 2021 Pavel Moravec <pmoravec@redhat.com> = 4.1-4
- [options] allow variant option names in config file
  Resolves: bz1923938
- [plugins] Set default predicate instead of None
  Resolves: bz1985986
- [MigrationResults] collect info about conversions
  Resolves: bz1959598

* Mon Jun 21 2021 Pavel Moravec <pmoravec@redhat.com> = 4.1-3
- [gluster] collect public keys from the right dir
  Resolves: bz1925419
- [cleaner] Only skip packaging-based files for the IP parse
  Resolves: bz1964499
- [networking] collect also tc filter show ingress
  Resolves: bz1886711
- [archive] skip copying SELinux context for /proc and /sys
  Resolves: bz1965001
- [sssd] sssd plugin when sssd-common
  Resolves: bz1967613
- Various OCP/cluster/cleanup enhancements
  Resolves: bz1973675

* Tue May 18 2021 Pavel Moravec <pmoravec@redhat.com> = 4.1-2
- Load maps from all archives before obfuscation
  Resolves: bz1930181
- Multiple fixes in man pages
  Resolves: bz1935603
- [ds] Mask password and encryption keys in ldif files
  Resolves: bz1937298
- [report] add --cmd-timeout option
  Resolves: bz1937418
- [cups] Add gathering cups-browsed logs
  Resolves: bz1939963
- [sssd] Collect memory cache / individual logfiles
  Resolves: bz1940502
- Collect ibmvNIC dynamic_debugs
  Resolves: bz1942276
- [pulpcore] add plugin for pulp-3
  Resolves: bz1956673
- [saphana] remove redundant unused argument of get_inst_info
  Resolves: bz1959413
- [networking] Add nstat command support
  Resolves: bz1961458
- [snapper] add a new plugin
  Resolves: bz1961229

* Mon Apr 26 2021 Pavel Moravec <pmoravec@redhat.com> = 4.1-1
- Rebase on upstream 4.1
  Resolves: bz1928679

* Tue Feb 16 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-8
- Automatically create directory for sos-cleaner default_mapping
  Resolves: bz1923937

* Fri Jan 29 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-7
- [kdump] Gather the file kexec-dmesg.log
  Resolves: bz1887402
- [Policy] Handle additional FTP authentication issues
  Resolves: bz1916729

* Thu Jan 21 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-6
- [networking] Collect 'ethtool -e <device>' conditionally only
  Resolves: bz1917196

* Wed Jan 06 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-5
- [component] honour plugopts from config file
  Resolves: bz1912889
- [collector] declare sysroot for each component
  Resolves: bz1912821
- [plugins] Dont stop collecting by empty specfile when sizelimit=0
  Resolves: bz1912910

* Mon Jan 04 2021 Pavel Moravec <pmoravec@redhat.com> = 4.0-4
- [component] Use sysroot from Policy when opts doesn't specify it
  Resolves: bz1881118

* Mon Dec 14 2020 Pavel Moravec <pmoravec@redhat.com> = 4.0-3
- [ovirt] collect /etc/pki/ovirt-engine/.truststore
  Resolves: bz1848095
- [collector] allow overriding plain --cluster-type
  Resolves: bz1895316
- [component] Add log verbosity from presets
  Resolves: bz1904045
- [options] Fix --log-size=0 being ignored and unreported
  Resolves: bz1905657
- [report] collect broken symlinks
  Resolves: bz1906598

* Thu Oct 29 2020 Pavel Moravec <pmoravec@redhat.com> = 4.0-2
- [cleaner] more streamlined sanitize_item method
  Resolves: bz1827801
- [openstack_ironic] Missing ironic-inspector configs
  Resolves: bz1874295
- Add support to collect hardware component logs
  Resolves: bz1880372
- [crio] collect /etc/crio/crio.conf.d/
  Resolves: bz1881118
- [policy] Handle additional failure conditions for FTP uploads
  Resolves: bz1882368
- [filesys] never collect content of /proc/fs/panfs
  Resolves: bz1886782
- [kdump] Collect new kdump logfiles
  Resolves: bz1887390
- [stratis] Collect key list and report engine
  Resolves: bz1888012
- return tmp-dir with absolute path
  Resolves: bz1891562

* Tue Oct 13 2020 Pavel Moravec <pmoravec@redhat.com> = 4.0-1
- Rebase on upstream 4.0
  Resolves: bz1827801