Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package sysstat for openSUSE:Factory checked 
in at 2022-11-13 18:08:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sysstat (Old)
 and      /work/SRC/openSUSE:Factory/.sysstat.new.1597 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sysstat"

Sun Nov 13 18:08:52 2022 rev:102 rq:1035320 version:12.6.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/sysstat/sysstat.changes  2022-09-17 
20:08:39.136864755 +0200
+++ /work/SRC/openSUSE:Factory/.sysstat.new.1597/sysstat.changes        
2022-11-13 18:08:53.423414123 +0100
@@ -1,0 +2,14 @@
+Fri Nov 11 16:18:42 UTC 2022 - David Anes <david.a...@suse.com>
+
+- Update to version 12.6.1:
+       * Fix possible overflow in sa_common.c (GHSL-2022-074).
+       * sa_conv.c: Make size of statistics structures from older sysstat
+         versions immutable.
+       * Declare sadc dependency on libsyscom.a.
+       * Fix gcc v11.2 warnings.
+       * Various cosmetic fixes.
+       * sar: Remove `-I int_list` from man-page and help.
+       * Consolidate systemctl commands in README file.
+       * Remove whitespace characters at the end of lines.
+
+-------------------------------------------------------------------

Old:
----
  sysstat-12.6.0.tar.gz

New:
----
  sysstat-12.6.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sysstat.spec ++++++
--- /var/tmp/diff_new_pack.xSxPBJ/_old  2022-11-13 18:08:54.283419120 +0100
+++ /var/tmp/diff_new_pack.xSxPBJ/_new  2022-11-13 18:08:54.291419167 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           sysstat
-Version:        12.6.0
+Version:        12.6.1
 Release:        0
 Summary:        Sar and Iostat Commands for Linux
 License:        GPL-2.0-or-later

++++++ sysstat-12.6.0.tar.gz -> sysstat-12.6.1.tar.gz ++++++
++++ 7994 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/CHANGES new/sysstat-12.6.1/CHANGES
--- old/sysstat-12.6.0/CHANGES  2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/CHANGES  2022-11-06 16:03:27.000000000 +0100
@@ -1,5 +1,17 @@
 Changes:
 
+2022/11/06: Version 12.6.1 - Sebastien Godard (sysstat <at> orange.fr)
+       * Fix possible overflow in sa_common.c (GHSL-2022-074).
+       * sa_conv.c: Make size of statistics structures from older sysstat
+         versions immutable.
+       * [Bernhard M. Wiedemann]: Declare sadc dependency on libsyscom.a.
+       * [Steve Kay]: Fix gcc v11.2 warnings.
+       * [Steve Kay]: Various cosmetic fixes.
+       * [Jan Christoph Uhde]: sar: Remove `-I int_list` from man-page and
+         help.
+       * [Frank Dana]: Consolidate systemctl commands in README file.
+       * [Rong Tao]: Remove whitespace characters at the end of lines.
+
 2022/05/29: Version 12.6.0 - Sebastien Godard (sysstat <at> orange.fr)
        * sar: Fix maximum value for A_IRQ activity.
        * sar/sadf: A_NET_SOFT: Add new metric softnet network backlog.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/FAQ.md new/sysstat-12.6.1/FAQ.md
--- old/sysstat-12.6.0/FAQ.md   2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/FAQ.md   2022-11-06 16:03:27.000000000 +0100
@@ -319,8 +319,8 @@
 with static graphs), sarjitsu (a more sophisticated application producing
 dynamic visualizations based on Grafana), sarvant, sar2gp, loadgraph,
 SysStat Charts, sarplot...
