diff --git a/.gitignore b/.gitignore index aa025ac..3721526 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/insights-client-3.0.13.tar.gz +SOURCES/insights-client-3.0.14.tar.gz diff --git a/.insights-client.metadata b/.insights-client.metadata index e9e4062..4bcb4b2 100644 --- a/.insights-client.metadata +++ b/.insights-client.metadata @@ -1 +1 @@ -a53e86512ca84f3b36f77bc2605135ed5ef78b89 SOURCES/insights-client-3.0.13.tar.gz +e67aa1adab226f13ffc066a628352bf1dc6cff6d SOURCES/insights-client-3.0.14.tar.gz diff --git a/SOURCES/0001-systemd-don-t-sleep-when-running-check-results.patch b/SOURCES/0001-systemd-don-t-sleep-when-running-check-results.patch new file mode 100644 index 0000000..aa8ea28 --- /dev/null +++ b/SOURCES/0001-systemd-don-t-sleep-when-running-check-results.patch @@ -0,0 +1,25 @@ +From 78f9a1cb2d36fa2d35f64280dc0caa06e1fefcc1 Mon Sep 17 00:00:00 2001 +From: Link Dupont +Date: Thu, 20 Aug 2020 10:31:47 -0400 +Subject: [PATCH] systemd: don't sleep when running "check-results" + +Resolves: RHBZ#1870186 +Signed-off-by: Link Dupont +--- + data/systemd/insights-client-results.service.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/data/systemd/insights-client-results.service.in b/data/systemd/insights-client-results.service.in +index 4f3b2c5..4866805 100644 +--- a/data/systemd/insights-client-results.service.in ++++ b/data/systemd/insights-client-results.service.in +@@ -17,6 +17,5 @@ After=network-online.target + [Service] + Type=oneshot + RemainAfterExit=no +-ExecStart=@bindir@/sleep 120 + ExecStart=@bindir@/insights-client --check-results + Restart=no +-- +2.25.1 + diff --git a/SPECS/insights-client.spec b/SPECS/insights-client.spec index 43c541e..97b459e 100644 --- a/SPECS/insights-client.spec +++ b/SPECS/insights-client.spec @@ -1,44 +1,27 @@ -%if 0%{?rhel} != 8 -%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} -%endif %define _binaries_in_noarch_packages_terminate_build 0 Name: insights-client Summary: Uploads Insights information to Red Hat on a periodic basis -Version: 3.0.13 -Release: 1%{?dist} +Version: 3.0.14 +Release: 3%{?dist} Source0: https://github.com/redhatinsights/insights-client/archive/insights-client-%{version}.tar.gz +Patch0: 0001-systemd-don-t-sleep-when-running-check-results.patch Epoch: 0 License: GPLv2+ URL: http://cloud.redhat.com/insights Group: Applications/System Vendor: Red Hat, Inc. -Provides: redhat-access-insights = 1.0.13-3 Provides: redhat-access-insights = %{version}-%{release}%{?dist} -Obsoletes: redhat-access-insights -Obsoletes: redhat-access-proactive +Obsoletes: redhat-access-insights <= 1.0.13-2 +Obsoletes: redhat-access-proactive <= 1.0.13-2 + +BuildArch: noarch Requires: tar Requires: gpg Requires: pciutils -BuildArch: noarch - -# RHEL 8 -%if 0%{?rhel} == 8 -%{?__python3:Requires: %{__python3}} -Requires: platform-python-setuptools -Requires: python3-requests >= 2.6 -Requires: python3-PyYAML -Requires: python3-magic -Requires: python3-six -BuildRequires: python3-devel -BuildRequires: python3-six -BuildRequires: python3-setuptools - -# RHEL 6-7 -%else Requires: python Requires: python-setuptools Requires: python-requests >= 2.6 @@ -46,212 +29,92 @@ Requires: PyYAML Requires: libcgroup Requires: python-magic Requires: python-six >= 1.9.0 -BuildRequires: python2-devel -BuildRequires: python-six -BuildRequires: python-setuptools -%endif - -# systemd/RHEL 6 deps -%if 0%{?rhel} == 6 -Requires: python-argparse -%else -%{?systemd_requires} Requires: systemd +Requires: coreutils +BuildRequires: python-devel BuildRequires: systemd -%endif +BuildRequires: wget +BuildRequires: binutils + %description Sends insightful information to Red Hat for automated analysis + %prep -%setup -q +%autosetup -p1 -%install -rm -rf ${RPM_BUILD_ROOT} -%if 0%{?rhel} == 8 -%{__python3} setup.py install --root=${RPM_BUILD_ROOT} $PREFIX -pathfix.py -pni "%{__python3}" %{buildroot}%{python3_sitelib}/insights_client/{__init__.py,major_version.py,run.py} -pathfix.py -pni "%{__python3}" %{buildroot}%{_bindir}/insights-client -pathfix.py -pni "%{__python3}" %{buildroot}%{_bindir}/redhat-access-insights -%else -%{__python} setup.py install --root=${RPM_BUILD_ROOT} $PREFIX -%endif -%post +%build +%{configure} +%{__make} -%if 0%{?rhel} != 6 -%systemd_post %{name}.timer -%endif - -# Only perform migration from redhat-access-insights to insights-client -if [ $1 -eq 1 ]; then - #Migrate existing machine-id - if [ -f "/etc/redhat_access_proactive/machine-id" ]; then - cp /etc/redhat_access_proactive/machine-id /etc/insights-client/machine-id - fi - #Migrate OTHER existing machine-id - if [ -f "/etc/redhat-access-insights/machine-id" ]; then - cp /etc/redhat-access-insights/machine-id /etc/insights-client/machine-id - fi - #Migrate existing config - if [ -f "/etc/redhat-access-insights/redhat-access-insights.conf" ]; then - cp /etc/redhat-access-insights/redhat-access-insights.conf /etc/insights-client/insights-client.conf - sed -i 's/\[redhat-access-insights\]/\[insights-client\]/' /etc/insights-client/insights-client.conf - fi - #Migrate registration record - if [ -f "/etc/redhat-access-insights/.registered" ]; then - cp /etc/redhat-access-insights/.registered /etc/insights-client/.registered - fi - if [ -f "/etc/redhat-access-insights/.unregistered" ]; then - cp /etc/redhat-access-insights/.unregistered /etc/insights-client/.unregistered - fi - #Migrate last upload record - if [ -f "/etc/redhat-access-insights/.lastupload" ]; then - cp /etc/redhat-access-insights/.lastupload /etc/insights-client/.lastupload - fi - #Migrate remove.conf - if [ -f "/etc/redhat-access-insights/remove.conf" ]; then - cp /etc/redhat-access-insights/remove.conf /etc/insights-client/remove.conf - fi - if ! [ -d "/etc/redhat-access-insights" ]; then - mkdir /etc/redhat-access-insights - fi - # Symlink new cron job if the old one exists. Remove the old one - if [ -f "/etc/cron.daily/redhat-access-insights" ]; then - rm -f /etc/cron.daily/redhat-access-insights - %if 0%{?rhel} == 6 - ln -sf /etc/insights-client/insights-client.cron /etc/cron.daily/insights-client - %else - %_bindir/systemctl start insights-client.timer - %endif - fi -fi -# if the logging directory isnt created then make it -if ! [ -d "/var/log/insights-client" ]; then -mkdir -m 750 /var/log/insights-client -fi +%install +%{make_install} +%{__install} -d -m 755 %{buildroot}/%{_localstatedir}/log/insights-client +%{__install} -d -m 755 %{buildroot}/%{_localstatedir}/lib/insights -# if the library directory for eggs and such isn't present -# make it -if ! [ -d "/var/lib/insights" ]; then -mkdir -m 755 /var/lib/insights -fi -%if 0%{?rhel} == 8 -#Link motd into place. Only do so if motd file doesn't exist and insights hasn't been used -if [ ! -e /etc/motd.d/insights-client -a ! -L /etc/motd.d/insights-client ]; then - mkdir -p /etc/motd.d - if [ -e /var/lib/insights/newest.egg ]; then - ln -sn /dev/null /etc/motd.d/insights-client - else - ln -sn /etc/insights-client/insights-client.motd /etc/motd.d/insights-client - fi -fi -%endif - -# always perform legacy symlinks -%posttrans -mkdir -p /etc/redhat-access-insights -ln -sf /etc/insights-client/insights-client.conf /etc/redhat-access-insights/redhat-access-insights.conf -ln -sf /etc/insights-client/insights-client.cron /etc/redhat-access-insights/redhat-access-insights.cron -ln -sf /etc/insights-client/.registered /etc/redhat-access-insights/.registered -ln -sf /etc/insights-client/.unregistered /etc/redhat-access-insights/.unregistered -ln -sf /etc/insights-client/.lastupload /etc/redhat-access-insights/.lastupload -ln -sf /etc/insights-client/machine-id /etc/redhat-access-insights/machine-id -# remove all ACLs on upgrade, forever and always -setfacl -Rb /var/lib/insights -setfacl -Rb /var/log/insights-client -setfacl -Rb /etc/insights-client +%post +%systemd_post %{name}.timer + %preun -%if 0%{?rhel} != 6 %systemd_preun %{name}.timer %systemd_preun %{name}.service -%endif + %postun -if [ "$1" -eq 0 ]; then -# One run on removal, not upgrade -%if 0%{?rhel} != 6 -%_bindir/systemctl daemon-reload > /dev/null 2>&1 -%endif -rm -f /etc/cron.daily/insights-client -rm -f /etc/cron.weekly/insights-client -rm -f /etc/insights-client/.cache* -rm -f /etc/insights-client/.registered -rm -f /etc/insights-client/.unregistered -rm -f /etc/insights-client/.lastupload -rm -f /etc/insights-client/rpm.egg -rm -f /etc/insights-client/rpm.egg.asc -rm -f /etc/insights-client/.insights-core*.etag -rm -rf /var/lib/insights -# keep these to remove from previous install -rm -f /etc/ansible/facts.d/insights.fact -rm -f /etc/ansible/facts.d/insights_machine_id.fact -# remove symlink to old name on uninstall -rm -f %{_bindir}/redhat-access-insights -# remove symlinks to old configs -rm -rf /etc/redhat-access-insights/ -rm -f /etc/cron.daily/redhat-access-insights -rm -f /etc/cron.weekly/redhat-access-insights -%if 0%{?rhel} == 8 -rm -f /etc/motd.d/insights-client -%endif +%systemd_postun %{name}.timer +%systemd_postun %{name}.service +# Clean up files created by insights-client that are unowned by the RPM +if [ $1 -eq 0 ]; then + rm -f %{_sysconfdir}/cron.daily/insights-client + rm -f %{_sysconfdir}/ansible/facts.d/insights.fact + rm -f %{_sysconfdir}/ansible/facts.d/insights_machine_id.fact + rm -f %{_localstatedir}/lib/insights/* fi + %clean -test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} + %files -%defattr(0600, root, root) -%config(noreplace) /etc/insights-client/*.conf -/etc/insights-client/.fallback.json -/etc/insights-client/.fallback.json.asc -/etc/insights-client/.exp.sed -%if 0%{?rhel} == 8 -%config(noreplace) %attr(644,root,root) /etc/insights-client/insights-client.motd -%endif - -%if 0%{?rhel} != 6 -%attr(644,root,root) %{_unitdir}/insights-client.service -%attr(644,root,root) %{_unitdir}/insights-client.timer -%endif - -%attr(440,root,root) /etc/insights-client/*.pem -%attr(440,root,root) /etc/insights-client/redhattools.pub.gpg - -%attr(755,root,root) %{_bindir}/insights-client -%attr(755,root,root) %{_bindir}/redhat-access-insights - -%if 0%{?rhel} == 6 -%attr(755,root,root) /etc/insights-client/insights-client.cron -%config(noreplace) %attr(644,root,root) /etc/sysconfig/insights-client -%endif - -%attr(644,root,root) /etc/insights-client/rpm.egg -%attr(644,root,root) /etc/insights-client/rpm.egg.asc - -%if 0%{?rhel} == 8 -%attr(755,root,root) %{python3_sitelib}/insights_client*.egg-info -%attr(644,root,root) %{python3_sitelib}/insights_client*.egg-info/* -%attr(644,root,root) %{python3_sitelib}/insights_client/*.py* -%attr(744,root,root) %{python3_sitelib}/insights_client/__pycache__ -%else -%attr(755,root,root) %{python_sitelib}/insights_client*.egg-info -%attr(644,root,root) %{python_sitelib}/insights_client*.egg-info/* -%attr(644,root,root) %{python_sitelib}/insights_client/*.py* -%endif - -%attr(750,root,root) /var/log/insights-client -%attr(755,root,root) /var/lib/insights + %config(noreplace) %{_sysconfdir}/insights-client/*.conf +%{_sysconfdir}/insights-client/.fallback.json* +%{_sysconfdir}/insights-client/.exp.sed +%{_sysconfdir}/insights-client/rpm.egg* +%{_bindir}/* +%{_unitdir}/* + %attr(440,root,root) %{_sysconfdir}/insights-client/*.pem + %attr(440,root,root) %{_sysconfdir}/insights-client/redhattools.pub.gpg +%{python_sitelib}/insights_client/ +%{_localstatedir}/log/insights-client +%{_localstatedir}/lib/insights +%{_defaultdocdir}/%{name} %doc %defattr(-, root, root) -/usr/share/man/man8/*.8.gz -/usr/share/man/man5/*.5.gz +%{_mandir}/man8/*.8.gz +%{_mandir}/man5/*.5.gz + %changelog +* Thu Aug 20 2020 Link Dupont - 3.0.14-3 +- Backport patch to disable sleeping a systemd unit (RHBZ#1870658) + +* Wed Apr 29 2020 Link Dupont - 3.0.14-1 +- Removed printing to stdout in cron script (RHBZ#1828778) +- Add deprecation message when running legacy redhat-access-insights (RHCLOUD-5409) +- Update systemd timer to use timers.target (RHBZ#1798373) +- Fix an issue updating motd.d on relevant systems (RHCLOUD-6144) +- Update shipped core to version 3.0.161 (RHCLOUD-4457) +- Enable automatic checking for advisor results (RHCLOUD-4558) +- Ensure dependency on coreutils for timeout (RHCLOUD-5131) +- Build system converted to autotools (RHCLOUD-4333) + * Tue Feb 11 2020 Link Dupont - 3.0.13-1 - New upstream version - Resolves: RHBZ#1795256