diff -Nru sysstat-11.6.0/activity.c sysstat-11.6.1/activity.c --- sysstat-11.6.0/activity.c 2017-08-14 06:25:37.000000000 +0000 +++ sysstat-11.6.1/activity.c 2017-11-01 08:43:42.000000000 +0000 @@ -1342,7 +1342,7 @@ /* CPU weighted frequency */ struct activity pwr_wghfreq_act = { .id = A_PWR_WGHFREQ, - .options = AO_VOLATILE, + .options = AO_VOLATILE + AO_MATRIX, .magic = ACTIVITY_MAGIC_BASE, .group = G_POWER, #ifdef SOURCE_SADC diff -Nru sysstat-11.6.0/CHANGES sysstat-11.6.1/CHANGES --- sysstat-11.6.0/CHANGES 2017-08-14 06:31:29.000000000 +0000 +++ sysstat-11.6.1/CHANGES 2017-11-01 08:44:55.000000000 +0000 @@ -1,5 +1,15 @@ Changes: +2017/11/01: Version 11.6.1 - Sebastien Godard (sysstat orange.fr) + * [JoungKyun Kim]: NLS updated: Add Korean translation. + * [Christian Ehrhardt]: Fix 00 byte after values when --human is + not set. + * Fix invalid token in "iostat -y" JSON output. + * Remove SCCSID strings in executable files to allow reproducible + build. + * Remove unused parameters passed to functions. + * [Lukas Zapletal]: Update comment of SA_DIR in sysconfig file. + 2017/08/14: Version 11.6.0 - Sebastien Godard (sysstat orange.fr) * pidstat: Add new option (-e) which can be used to pass a program to execute and make pidstat monitor it. diff -Nru sysstat-11.6.0/cifsiostat.c sysstat-11.6.1/cifsiostat.c --- sysstat-11.6.0/cifsiostat.c 2017-08-14 06:25:37.000000000 +0000 +++ sysstat-11.6.1/cifsiostat.c 2017-11-01 08:43:42.000000000 +0000 @@ -41,8 +41,10 @@ #define _(string) (string) #endif +#ifdef USE_SCCSID #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } +#endif unsigned long long uptime0[2] = {0, 0}; struct cifs_stats *st_cifs[2]; diff -Nru sysstat-11.6.0/common.c sysstat-11.6.1/common.c --- sysstat-11.6.0/common.c 2017-08-14 06:25:37.000000000 +0000 +++ sysstat-11.6.1/common.c 2017-11-01 08:43:42.000000000 +0000 @@ -1287,7 +1287,6 @@ { int i; double val, lim = 0.005; - char u = '\0'; va_list args; /* @@ -1296,7 +1295,6 @@ */ if (human > 0) { lim = 0.05; - u = '%'; if (wi < 4) { /* E.g., 100% */ wi = 4; @@ -1326,7 +1324,7 @@ } printf(" %*.*f", wi, wd, val); printf("%s", sc_normal); - printf("%c", u); + if (human > 0) printf("%%"); } va_end(args); diff -Nru sysstat-11.6.0/configure sysstat-11.6.1/configure --- sysstat-11.6.0/configure 2017-08-14 06:25:37.000000000 +0000 +++ sysstat-11.6.1/configure 2017-11-01 08:43:42.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sysstat 11.6.0. +# Generated by GNU Autoconf 2.69 for sysstat 11.6.1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ # Identity of this package. PACKAGE_NAME='sysstat' PACKAGE_TARNAME='sysstat' -PACKAGE_VERSION='11.6.0' -PACKAGE_STRING='sysstat 11.6.0' +PACKAGE_VERSION='11.6.1' +PACKAGE_STRING='sysstat 11.6.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1307,7 +1307,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sysstat 11.6.0 to adapt to many kinds of systems. +\`configure' configures sysstat 11.6.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1368,7 +1368,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sysstat 11.6.0:";; + short | recursive ) echo "Configuration of sysstat 11.6.1:";; esac cat <<\_ACEOF @@ -1487,7 +1487,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sysstat configure 11.6.0 +sysstat configure 11.6.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1906,7 +1906,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sysstat $as_me 11.6.0, which was +It was created by sysstat $as_me 11.6.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -5979,7 +5979,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sysstat $as_me 11.6.0, which was +This file was extended by sysstat $as_me 11.6.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -6032,7 +6032,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sysstat config.status 11.6.0 +sysstat config.status 11.6.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru sysstat-11.6.0/configure.in sysstat-11.6.1/configure.in --- sysstat-11.6.0/configure.in 2017-08-14 06:25:37.000000000 +0000 +++ sysstat-11.6.1/configure.in 2017-11-01 08:43:42.000000000 +0000 @@ -4,7 +4,7 @@ # Modified by Sebastien Godard (sysstat orange.fr) # Initialization of $PACKAGE_VERSION and $PACKAGE_NAME variables -AC_INIT(sysstat, 11.6.0) +AC_INIT(sysstat, 11.6.1) # Ensure that a recent enough version of Autoconf is being used AC_PREREQ(2.53) diff -Nru sysstat-11.6.0/count.c sysstat-11.6.1/count.c --- sysstat-11.6.0/count.c 2017-08-14 06:25:37.000000000 +0000 +++ sysstat-11.6.1/count.c 2017-11-01 08:43:42.000000000 +0000 @@ -463,7 +463,8 @@ { FILE *fp; char line[512], fs_name[MAX_FS_LEN], mountp[256]; - int fs = 0; + int fs = 0, skip = 0, skip_next = 0; + char *pos = 0; struct statvfs buf; if ((fp = fopen(MTAB, "r")) == NULL) @@ -472,11 +473,25 @@ /* Get current filesystem */ while (fgets(line, sizeof(line), fp) != NULL) { + /* + * Ignore line if the preceding line did not contain '\n'. + * (Some very long lines may be found for instance when + * overlay2 filesystem with docker is used). + */ + skip = skip_next; + skip_next = (strchr(line, '\n') == NULL); + if (skip) + continue; + if (line[0] == '/') { + /* Find field separator position */ + pos = strchr(line, ' '); + if (pos == NULL) + continue; /* Read filesystem name and mount point */ sscanf(line, "%127s", fs_name); - sscanf(strchr(line, ' ') + 1, "%255s", mountp); + sscanf(pos + 1, "%255s", mountp); /* Replace octal codes */ oct2chr(mountp); diff -Nru sysstat-11.6.0/debian/changelog sysstat-11.6.1/debian/changelog --- sysstat-11.6.0/debian/changelog 2017-12-06 15:29:31.000000000 +0000 +++ sysstat-11.6.1/debian/changelog 2017-12-23 08:17:46.000000000 +0000 @@ -1,16 +1,13 @@ -sysstat (11.6.0-1ubuntu2) bionic; urgency=medium +sysstat (11.6.1-1) unstable; urgency=medium - * Add 15-yet-another-mtab-reading-fix.patch to handle another case of - unsafe mtab reading. (LP: #1720627) + * New upstream version (closes: #875656, #883863). + * Remove no longer needed patches 13-remove-sccsid.patch, and + 14-fix-mtab-reading.patch. + * debian/control: + + set Rules-Requires-Root to "no"; + + Standards-Version: 4.1.2 (no changes). - -- Dariusz Gadomski Wed, 06 Dec 2017 16:29:31 +0100 - -sysstat (11.6.0-1ubuntu1) bionic; urgency=medium - - * Merge with Debian unstable. Remaining changes: - - Fix unwanted 00 bytes in output when --human is not set (LP 1716113) - - -- Christian Ehrhardt Thu, 16 Nov 2017 10:43:50 +0100 + -- Robert Luberda Sat, 23 Dec 2017 09:17:46 +0100 sysstat (11.6.0-1) unstable; urgency=medium @@ -21,13 +18,6 @@ -- Robert Luberda Fri, 25 Aug 2017 22:08:58 +0200 -sysstat (11.5.7-1ubuntu1) artful; urgency=medium - - * d/p/fix-00-byte-after-values-when-human-is-not-set.patch: Fix unwanted - 00 bytes in output when --human is not set (LP: #1716113). - - -- Christian Ehrhardt Tue, 12 Sep 2017 14:11:01 +0200 - sysstat (11.5.7-1) unstable; urgency=medium * New upstream version. diff -Nru sysstat-11.6.0/debian/control sysstat-11.6.1/debian/control --- sysstat-11.6.0/debian/control 2017-12-06 15:29:31.000000000 +0000 +++ sysstat-11.6.1/debian/control 2017-12-23 08:17:46.000000000 +0000 @@ -1,10 +1,10 @@ Source: sysstat Section: admin Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Robert Luberda +Maintainer: Robert Luberda Build-Depends: debhelper (>= 10), gettext, libsensors4-dev, pkg-config -Standards-Version: 4.1.0 +Standards-Version: 4.1.2 +Rules-Requires-Root: no Homepage: http://pagesperso-orange.fr/sebastien.godard/ Vcs-Git: https://anonscm.debian.org/git/users/robert/sysstat.git Vcs-Browser: https://anonscm.debian.org/cgit/users/robert/sysstat.git/ diff -Nru sysstat-11.6.0/debian/patches/04-configs.patch sysstat-11.6.1/debian/patches/04-configs.patch --- sysstat-11.6.0/debian/patches/04-configs.patch 2017-12-06 15:29:31.000000000 +0000 +++ sysstat-11.6.1/debian/patches/04-configs.patch 2017-12-23 08:17:46.000000000 +0000 @@ -20,7 +20,7 @@ # 8am-7pm activity reports every 20 minutes during weekdays. # 0 8-18 * * 1-5 @SA_LIB_DIR@/sa1 1200 3 & diff --git a/sysstat.sysconfig.in b/sysstat.sysconfig.in -index 3d96420..590a3a2 100644 +index 796da1f..7d20252 100644 --- a/sysstat.sysconfig.in +++ b/sysstat.sysconfig.in @@ -1,6 +1,7 @@ @@ -44,5 +44,5 @@ +# statisitcs. Use `-S XALL' to collect all available statistics. +SADC_OPTIONS="-S DISK" - # Directory where sa and sar files are saved. + # Directory where sa and sar files are saved. The directory must exist. SA_DIR=@SA_DIR@ diff -Nru sysstat-11.6.0/debian/patches/06-exec.patch sysstat-11.6.1/debian/patches/06-exec.patch --- sysstat-11.6.0/debian/patches/06-exec.patch 2017-12-06 15:29:31.000000000 +0000 +++ sysstat-11.6.1/debian/patches/06-exec.patch 2017-12-23 08:17:46.000000000 +0000 @@ -10,10 +10,10 @@ 1 file changed, 1 deletion(-) diff --git a/sar.c b/sar.c -index ee1c9fc..b19714c 100644 +index f8a1e54..f3bc958 100644 --- a/sar.c +++ b/sar.c -@@ -1481,7 +1481,6 @@ int main(int argc, char **argv) +@@ -1483,7 +1483,6 @@ int main(int argc, char **argv) /* Call now the data collector */ execv(SADC_PATH, args); diff -Nru sysstat-11.6.0/debian/patches/13-remove-sccsid.patch sysstat-11.6.1/debian/patches/13-remove-sccsid.patch --- sysstat-11.6.0/debian/patches/13-remove-sccsid.patch 2017-12-06 15:29:31.000000000 +0000 +++ sysstat-11.6.1/debian/patches/13-remove-sccsid.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,131 +0,0 @@ -From: Robert Luberda -Date: Wed, 9 Sep 2015 21:37:37 +0200 -Subject: Remove scscid() - -Remove sccsid() function togethwe with SCCSID string that -contained __DATE__ and __TIME__ macros. This should cause -binary to be more reproducible, see -https://wiki.debian.org/ReproducibleBuilds/TimestampsFromCPPMacros ---- - cifsiostat.c | 3 --- - iostat.c | 3 --- - mpstat.c | 3 --- - pidstat.c | 3 --- - sadc.c | 3 --- - sadf.c | 3 --- - sar.c | 3 --- - tapestat.c | 3 --- - 8 files changed, 24 deletions(-) - -diff --git a/cifsiostat.c b/cifsiostat.c -index a3c81d0..4668a7c 100644 ---- a/cifsiostat.c -+++ b/cifsiostat.c -@@ -41,9 +41,6 @@ - #define _(string) (string) - #endif - --#define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ --char *sccsid(void) { return (SCCSID); } -- - unsigned long long uptime0[2] = {0, 0}; - struct cifs_stats *st_cifs[2]; - struct io_hdr_stats *st_hdr_cifs; -diff --git a/iostat.c b/iostat.c -index 6ccaa56..4623b2f 100644 ---- a/iostat.c -+++ b/iostat.c -@@ -48,9 +48,6 @@ - #define _(string) (string) - #endif - --#define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ --char *sccsid(void) { return (SCCSID); } -- - struct stats_cpu *st_cpu[2]; - unsigned long long uptime[2] = {0, 0}; - unsigned long long uptime0[2] = {0, 0}; -diff --git a/mpstat.c b/mpstat.c -index f8eca84..44eaa45 100644 ---- a/mpstat.c -+++ b/mpstat.c -@@ -43,9 +43,6 @@ - #define _(string) (string) - #endif - --#define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ --char *sccsid(void) { return (SCCSID); } -- - unsigned long long uptime[3] = {0, 0, 0}; - unsigned long long uptime0[3] = {0, 0, 0}; - -diff --git a/pidstat.c b/pidstat.c -index 820318b..2f1366f 100644 ---- a/pidstat.c -+++ b/pidstat.c -@@ -47,9 +47,6 @@ - #define _(string) (string) - #endif - --#define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ --char *sccsid(void) { return (SCCSID); } -- - unsigned long long uptime[3] = {0, 0, 0}; - unsigned long long uptime0[3] = {0, 0, 0}; - struct pid_stats *st_pid_list[3] = {NULL, NULL, NULL}; -diff --git a/sadc.c b/sadc.c -index 96af66f..4b97802 100644 ---- a/sadc.c -+++ b/sadc.c -@@ -52,9 +52,6 @@ - #include "sensors/error.h" - #endif - --#define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ --char *sccsid(void) { return (SCCSID); } -- - long interval = 0; - unsigned int flags = 0; - -diff --git a/sadf.c b/sadf.c -index b549ea8..7869342 100644 ---- a/sadf.c -+++ b/sadf.c -@@ -41,9 +41,6 @@ - # define _(string) (string) - #endif - --#define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ --char *sccsid(void) { return (SCCSID); } -- - long interval = -1, count = 0; - - unsigned int flags = 0; -diff --git a/sar.c b/sar.c -index b19714c..4c9409b 100644 ---- a/sar.c -+++ b/sar.c -@@ -42,9 +42,6 @@ - #define _(string) (string) - #endif - --#define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ --char *sccsid(void) { return (SCCSID); } -- - /* Interval and count parameters */ - long interval = -1, count = 0; - -diff --git a/tapestat.c b/tapestat.c -index 268e4a5..df0a01b 100644 ---- a/tapestat.c -+++ b/tapestat.c -@@ -58,9 +58,6 @@ - #define _(string) (string) - #endif - --#define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ --char *sccsid(void) { return (SCCSID); } -- - int cpu_nr = 0; /* Nb of processors on the machine */ - int flags = 0; /* Flag for common options and system state */ - diff -Nru sysstat-11.6.0/debian/patches/14-fix-mtab-reading.patch sysstat-11.6.1/debian/patches/14-fix-mtab-reading.patch --- sysstat-11.6.0/debian/patches/14-fix-mtab-reading.patch 2017-12-06 15:29:31.000000000 +0000 +++ sysstat-11.6.1/debian/patches/14-fix-mtab-reading.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ -From: Robert Luberda -Date: Wed, 23 Aug 2017 22:14:39 +0200 -Subject: Fix reading /etc/mtab file - -Fix a crash occurring in sadc while reading really long -lines in /etc/mtab. - -Such lines are possible for instance when overlay2 filesystem -with docker is used. In such a case a single mtab entry can look -like this (note that new line characters were added for readability, -the original entry contained only one '\n' at the end): - -overlay /var/lib/docker/overlay2/f23d2377a67b9ab1b49555ecd09b2ccdc037e0ee5d9e54f87e59f07f4398e71f/merged overl -ay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/L6VKIYXWBQSJ5R7V35SS43R6Y6:/var/lib/docker/overlay2/l/UCCHK -GXUJPWCMLHR36IZJNNIQP:/var/lib/docker/overlay2/l/RKVYEXD2FH65FTMK76RDWPLESX:/var/lib/docker/overlay2/l/DX4JZRK -TFP2GOO4V6OWQ6CPJFY:/var/lib/docker/overlay2/l/6CYNWDKADUPPDZJ5IHOH2R7Y5S:/var/lib/docker/overlay2/l/JTPINUZIA -TXADL6XWFHG2OYGSF:/var/lib/docker/overlay2/l/OTSTIV5TTRHF4IUD7BODQ2FUON:/var/lib/docker/overlay2/l/QFNH3EFS5EZ -GRTC4DPHU3PJ4TU:/var/lib/docker/overlay2/l/ZOOUKT2E5U4CSLP57Z7MXYX5CD:/var/lib/docker/overlay2/l/3LUU6IDR2HWPT -VBARC5K6XSMRC:/var/lib/docker/overlay2/l/XOHYBP4RWXQKQZ43I7JKG24KE4:/var/lib/docker/overlay2/l/MN5M5B7AY5LPXQQ -C6V2MBJWWBF:/var/lib/docker/overlay2/l/3DRMKQ34AIZD2AROU3TVK3OCUT:/var/lib/docker/overlay2/l/73ZXDHBV6C53Q3SPX -A57EOLGHU:/var/lib/docker/overlay2/l/C2IZBQ55EUTGEAAORSLE73ZPNM:/var/lib/docker/overlay2/l/ITHARNV7RPWN5S3BCZ2 -QDMZIMJ:/var/lib/docker/overlay2/l/TQKUV4LEG4AFUUCMFHHRLDBHAH:/var/lib/docker/overlay2/l/N75JZWPPDEKJ4DTN4GMEG -TDIZL:/var/lib/docker/overlay2/l/QGUUYAETPMK643DG3AKWJAIIZA,upperdir=/var/lib/docker/overlay2/f23d2377a67b9ab1 -b49555ecd09b2ccdc037e0ee5d9e54f87e59f07f4398e71f/diff,workdir=/var/lib/docker/overlay2/f23d2377a67b9ab1b49555e -cd09b2ccdc037e0ee5d9e54f87e59f07f4398e71f/work 0 0 - -Bugs-Debian: https://bugs.debian.org/872926 ---- - count.c | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/count.c b/count.c -index 176a4d3..6ba844d 100644 ---- a/count.c -+++ b/count.c -@@ -463,7 +463,8 @@ int get_filesystem_nr(void) - { - FILE *fp; - char line[512], fs_name[MAX_FS_LEN], mountp[256]; -- int fs = 0; -+ int fs = 0, skip = 0, skip_next = 0; -+ char *pos = 0; - struct statvfs buf; - - if ((fp = fopen(MTAB, "r")) == NULL) -@@ -472,11 +473,21 @@ int get_filesystem_nr(void) - - /* Get current filesystem */ - while (fgets(line, sizeof(line), fp) != NULL) { -+ /* Ignore line if the preceding line did not contain '\n' */ -+ skip = skip_next; -+ skip_next = strchr(line, '\n') == NULL; -+ if (skip) -+ continue; -+ - if (line[0] == '/') { -+ /* Find field separator position */ -+ pos = strchr(line, ' '); -+ if (pos == NULL) -+ continue; - - /* Read filesystem name and mount point */ - sscanf(line, "%127s", fs_name); -- sscanf(strchr(line, ' ') + 1, "%255s", mountp); -+ sscanf(pos + 1, "%255s", mountp); - - /* Replace octal codes */ - oct2chr(mountp); diff -Nru sysstat-11.6.0/debian/patches/15-yet-another-mtab-reading-fix.patch sysstat-11.6.1/debian/patches/15-yet-another-mtab-reading-fix.patch --- sysstat-11.6.0/debian/patches/15-yet-another-mtab-reading-fix.patch 2017-12-06 15:29:31.000000000 +0000 +++ sysstat-11.6.1/debian/patches/15-yet-another-mtab-reading-fix.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,91 +0,0 @@ -Description: Handle segmantation fault while reading /etc/mtab - A segmentation fault may happen with "sadc -S DISK..." or - "sadc -S XDISK..." when lines longer than 512 bytes are read from - /etc/mtab. - - Such lines are possible for instance when overlay2 filesystem - with docker is used. In such a case a single mtab entry can look - like this (note that new line characters were added for readability, - the original entry contained only one '\n' at the end): - - overlay /var/lib/docker/overlay2/f23d2377a67b9ab1b49555ecd09b2ccdc03 - 7e0ee5d9e54f87e59f07f4398e71f/merged overlay rw,relatime,lowerdir=/v - ar/lib/docker/overlay2/l/L6VKIYXWBQSJ5R7V35SS43R6Y6:/var/lib/docker/ - overlay2/l/UCCHKGXUJPWCMLHR36IZJNNIQP:/var/lib/docker/overlay2/l/RKV - YEXD2FH65FTMK76RDWPLESX:/var/lib/docker/overlay2/l/DX4JZRKTFP2GOO4V6 - OWQ6CPJFY:/var/lib/docker/overlay2/l/6CYNWDKADUPPDZJ5IHOH2R7Y5S:/var - /lib/docker/overlay2/l/JTPINUZIATXADL6XWFHG2OYGSF:/var/lib/docker/ov - erlay2/l/OTSTIV5TTRHF4IUD7BODQ2FUON:/var/lib/docker/overlay2/l/QFNH3 - EFS5EZGRTC4DPHU3PJ4TU:/var/lib/docker/overlay2/l/ZOOUKT2E5U4CSLP57Z7 - MXYX5CD:/var/lib/docker/overlay2/l/3LUU6IDR2HWPTVBARC5K6XSMRC:/var/l - ib/docker/overlay2/l/XOHYBP4RWXQKQZ43I7JKG24KE4:/var/lib/docker/over - lay2/l/MN5M5B7AY5LPXQQC6V2MBJWWBF:/var/lib/docker/overlay2/l/3DRMKQ3 - 4AIZD2AROU3TVK3OCUT:/var/lib/docker/overlay2/l/73ZXDHBV6C53Q3SPXA57E - OLGHU:/var/lib/docker/overlay2/l/C2IZBQ55EUTGEAAORSLE73ZPNM:/var/lib - /docker/overlay2/l/ITHARNV7RPWN5S3BCZ2QDMZIMJ:/var/lib/docker/overla - y2/l/TQKUV4LEG4AFUUCMFHHRLDBHAH:/var/lib/docker/overlay2/l/N75JZWPPD - EKJ4DTN4GMEGTDIZL:/var/lib/docker/overlay2/l/QGUUYAETPMK643DG3AKWJAI - IZA,upperdir=/var/lib/docker/overlay2/f23d2377a67b9ab1b49555ecd09b2c - cdc037e0ee5d9e54f87e59f07f4398e71f/diff,workdir=/var/lib/docker/over - lay2/f23d2377a67b9ab1b49555ecd09b2ccdc037e0ee5d9e54f87e59f07f4398e71 - f/work 0 0 - - The crash occurs in the get_filesystem_nr() and read_filesystem() - functions which call strchr(line, ' ') but fail to check if the result - is not NULL. - - This patch adds this check, and when a single mtab entry requires more - that one call to fgets() (i.e. the entry is longer than 512 bytes), it - ignores outcome of the second and following calls. - . - sysstat (11.6.0-1ubuntu2) bionic; urgency=medium - . - * Add 15-yet-another-mtab-reading-fix.patch to handle another case of - unsafe mtab reading. (LP: #1720627) -Origin: upstream, https://github.com/sysstat/sysstat/commit/d40c8ecc530303d7e802617f21a9ac85dbcd68bd -Bug-Ubuntu: https://launchpad.net/bugs/1720627 -Last-Update: 2017-12-06 - ---- sysstat-11.6.0.orig/rd_stats.c -+++ sysstat-11.6.0/rd_stats.c -@@ -2097,7 +2097,8 @@ void read_filesystem(struct stats_filesy - { - FILE *fp; - char line[512], fs_name[128], mountp[256]; -- int fs = 0; -+ int fs = 0, skip = 0, skip_next = 0; -+ char *pos = 0; - struct stats_filesystem *st_filesystem_i; - struct statvfs buf; - -@@ -2105,7 +2106,21 @@ void read_filesystem(struct stats_filesy - return; - - while ((fgets(line, sizeof(line), fp) != NULL) && (fs < nbr)) { -+ /* -+ * Ignore line if the preceding line did not contain '\n'. -+ * (Some very long lines may be found for instance when -+ * overlay2 filesystem with docker is used). -+ */ -+ skip = skip_next; -+ skip_next = (strchr(line, '\n') == NULL); -+ if (skip) -+ continue; -+ - if (line[0] == '/') { -+ /* Find field separator position */ -+ pos = strchr(line, ' '); -+ if (pos == NULL) -+ continue; - - /* Read current filesystem name */ - sscanf(line, "%127s", fs_name); -@@ -2118,7 +2133,7 @@ void read_filesystem(struct stats_filesy - * from the fs name. This will result in a bogus name - * and following statvfs() function will always fail. - */ -- sscanf(strchr(line, ' ') + 1, "%255s", mountp); -+ sscanf(pos + 1, "%255s", mountp); - - /* Replace octal codes */ - oct2chr(mountp); diff -Nru sysstat-11.6.0/debian/patches/fix-00-byte-after-values-when-human-is-not-set.patch sysstat-11.6.1/debian/patches/fix-00-byte-after-values-when-human-is-not-set.patch --- sysstat-11.6.0/debian/patches/fix-00-byte-after-values-when-human-is-not-set.patch 2017-12-06 15:29:31.000000000 +0000 +++ sysstat-11.6.1/debian/patches/fix-00-byte-after-values-when-human-is-not-set.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -From febf3d32d014621664c0d1c85961c63dace68769 Mon Sep 17 00:00:00 2001 -From: Christian Ehrhardt -Date: Tue, 12 Sep 2017 13:55:20 +0200 -Subject: [PATCH] fix 00 byte after values when --human is not set - -Since 33557c3d: Display a percent sign after the value when --human -option used in non --human mode the output has an exta spurious '0' -byte. - -That is printed by the percentage unit being set to char u = '\0'. -But that is not "nothing" it is literally byte "00". - -This change only calls printf with a literal % when needed. - -Fixes 165 - -*Update* - - includes follow on fix in same PR to simplify it further - -Signed-off-by: Christian Ehrhardt - -Forwarded: yes (https://github.com/sysstat/sysstat/pull/166) -Author: Christian Ehrhardt -Bug-Ubuntu: https://bugs.launchpad.net/bugs/1716113 -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=875656 -Last-Update: 2017-09-12 ---- - common.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - ---- a/common.c -+++ b/common.c -@@ -1287,7 +1287,6 @@ void cprintf_pc(int human, int num, int - { - int i; - double val, lim = 0.005; -- char u = '\0'; - va_list args; - - /* -@@ -1296,7 +1295,6 @@ void cprintf_pc(int human, int num, int - */ - if (human > 0) { - lim = 0.05; -- u = '%'; - if (wi < 4) { - /* E.g., 100% */ - wi = 4; -@@ -1326,7 +1324,7 @@ void cprintf_pc(int human, int num, int - } - printf(" %*.*f", wi, wd, val); - printf("%s", sc_normal); -- printf("%c", u); -+ if (human > 0) printf("%%"); - } - - va_end(args); diff -Nru sysstat-11.6.0/debian/patches/series sysstat-11.6.1/debian/patches/series --- sysstat-11.6.0/debian/patches/series 2017-12-06 15:29:31.000000000 +0000 +++ sysstat-11.6.1/debian/patches/series 2017-12-23 08:17:46.000000000 +0000 @@ -5,7 +5,3 @@ 04-configs.patch 06-exec.patch 08-scripts.patch -13-remove-sccsid.patch -14-fix-mtab-reading.patch -fix-00-byte-after-values-when-human-is-not-set.patch -15-yet-another-mtab-reading-fix.patch diff -Nru sysstat-11.6.0/iostat.c sysstat-11.6.1/iostat.c --- sysstat-11.6.0/iostat.c 2017-08-14 06:25:37.000000000 +0000 +++ sysstat-11.6.1/iostat.c 2017-11-01 08:43:42.000000000 +0000 @@ -48,8 +48,10 @@ #define _(string) (string) #endif +#ifdef USE_SCCSID #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } +#endif struct stats_cpu *st_cpu[2]; unsigned long long uptime[2] = {0, 0}; @@ -1676,17 +1678,17 @@ if (count > 0) { count--; } + if (DISPLAY_JSON_OUTPUT(flags)) { + if (count) { + printf(","); + } + printf("\n"); + } } else { skip = 0; } - if (DISPLAY_JSON_OUTPUT(flags)) { - if (count) { - printf(","); - } - printf("\n"); - } if (count) { curr ^= 1; pause(); diff -Nru sysstat-11.6.0/mpstat.c sysstat-11.6.1/mpstat.c --- sysstat-11.6.0/mpstat.c 2017-08-14 06:25:37.000000000 +0000 +++ sysstat-11.6.1/mpstat.c 2017-11-01 08:43:42.000000000 +0000 @@ -43,8 +43,10 @@ #define _(string) (string) #endif +#ifdef USE_SCCSID #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } +#endif unsigned long long uptime[3] = {0, 0, 0}; unsigned long long uptime0[3] = {0, 0, 0}; diff -Nru sysstat-11.6.0/nls/ko.po sysstat-11.6.1/nls/ko.po --- sysstat-11.6.0/nls/ko.po 1970-01-01 00:00:00.000000000 +0000 +++ sysstat-11.6.1/nls/ko.po 2017-11-01 08:43:42.000000000 +0000 @@ -0,0 +1,581 @@ +# NLS support for the sysstat package. +# This file is distributed under the same license as the sysstat package. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Sebastien GODARD , 1999-2012. +# Korean translation by JoungKyun Kim , 1997-2017 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: sysstat 11.6.0\n" +"Report-Msgid-Bugs-To: sysstat orange.fr\n" +"POT-Creation-Date: 2017-08-14 08:32+0200\n" +"PO-Revision-Date: 2017-08-21 01:54+0900\n" +"Last-Translator: JoungKyun Kim \n" +"Language-Team: AnNyung LInux \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: iostat.c:86 cifsiostat.c:70 mpstat.c:126 sar.c:96 tapestat.c:95 +#, c-format +msgid "Usage: %s [ options ] [ [ ] ]\n" +msgstr "사용법: %s [ 옵션 ] [ <간격> [ <회수> ] ]\n" + +#: iostat.c:89 +#, c-format +msgid "" +"Options are:\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] " +"[ -z ]\n" +"[ -j { ID | LABEL | PATH | UUID | ... } ] [ --human ] [ -o JSON ]\n" +"[ [ -H ] -g ] [ -p [ [,...] | ALL ] ]\n" +"[ [...] | ALL ] [ --debuginfo ]\n" +msgstr "" +"옵션:\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] " +"[ -z ]\n" +"[ -j { ID | LABEL | PATH | UUID | ... } ] [ --human ] [ -o JSON ]\n" +"[ [ -T ] -g <그룹이름> ] [ -p [ <장치> [,...] | ALL ] ]\n" +"[ <장치> [...] | ALL ] [ --debuginfo ]\n" + +#: iostat.c:95 +#, c-format +msgid "" +"Options are:\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] " +"[ -z ]\n" +"[ -j { ID | LABEL | PATH | UUID | ... } ] [ --human ] [ -o JSON ]\n" +"[ [ -H ] -g ] [ -p [ [,...] | ALL ] ]\n" +"[ [...] | ALL ]\n" +msgstr "" +"옵션:\n" +"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] " +"[ -z ]\n" +"[ -j { ID | LABEL | PATH | UUID | ... } ] [ --human ] [ -o JSON ]\n" +"[ [ -T ] -g <그룹이름> ] [ -p [ <장치> [,...] | ALL ] ]\n" +"[ <장치> [...] | ALL ]\n" + +#: iostat.c:326 +#, c-format +msgid "Cannot find disk data\n" +msgstr "디스크 데이터를 찾을 수 없습니다.\n" + +#: iostat.c:1812 sa_common.c:1590 +#, c-format +msgid "Invalid type of persistent device name\n" +msgstr "영구 장치 이름 형식이 잘못 되었습니다.\n" + +#: sadc.c:89 +#, c-format +msgid "Usage: %s [ options ] [ [ ] ] [ ]\n" +msgstr "사용법: %s [ 옵션 ] [ <간격> [ <회수> ] ] [ <출력파일> ]\n" + +#: sadc.c:92 +#, c-format +msgid "" +"Options are:\n" +"[ -C ] [ -D ] [ -F ] [ -L ] [ -V ]\n" +"[ -S { INT | DISK | IPV6 | POWER | SNMP | XDISK | ALL | XALL } ]\n" +msgstr "" +"옵션:\n" +"[ -C <코멘트> ] [ -D ] [ -F ] [ -L ] [ -V ]\n" +"[ -S { INT | DISK | IPV6 | POWER | SNMP | XDISK | ALL | XALL } ]\n" + +#: sadc.c:267 +#, c-format +msgid "Cannot write data to system activity file: %s\n" +msgstr "시스템 동작 파일을 기록할 수 없습니다: %s\n" + +#: sadc.c:563 +#, c-format +msgid "Cannot write system activity file header: %s\n" +msgstr "시스템 동작 파일 헤더를 기록할 수 없습니다: %s\n" + +#: sadc.c:763 sadc.c:772 sadc.c:839 ioconf.c:510 rd_stats.c:69 +#: sa_common.c:1204 count.c:118 +#, c-format +msgid "Cannot open %s: %s\n" +msgstr "%s 파일을 열수 없습니다: %s\n" + +#: sadc.c:1019 +#, c-format +msgid "Cannot append data to that file (%s)\n" +msgstr "%s 파일에 데이터를 추가할 수 없습니다.\n" + +#: common.c:77 +#, c-format +msgid "sysstat version %s\n" +msgstr "sysstat 버전 %s\n" + +#: cifsiostat.c:74 +#, c-format +msgid "" +"Options are:\n" +"[ --human ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n" +msgstr "" +"옵션:\n" +"[ --human ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n" + +#: cifsiostat.c:77 +#, c-format +msgid "" +"Options are:\n" +"[ --human ] [ -h ] [ -k | -m ] [ -t ] [ -V ]\n" +msgstr "" +"옵션:\n" +"[ --human ] [ -h ] [ -k | -m ] [ -t ] [ -V ]\n" + +#: mpstat.c:129 +#, c-format +msgid "" +"Options are:\n" +"[ -A ] [ -n ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ]\n" +"[ -N { | ALL } ] [ -o JSON ] [ -P { | ON | ALL } ]\n" +msgstr "" +"옵션:\n" +"[ -A ] [ -n ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ]\n" +"[ -N { <노드목록> | ALL } ] [ -o JSON ] [ -P { | ON | ALL } ]\n" + +#: mpstat.c:1672 sar.c:358 pidstat.c:2406 +msgid "Average:" +msgstr "평균값: " + +#: sadf.c:87 +#, c-format +msgid "" +"Usage: %s [ options ] [ [ ] ] [ | -[0-9]+ ]\n" +msgstr "사용법: %s [ 옵션 ] [ <간격> [ <회수> ] ] [ <데이터파일> | -[0-9]+ ]\n" + +#: sadf.c:90 +#, c-format +msgid "" +"Options are:\n" +"[ -C ] [ -c | -d | -g | -j | -p | -r | -x ] [ -H ] [ -h ] [ -T | -t | -U ] " +"[ -V ]\n" +"[ -O [,...] ] [ -P { [,...] | ALL } ]\n" +"[ -s [ ] ] [ -e [ ] ]\n" +"[ -- ]\n" +msgstr "" +"옵션:\n" +"[ -C ] [ -c | -d | -g | -j | -p | -r | -x ] [ -H ] [ -h ] [ -T | -t | -U ] " +"[ -V ]\n" +"[ -O [,...] ] [ -P { [,...] | ALL } ]\n" +"[ -s [ ] ] [ -e [ ] ]\n" +"[ -- ]\n" + +#: pr_stats.c:2538 pr_stats.c:2549 pr_stats.c:2656 pr_stats.c:2667 +msgid "Summary:" +msgstr "요약:" + +#: pr_stats.c:2591 +msgid "Other devices not listed here" +msgstr "여기에 언급되지 않은 다른 장치" + +#: sar.c:111 +#, c-format +msgid "" +"Options are:\n" +"[ -A ] [ -B ] [ -b ] [ -C ] [ -D ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ]\n" +"[ -p ] [ -q ] [ -r [ ALL ] ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ]\n" +"[ -v ] [ -W ] [ -w ] [ -y ] [ --human ] [ --sadc ]\n" +"[ -I { | SUM | ALL } ] [ -P { | ALL } ]\n" +"[ -m { [,...] | ALL } ] [ -n { [,...] | ALL } ]\n" +"[ -j { ID | LABEL | PATH | UUID | ... } ]\n" +"[ -f [ ] | -o [ ] | -[0-9]+ ]\n" +"[ -i ] [ -s [ ] ] [ -e [ ] ]\n" +msgstr "" +"옵션:\n" +"[ -A ] [ -B ] [ -b ] [ -C ] [ -D ] [ -d ] [ -F [ MOUNT ] ] [ -H ] [ -h ]\n" +"[ -p ] [ -q ] [ -r [ ALL ] ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ]\n" +"[ -v ] [ -W ] [ -w ] [ -y ] [ --human ] [ --sadc ]\n" +"[ -I { | SUM | ALL } ] [ -P { | ALL } ]\n" +"[ -m { <키워드> [,...] | ALL } ] [ -n { <키워드> [,...] | ALL } ]\n" +"[ -j { ID | LABEL | PATH | UUID | ... } ]\n" +"[ -f [ <파일이름> ] | -o [ <파일이름> ] | -[0-9]+ ]\n" +"[ -i <간격> ] [ -s [ ] ] [ -e [ ] ]\n" + +#: sar.c:134 +#, c-format +msgid "Main options and reports:\n" +msgstr "주요 옵션과 그 결과:\n" + +#: sar.c:135 +#, c-format +msgid "\t-B\tPaging statistics\n" +msgstr "\t-B\t페이징 통계\n" + +#: sar.c:136 +#, c-format +msgid "\t-b\tI/O and transfer rate statistics\n" +msgstr "\t-b\tI/O와 전송률 통계\n" + +#: sar.c:137 +#, c-format +msgid "\t-d\tBlock devices statistics\n" +msgstr "\t-d\t블럭 장치 통계\n" + +#: sar.c:138 +#, c-format +msgid "\t-F [ MOUNT ]\n" +msgstr "\t-F [ 마운트 ]\n" + +#: sar.c:139 +#, c-format +msgid "\t\tFilesystems statistics\n" +msgstr "\t\t파일시스템 통계\n" + +#: sar.c:140 +#, c-format +msgid "\t-H\tHugepages utilization statistics\n" +msgstr "\t-H\tHugepage 사용량 통계\n" + +#: sar.c:141 +#, c-format +msgid "" +"\t-I { | SUM | ALL }\n" +"\t\tInterrupts statistics\n" +msgstr "" +"\t-I { | SUM | ALL }\n" +"\t\t인터럽트 통계\n" + +#: sar.c:143 +#, c-format +msgid "" +"\t-m { [,...] | ALL }\n" +"\t\tPower management statistics\n" +"\t\tKeywords are:\n" +"\t\tCPU\tCPU instantaneous clock frequency\n" +"\t\tFAN\tFans speed\n" +"\t\tFREQ\tCPU average clock frequency\n" +"\t\tIN\tVoltage inputs\n" +"\t\tTEMP\tDevices temperature\n" +"\t\tUSB\tUSB devices plugged into the system\n" +msgstr "" +"\t-m { <키워드> [,...] | ALL }\n" +"\t\t전원 관리 통계\n" +"\t\t키워드:\n" +"\t\tCPU\tCPU 주파수\n" +"\t\tFAN\t팬 회전 수\n" +"\t\tFREQ\tCPU 평균 주파수\n" +"\t\tIN\t인입 전압\n" +"\t\tTEMP\t장치 온도\n" +"\t\tUSB\t시스템에 인식된 USB 장치\n" + +#: sar.c:152 +#, fuzzy, c-format +msgid "" +"\t-n { [,...] | ALL }\n" +"\t\tNetwork statistics\n" +"\t\tKeywords are:\n" +"\t\tDEV\tNetwork interfaces\n" +"\t\tEDEV\tNetwork interfaces (errors)\n" +"\t\tNFS\tNFS client\n" +"\t\tNFSD\tNFS server\n" +"\t\tSOCK\tSockets\t(v4)\n" +"\t\tIP\tIP traffic\t(v4)\n" +"\t\tEIP\tIP traffic\t(v4) (errors)\n" +"\t\tICMP\tICMP traffic\t(v4)\n" +"\t\tEICMP\tICMP traffic\t(v4) (errors)\n" +"\t\tTCP\tTCP traffic\t(v4)\n" +"\t\tETCP\tTCP traffic\t(v4) (errors)\n" +"\t\tUDP\tUDP traffic\t(v4)\n" +"\t\tSOCK6\tSockets\t(v6)\n" +"\t\tIP6\tIP traffic\t(v6)\n" +"\t\tEIP6\tIP traffic\t(v6) (errors)\n" +"\t\tICMP6\tICMP traffic\t(v6)\n" +"\t\tEICMP6\tICMP traffic\t(v6) (errors)\n" +"\t\tUDP6\tUDP traffic\t(v6)\n" +"\t\tFC\tFibre channel HBAs\n" +"\t\tSOFT\tSoftware-based network processing\n" +msgstr "" +"\t-n { <키워드> [,...] | ALL }\n" +"\t\t네트워크 통계\n" +"\t\t키워드:\n" +"\t\tDEV\t네트워크 장치\n" +"\t\tEDEV\t네트워크 장치 (오류)\n" +"\t\tNFS\tNFS 클라이언트\n" +"\t\tNFSD\tNFS 서버\n" +"\t\tSOCK\t소켓\t(v4)\n" +"\t\tIP\tIP 트래픽\t(v4)\n" +"\t\tEIP\tIP 트래픽\t(v4) (오류)\n" +"\t\tICMP\tICMP 트래픽\t(v4)\n" +"\t\tEICMP\tICMP 트래픽\t(v4) (오류)\n" +"\t\tTCP\tTCP 트래픽\t(v4)\n" +"\t\tETCP\tTCP 트래픽\t(v4) (오류)\n" +"\t\tUDP\tUDP 트래픽\t(v4)\n" +"\t\tSOCK6\t소켓\t(v6)\n" +"\t\tIP6\tIP 트래픽\t(v6)\n" +"\t\tEIP6\tIP 트래픽\t(v6) (오류)\n" +"\t\tICMP6\tICMP 트래픽\t(v6)\n" +"\t\tEICMP6\tICMP 트래픽\t(v6) (오류)\n" +"\t\tUDP6\tUDP 트래픽\t(v6)\n" +"\t\tFC\t파이버 채널 HBA\n" +"\t\tSOFT\t소프트웨어 기반 네트워킹\n" + +#: sar.c:175 +#, c-format +msgid "\t-q\tQueue length and load average statistics\n" +msgstr "\t-q\t큐 길이와 load average 통계\n" + +#: sar.c:176 +#, c-format +msgid "" +"\t-r [ ALL ]\n" +"\t\tMemory utilization statistics\n" +msgstr "" +"\t-r [ ALL ]\n" +"\t-r\t메모리 사용 통계\n" + +#: sar.c:178 +#, c-format +msgid "\t-S\tSwap space utilization statistics\n" +msgstr "\t-S\t스왑 공간 사용 통계\n" + +#: sar.c:179 +#, c-format +msgid "" +"\t-u [ ALL ]\n" +"\t\tCPU utilization statistics\n" +msgstr "" +"\t-u [ ALL ]\n" +"\t\tCPU 사용 통계\n" + +#: sar.c:181 +#, c-format +msgid "\t-v\tKernel tables statistics\n" +msgstr "\t-v\t커널 테이블 통계\n" + +#: sar.c:182 +#, c-format +msgid "\t-W\tSwapping statistics\n" +msgstr "\t-W\t스와핑 통계\n" + +#: sar.c:183 +#, c-format +msgid "\t-w\tTask creation and system switching statistics\n" +msgstr "\t-w\t작업 생성 및 시스템 스케줄링 통계\n" + +#: sar.c:184 +#, c-format +msgid "\t-y\tTTY devices statistics\n" +msgstr "\t-y\tTTY 장치 통계\n" + +#: sar.c:198 +#, c-format +msgid "Data collector will be sought in PATH\n" +msgstr "데이터 수집기는 PATH에서 검색 됩니다.\n" + +#: sar.c:201 +#, c-format +msgid "Data collector found: %s\n" +msgstr "데이터 수집기 발견: %s\n" + +#: sar.c:260 +#, c-format +msgid "End of data collecting unexpected\n" +msgstr "데이터 수집이 예기치 않게 종료되었습니다.\n" + +#: sar.c:813 +#, c-format +msgid "Using a wrong data collector from a different sysstat version\n" +msgstr "다른 버전의 sysstat으로 잘못된 데이터 수집을 하고 있습니다.\n" + +#: sar.c:865 +#, c-format +msgid "Inconsistent input data\n" +msgstr "일치하지 않는 입력 데이터 입니다.\n" + +#: sar.c:1044 pidstat.c:239 +#, c-format +msgid "Requested activities not available\n" +msgstr "요청된 동작은 사용할 수 없습니다.\n" + +#: sar.c:1347 +#, c-format +msgid "-f and -o options are mutually exclusive\n" +msgstr "-f 및 -o 옵션은 함께 사용할 수 없습니다.\n" + +#: sar.c:1353 +#, c-format +msgid "Not reading from a system activity file (use -f option)\n" +msgstr "시스템 동작 파일을 읽지 않습니다. (-f 옵션을 사용하십시오)\n" + +#: sar.c:1489 +#, c-format +msgid "Cannot find the data collector (%s)\n" +msgstr "데이터 수집기(%s)를 찾을 수 없습니다.\n" + +#: sa_conv.c:69 +#, c-format +msgid "Cannot convert the format of this file\n" +msgstr "이 파일의 형식은 변환할 수 없습니다.\n" + +#: sa_conv.c:562 +#, c-format +msgid "" +"\n" +"CPU activity not found in file. Aborting...\n" +msgstr "" +"\n" +"파일에서 CPU 동작을 찾을 수 없습니다. 중단 중...\n" + +#: sa_conv.c:578 +#, c-format +msgid "" +"\n" +"Invalid data found. Aborting...\n" +msgstr "" +"\n" +"올바르지 않은 데이터가 발견 되었습니다. 중단 중..\n" + +#: sa_conv.c:897 +#, c-format +msgid "Statistics: " +msgstr "통계: " + +#: sa_conv.c:1016 +#, c-format +msgid "" +"\n" +"File successfully converted to sysstat format version %s\n" +msgstr "" +"\n" +"파일이 sysstat version %s 형식으로 변환 되었습니다.\n" + +#: pidstat.c:87 +#, c-format +msgid "" +"Usage: %s [ options ] [ [ ] ] [ -e ]\n" +msgstr "" +"사용법: %s [ 옵션 ] [ <간격> [ <회수> ] ] [ -e <프로그램> <옵션> ]\n" + +#: pidstat.c:90 +#, c-format +msgid "" +"Options are:\n" +"[ -d ] [ -H ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U " +"[ ] ]\n" +"[ -u ] [ -V ] [ -v ] [ -w ] [ -C ] [ -G ] [ --" +"human ]\n" +"[ -p { [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]\n" +msgstr "" +"옵션:\n" +"[ -d ] [ -H ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U " +"[ <사용자이름> ] ]\n" +"[ -u ] [ -V ] [ -v ] [ -w ] [ -C <명령> ] [ -G <프로세스이름> ] [ --" +"human ]\n" +"[ -p { [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]\n" + +#: sa_common.c:1000 +#, c-format +msgid "Error while reading system activity file: %s\n" +msgstr "시스템 동작 파일을 읽는 중 오류가 발생했습니다: %s\n" + +#: sa_common.c:1010 +#, c-format +msgid "End of system activity file unexpected\n" +msgstr "시스템 동작 파일이 예기치 않게 종료되었습니다.\n" + +#: sa_common.c:1029 +#, c-format +msgid "File created by sar/sadc from sysstat version %d.%d.%d" +msgstr "sysstat 버전 %d.%d.%d에 의해 생성된 파일" + +#: sa_common.c:1062 +#, c-format +msgid "Invalid system activity file: %s\n" +msgstr "시스템 동작 파일이 올바르지 않습니다: %s\n" + +#: sa_common.c:1074 +#, c-format +msgid "Endian format mismatch\n" +msgstr "엔디안 형식이 일치하지 않습니다.\n" + +#: sa_common.c:1078 +#, c-format +msgid "Current sysstat version cannot read the format of this file (%#x)\n" +msgstr "현재 sysstat 버전으로는 더이상 이 파일(%#x)의 형식을 읽을 수 없습니다.\n" + +#: sa_common.c:1207 +#, c-format +msgid "Please check if data collecting is enabled\n" +msgstr "데이터 수집기가 사용가능 한지 확인하십시오.\n" + +#: sa_common.c:1400 +#, c-format +msgid "Requested activities not available in file %s\n" +msgstr "요청한 동작은 %s 파일에서 사용할 수 없습니다.\n" + +#: tapestat.c:97 +#, c-format +msgid "" +"Options are:\n" +"[ --human ] [ -k | -m ] [ -t ] [ -V ] [ -y ] [ -z ]\n" +msgstr "" +"옵션:\n" +"[ --human ] [ -k | -m ] [ -t ] [ -V ] [ -y ] [ -z ]\n" + +#: tapestat.c:263 +#, c-format +msgid "No tape drives with statistics found\n" +msgstr "통계가 있는 테이프 장치가 없습니다.\n" + +#: count.c:169 +#, c-format +msgid "Cannot handle so many processors!\n" +msgstr "너무 많은 프로세서는 지원하지 않습니다!\n" + +#: sadf_misc.c:834 +#, c-format +msgid "System activity data file: %s (%#x)\n" +msgstr "시스템 동작 정보 파일: %s (%#x)\n" + +#: sadf_misc.c:843 +#, c-format +msgid "Genuine sa datafile: %s (%x)\n" +msgstr "실제 sa 데이터파일: %s (%x)\n" + +#: sadf_misc.c:844 +msgid "no" +msgstr "아니오" + +#: sadf_misc.c:844 +msgid "yes" +msgstr "예" + +#: sadf_misc.c:847 +#, c-format +msgid "Host: " +msgstr "호스트: " + +#: sadf_misc.c:854 +#, c-format +msgid "Number of CPU for last samples in file: %u\n" +msgstr "파일의 마지막 항목에 대한 프로세서 번호: %u\n" + +#: sadf_misc.c:860 +#, c-format +msgid "File date: %s\n" +msgstr "파일 날자: %s\n" + +#: sadf_misc.c:863 +#, c-format +msgid "File time: " +msgstr "파일 시간: " + +#: sadf_misc.c:868 +#, c-format +msgid "Size of a long int: %d\n" +msgstr "long int 크기: %d\n" + +#: sadf_misc.c:874 +#, c-format +msgid "List of activities:\n" +msgstr "동작 목록:\n" + +#: sadf_misc.c:887 +#, c-format +msgid "\t[Unknown activity format]" +msgstr "\t[알 수없는 동작 형식]" diff -Nru sysstat-11.6.0/nls/sysstat.pot sysstat-11.6.1/nls/sysstat.pot --- sysstat-11.6.0/nls/sysstat.pot 2017-08-14 06:32:26.000000000 +0000 +++ sysstat-11.6.1/nls/sysstat.pot 2017-11-01 08:45:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: sysstat orange.fr\n" -"POT-Creation-Date: 2017-08-14 08:32+0200\n" +"POT-Creation-Date: 2017-11-01 09:45+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,12 +17,12 @@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: iostat.c:86 cifsiostat.c:70 mpstat.c:126 sar.c:96 tapestat.c:95 +#: iostat.c:88 cifsiostat.c:72 mpstat.c:128 sar.c:98 tapestat.c:97 #, c-format msgid "Usage: %s [ options ] [ [ ] ]\n" msgstr "" -#: iostat.c:89 +#: iostat.c:91 #, c-format msgid "" "Options are:\n" @@ -33,7 +33,7 @@ "[ [...] | ALL ] [ --debuginfo ]\n" msgstr "" -#: iostat.c:95 +#: iostat.c:97 #, c-format msgid "" "Options are:\n" @@ -44,22 +44,22 @@ "[ [...] | ALL ]\n" msgstr "" -#: iostat.c:326 +#: iostat.c:328 #, c-format msgid "Cannot find disk data\n" msgstr "" -#: iostat.c:1812 sa_common.c:1590 +#: iostat.c:1814 sa_common.c:1590 #, c-format msgid "Invalid type of persistent device name\n" msgstr "" -#: sadc.c:89 +#: sadc.c:91 #, c-format msgid "Usage: %s [ options ] [ [ ] ] [ ]\n" msgstr "" -#: sadc.c:92 +#: sadc.c:94 #, c-format msgid "" "Options are:\n" @@ -67,23 +67,23 @@ "[ -S { INT | DISK | IPV6 | POWER | SNMP | XDISK | ALL | XALL } ]\n" msgstr "" -#: sadc.c:267 +#: sadc.c:269 #, c-format msgid "Cannot write data to system activity file: %s\n" msgstr "" -#: sadc.c:563 +#: sadc.c:565 #, c-format msgid "Cannot write system activity file header: %s\n" msgstr "" -#: sadc.c:763 sadc.c:772 sadc.c:839 ioconf.c:510 rd_stats.c:69 +#: sadc.c:765 sadc.c:774 sadc.c:841 ioconf.c:510 rd_stats.c:69 #: sa_common.c:1204 count.c:118 #, c-format msgid "Cannot open %s: %s\n" msgstr "" -#: sadc.c:1019 +#: sadc.c:1021 #, c-format msgid "Cannot append data to that file (%s)\n" msgstr "" @@ -93,21 +93,21 @@ msgid "sysstat version %s\n" msgstr "" -#: cifsiostat.c:74 +#: cifsiostat.c:76 #, c-format msgid "" "Options are:\n" "[ --human ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n" msgstr "" -#: cifsiostat.c:77 +#: cifsiostat.c:79 #, c-format msgid "" "Options are:\n" "[ --human ] [ -h ] [ -k | -m ] [ -t ] [ -V ]\n" msgstr "" -#: mpstat.c:129 +#: mpstat.c:131 #, c-format msgid "" "Options are:\n" @@ -115,17 +115,17 @@ "[ -N { | ALL } ] [ -o JSON ] [ -P { | ON | ALL } ]\n" msgstr "" -#: mpstat.c:1672 sar.c:358 pidstat.c:2406 +#: mpstat.c:1674 sar.c:360 pidstat.c:2399 msgid "Average:" msgstr "" -#: sadf.c:87 +#: sadf.c:89 #, c-format msgid "" "Usage: %s [ options ] [ [ ] ] [ | -[0-9]+ ]\n" msgstr "" -#: sadf.c:90 +#: sadf.c:92 #, c-format msgid "" "Options are:\n" @@ -136,15 +136,15 @@ "[ -- ]\n" msgstr "" -#: pr_stats.c:2538 pr_stats.c:2549 pr_stats.c:2656 pr_stats.c:2667 +#: pr_stats.c:2535 pr_stats.c:2546 pr_stats.c:2653 pr_stats.c:2664 msgid "Summary:" msgstr "" -#: pr_stats.c:2591 +#: pr_stats.c:2588 msgid "Other devices not listed here" msgstr "" -#: sar.c:111 +#: sar.c:113 #, c-format msgid "" "Options are:\n" @@ -158,49 +158,49 @@ "[ -i ] [ -s [ ] ] [ -e [ ] ]\n" msgstr "" -#: sar.c:134 +#: sar.c:136 #, c-format msgid "Main options and reports:\n" msgstr "" -#: sar.c:135 +#: sar.c:137 #, c-format msgid "\t-B\tPaging statistics\n" msgstr "" -#: sar.c:136 +#: sar.c:138 #, c-format msgid "\t-b\tI/O and transfer rate statistics\n" msgstr "" -#: sar.c:137 +#: sar.c:139 #, c-format msgid "\t-d\tBlock devices statistics\n" msgstr "" -#: sar.c:138 +#: sar.c:140 #, c-format msgid "\t-F [ MOUNT ]\n" msgstr "" -#: sar.c:139 +#: sar.c:141 #, c-format msgid "\t\tFilesystems statistics\n" msgstr "" -#: sar.c:140 +#: sar.c:142 #, c-format msgid "\t-H\tHugepages utilization statistics\n" msgstr "" -#: sar.c:141 +#: sar.c:143 #, c-format msgid "" "\t-I { | SUM | ALL }\n" "\t\tInterrupts statistics\n" msgstr "" -#: sar.c:143 +#: sar.c:145 #, c-format msgid "" "\t-m { [,...] | ALL }\n" @@ -214,7 +214,7 @@ "\t\tUSB\tUSB devices plugged into the system\n" msgstr "" -#: sar.c:152 +#: sar.c:154 #, c-format msgid "" "\t-n { [,...] | ALL }\n" @@ -242,91 +242,91 @@ "\t\tSOFT\tSoftware-based network processing\n" msgstr "" -#: sar.c:175 +#: sar.c:177 #, c-format msgid "\t-q\tQueue length and load average statistics\n" msgstr "" -#: sar.c:176 +#: sar.c:178 #, c-format msgid "" "\t-r [ ALL ]\n" "\t\tMemory utilization statistics\n" msgstr "" -#: sar.c:178 +#: sar.c:180 #, c-format msgid "\t-S\tSwap space utilization statistics\n" msgstr "" -#: sar.c:179 +#: sar.c:181 #, c-format msgid "" "\t-u [ ALL ]\n" "\t\tCPU utilization statistics\n" msgstr "" -#: sar.c:181 +#: sar.c:183 #, c-format msgid "\t-v\tKernel tables statistics\n" msgstr "" -#: sar.c:182 +#: sar.c:184 #, c-format msgid "\t-W\tSwapping statistics\n" msgstr "" -#: sar.c:183 +#: sar.c:185 #, c-format msgid "\t-w\tTask creation and system switching statistics\n" msgstr "" -#: sar.c:184 +#: sar.c:186 #, c-format msgid "\t-y\tTTY devices statistics\n" msgstr "" -#: sar.c:198 +#: sar.c:200 #, c-format msgid "Data collector will be sought in PATH\n" msgstr "" -#: sar.c:201 +#: sar.c:203 #, c-format msgid "Data collector found: %s\n" msgstr "" -#: sar.c:260 +#: sar.c:262 #, c-format msgid "End of data collecting unexpected\n" msgstr "" -#: sar.c:813 +#: sar.c:815 #, c-format msgid "Using a wrong data collector from a different sysstat version\n" msgstr "" -#: sar.c:865 +#: sar.c:867 #, c-format msgid "Inconsistent input data\n" msgstr "" -#: sar.c:1044 pidstat.c:239 +#: sar.c:1046 pidstat.c:241 #, c-format msgid "Requested activities not available\n" msgstr "" -#: sar.c:1347 +#: sar.c:1349 #, c-format msgid "-f and -o options are mutually exclusive\n" msgstr "" -#: sar.c:1353 +#: sar.c:1355 #, c-format msgid "Not reading from a system activity file (use -f option)\n" msgstr "" -#: sar.c:1489 +#: sar.c:1491 #, c-format msgid "Cannot find the data collector (%s)\n" msgstr "" @@ -362,13 +362,13 @@ "File successfully converted to sysstat format version %s\n" msgstr "" -#: pidstat.c:87 +#: pidstat.c:89 #, c-format msgid "" "Usage: %s [ options ] [ [ ] ] [ -e ]\n" msgstr "" -#: pidstat.c:90 +#: pidstat.c:92 #, c-format msgid "" "Options are:\n" @@ -419,14 +419,14 @@ msgid "Requested activities not available in file %s\n" msgstr "" -#: tapestat.c:97 +#: tapestat.c:99 #, c-format msgid "" "Options are:\n" "[ --human ] [ -k | -m ] [ -t ] [ -V ] [ -y ] [ -z ]\n" msgstr "" -#: tapestat.c:263 +#: tapestat.c:265 #, c-format msgid "No tape drives with statistics found\n" msgstr "" diff -Nru sysstat-11.6.0/pidstat.c sysstat-11.6.1/pidstat.c --- sysstat-11.6.0/pidstat.c 2017-08-14 06:25:38.000000000 +0000 +++ sysstat-11.6.1/pidstat.c 2017-11-01 08:43:42.000000000 +0000 @@ -47,8 +47,10 @@ #define _(string) (string) #endif +#ifdef USE_SCCSID #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } +#endif unsigned long long uptime[3] = {0, 0, 0}; unsigned long long uptime0[3] = {0, 0, 0}; @@ -1549,7 +1551,6 @@ * the timestamp of the previous sample. * @curr_string String displayed at the beginning of current sample stats. * This is the timestamp of the current sample. - * @itv Interval of time in jiffies. * * RETURNS: * 0 if all the processes to display have terminated. @@ -1557,8 +1558,7 @@ *************************************************************************** */ int write_pid_child_all_stats(int prev, int curr, int dis, - char *prev_string, char *curr_string, - unsigned long long itv) + char *prev_string, char *curr_string) { struct pid_stats *pstc, *pstp; unsigned int p; @@ -1935,7 +1935,6 @@ * @curr_string String displayed at the beginning of current sample stats. * This is the timestamp of the current sample, or "Average" * when displaying average stats. - * @itv Interval of time in jiffies. * * RETURNS: * 0 if all the processes to display have terminated. @@ -1943,8 +1942,7 @@ *************************************************************************** */ int write_pid_stack_stats(int prev, int curr, int dis, int disp_avg, - char *prev_string, char *curr_string, - unsigned long long itv) + char *prev_string, char *curr_string) { struct pid_stats *pstc, *pstp; unsigned int p; @@ -2148,7 +2146,6 @@ * @curr_string String displayed at the beginning of current sample stats. * This is the timestamp of the current sample, or "Average" * when displaying average stats. - * @itv Interval of time in jiffies. * * RETURNS: * 0 if all the processes to display have terminated. @@ -2156,8 +2153,7 @@ *************************************************************************** */ int write_pid_rt_stats(int prev, int curr, int dis, - char *prev_string, char *curr_string, - unsigned long long itv) + char *prev_string, char *curr_string) { struct pid_stats *pstc, *pstp; unsigned int p; @@ -2200,7 +2196,6 @@ * @curr_string String displayed at the beginning of current sample stats. * This is the timestamp of the current sample, or "Average" * when displaying average stats. - * @itv Interval of time in jiffies. * * RETURNS: * 0 if all the processes to display have terminated. @@ -2208,8 +2203,7 @@ *************************************************************************** */ int write_pid_ktab_stats(int prev, int curr, int dis, int disp_avg, - char *prev_string, char *curr_string, - unsigned long long itv) + char *prev_string, char *curr_string) { struct pid_stats *pstc, *pstp; unsigned int p; @@ -2320,8 +2314,7 @@ itv, g_itv); } if (DISPLAY_CHILD_STATS(tskflag)) { - again += write_pid_child_all_stats(prev, curr, dis, prev_string, curr_string, - itv); + again += write_pid_child_all_stats(prev, curr, dis, prev_string, curr_string); } } else { @@ -2355,7 +2348,7 @@ /* Display stack stats */ if (DISPLAY_STACK(actflag)) { again += write_pid_stack_stats(prev, curr, dis, disp_avg, - prev_string, curr_string, itv); + prev_string, curr_string); } /* Display I/O stats */ @@ -2373,13 +2366,13 @@ /* Display kernel table stats */ if (DISPLAY_KTAB(actflag)) { again += write_pid_ktab_stats(prev, curr, dis, disp_avg, - prev_string, curr_string, itv); + prev_string, curr_string); } /* Display scheduling priority and policy information */ if (DISPLAY_RT(actflag)) { again += write_pid_rt_stats(prev, curr, dis, prev_string, - curr_string, itv); + curr_string); } } diff -Nru sysstat-11.6.0/pr_stats.c sysstat-11.6.1/pr_stats.c --- sysstat-11.6.0/pr_stats.c 2017-08-14 06:25:38.000000000 +0000 +++ sysstat-11.6.1/pr_stats.c 2017-11-01 08:43:42.000000000 +0000 @@ -467,12 +467,10 @@ * @a Activity structure with statistics. * @prev Index in array where stats used as reference are. * @curr Index in array for current sample statistics. - * @itv Interval of time in jiffies. * @dispavg TRUE if displaying average statistics. *************************************************************************** */ -void stub_print_memory_stats(struct activity *a, int prev, int curr, - unsigned long long itv, int dispavg) +void stub_print_memory_stats(struct activity *a, int prev, int curr, int dispavg) { struct stats_memory *smc = (struct stats_memory *) a->buf[curr]; @@ -679,7 +677,7 @@ __print_funct_t print_memory_stats(struct activity *a, int prev, int curr, unsigned long long itv) { - stub_print_memory_stats(a, prev, curr, itv, FALSE); + stub_print_memory_stats(a, prev, curr, FALSE); } /* @@ -696,7 +694,7 @@ __print_funct_t print_avg_memory_stats(struct activity *a, int prev, int curr, unsigned long long itv) { - stub_print_memory_stats(a, prev, curr, itv, TRUE); + stub_print_memory_stats(a, prev, curr, TRUE); } /* @@ -2523,7 +2521,6 @@ * IN: * @a Activity structure with statistics. * @curr Index in array for current sample statistics. - * @itv Interval of time in jiffies. * @dispavg TRUE if displaying average statistics. *************************************************************************** */ diff -Nru sysstat-11.6.0/rd_stats.c sysstat-11.6.1/rd_stats.c --- sysstat-11.6.0/rd_stats.c 2017-08-14 06:25:38.000000000 +0000 +++ sysstat-11.6.1/rd_stats.c 2017-11-01 08:43:42.000000000 +0000 @@ -2097,7 +2097,8 @@ { FILE *fp; char line[512], fs_name[128], mountp[256]; - int fs = 0; + int fs = 0, skip = 0, skip_next = 0; + char *pos = 0; struct stats_filesystem *st_filesystem_i; struct statvfs buf; @@ -2105,7 +2106,21 @@ return; while ((fgets(line, sizeof(line), fp) != NULL) && (fs < nbr)) { + /* + * Ignore line if the preceding line did not contain '\n'. + * (Some very long lines may be found for instance when + * overlay2 filesystem with docker is used). + */ + skip = skip_next; + skip_next = (strchr(line, '\n') == NULL); + if (skip) + continue; + if (line[0] == '/') { + /* Find field separator position */ + pos = strchr(line, ' '); + if (pos == NULL) + continue; /* Read current filesystem name */ sscanf(line, "%127s", fs_name); @@ -2118,7 +2133,7 @@ * from the fs name. This will result in a bogus name * and following statvfs() function will always fail. */ - sscanf(strchr(line, ' ') + 1, "%255s", mountp); + sscanf(pos + 1, "%255s", mountp); /* Replace octal codes */ oct2chr(mountp); diff -Nru sysstat-11.6.0/sadc.c sysstat-11.6.1/sadc.c --- sysstat-11.6.0/sadc.c 2017-08-14 06:25:38.000000000 +0000 +++ sysstat-11.6.1/sadc.c 2017-11-01 08:43:42.000000000 +0000 @@ -52,8 +52,10 @@ #include "sensors/error.h" #endif +#ifdef USE_SCCSID #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } +#endif long interval = 0; unsigned int flags = 0; diff -Nru sysstat-11.6.0/sadf.c sysstat-11.6.1/sadf.c --- sysstat-11.6.0/sadf.c 2017-08-14 06:25:38.000000000 +0000 +++ sysstat-11.6.1/sadf.c 2017-11-01 08:43:42.000000000 +0000 @@ -41,8 +41,10 @@ # define _(string) (string) #endif +#ifdef USE_SCCSID #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } +#endif long interval = -1, count = 0; diff -Nru sysstat-11.6.0/sadf_misc.c sysstat-11.6.1/sadf_misc.c --- sysstat-11.6.0/sadf_misc.c 2017-08-14 06:25:38.000000000 +0000 +++ sysstat-11.6.1/sadf_misc.c 2017-11-01 08:43:42.000000000 +0000 @@ -880,7 +880,7 @@ p = get_activity_position(act, id_seq[i], EXIT_IF_NOT_FOUND); printf("%02d: %s\t(x%d)", act[p]->id, act[p]->name, act[p]->nr); - if (act[p]->f_count2 || (act[p]->nr2 > 1)) { + if (IS_MATRIX(act[p]->options)) { printf("\t(x%d)", act[p]->nr2); } if (act[p]->magic == ACTIVITY_MAGIC_UNKNOWN) { diff -Nru sysstat-11.6.0/sa.h sysstat-11.6.1/sa.h --- sysstat-11.6.0/sa.h 2017-08-14 06:25:38.000000000 +0000 +++ sysstat-11.6.1/sa.h 2017-11-01 08:43:42.000000000 +0000 @@ -602,6 +602,10 @@ * distinct item for this activity (sadf -g). */ #define AO_GRAPH_PER_ITEM 0x40 +/* + * Indicate that this activity may have sub-items. + */ +#define AO_MATRIX 0x80 #define IS_COLLECTED(m) (((m) & AO_COLLECTED) == AO_COLLECTED) #define IS_SELECTED(m) (((m) & AO_SELECTED) == AO_SELECTED) @@ -610,6 +614,7 @@ #define CLOSE_MARKUP(m) (((m) & AO_CLOSE_MARKUP) == AO_CLOSE_MARKUP) #define HAS_MULTIPLE_OUTPUTS(m) (((m) & AO_MULTIPLE_OUTPUTS) == AO_MULTIPLE_OUTPUTS) #define ONE_GRAPH_PER_ITEM(m) (((m) & AO_GRAPH_PER_ITEM) == AO_GRAPH_PER_ITEM) +#define IS_MATRIX(m) (((m) & AO_MATRIX) == AO_MATRIX) #define _buf0 buf[0] diff -Nru sysstat-11.6.0/sar.c sysstat-11.6.1/sar.c --- sysstat-11.6.0/sar.c 2017-08-14 06:25:38.000000000 +0000 +++ sysstat-11.6.1/sar.c 2017-11-01 08:43:42.000000000 +0000 @@ -42,8 +42,10 @@ #define _(string) (string) #endif +#ifdef USE_SCCSID #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } +#endif /* Interval and count parameters */ long interval = -1, count = 0; diff -Nru sysstat-11.6.0/sysstat-11.6.0.lsm sysstat-11.6.1/sysstat-11.6.0.lsm --- sysstat-11.6.0/sysstat-11.6.0.lsm 2017-08-14 06:40:20.000000000 +0000 +++ sysstat-11.6.1/sysstat-11.6.0.lsm 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -Begin4 -Title: sysstat - the sar, sadf, mpstat, iostat, tapestat, pidstat and cifsiostat commands for Linux -Version: 11.6.0 -Entered-date: 2017-08-14 -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: sysstat@NOSPAM.orange.fr (Sebastien Godard) -Maintained-by: sysstat@NOSPAM.orange.fr (Sebastien Godard) -Primary-site: http://pagesperso-orange.fr/sebastien.godard/ - 602kiB sysstat-11.6.0.tar.gz - 513kiB sysstat-11.6.0.tar.bz2 - 458kiB sysstat-11.6.0.tar.xz - 610kiB sysstat-11.6.0-1.src.rpm - 357kiB sysstat-11.6.0-1.x86_64.rpm -Alternate-site: -Copying-policy: GPL -End diff -Nru sysstat-11.6.0/sysstat-11.6.0.spec sysstat-11.6.1/sysstat-11.6.0.spec --- sysstat-11.6.0/sysstat-11.6.0.spec 2017-08-14 06:32:03.000000000 +0000 +++ sysstat-11.6.1/sysstat-11.6.0.spec 1970-01-01 00:00:00.000000000 +0000 @@ -1,81 +0,0 @@ -Summary: SAR, SADF, MPSTAT, IOSTAT, TAPESTAT, PIDSTAT and CIFSIOSTAT for Linux -Name: sysstat -Version: 11.6.0 -Release: 1 -License: GPL -Group: Applications/System -Source0: %{name}-%{version}.tar.gz -URL: http://pagesperso-orange.fr/sebastien.godard/ -Packager: Sebastien Godard -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. - -%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 -Nru sysstat-11.6.0/sysstat-11.6.1.lsm sysstat-11.6.1/sysstat-11.6.1.lsm --- sysstat-11.6.0/sysstat-11.6.1.lsm 1970-01-01 00:00:00.000000000 +0000 +++ sysstat-11.6.1/sysstat-11.6.1.lsm 2017-11-01 08:48:15.000000000 +0000 @@ -0,0 +1,35 @@ +Begin4 +Title: sysstat - the sar, sadf, mpstat, iostat, tapestat, pidstat and cifsiostat commands for Linux +Version: 11.6.1 +Entered-date: 2017-11-01 +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: sysstat@NOSPAM.orange.fr (Sebastien Godard) +Maintained-by: sysstat@NOSPAM.orange.fr (Sebastien Godard) +Primary-site: http://pagesperso-orange.fr/sebastien.godard/ + 460kiB sysstat-11.6.1.tar.xz +Alternate-site: +Copying-policy: GPL +End diff -Nru sysstat-11.6.0/sysstat-11.6.1.spec sysstat-11.6.1/sysstat-11.6.1.spec --- sysstat-11.6.0/sysstat-11.6.1.spec 1970-01-01 00:00:00.000000000 +0000 +++ sysstat-11.6.1/sysstat-11.6.1.spec 2017-11-01 08:45:34.000000000 +0000 @@ -0,0 +1,81 @@ +Summary: SAR, SADF, MPSTAT, IOSTAT, TAPESTAT, PIDSTAT and CIFSIOSTAT for Linux +Name: sysstat +Version: 11.6.1 +Release: 1 +License: GPL +Group: Applications/System +Source0: %{name}-%{version}.tar.gz +URL: http://pagesperso-orange.fr/sebastien.godard/ +Packager: Sebastien Godard +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. + +%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 -Nru sysstat-11.6.0/sysstat.sysconfig.in sysstat-11.6.1/sysstat.sysconfig.in --- sysstat-11.6.0/sysstat.sysconfig.in 2017-06-25 06:52:15.000000000 +0000 +++ sysstat-11.6.1/sysstat.sysconfig.in 2017-10-15 06:41:05.000000000 +0000 @@ -12,7 +12,7 @@ # which are used for the generation of log files. SADC_OPTIONS="@COLLECT_ALL@ @SADC_OPT@" -# Directory where sa and sar files are saved. +# Directory where sa and sar files are saved. The directory must exist. SA_DIR=@SA_DIR@ # Compression program to use. diff -Nru sysstat-11.6.0/tapestat.c sysstat-11.6.1/tapestat.c --- sysstat-11.6.0/tapestat.c 2017-08-14 06:25:38.000000000 +0000 +++ sysstat-11.6.1/tapestat.c 2017-11-01 08:43:42.000000000 +0000 @@ -58,8 +58,10 @@ #define _(string) (string) #endif +#ifdef USE_SCCSID #define SCCSID "@(#)sysstat-" VERSION ": " __FILE__ " compiled " __DATE__ " " __TIME__ char *sccsid(void) { return (SCCSID); } +#endif int cpu_nr = 0; /* Nb of processors on the machine */ int flags = 0; /* Flag for common options and system state */