Sync from SUSE:SLFO:Main sysstat revision 0e9511f6274ca11918ced099b4f5a71b
This commit is contained in:
commit
33bad5035d
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
22
harden_sysstat.service.patch
Normal file
22
harden_sysstat.service.patch
Normal file
@ -0,0 +1,22 @@
|
||||
Index: sysstat-12.4.3/sysstat.service.in
|
||||
===================================================================
|
||||
--- sysstat-12.4.3.orig/sysstat.service.in
|
||||
+++ sysstat-12.4.3/sysstat.service.in
|
||||
@@ -10,6 +10,17 @@ Description=Resets System Activity Logs
|
||||
After=remote-fs.target local-fs.target
|
||||
|
||||
[Service]
|
||||
+# added automatically, for details please see
|
||||
+# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
|
||||
+ProtectSystem=full
|
||||
+ProtectHome=true
|
||||
+ProtectHostname=true
|
||||
+ProtectKernelTunables=true
|
||||
+ProtectKernelModules=true
|
||||
+ProtectKernelLogs=true
|
||||
+ProtectControlGroups=true
|
||||
+RestrictRealtime=true
|
||||
+# end of automatic additions
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
User=@CRON_OWNER@
|
9
isag.desktop
Normal file
9
isag.desktop
Normal file
@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Isag System Activity Grapher
|
||||
GenericName=System Monitor
|
||||
Comment=Interactive System Activity Grapher for sysstat
|
||||
Exec=isag
|
||||
Icon=utilities-system-monitor
|
||||
Type=Application
|
||||
Categories=System;Monitor;
|
BIN
sysstat-12.6.2.tar.gz
(Stored with Git LFS)
Normal file
BIN
sysstat-12.6.2.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
15
sysstat-8.0.4-pagesize.diff
Normal file
15
sysstat-8.0.4-pagesize.diff
Normal file
@ -0,0 +1,15 @@
|
||||
Index: sysstat-11.6.1/common.h
|
||||
===================================================================
|
||||
--- sysstat-11.6.1.orig/common.h
|
||||
+++ sysstat-11.6.1/common.h
|
||||
@@ -178,8 +178,8 @@ extern unsigned int kb_shift;
|
||||
* kB <-> number of pages.
|
||||
* Page size depends on machine architecture (4 kB, 8 kB, 16 kB, 64 kB...)
|
||||
*/
|
||||
-#define KB_TO_PG(k) ((k) >> kb_shift)
|
||||
-#define PG_TO_KB(k) ((k) << kb_shift)
|
||||
+#define KB_TO_PG(k) ((k) / (getpagesize()/1024))
|
||||
+#define PG_TO_KB(k) ((k) * (getpagesize()/1024))
|
||||
|
||||
/* Type of persistent device names used in sar and iostat */
|
||||
extern char persistent_name_type[MAX_FILE_LEN];
|
58
sysstat-8.1.6-sa1sa2lock.diff
Normal file
58
sysstat-8.1.6-sa1sa2lock.diff
Normal file
@ -0,0 +1,58 @@
|
||||
Index: sysstat-12.6.0/sa1.in
|
||||
===================================================================
|
||||
--- sysstat-12.6.0.orig/sa1.in
|
||||
+++ sysstat-12.6.0/sa1.in
|
||||
@@ -31,8 +31,14 @@ then
|
||||
LONG_NAME=y
|
||||
fi
|
||||
|
||||
+set -e
|
||||
ENDIR=@SA_LIB_DIR@
|
||||
cd ${ENDIR}
|
||||
+LOCKFILE=/var/run/sysstat/sadc.LOCK
|
||||
+mkdir -p /var/run/sysstat
|
||||
+lockfile -r2 -30 "$LOCKFILE" 2>/dev/null
|
||||
+trap "/bin/rm -f $LOCKFILE" EXIT
|
||||
+
|
||||
[ "$1" = "--boot" ] && shift && BOOT=y || BOOT=n
|
||||
[ "$1" = "--sleep" ] && shift && SLEEP=y || SLEEP=n
|
||||
|
||||
@@ -51,13 +57,13 @@ fi
|
||||
|
||||
if [ "${SLEEP}" = "y" ]
|
||||
then
|
||||
- exec ${ENDIR}/sadc -F -L ${SADC_OPTIONS} -C "LINUX SLEEP MODE ($*)" ${SA_DIR}
|
||||
+ ${ENDIR}/sadc -F -L ${SADC_OPTIONS} -C "LINUX SLEEP MODE ($*)" ${SA_DIR}
|
||||
elif [ $# = 0 ] && [ "${BOOT}" = "n" ]
|
||||
then
|
||||
# Note: Stats are written at the end of previous file *and* at the
|
||||
# beginning of the new one (when there is a file rotation) only if
|
||||
# outfile has not been explicitly specified on the command line...
|
||||
- exec ${ENDIR}/sadc -F -L ${SADC_OPTIONS} 1 1 ${SA_DIR}
|
||||
+ ${ENDIR}/sadc -F -L ${SADC_OPTIONS} 1 1 ${SA_DIR}
|
||||
else
|
||||
- exec ${ENDIR}/sadc -F -L ${SADC_OPTIONS} $* ${SA_DIR}
|
||||
+ ${ENDIR}/sadc -F -L ${SADC_OPTIONS} $* ${SA_DIR}
|
||||
fi
|
||||
Index: sysstat-12.6.0/sa2.in
|
||||
===================================================================
|
||||
--- sysstat-12.6.0.orig/sa2.in
|
||||
+++ sysstat-12.6.0/sa2.in
|
||||
@@ -59,6 +59,17 @@ fi
|
||||
|
||||
[ -f "${DFILE}" ] || exit 0
|
||||
cd ${ENDIR}
|
||||
+
|
||||
+LOCKFILE=/var/run/sysstat/sadc.LOCK
|
||||
+mkdir -p /var/run/sysstat
|
||||
+if ! lockfile -r6 -600 $LOCKFILE 2>/dev/null; then
|
||||
+ if test `find $LOCKFILE -mmin +180 2>/dev/null`; then
|
||||
+ rm -f $LOCKFILE
|
||||
+ logger -p cron.alert "$0: detected an old lockfile \"$LOCKFILE\"."
|
||||
+ fi
|
||||
+fi
|
||||
+trap "/bin/rm -f $LOCKFILE" EXIT
|
||||
+
|
||||
if [ x${REPORTS} != xfalse ]
|
||||
then
|
||||
${ENDIR}/sar $* -f ${DFILE} > ${RPT}
|
38
sysstat-CVE-2023-33204.patch
Normal file
38
sysstat-CVE-2023-33204.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 954ff2e2673cef48f0ed44668c466eab041db387 Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Kopylov <pkopylov@cloudlinux.com>
|
||||
Date: Wed, 17 May 2023 11:33:45 +0200
|
||||
Subject: [PATCH] Fix an overflow which is still possible for some values.
|
||||
|
||||
---
|
||||
common.c | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: sysstat-12.6.2/common.c
|
||||
===================================================================
|
||||
--- sysstat-12.6.2.orig/common.c
|
||||
+++ sysstat-12.6.2/common.c
|
||||
@@ -447,15 +447,17 @@ int check_dir(char *dirname)
|
||||
void check_overflow(unsigned int val1, unsigned int val2,
|
||||
unsigned int val3)
|
||||
{
|
||||
- if ((unsigned long long) val1 * (unsigned long long) val2 *
|
||||
- (unsigned long long) val3 > UINT_MAX) {
|
||||
+ if ((val1 != 0) && (val2 != 0) && (val3 != 0) &&
|
||||
+ (((unsigned long long) UINT_MAX / (unsigned long long) val1 <
|
||||
+ (unsigned long long) val2) ||
|
||||
+ ((unsigned long long) UINT_MAX / ((unsigned long long) val1 * (unsigned long long) val2) <
|
||||
+ (unsigned long long) val3))) {
|
||||
#ifdef DEBUG
|
||||
- fprintf(stderr, "%s: Overflow detected (%llu). Aborting...\n",
|
||||
- __FUNCTION__, (unsigned long long) val1 * (unsigned long long) val2 *
|
||||
- (unsigned long long) val3);
|
||||
+ fprintf(stderr, "%s: Overflow detected (%u,%u,%u). Aborting...\n",
|
||||
+ __FUNCTION__, val1, val2, val3);
|
||||
#endif
|
||||
- exit(4);
|
||||
- }
|
||||
+ exit(4);
|
||||
+ }
|
||||
}
|
||||
|
||||
#ifndef SOURCE_SADC
|
20
sysstat-service.patch
Normal file
20
sysstat-service.patch
Normal file
@ -0,0 +1,20 @@
|
||||
Index: sysstat-12.0.6/sysstat.service.in
|
||||
===================================================================
|
||||
--- sysstat-12.0.6.orig/sysstat.service.in
|
||||
+++ sysstat-12.0.6/sysstat.service.in
|
||||
@@ -7,12 +7,15 @@
|
||||
|
||||
[Unit]
|
||||
Description=Resets System Activity Logs
|
||||
+After=remote-fs.target local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
User=@CRON_OWNER@
|
||||
ExecStart=@SA_LIB_DIR@/sa1 --boot
|
||||
+ExecStop=@SA_LIB_DIR@/sa1 1 1
|
||||
+StandardOutput=null
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
1387
sysstat.changes
Normal file
1387
sysstat.changes
Normal file
File diff suppressed because it is too large
Load Diff
182
sysstat.spec
Normal file
182
sysstat.spec
Normal file
@ -0,0 +1,182 @@
|
||||
#
|
||||
# spec file for package sysstat
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: sysstat
|
||||
Version: 12.6.2
|
||||
Release: 0
|
||||
Summary: Sar and Iostat Commands for Linux
|
||||
License: GPL-2.0-or-later
|
||||
Group: System/Monitoring
|
||||
URL: https://github.com/sysstat/sysstat
|
||||
Source: https://github.com/sysstat/sysstat/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
Source1: isag.desktop
|
||||
# PATCH-FIX-OPENSUSE should be upstreamed
|
||||
# add locking to scripts sa1 and sa2 (bnc#7861)
|
||||
Patch0: sysstat-8.1.6-sa1sa2lock.diff
|
||||
# PATCH-FIX-OPENSUSE should be upstreamed
|
||||
# use getpagesize() instead of kb_shift for hugetable archs
|
||||
Patch2: sysstat-8.0.4-pagesize.diff
|
||||
# PATCH-FIX-OPENSUSE bsc#1151453
|
||||
Patch3: sysstat-service.patch
|
||||
Patch4: harden_sysstat.service.patch
|
||||
# PATCH-FIX-UPSTREAM CVE-2023-33204, bsc#1211507 https://github.com/sysstat/sysstat/pull/360.patch
|
||||
Patch5: sysstat-CVE-2023-33204.patch
|
||||
BuildRequires: findutils
|
||||
BuildRequires: gettext-runtime
|
||||
BuildRequires: libpcp-devel
|
||||
BuildRequires: libpcp_import1
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: sed
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: update-desktop-files
|
||||
Requires: procmail
|
||||
Requires: xz
|
||||
%{?systemd_ordering}
|
||||
%ifnarch s390 s390x
|
||||
BuildRequires: libsensors4-devel
|
||||
%endif
|
||||
|
||||
%description
|
||||
Sar and Iostat commands for Linux. The sar command collects and reports
|
||||
system activity information. The iostat command reports CPU statistics
|
||||
and I/O statistics for TTY devices and disks. The information
|
||||
collected by sar and iostat can be saved in a binary file for future
|
||||
inspection. Both commands now support SMP machines when displaying CPU
|
||||
utilization.
|
||||
|
||||
%package isag
|
||||
Summary: Interactive System Activity Grapher for sysstat
|
||||
Group: System/Monitoring
|
||||
Requires: gnuplot
|
||||
Requires: sysstat = %{version}
|
||||
Requires: tk
|
||||
|
||||
%description isag
|
||||
This package includes the isag command, which graphically displays the
|
||||
system activity data stored in a binary data produced by a sar command
|
||||
from a sysstat package.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
cp %{SOURCE1} .
|
||||
# remove date and time from objects
|
||||
find ./ -name \*.c -exec sed -i -e 's: " compiled " __DATE__ " " __TIME__::g' {} \;
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
|
||||
%build
|
||||
export conf_dir="%{_sysconfdir}/sysstat"
|
||||
export sa_lib_dir="%{_libdir}/sa"
|
||||
export cron_owner=root
|
||||
export LFLAGS="-L. -lsyscom"
|
||||
export history="60"
|
||||
export sadc_options="-S ALL"
|
||||
%configure \
|
||||
--with-systemdsystemunitdir=%{_unitdir} \
|
||||
--with-systemdsleepdir=%{_systemd_util_dir}/system-sleep \
|
||||
--enable-install-cron \
|
||||
--disable-silent-rules \
|
||||
--enable-nls \
|
||||
--disable-man-group \
|
||||
--enable-copy-only \
|
||||
--disable-file-attr \
|
||||
--enable-debug-info \
|
||||
--enable-pcp \
|
||||
%ifnarch s390 s390x
|
||||
--enable-sensors \
|
||||
%endif
|
||||
--disable-stripping
|
||||
%make_build
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_localstatedir}/log/sa %{buildroot}%{_sbindir}
|
||||
%make_install
|
||||
install -D -m 0644 isag.desktop %{buildroot}%{_datadir}/applications/isag.desktop
|
||||
%suse_update_desktop_file isag
|
||||
cp contrib/isag/isag %{buildroot}%{_bindir}
|
||||
cp contrib/isag/isag.1 %{buildroot}%{_mandir}/man1
|
||||
rm -rf %{buildroot}%{_datadir}/doc/sysstat*
|
||||
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcsysstat
|
||||
%find_lang %{name}
|
||||
|
||||
%check
|
||||
# Newer versions only have simulation tests
|
||||
# make %%{?_smp_mflags} test
|
||||
|
||||
%pre
|
||||
%service_add_pre sysstat.service sysstat-collect.timer sysstat-summary.timer
|
||||
|
||||
%post
|
||||
%service_add_post sysstat.service sysstat-collect.timer sysstat-summary.timer
|
||||
# Earlier versions used cron, remove leftover
|
||||
rm -f /etc/cron.d/sysstat || :
|
||||
|
||||
%preun
|
||||
%service_del_preun sysstat.service sysstat-collect.timer sysstat-summary.timer
|
||||
[ "$1" -gt 0 ] || rm -rf %{_localstatedir}/log/sa/*
|
||||
|
||||
%postun
|
||||
%service_del_postun sysstat.service sysstat-collect.timer sysstat-summary.timer
|
||||
|
||||
%if 0%{?suse_version} < 1500
|
||||
%post isag
|
||||
%desktop_database_post
|
||||
|
||||
%postun isag
|
||||
%desktop_database_postun
|
||||
%endif
|
||||
|
||||
%files -f "%{name}.lang"
|
||||
%license COPYING
|
||||
%doc CHANGES CREDITS FAQ.md README.md
|
||||
%{_mandir}/man1/*
|
||||
%{_mandir}/man5/*
|
||||
%{_mandir}/man8/*
|
||||
%exclude %{_mandir}/man1/isag*
|
||||
%dir %{_sysconfdir}/sysstat
|
||||
%dir %{_systemd_util_dir}/system-sleep
|
||||
%config(noreplace) %{_sysconfdir}/sysstat/sysstat
|
||||
%attr(644,root,root) %config(noreplace) %{_sysconfdir}/sysstat/sysstat.ioconf
|
||||
%{_bindir}/cifsiostat
|
||||
%{_bindir}/iostat
|
||||
%{_bindir}/mpstat
|
||||
%{_bindir}/pidstat
|
||||
%{_bindir}/sadf
|
||||
%{_bindir}/sar
|
||||
%{_bindir}/tapestat
|
||||
%exclude %{_bindir}/isag
|
||||
%{_libdir}/sa
|
||||
%{_unitdir}/sysstat.service
|
||||
%{_unitdir}/sysstat-collect.service
|
||||
%{_unitdir}/sysstat-collect.timer
|
||||
%{_unitdir}/sysstat-summary.service
|
||||
%{_unitdir}/sysstat-summary.timer
|
||||
%{_systemd_util_dir}/system-sleep/sysstat.sleep
|
||||
%dir %{_localstatedir}/log/sa
|
||||
%{_sbindir}/rcsysstat
|
||||
|
||||
%files isag
|
||||
%doc contrib/isag/README-isag
|
||||
%{_mandir}/man1/isag*
|
||||
%{_bindir}/isag
|
||||
%{_datadir}/applications/isag.desktop
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user