-[rrd.cgi](http://haroon.sis.utoronto.ca/rrd/scripts/) is a perl front-end for
-rrdtool and can be used to make some graphs (see a demo 
[here](http://haroon.sis.utoronto.ca/perl/rrd.cgi/sar_stats/)).  
+[rrd.cgi](http://haroon.easi.utoronto.ca/rrd/scripts/) is a perl front-end for
+rrdtool and can be used to make some graphs (see a demo 
[here](http://haroon.easi.utoronto.ca/perl/rrd.cgi/sar_stats/)).
 [sysstat_mail_report](https://github.com/desbma/sysstat_mail_report) is a 
script
 that automatically generates and sends an email report every day/week/month
 with graphs generated from sysstat data.  
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/README.md new/sysstat-12.6.1/README.md
--- old/sysstat-12.6.0/README.md        2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/README.md        2022-11-06 16:03:27.000000000 +0100
@@ -98,8 +98,7 @@
 On recent versions, systemd is used instead of cron. You may need to enable 
and start the sysstat service:
 
 ```
-$ sudo systemctl enable sysstat
-$ sudo systemctl start sysstat
+$ sudo systemctl enable --now sysstat
 ```
 
 #### Install from Ubuntu
@@ -146,7 +145,7 @@
 $ ./configure --enable-install-cron
 ```
 
-Enter `./configure --help` to display all possible options.  
+Enter `./configure --help` to display all possible options.
 Note: There is another way to configure sysstat instead of entering 
`./configure`:
 This is the **Interactive Configuration script** (_iconfig_) which will ask you
 for the value of the main sysstat variables and parameters.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/cifsiostat.c new/sysstat-12.6.1/cifsiostat.c
--- old/sysstat-12.6.0/cifsiostat.c     2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/cifsiostat.c     2022-11-06 16:03:27.000000000 +0100
@@ -141,6 +141,7 @@
                return NULL;
 
        while (*clist != NULL) {
+
                c = *clist;
                if ((i = strcmp(c->name, name)) == 0) {
                        /* cifs found in list */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/common.c new/sysstat-12.6.1/common.c
--- old/sysstat-12.6.0/common.c 2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/common.c 2022-11-06 16:03:27.000000000 +0100
@@ -434,6 +434,29 @@
        return 0;
 }
 
+/*
+ * **************************************************************************
+ * Check if the multiplication of the 3 values may be greater than UINT_MAX.
+ *
+ * IN:
+ * @val1       First value.
+ * @val2       Second value.
+ * @val3       Third value.
+ ***************************************************************************
+ */
+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) {
+#ifdef DEBUG
+               fprintf(stderr, "%s: Overflow detected (%llu). Aborting...\n",
+                       __FUNCTION__, (unsigned long long) val1 * (unsigned 
long long) val2 *
+                       (unsigned long long) val3);
+#endif
+       exit(4);
+               }
+}
 
 #ifndef SOURCE_SADC
 /*
@@ -948,6 +971,7 @@
                return (NULL);
 
        while (persist_names[++i]) {
+
                /* Get absolute path for current persistent name */
                link = get_persistent_name_path(persist_names[i]);
                if (!link)
@@ -1660,4 +1684,5 @@
 
        return 0;
 }
+
 #endif /* SOURCE_SADC undefined */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/common.h new/sysstat-12.6.1/common.h
--- old/sysstat-12.6.0/common.h 2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/common.h 2022-11-06 16:03:27.000000000 +0100
@@ -256,6 +256,8 @@
        (char *, unsigned long long *, unsigned int *);
 int check_dir
        (char *);
+void check_overflow
+       (unsigned int, unsigned int, unsigned int);
 
 #ifndef SOURCE_SADC
 int count_bits
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/configure.in new/sysstat-12.6.1/configure.in
--- old/sysstat-12.6.0/configure.in     2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/configure.in     2022-11-06 16:03:27.000000000 +0100
@@ -4,7 +4,7 @@
 # Modified by Sebastien Godard (sysstat <at> orange.fr)
 
 # Initialization of $PACKAGE_VERSION and $PACKAGE_NAME variables
-AC_INIT(sysstat, 12.6.0)
+AC_INIT(sysstat, 12.6.1)
 
 # Ensure that a recent enough version of Autoconf is being used
 AC_PREREQ(2.53)
@@ -379,7 +379,7 @@
 fi
 AC_MSG_RESULT($SA_DIR)
 if test ! -d $SA_DIR; then
-   echo "INFO: Directory ${SA_DIR} will be created during installation stage." 
+   echo "INFO: Directory ${SA_DIR} will be created during installation stage."
 fi
 AC_SUBST(SA_DIR)
 
@@ -404,7 +404,7 @@
 fi
 AC_MSG_RESULT($SYSCONFIG_DIR)
 if test ! -d $SYSCONFIG_DIR; then
-   echo "INFO: Directory ${SYSCONFIG_DIR} will be created during installation 
stage." 
+   echo "INFO: Directory ${SYSCONFIG_DIR} will be created during installation 
stage."
 fi
 AC_SUBST(SYSCONFIG_DIR)
 
@@ -436,15 +436,15 @@
 AC_CHECK_LIB(intl, gettext, LFINTL="-lintl")
 AC_SUBST(LFINTL)
 LACKING_GETTEXT="n"
-if test $AUX_NLS = "yes" &&  test x$MSGFMT != x"msgfmt"; then 
+if test $AUX_NLS = "yes" &&  test x$MSGFMT != x"msgfmt"; then
    echo "WARNING: msgfmt command not found!"
    LACKING_GETTEXT="y"
 fi
-if test $AUX_NLS = "yes" &&  test x$XGETTEXT != x"xgettext"; then 
+if test $AUX_NLS = "yes" &&  test x$XGETTEXT != x"xgettext"; then
    echo "WARNING: xgettext command not found!"
    LACKING_GETTEXT="y"
 fi
-if test $AUX_NLS = "yes" &&  test x$MSGMERGE != x"msgmerge"; then 
+if test $AUX_NLS = "yes" &&  test x$MSGMERGE != x"msgmerge"; then
    echo "WARNING: msgmerge command not found!"
    LACKING_GETTEXT="y"
 fi
@@ -475,7 +475,7 @@
 
 # Data history to keep by sa2
 AC_MSG_CHECKING(number of daily data files to keep)
-AC_ARG_VAR([history],[number of daily data files to keep (default value is 
7)]) 
+AC_ARG_VAR([history],[number of daily data files to keep (default value is 7)])
 if test x$history = x""; then
    HISTORY=7
 else
@@ -521,9 +521,9 @@
    AC_MSG_RESULT($MAN_GROUP)
 else
    grep ^$man_group: /etc/group >/dev/null 2>&1
-   if test $? = 1; then 
+   if test $? = 1; then
       MAN_GROUP=$GRP
-      AC_MSG_RESULT($MAN_GROUP) 
+      AC_MSG_RESULT($MAN_GROUP)
       echo "WARNING: Group ${man_group} not found: Using ${GRP} instead"
    else
       MAN_GROUP=$man_group
@@ -579,14 +579,14 @@
 
 # Start crontab
 AC_MSG_CHECKING(whether cron should start sar automatically)
-AC_ARG_ENABLE(install-cron, 
+AC_ARG_ENABLE(install-cron,
              AC_HELP_STRING([--enable-install-cron],
                             [install a crontab to start sar]),
                             INSTALL_CRON=$enableval,INSTALL_CRON=n)
 if test $INSTALL_CRON != "yes"; then
    INSTALL_CRON=n
    AUX_CRON=no
-else 
+else
    INSTALL_CRON=y
    AUX_CRON=yes
 fi
@@ -595,7 +595,7 @@
 
 # Crontab owner
 CUSR="root"
-if test $INSTALL_CRON = "y"; then 
+if test $INSTALL_CRON = "y"; then
    AC_MSG_CHECKING(crontab owner)
    AC_ARG_VAR([cron_owner],[crontab owner])
    if test x$cron_owner = x""; then
@@ -607,17 +607,17 @@
          CRON_OWNER=$CUSR;
          AC_MSG_RESULT($CRON_OWNER)
          echo "WARNING: User ${cron_owner} not found: Using ${CUSR} instead."
-      else 
+      else
          CRON_OWNER=$cron_owner
          AC_MSG_RESULT($CRON_OWNER)
       fi
    fi
    echo "INFO: Crontab for ${CRON_OWNER} will be saved in current directory if 
necessary"
-   if test $CRON_OWNER = "root"; then 
+   if test $CRON_OWNER = "root"; then
       SU_C_OWNER=""
       QUOTE=""
       REM_CHOWN="# REM_CHOWN"
-   else 
+   else
       SU_C_OWNER="su $CRON_OWNER -c "
       QUOTE=\"
       # " (ignore this line)
@@ -653,14 +653,14 @@
 
 #  Check whether sadc should collect all possible activities
    AC_MSG_CHECKING(whether sadc should collect all possible activities)
-   AC_ARG_ENABLE(collect-all, 
+   AC_ARG_ENABLE(collect-all,
                 AC_HELP_STRING([--enable-collect-all],
                                [collect all possible activities]),
                                COLLECT_ALL=$enableval,COLLECT_ALL=n)
    if test $COLLECT_ALL != "yes"; then
       COLLECT_ALL=""
       AUX_COLL=no
-   else 
+   else
       COLLECT_ALL="-S XALL"
       AUX_COLL=yes
    fi
@@ -731,7 +731,7 @@
 
 # Check whether debug mode should be activated
 AC_MSG_CHECKING(whether debug mode should be activated)
-AC_ARG_ENABLE(debuginfo, 
+AC_ARG_ENABLE(debuginfo,
              AC_HELP_STRING([--enable-debuginfo],
                             [enable debug output (--debuginfo option)]),
                             WITH_DEBUG=yes ; DFLAGS="$DFLAGS -DDEBUG" , 
WITH_DEBUG=no)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/contrib/isag/isag new/sysstat-12.6.1/contrib/isag/isag
--- old/sysstat-12.6.0/contrib/isag/isag        2022-05-29 08:46:19.000000000 
+0200
+++ new/sysstat-12.6.1/contrib/isag/isag        2022-11-06 16:03:27.000000000 
+0100
@@ -398,7 +398,7 @@
 # sar switches as names for object-instances (final and current)
 set  prog_swtch [list b B q r R S u v w W]
 
-# maximal and current values for each graph indexed by sar switch i.e. for cpu 
+# maximal and current values for each graph indexed by sar switch i.e. for cpu
 # is index u not -u
 
 foreach l $prog_swtch {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/contrib/isag/isag.1 new/sysstat-12.6.1/contrib/isag/isag.1
--- old/sysstat-12.6.0/contrib/isag/isag.1      2022-05-29 08:46:19.000000000 
+0200
+++ new/sysstat-12.6.1/contrib/isag/isag.1      2022-11-06 16:03:27.000000000 
+0100
@@ -162,16 +162,16 @@
 Default path is: \fI/var/log/sa\fR
 .Ip "\-c config_file" 4
 .IX Item "-c config_file"
-Specify the configuration file used by the \fIisag\fR command. 
+Specify the configuration file used by the \fIisag\fR command.
 The contents of this file may depend on \fIisag\fR version number.
 Default config file is: \fI$HOME/.isag.cfg\fR.
 .Ip "\-ght gr_height" 4
 .IX Item "-ght gr_height"
-Specify the height of the chart area. 
+Specify the height of the chart area.
 Default value is: \fI400\fR.
 .Ip "\-gwd gr_width" 4
 .IX Item "-gwd gr_width"
-Specify the width of the chart area. 
+Specify the width of the chart area.
 Default value is: \fI720\fR.
 .SH "CONFIG FILE"
 .IX Header "CONFIG FILE"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/count.c new/sysstat-12.6.1/count.c
--- old/sysstat-12.6.0/count.c  2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/count.c  2022-11-06 16:03:27.000000000 +0100
@@ -208,6 +208,7 @@
 
        while ((fgets(line, INTERRUPTS_LINE + 11 * cpu_nr , fp) != NULL) &&
               (irq < max_nr_irqcpu)) {
+
                p = strcspn(line, ":");
                if ((p > 0) && (p < 16)) {
                        irq++;
@@ -256,6 +257,7 @@
         * the number of lines...
         */
        while (fgets(line, sizeof(line), fp) != NULL) {
+
                if (!count_part) {
                        i = sscanf(line, "%*d %*d %s %lu %*u %*u %*u %lu",
                                   dev_name, &rd_ios, &wr_ios);
@@ -473,7 +475,7 @@
                                continue;
 
                        sscanf(pos2 + 1, "%127s", type);
-                       if(strcmp(type, "autofs") == 0)
+                       if (strcmp(type, "autofs") == 0)
                                continue;
 
                        /* Read filesystem name and mount point */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/ioconf.c new/sysstat-12.6.1/ioconf.c
--- old/sysstat-12.6.0/ioconf.c 2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/ioconf.c 2022-11-06 16:03:27.000000000 +0100
@@ -107,6 +107,7 @@
        }
 
        while (val > 0) {
+
                *--p = syms[j = val % radix];
                val /= radix;
                if (nozero && (j == 0)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/iostat.c new/sysstat-12.6.1/iostat.c
--- old/sysstat-12.6.0/iostat.c 2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/iostat.c 2022-11-06 16:03:27.000000000 +0100
@@ -300,6 +300,7 @@
                return NULL;
 
        while (*dlist != NULL) {
+
                d = *dlist;
                if ((i = strcmp(d->name, name)) == 0) {
                        /* Device found in list */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/man/sadf.in new/sysstat-12.6.1/man/sadf.in
--- old/sysstat-12.6.0/man/sadf.in      2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/man/sadf.in      2022-11-06 16:03:27.000000000 +0100
@@ -34,7 +34,7 @@
 uses the standard system activity daily data file.
 It is also possible to enter
 .BR "-1" ", " "-2 " "etc. as an argument to " "sadf"
-to display data of that days ago. For example, 
+to display data of that days ago. For example,
 .B -1
 will point at the standard system activity file of yesterday.
 .PP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/man/sar.in new/sysstat-12.6.1/man/sar.in
--- old/sysstat-12.6.0/man/sar.in       2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/man/sar.in       2022-11-06 16:03:27.000000000 +0100
@@ -1,5 +1,5 @@
 .\" sar manual page - (C) 1999-2022 Sebastien Godard (sysstat <at> orange.fr)
-.TH SAR 1 "MARCH 2022" Linux "Linux User's Manual" -*- nroff -*-
+.TH SAR 1 "SEPTEMBER 2022" Linux "Linux User's Manual" -*- nroff -*-
 .SH NAME
 sar \- Collect, report, or save system activity information.
 
@@ -1591,7 +1591,7 @@
 ranges of values.
 .TP
 .B S_COLORS_SGR
-Specify the colors and other attributes used to display statistics on the 
terminal. 
+Specify the colors and other attributes used to display statistics on the 
terminal.
 Its value is a colon-separated list of capabilities that defaults to
 .BR "C=33;22:H=31;1:I=32;22:M=35;1:N=34;1:R=31;22:Z=34;22" "."
 Supported capabilities are:
@@ -1644,7 +1644,7 @@
 .B sar -u 2 5
 Report CPU utilization for each 2 seconds. 5 lines are displayed.
 .TP
-.B sar -I 14 -o int14.file 2 10
+.B sar -I --int=14 -o int14.file 2 10
 Report statistics on IRQ 14 for each 2 seconds. 10 lines are displayed.
 Data are stored in a file called
 .IR "int14.file" "."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/man/sysstat.in new/sysstat-12.6.1/man/sysstat.in
--- old/sysstat-12.6.0/man/sysstat.in   2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/man/sysstat.in   2022-11-06 16:03:27.000000000 +0100
@@ -68,7 +68,7 @@
 .RB "To figure out how a " "HISTORY"
 of 28 is applied in practice, we need to consider that the
 .BR "sa2 " "script that issues the " "find " "command to remove the"
-old files typically runs just before mid-night on a given system, and since
+old files typically runs just before midnight on a given system, and since
 the first record from
 .B sadc
 can also be written to the previous day's data file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/man/tapestat.1 new/sysstat-12.6.1/man/tapestat.1
--- old/sysstat-12.6.0/man/tapestat.1   2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/man/tapestat.1   2022-11-06 16:03:27.000000000 +0100
@@ -34,7 +34,7 @@
 .B tapestat
 report provides statistics for each tape drive connected to the system.
 The following data are displayed:
-.IP r/s 
+.IP r/s
 The number of reads issued expressed as the number per second averaged over 
the interval.
 .IP w/s
 The number of writes issued expressed as the number per second averaged over 
the interval.
@@ -107,7 +107,7 @@
 command will never show a percentage value more than 999).
 If rewinding a tape takes 40 seconds where the interval time is 5 seconds the 
%Oa value
 would show as 0 in the intervals before the rewind completed and then show as 
approximately
-800 percent when the rewind completes. 
+800 percent when the rewind completes.
 
 Similar values will be observed for %Rd and %Wr if a tape drive stops reading 
or writing
 and then restarts (that is it stopped streaming). In such a case you may see 
the r/s or w/s drop to zero and the %Rd/%Wr value could be higher than 100 when 
reading or writing continues
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/mpstat.c new/sysstat-12.6.1/mpstat.c
--- old/sysstat-12.6.0/mpstat.c 2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/mpstat.c 2022-11-06 16:03:27.000000000 +0100
@@ -290,6 +290,7 @@
        int j;
 
        while (c < last) {
+
                st_irq_i = st_irq[curr] + c + 1;
                st_irq_j = st_irq[!curr] + c + 1;
                st_irq_i->irq_nr = st_irq_j->irq_nr;
@@ -1856,8 +1857,10 @@
                 * Parse header line to see which CPUs are online
                 */
                while (fgets(line, INTERRUPTS_LINE + 11 * cpu_nr, fp) != NULL) {
+
                        next = line;
                        while (((cp = strstr(next, "CPU")) != NULL) && (index < 
cpu_nr)) {
+
                                cpu = strtol(cp + 3, &next, 10);
                                if (cpu >= cpu_nr)
                                        break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/nls/README-nls new/sysstat-12.6.1/nls/README-nls
--- old/sysstat-12.6.0/nls/README-nls   2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/nls/README-nls   2022-11-06 16:03:27.000000000 +0100
@@ -36,7 +36,7 @@
 Here is a complete example with iostat:
 
 $ export LANG=en_US
-$ iostat -V 
+$ iostat -V
 sysstat version 5.1.4
 (C) Sebastien Godard
 Usage: iostat [ options... ] [ <interval> [ <count> ] ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/nls/da.po new/sysstat-12.6.1/nls/da.po
--- old/sysstat-12.6.0/nls/da.po        2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/nls/da.po        2022-11-06 16:03:27.000000000 +0100
@@ -267,7 +267,7 @@
 "\t\tStatistik for afbrydelser [A_IRQ]\n"
 
 # clock ? tog fra KDE ksysguard (klok)
-# øjeblikkelig klokfrekvens / "CPU-klokfrevens lige nu:"/"CPUens 
+# øjeblikkelig klokfrekvens / "CPU-klokfrevens lige nu:"/"CPUens
 # klokfrekvens lige nu
 # spændingsinddata eller spændingsindgange.
 #: sar.c:155
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/pcp_def_metrics.c new/sysstat-12.6.1/pcp_def_metrics.c
--- old/sysstat-12.6.0/pcp_def_metrics.c        2022-05-29 08:46:19.000000000 
+0200
+++ new/sysstat-12.6.1/pcp_def_metrics.c        2022-11-06 16:03:27.000000000 
+0100
@@ -60,6 +60,7 @@
 
        /* Create instance for each interrupt for the current CPU */
        while (list != NULL) {
+
                snprintf(buf, sizeof(buf), "%s::cpu%d", list->item_name, cpu);
                buf[sizeof(buf) - 1] = '\0';
 
@@ -319,6 +320,7 @@
 
        /* Create instances and metrics for each interrupts for CPU "all" */
        while (list != NULL) {
+
                if (!strcmp(list->item_name, K_LOWERSUM)) {
                        /*
                         * Create metric for interrupt "sum" for CPU "all".
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/pidstat.c new/sysstat-12.6.1/pidstat.c
--- old/sysstat-12.6.0/pidstat.c        2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/pidstat.c        2022-11-06 16:03:27.000000000 +0100
@@ -138,6 +138,7 @@
        struct st_pid *p;
 
        while (*plist != NULL) {
+
                p = *plist;
                if (!p->exist || force) {
                        *plist = p->next;
@@ -247,6 +248,7 @@
                 * other TIDs.
                 */
                while (*plist != NULL) {
+
                        p = *plist;
                        if (!p->tgid && (p->pid == pid))
                                /* PID found in list */
@@ -266,6 +268,7 @@
                 * following its TGID.
                 */
                while (*plist != NULL) {
+
                        p = *plist;
                        if (p->pid == tgid) {
                                /* TGID found in list */
@@ -282,6 +285,7 @@
 
                plist = &(p->next);
                while (*plist != NULL) {
+
                        p = *plist;
                        if ((p->tgid == tgid_p) && (p->pid == pid))
                                /* TID found in list */
@@ -605,6 +609,7 @@
                return 1;
 
        while ((state < 3) && (fgets(line, sizeof(line), fp) != NULL)) {
+
                switch (state) {
                        case 0:
                                if (strstr(line, "[stack]")) {
@@ -882,6 +887,7 @@
                return;
 
        while ((drp = __readdir(dir)) != NULL) {
+
                if (!isdigit(drp->d_name[0])) {
                        continue;
                }
@@ -951,6 +957,7 @@
 
                /* Get directory entries */
                while ((drp = __readdir(dir)) != NULL) {
+
                        if (!isdigit(drp->d_name[0])) {
                                continue;
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/rd_sensors.c new/sysstat-12.6.1/rd_sensors.c
--- old/sysstat-12.6.0/rd_sensors.c     2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/rd_sensors.c     2022-11-06 16:03:27.000000000 +0100
@@ -68,8 +68,10 @@
        memset(st_pwr_fan, 0, STATS_PWR_FAN_SIZE);
 
        while ((chip = sensors_get_detected_chips(NULL, &chip_nr))) {
+
                i = 0;
                while ((feature = sensors_get_features(chip, &i))) {
+
                        if (feature->type == SENSORS_FEATURE_FAN) {
                                j = 0;
                                if (fan_read + 1 > nr_alloc)
@@ -78,6 +80,7 @@
                                
sensors_snprintf_chip_name(st_pwr_fan_i->device, MAX_SENSORS_DEV_LEN, chip);
 
                                while ((sub = sensors_get_all_subfeatures(chip, 
feature, &j))) {
+
                                        if ((sub->type == 
SENSORS_SUBFEATURE_FAN_INPUT) &&
                                            (sub->flags & SENSORS_MODE_R)) {
                                                if (sensors_get_value(chip, 
sub->number, &st_pwr_fan_i->rpm)) {
@@ -130,8 +133,10 @@
        memset(st_pwr_temp, 0, STATS_PWR_TEMP_SIZE);
 
        while ((chip = sensors_get_detected_chips(NULL, &chip_nr))) {
+
                i = 0;
                while ((feature = sensors_get_features(chip, &i))) {
+
                        if (feature->type == SENSORS_FEATURE_TEMP) {
                                j = 0;
                                if (temp_read + 1 > nr_alloc)
@@ -140,6 +145,7 @@
                                
sensors_snprintf_chip_name(st_pwr_temp_i->device, MAX_SENSORS_DEV_LEN, chip);
 
                                while ((sub = sensors_get_all_subfeatures(chip, 
feature, &j))) {
+
                                        if ((sub->type == 
SENSORS_SUBFEATURE_TEMP_INPUT) &&
                                                (sub->flags & SENSORS_MODE_R)) {
                                                if (sensors_get_value(chip, 
sub->number, &st_pwr_temp_i->temp)) {
@@ -197,8 +203,10 @@
        memset(st_pwr_in, 0, STATS_PWR_IN_SIZE);
 
        while ((chip = sensors_get_detected_chips(NULL, &chip_nr))) {
+
                i = 0;
                while ((feature = sensors_get_features(chip, &i))) {
+
                        if (feature->type == SENSORS_FEATURE_IN) {
                                j = 0;
                                if (in_read + 1 > nr_alloc)
@@ -207,6 +215,7 @@
                                sensors_snprintf_chip_name(st_pwr_in_i->device, 
MAX_SENSORS_DEV_LEN, chip);
 
                                while ((sub = sensors_get_all_subfeatures(chip, 
feature, &j))) {
+
                                        if ((sub->type == 
SENSORS_SUBFEATURE_IN_INPUT) &&
                                                (sub->flags & SENSORS_MODE_R)) {
                                                if (sensors_get_value(chip, 
sub->number, &st_pwr_in_i->in)) {
@@ -254,8 +263,10 @@
        int i;
 
        while ((chip = sensors_get_detected_chips(NULL, &chip_nr))) {
+
                i = 0;
                while ((feature = sensors_get_features(chip, &i))) {
+
                        if (feature->type == type) {
                                count++;
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/rd_stats.c new/sysstat-12.6.1/rd_stats.c
--- old/sysstat-12.6.0/rd_stats.c       2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/rd_stats.c       2022-11-06 16:03:27.000000000 +0100
@@ -210,9 +210,11 @@
                 * Parse header line to see which CPUs are online
                 */
                while (fgets(line, INTERRUPTS_LINE + 11 * cpu_nr, fp) != NULL) {
+
                        next = line;
                        while (((cp = strstr(next, "CPU")) != NULL) && (index < 
cpu_nr)) {
                                cpu = strtol(cp + 3, &next, 10);
+
                                if (cpu + 2 > nr_alloc) {
                                        rc = -1;
                                        goto out;
@@ -570,6 +572,7 @@
        len = strlen(str);
 
        while (i < len - 3) {
+
                if ((str[i] == '\\') &&
                    (str[i + 1] >= '0') && (str[i + 1] <= '3') &&
                    (str[i + 2] >= '0') && (str[i + 2] <= '7') &&
@@ -2625,7 +2628,7 @@
                                continue;
 
                        sscanf(pos2 + 1, "%127s", type);
-                       if(strcmp(type, "autofs") == 0)
+                       if (strcmp(type, "autofs") == 0)
                                continue;
 
                        /* Read current filesystem name */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sa_common.c new/sysstat-12.6.1/sa_common.c
--- old/sysstat-12.6.0/sa_common.c      2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/sa_common.c      2022-11-06 16:03:27.000000000 +0100
@@ -427,6 +427,7 @@
        char *buffer = (char *) buf;
 
        while (nr_bytes > 0) {
+
                block = write(fd, &buffer[offset], nr_bytes);
 
                if (block < 0) {
@@ -458,7 +459,14 @@
        int i, j;
 
        for (i = 0; i < NR_ACT; i++) {
+
                if (act[i]->nr_ini > 0) {
+
+                       /* Look for a possible overflow */
+                       check_overflow((unsigned int) act[i]->msize,
+                                      (unsigned int) act[i]->nr_ini,
+                                      (unsigned int) act[i]->nr2);
+
                        for (j = 0; j < 3; j++) {
                                SREALLOC(act[i]->buf[j], void,
                                                (size_t) act[i]->msize * 
(size_t) act[i]->nr_ini * (size_t) act[i]->nr2);
@@ -522,6 +530,10 @@
                while (nr_realloc < nr_min);
        }
 
+       /* Look for a possible overflow */
+       check_overflow((unsigned int) a->msize, (unsigned int) nr_realloc,
+                      (unsigned int) a->nr2);
+
        for (j = 0; j < 3; j++) {
                SREALLOC(a->buf[j], void,
                        (size_t) a->msize * nr_realloc * (size_t) a->nr2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sa_conv.c new/sysstat-12.6.1/sa_conv.c
--- old/sysstat-12.6.0/sa_conv.c        2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/sa_conv.c        2022-11-06 16:03:27.000000000 +0100
@@ -221,14 +221,14 @@
                file_hdr->sa_day = f_hdr_2173->sa_day;
                file_hdr->sa_month = f_hdr_2173->sa_month;
                file_hdr->sa_sizeof_long = f_hdr_2173->sa_sizeof_long;
-               strncpy(file_hdr->sa_sysname, f_hdr_2173->sa_sysname, 
UTSNAME_LEN);
-               file_hdr->sa_sysname[UTSNAME_LEN - 1] = '\0';
-               strncpy(file_hdr->sa_nodename, f_hdr_2173->sa_nodename, 
UTSNAME_LEN);
-               file_hdr->sa_nodename[UTSNAME_LEN - 1] = '\0';
-               strncpy(file_hdr->sa_release, f_hdr_2173->sa_release, 
UTSNAME_LEN);
-               file_hdr->sa_release[UTSNAME_LEN - 1] = '\0';
-               strncpy(file_hdr->sa_machine, f_hdr_2173->sa_machine, 
UTSNAME_LEN);
-               file_hdr->sa_machine[UTSNAME_LEN - 1] = '\0';
+               strncpy(file_hdr->sa_sysname, f_hdr_2173->sa_sysname, 
sizeof(file_hdr->sa_sysname));
+               file_hdr->sa_sysname[sizeof(file_hdr->sa_sysname) - 1] = '\0';
+               strncpy(file_hdr->sa_nodename, f_hdr_2173->sa_nodename, 
sizeof(file_hdr->sa_nodename));
+               file_hdr->sa_nodename[sizeof(file_hdr->sa_nodename) - 1] = '\0';
+               strncpy(file_hdr->sa_release, f_hdr_2173->sa_release, 
sizeof(file_hdr->sa_release));
+               file_hdr->sa_release[sizeof(file_hdr->sa_release) - 1] = '\0';
+               strncpy(file_hdr->sa_machine, f_hdr_2173->sa_machine, 
sizeof(file_hdr->sa_machine));
+               file_hdr->sa_machine[sizeof(file_hdr->sa_machine) - 1] = '\0';
 
                *vol_act_nr = f_hdr_2173->sa_vol_act_nr;
        }
@@ -552,7 +552,8 @@
                                strcpy(sic->irq_name, K_LOWERSUM);
                        }
                        else {
-                               sprintf(sic->irq_name, "%d", i - 1);
+                               snprintf(sic->irq_name, sizeof(sic->irq_name), 
"%d", i - 1 > NR2_MAX ? NR2_MAX : i - 1);
+                               sic->irq_name[sizeof(sic->irq_name) - 1] = '\0';
                        }
                }
        }
@@ -570,7 +571,8 @@
                                strcpy(sic->irq_name, K_LOWERSUM);
                        }
                        else {
-                               sprintf(sic->irq_name, "%d", i - 1);
+                               snprintf(sic->irq_name, sizeof(sic->irq_name), 
"%d", i - 1 > NR2_MAX ? NR2_MAX : i - 1);
+                               sic->irq_name[sizeof(sic->irq_name) - 1] = '\0';
                        }
                }
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sa_conv.h new/sysstat-12.6.1/sa_conv.h
--- old/sysstat-12.6.0/sa_conv.h        2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/sa_conv.h        2022-11-06 16:03:27.000000000 +0100
@@ -11,6 +11,8 @@
  * 2171: v9.1.6 -> 10.2.1
  * 2173: 10.3.1 -> 11.6.x
  */
+#define UTSNAME_LEN_2171       65
+
 struct file_header_2171 {
        unsigned long sa_ust_time       __attribute__ ((aligned (8)));
        unsigned int sa_act_nr          __attribute__ ((aligned (8)));
@@ -18,10 +20,10 @@
        unsigned char sa_month;
        unsigned char sa_year;
        char sa_sizeof_long;
-       char sa_sysname[UTSNAME_LEN];
-       char sa_nodename[UTSNAME_LEN];
-       char sa_release[UTSNAME_LEN];
-       char sa_machine[UTSNAME_LEN];
+       char sa_sysname[UTSNAME_LEN_2171];
+       char sa_nodename[UTSNAME_LEN_2171];
+       char sa_release[UTSNAME_LEN_2171];
+       char sa_machine[UTSNAME_LEN_2171];
 };
 
 #define FILE_HEADER_SIZE_2171  (sizeof(struct file_header_2171))
@@ -29,6 +31,8 @@
 #define FILE_HEADER_2171_UL_NR 1
 #define FILE_HEADER_2171_U_NR  1
 
+#define UTSNAME_LEN_2173       65
+
 struct file_header_2173 {
        unsigned long sa_ust_time       __attribute__ ((aligned (8)));
        unsigned int sa_last_cpu_nr     __attribute__ ((aligned (8)));
@@ -38,10 +42,10 @@
        unsigned char sa_month;
        unsigned char sa_year;
        char sa_sizeof_long;
-       char sa_sysname[UTSNAME_LEN];
-       char sa_nodename[UTSNAME_LEN];
-       char sa_release[UTSNAME_LEN];
-       char sa_machine[UTSNAME_LEN];
+       char sa_sysname[UTSNAME_LEN_2173];
+       char sa_nodename[UTSNAME_LEN_2173];
+       char sa_release[UTSNAME_LEN_2173];
+       char sa_machine[UTSNAME_LEN_2173];
 };
 
 #define FILE_HEADER_2173_ULL_NR        0
@@ -199,69 +203,79 @@
 };
 
 /* Structure stats_net_dev for ACTIVITY_MAGIC_BASE format */
+#define MAX_IFACE_LEN_8A       16
+
 struct stats_net_dev_8a {
-       unsigned long rx_packets                __attribute__ ((aligned (8)));
-       unsigned long tx_packets                __attribute__ ((aligned (8)));
-       unsigned long rx_bytes                  __attribute__ ((aligned (8)));
-       unsigned long tx_bytes                  __attribute__ ((aligned (8)));
-       unsigned long rx_compressed             __attribute__ ((aligned (8)));
-       unsigned long tx_compressed             __attribute__ ((aligned (8)));
-       unsigned long multicast                 __attribute__ ((aligned (8)));
-       char          interface[MAX_IFACE_LEN]  __attribute__ ((aligned (8)));
+       unsigned long rx_packets                        __attribute__ ((aligned 
(8)));
+       unsigned long tx_packets                        __attribute__ ((aligned 
(8)));
+       unsigned long rx_bytes                          __attribute__ ((aligned 
(8)));
+       unsigned long tx_bytes                          __attribute__ ((aligned 
(8)));
+       unsigned long rx_compressed                     __attribute__ ((aligned 
(8)));
+       unsigned long tx_compressed                     __attribute__ ((aligned 
(8)));
+       unsigned long multicast                         __attribute__ ((aligned 
(8)));
+       char          interface[MAX_IFACE_LEN_8A]       __attribute__ ((aligned 
(8)));
 };
 
 /* Structure stats_net_dev for ACTIVITY_MAGIC_BASE + 1 format */
+#define MAX_IFACE_LEN_8B       16
+
 struct stats_net_dev_8b {
-       unsigned long long rx_packets           __attribute__ ((aligned (16)));
-       unsigned long long tx_packets           __attribute__ ((aligned (16)));
-       unsigned long long rx_bytes             __attribute__ ((aligned (16)));
-       unsigned long long tx_bytes             __attribute__ ((aligned (16)));
-       unsigned long long rx_compressed        __attribute__ ((aligned (16)));
-       unsigned long long tx_compressed        __attribute__ ((aligned (16)));
-       unsigned long long multicast            __attribute__ ((aligned (16)));
-       char          interface[MAX_IFACE_LEN]  __attribute__ ((aligned (16)));
+       unsigned long long rx_packets                   __attribute__ ((aligned 
(16)));
+       unsigned long long tx_packets                   __attribute__ ((aligned 
(16)));
+       unsigned long long rx_bytes                     __attribute__ ((aligned 
(16)));
+       unsigned long long tx_bytes                     __attribute__ ((aligned 
(16)));
+       unsigned long long rx_compressed                __attribute__ ((aligned 
(16)));
+       unsigned long long tx_compressed                __attribute__ ((aligned 
(16)));
+       unsigned long long multicast                    __attribute__ ((aligned 
(16)));
+       char               interface[MAX_IFACE_LEN_8B]  __attribute__ ((aligned 
(16)));
 };
 
 /* Structure stats_net_dev for ACTIVITY_MAGIC_BASE + 2 format */
+#define MAX_IFACE_LEN_8C       16
+
 struct stats_net_dev_8c {
-       unsigned long long rx_packets           __attribute__ ((aligned (16)));
-       unsigned long long tx_packets           __attribute__ ((aligned (16)));
-       unsigned long long rx_bytes             __attribute__ ((aligned (16)));
-       unsigned long long tx_bytes             __attribute__ ((aligned (16)));
-       unsigned long long rx_compressed        __attribute__ ((aligned (16)));
-       unsigned long long tx_compressed        __attribute__ ((aligned (16)));
-       unsigned long long multicast            __attribute__ ((aligned (16)));
-       unsigned int       speed                __attribute__ ((aligned (16)));
-       char     interface[MAX_IFACE_LEN]       __attribute__ ((aligned (4)));
-       char     duplex;
+       unsigned long long rx_packets                   __attribute__ ((aligned 
(16)));
+       unsigned long long tx_packets                   __attribute__ ((aligned 
(16)));
+       unsigned long long rx_bytes                     __attribute__ ((aligned 
(16)));
+       unsigned long long tx_bytes                     __attribute__ ((aligned 
(16)));
+       unsigned long long rx_compressed                __attribute__ ((aligned 
(16)));
+       unsigned long long tx_compressed                __attribute__ ((aligned 
(16)));
+       unsigned long long multicast                    __attribute__ ((aligned 
(16)));
+       unsigned int       speed                        __attribute__ ((aligned 
(16)));
+       char               interface[MAX_IFACE_LEN_8C]  __attribute__ ((aligned 
(4)));
+       char               duplex;
 };
 
 /* Structure stats_net_edev for ACTIVITY_MAGIC_BASE format */
+#define MAX_IFACE_LEN_8A       16
+
 struct stats_net_edev_8a {
-       unsigned long collisions                __attribute__ ((aligned (8)));
-       unsigned long rx_errors                 __attribute__ ((aligned (8)));
-       unsigned long tx_errors                 __attribute__ ((aligned (8)));
-       unsigned long rx_dropped                __attribute__ ((aligned (8)));
-       unsigned long tx_dropped                __attribute__ ((aligned (8)));
-       unsigned long rx_fifo_errors            __attribute__ ((aligned (8)));
-       unsigned long tx_fifo_errors            __attribute__ ((aligned (8)));
-       unsigned long rx_frame_errors           __attribute__ ((aligned (8)));
-       unsigned long tx_carrier_errors         __attribute__ ((aligned (8)));
-       char          interface[MAX_IFACE_LEN]  __attribute__ ((aligned (8)));
+       unsigned long collisions                        __attribute__ ((aligned 
(8)));
+       unsigned long rx_errors                         __attribute__ ((aligned 
(8)));
+       unsigned long tx_errors                         __attribute__ ((aligned 
(8)));
+       unsigned long rx_dropped                        __attribute__ ((aligned 
(8)));
+       unsigned long tx_dropped                        __attribute__ ((aligned 
(8)));
+       unsigned long rx_fifo_errors                    __attribute__ ((aligned 
(8)));
+       unsigned long tx_fifo_errors                    __attribute__ ((aligned 
(8)));
+       unsigned long rx_frame_errors                   __attribute__ ((aligned 
(8)));
+       unsigned long tx_carrier_errors                 __attribute__ ((aligned 
(8)));
+       char          interface[MAX_IFACE_LEN_8A]       __attribute__ ((aligned 
(8)));
 };
 
 /* Structure stats_net_edev for ACTIVITY_MAGIC_BASE + 1 format */
+#define MAX_IFACE_LEN_8B       16
+
 struct stats_net_edev_8b {
-       unsigned long long collisions           __attribute__ ((aligned (16)));
-       unsigned long long rx_errors            __attribute__ ((aligned (16)));
-       unsigned long long tx_errors            __attribute__ ((aligned (16)));
-       unsigned long long rx_dropped           __attribute__ ((aligned (16)));
-       unsigned long long tx_dropped           __attribute__ ((aligned (16)));
-       unsigned long long rx_fifo_errors       __attribute__ ((aligned (16)));
-       unsigned long long tx_fifo_errors       __attribute__ ((aligned (16)));
-       unsigned long long rx_frame_errors      __attribute__ ((aligned (16)));
-       unsigned long long tx_carrier_errors    __attribute__ ((aligned (16)));
-       char          interface[MAX_IFACE_LEN]  __attribute__ ((aligned (16)));
+       unsigned long long collisions                   __attribute__ ((aligned 
(16)));
+       unsigned long long rx_errors                    __attribute__ ((aligned 
(16)));
+       unsigned long long tx_errors                    __attribute__ ((aligned 
(16)));
+       unsigned long long rx_dropped                   __attribute__ ((aligned 
(16)));
+       unsigned long long tx_dropped                   __attribute__ ((aligned 
(16)));
+       unsigned long long rx_fifo_errors               __attribute__ ((aligned 
(16)));
+       unsigned long long tx_fifo_errors               __attribute__ ((aligned 
(16)));
+       unsigned long long rx_frame_errors              __attribute__ ((aligned 
(16)));
+       unsigned long long tx_carrier_errors            __attribute__ ((aligned 
(16)));
+       char               interface[MAX_IFACE_LEN_8B]  __attribute__ ((aligned 
(16)));
 };
 
 /* Structure stats_net_ip for ACTIVITY_MAGIC_BASE format */
@@ -383,15 +397,17 @@
 };
 
 /* Structure stats_filesystem for ACTIVITY_MAGIC_BASE */
+#define MAX_FS_LEN_8A  128
+
 struct stats_filesystem_8a {
-       unsigned long long f_blocks             __attribute__ ((aligned (16)));
-       unsigned long long f_bfree              __attribute__ ((aligned (16)));
-       unsigned long long f_bavail             __attribute__ ((aligned (16)));
-       unsigned long long f_files              __attribute__ ((aligned (16)));
-       unsigned long long f_ffree              __attribute__ ((aligned (16)));
-       char               fs_name[MAX_FS_LEN]  __attribute__ ((aligned (16)));
+       unsigned long long f_blocks                     __attribute__ ((aligned 
(16)));
+       unsigned long long f_bfree                      __attribute__ ((aligned 
(16)));
+       unsigned long long f_bavail                     __attribute__ ((aligned 
(16)));
+       unsigned long long f_files                      __attribute__ ((aligned 
(16)));
+       unsigned long long f_ffree                      __attribute__ ((aligned 
(16)));
+       char               fs_name[MAX_FS_LEN_8A]       __attribute__ ((aligned 
(16)));
 #define STATS_FILESYSTEM_8A_1_SIZE     160
-       char               mountp[MAX_FS_LEN];
+       char               mountp[MAX_FS_LEN_8A];
 };
 
 #endif  /* _SA_CONV_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sa_wrap.c new/sysstat-12.6.1/sa_wrap.c
--- old/sysstat-12.6.0/sa_wrap.c        2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/sa_wrap.c        2022-11-06 16:03:27.000000000 +0100
@@ -952,7 +952,7 @@
                        st_pwr_wghfreq = (struct stats_pwr_wghfreq *) a->_buf0;
                }
        }
-       while(nr_read < 0);
+       while (nr_read < 0);
 
        a->_nr0 = nr_read;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sadc.c new/sysstat-12.6.1/sadc.c
--- old/sysstat-12.6.0/sadc.c   2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/sadc.c   2022-11-06 16:03:27.000000000 +0100
@@ -360,6 +360,12 @@
                }
 
                if (IS_COLLECTED(act[i]->options) && (act[i]->nr_ini > 0)) {
+
+                       /* Look for a possible overflow */
+                       check_overflow((unsigned int) act[i]->msize,
+                                      (unsigned int) act[i]->nr_ini,
+                                      (unsigned int) act[i]->nr2);
+
                        /* Allocate structures for current activity (using 
nr_ini and nr2 results) */
                        SREALLOC(act[i]->_buf0, void,
                                 (size_t) act[i]->msize * (size_t) 
act[i]->nr_ini * (size_t) act[i]->nr2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sar.c new/sysstat-12.6.1/sar.c
--- old/sysstat-12.6.0/sar.c    2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/sar.c    2022-11-06 16:03:27.000000000 +0100
@@ -123,7 +123,7 @@
                          "[ -A ] [ -B ] [ -b ] [ -C ] [ -D ] [ -d ] [ -F [ 
MOUNT ] ] [ -H ] [ -h ]\n"
                          "[ -p ] [ -r [ ALL ] ] [ -S ] [ -t ] [ -u [ ALL ] ] [ 
-V ]\n"
                          "[ -v ] [ -W ] [ -w ] [ -y ] [ -z ]\n"
-                         "[ -I { <int_list> | SUM | ALL } ] [ -P { <cpu_list> 
| ALL } ]\n"
+                         "[ -I [ SUM | ALL ] ] [ -P { <cpu_list> | ALL } ]\n"
                          "[ -m { <keyword> [,...] | ALL } ] [ -n { <keyword> 
[,...] | ALL } ]\n"
                          "[ -q [ <keyword> [,...] | ALL ] ]\n"
                          "[ --dev=<dev_list> ] [ --fs=<fs_list> ] [ 
--iface=<iface_list> ] "
@@ -153,7 +153,7 @@
        printf(_("\t-F [ MOUNT ]\n"));
        printf(_("\t\tFilesystems statistics [A_FS]\n"));
        printf(_("\t-H\tHugepages utilization statistics [A_HUGE]\n"));
-       printf(_("\t-I { <int_list> | SUM | ALL }\n"
+       printf(_("\t-I [ SUM | ALL ]\n"
                 "\t\tInterrupts statistics [A_IRQ]\n"));
        printf(_("\t-m { <keyword> [,...] | ALL }\n"
                 "\t\tPower management statistics [A_PWR_...]\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/svg_stats.c new/sysstat-12.6.1/svg_stats.c
--- old/sysstat-12.6.0/svg_stats.c      2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/svg_stats.c      2022-11-06 16:03:27.000000000 +0100
@@ -174,7 +174,7 @@
  ***************************************************************************
  * Find the min and max values of all the graphs that will be drawn in the
  * same view. The graphs have their own min and max values in
- * spmin[pos...pos+n-1] and spmax[pos...pos+n-1]. 
+ * spmin[pos...pos+n-1] and spmax[pos...pos+n-1].
  *
  * IN:
  * @pos                Position in array for the first graph extrema value.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sysstat-12.6.0.lsm new/sysstat-12.6.1/sysstat-12.6.0.lsm
--- old/sysstat-12.6.0/sysstat-12.6.0.lsm       2022-05-29 08:46:19.000000000 
+0200
+++ new/sysstat-12.6.1/sysstat-12.6.0.lsm       1970-01-01 01:00:00.000000000 
+0100
@@ -1,39 +0,0 @@
-Begin4
-Title:         sysstat - the sar, sadf, mpstat, iostat, tapestat, pidstat and 
cifsiostat commands for Linux
-Version:       12.6.0
-Entered-date:  2022-05-29
-Description:   The sysstat package contains the sar, sadf, mpstat, iostat, 
tapestat,
-               pidstat, cifsiostat and sa tools for Linux.
-               The sar command collects and reports system activity
-               information.
-               The information collected by sar can be saved in a file
-               in a binary format for future inspection.
-               The statistics reported by sar concern I/O transfer rates,
-               paging activity, process-related activities, interrupts,
-               network activity, memory and swap space utilization, CPU
-               utilization, kernel activities and TTY statistics, among
-               others. Both UP and SMP machines are fully supported.
-               The sadf command is used to display data collected by sar in 
various
-               formats (XML, database-friendly, etc.) and to draw graphs (SVG).
-               The mpstat command reports global and per-processor statistics.
-               The iostat command reports CPU utilization and I/O statistics
-               for disks.
-               The tapestat command reports statistics for tape drives 
connected
-               to the system.
-               The pidstat command reports statistics for Linux tasks 
(processes).
-               The cifsiostat command reports I/O statistics for CIFS 
filesystems.
-               NB: Send bugs, patches, suggestions and/or questions to
-               (sysstat [at] orange.fr).
-               URL: http://pagesperso-orange.fr/sebastien.godard/
-Keywords:      system administration, system monitoring, sar, sadf, iostat, 
mpstat, tapestat, pidstat, system accounting, performance, tuning
-Author:                syss...@nospam.orange.fr (Sebastien Godard)
-Maintained-by: syss...@nospam.orange.fr (Sebastien Godard)
-Primary-site:  http://pagesperso-orange.fr/sebastien.godard/
-               1450kiB sysstat-12.6.0.tar.gz
-               1159kiB sysstat-12.6.0.tar.bz2
-               863kiB sysstat-12.6.0.tar.xz
-               1432kiB sysstat-12.6.0-1.src.rpm
-               437kiB sysstat-12.6.0-1.x86_64.rpm
-Alternate-site:
-Copying-policy:        GPL
-End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sysstat-12.6.0.spec new/sysstat-12.6.1/sysstat-12.6.0.spec
--- old/sysstat-12.6.0/sysstat-12.6.0.spec      2022-05-29 08:46:19.000000000 
+0200
+++ new/sysstat-12.6.1/sysstat-12.6.0.spec      1970-01-01 01:00:00.000000000 
+0100
@@ -1,83 +0,0 @@
-Summary:       SAR, SADF, MPSTAT, IOSTAT, TAPESTAT, PIDSTAT and CIFSIOSTAT for 
Linux
-Name:          sysstat
-Version:       12.6.0
-Release:       1
-License:       GPL
-Group:                 Applications/System
-Source0:       %{name}-%{version}.tar.gz
-URL:           http://pagesperso-orange.fr/sebastien.godard/
-Packager:      Sebastien Godard <sysstat _at_ orange.fr>
-BuildRoot:     %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
-Requires:      gettext
-
-%description
-The sysstat package contains the sar, sadf, mpstat, iostat, tapestat,
-pidstat, cifsiostat and sa tools for Linux.
-The sar command collects and reports system activity information.
-The information collected by sar can be saved in a file in a binary
-format for future inspection. The statistics reported by sar concern
-I/O transfer rates, paging activity, process-related activities,
-interrupts, network activity, memory and swap space utilization, CPU
-utilization, kernel activities and TTY statistics, among others. Both
-UP and SMP machines are fully supported.
-The sadf command may  be used to display data collected by sar in
-various formats (CSV, XML, etc.) and to draw graphs (SVG).
-The iostat command reports CPU utilization and I/O statistics for disks.
-The tapestat command reports statistics for tapes connected to the system.
-The mpstat command reports global and per-processor statistics.
-The pidstat command reports statistics for Linux tasks (processes).
-The cifsiostat command reports I/O statistics for CIFS filesystems.
-
-%define debug_package %{nil}
-
-%prep
-%setup
-
-%build
-# To include cron installation, add options --enable-install-cron and 
--enable-copy-only
-./configure --prefix=%{_prefix} \
-       --disable-file-attr \
-       sa_lib_dir=%{_libdir}/sa \
-       --mandir=%{_mandir} \
-       DESTDIR=$RPM_BUILD_ROOT
-make
-
-%install
-rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/var/log/sa
-
-make install
-
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
-install -m 755  sysstat $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
-install -m 644 sysstat.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/sysstat
-install -m 644 sysstat.ioconf $RPM_BUILD_ROOT/etc/sysconfig/sysstat.ioconf
-mkdir -p $RPM_BUILD_ROOT/etc/cron.d
-install -m 644 cron/sysstat.crond.sample $RPM_BUILD_ROOT/etc/cron.d/sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/rc2.d
-cd $RPM_BUILD_ROOT/etc/rc2.d && ln -sf ../init.d/sysstat S01sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/rc3.d
-cd $RPM_BUILD_ROOT/etc/rc3.d && ln -sf ../init.d/sysstat S01sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/rc5.d
-cd $RPM_BUILD_ROOT/etc/rc5.d && ln -sf ../init.d/sysstat S01sysstat
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(644,root,root,755)
-%doc %{_datadir}/doc/sysstat-%{version}/*
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/sa/*
-%attr(644,root,root) %{_mandir}/man*/*
-%attr(644,root,root) %{_datadir}/locale/*/LC_MESSAGES/sysstat.mo
-%attr(755,root,root) %dir /var/log/sa
-%attr(755,root,root) /etc/rc.d/init.d/sysstat
-%attr(644,root,root) /etc/sysconfig/sysstat
-%attr(644,root,root) /etc/sysconfig/sysstat.ioconf
-/etc/rc2.d/S01sysstat
-/etc/rc3.d/S01sysstat
-/etc/rc5.d/S01sysstat
-%config(noreplace) %attr(0644,root,root) /etc/cron.d/sysstat
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sysstat-12.6.1.lsm new/sysstat-12.6.1/sysstat-12.6.1.lsm
--- old/sysstat-12.6.0/sysstat-12.6.1.lsm       1970-01-01 01:00:00.000000000 
+0100
+++ new/sysstat-12.6.1/sysstat-12.6.1.lsm       2022-11-06 16:03:27.000000000 
+0100
@@ -0,0 +1,35 @@
+Begin4
+Title:         sysstat - the sar, sadf, mpstat, iostat, tapestat, pidstat and 
cifsiostat commands for Linux
+Version:       12.6.1
+Entered-date:  2022-11-06
+Description:   The sysstat package contains the sar, sadf, mpstat, iostat, 
tapestat,
+               pidstat, cifsiostat and sa tools for Linux.
+               The sar command collects and reports system activity
+               information.
+               The information collected by sar can be saved in a file
+               in a binary format for future inspection.
+               The statistics reported by sar concern I/O transfer rates,
+               paging activity, process-related activities, interrupts,
+               network activity, memory and swap space utilization, CPU
+               utilization, kernel activities and TTY statistics, among
+               others. Both UP and SMP machines are fully supported.
+               The sadf command is used to display data collected by sar in 
various
+               formats (XML, database-friendly, etc.) and to draw graphs (SVG).
+               The mpstat command reports global and per-processor statistics.
+               The iostat command reports CPU utilization and I/O statistics
+               for disks.
+               The tapestat command reports statistics for tape drives 
connected
+               to the system.
+               The pidstat command reports statistics for Linux tasks 
(processes).
+               The cifsiostat command reports I/O statistics for CIFS 
filesystems.
+               NB: Send bugs, patches, suggestions and/or questions to
+               (sysstat [at] orange.fr).
+               URL: http://pagesperso-orange.fr/sebastien.godard/
+Keywords:      system administration, system monitoring, sar, sadf, iostat, 
mpstat, tapestat, pidstat, system accounting, performance, tuning
+Author:                syss...@nospam.orange.fr (Sebastien Godard)
+Maintained-by: syss...@nospam.orange.fr (Sebastien Godard)
+Primary-site:  http://pagesperso-orange.fr/sebastien.godard/
+               853kiB sysstat-12.6.1.tar.xz
+Alternate-site:
+Copying-policy:        GPL
+End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sysstat-12.6.1.spec new/sysstat-12.6.1/sysstat-12.6.1.spec
--- old/sysstat-12.6.0/sysstat-12.6.1.spec      1970-01-01 01:00:00.000000000 
+0100
+++ new/sysstat-12.6.1/sysstat-12.6.1.spec      2022-11-06 16:03:27.000000000 
+0100
@@ -0,0 +1,83 @@
+Summary:       SAR, SADF, MPSTAT, IOSTAT, TAPESTAT, PIDSTAT and CIFSIOSTAT for 
Linux
+Name:          sysstat
+Version:       12.6.1
+Release:       1
+License:       GPL
+Group:                 Applications/System
+Source0:       %{name}-%{version}.tar.gz
+URL:           http://pagesperso-orange.fr/sebastien.godard/
+Packager:      Sebastien Godard <sysstat _at_ orange.fr>
+BuildRoot:     %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
+Requires:      gettext
+
+%description
+The sysstat package contains the sar, sadf, mpstat, iostat, tapestat,
+pidstat, cifsiostat and sa tools for Linux.
+The sar command collects and reports system activity information.
+The information collected by sar can be saved in a file in a binary
+format for future inspection. The statistics reported by sar concern
+I/O transfer rates, paging activity, process-related activities,
+interrupts, network activity, memory and swap space utilization, CPU
+utilization, kernel activities and TTY statistics, among others. Both
+UP and SMP machines are fully supported.
+The sadf command may  be used to display data collected by sar in
+various formats (CSV, XML, etc.) and to draw graphs (SVG).
+The iostat command reports CPU utilization and I/O statistics for disks.
+The tapestat command reports statistics for tapes connected to the system.
+The mpstat command reports global and per-processor statistics.
+The pidstat command reports statistics for Linux tasks (processes).
+The cifsiostat command reports I/O statistics for CIFS filesystems.
+
+%define debug_package %{nil}
+
+%prep
+%setup
+
+%build
+# To include cron installation, add options --enable-install-cron and 
--enable-copy-only
+./configure --prefix=%{_prefix} \
+       --disable-file-attr \
+       sa_lib_dir=%{_libdir}/sa \
+       --mandir=%{_mandir} \
+       DESTDIR=$RPM_BUILD_ROOT
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/var/log/sa
+
+make install
+
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+install -m 755  sysstat $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
+install -m 644 sysstat.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/sysstat
+install -m 644 sysstat.ioconf $RPM_BUILD_ROOT/etc/sysconfig/sysstat.ioconf
+mkdir -p $RPM_BUILD_ROOT/etc/cron.d
+install -m 644 cron/sysstat.crond.sample $RPM_BUILD_ROOT/etc/cron.d/sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/rc2.d
+cd $RPM_BUILD_ROOT/etc/rc2.d && ln -sf ../init.d/sysstat S01sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/rc3.d
+cd $RPM_BUILD_ROOT/etc/rc3.d && ln -sf ../init.d/sysstat S01sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/rc5.d
+cd $RPM_BUILD_ROOT/etc/rc5.d && ln -sf ../init.d/sysstat S01sysstat
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc %{_datadir}/doc/sysstat-%{version}/*
+%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_libdir}/sa/*
+%attr(644,root,root) %{_mandir}/man*/*
+%attr(644,root,root) %{_datadir}/locale/*/LC_MESSAGES/sysstat.mo
+%attr(755,root,root) %dir /var/log/sa
+%attr(755,root,root) /etc/rc.d/init.d/sysstat
+%attr(644,root,root) /etc/sysconfig/sysstat
+%attr(644,root,root) /etc/sysconfig/sysstat.ioconf
+/etc/rc2.d/S01sysstat
+/etc/rc3.d/S01sysstat
+/etc/rc5.d/S01sysstat
+%config(noreplace) %attr(0644,root,root) /etc/cron.d/sysstat
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/sysstat.ioconf new/sysstat-12.6.1/sysstat.ioconf
--- old/sysstat-12.6.0/sysstat.ioconf   2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/sysstat.ioconf   2022-11-06 16:03:27.000000000 +0100
@@ -66,7 +66,7 @@
 #4:0:0:NODEV
 #5:0:0:NODEV
 #6:0:0:NODEV
-7:loop:*:0:d:256:*:1:Loop Devices 
+7:loop:*:0:d:256:*:1:Loop Devices
 
 8:sd:*:0:a:16:*:16:SCSI - Controller %d
 65:8:1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/tapestat.c new/sysstat-12.6.1/tapestat.c
--- old/sysstat-12.6.0/tapestat.c       2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/tapestat.c       2022-11-06 16:03:27.000000000 +0100
@@ -178,6 +178,7 @@
                return 0;
 
        while ((entry = readdir(dir)) != NULL) {
+
                if (regexec(&tape_reg, &entry->d_name[0], 1, &match, 0) == 0) {
                        /* d_name[2] to skip the st at the front */
                        tmp = atoi(&entry->d_name[2]) + 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/sysstat-12.6.0/tapestat.h new/sysstat-12.6.1/tapestat.h
--- old/sysstat-12.6.0/tapestat.h       2022-05-29 08:46:19.000000000 +0200
+++ new/sysstat-12.6.1/tapestat.h       2022-11-06 16:03:27.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * tapestat: report tape statistics
  * (C) 2015 Hewlett-Packard Development Company, L.P.
- * 
+ *
  * Initial revision by Shane M. SEYMOUR (shane.seymour <at> hpe.com)
  * Modified for sysstat by Sebastien GODARD (sysstat <at> orange.fr)
  */

Reply via email to