guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/04: gnu: dstat: Add two patches, fix two bugs.


From: guix-commits
Subject: 03/04: gnu: dstat: Add two patches, fix two bugs.
Date: Sun, 16 Jun 2019 13:45:40 -0400 (EDT)

nckx pushed a commit to branch master
in repository guix.

commit 10a32973893f5229c963241b6339ecab05b6098e
Author: Tobias Geerinckx-Rice <address@hidden>
Date:   Sun Jun 16 03:00:29 2019 +0200

    gnu: dstat: Add two patches, fix two bugs.
    
    * gnu/packages/admin.scm (dstat)[source]: Add patches.
    * gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch,
    gnu/packages/patches/dstat-skip-devices-without-io.patch: New files.
    * gnu/local.mk (dist_patch_DATA): Add them.
---
 gnu/local.mk                                       |  2 +
 gnu/packages/admin.scm                             |  4 +-
 .../dstat-fix-crash-when-specifying-delay.patch    | 48 ++++++++++++++++++++++
 .../patches/dstat-skip-devices-without-io.patch    | 32 +++++++++++++++
 4 files changed, 85 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 5b6dd31..da3245e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -753,6 +753,8 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/docker-use-fewer-modprobes.patch                \
   %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
   %D%/packages/patches/doxygen-test.patch                      \
+  %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch     \
+  %D%/packages/patches/dstat-skip-devices-without-io.patch     \
   %D%/packages/patches/dvd+rw-tools-add-include.patch          \
   %D%/packages/patches/elfutils-tests-ptrace.patch             \
   %D%/packages/patches/elixir-path-length.patch                        \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index a897afd..4ae0733 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2133,7 +2133,9 @@ results (ndiff), and a packet generation and response 
analysis tool (nping).")
              (commit (string-append "v" version))))
        (file-name (git-file-name "dstat" version))
        (sha256
-        (base32 "1qnmkhqmjd1m3if05jj29dvr5hn6kayq9bkkkh881w472c0zhp8v"))))
+        (base32 "1qnmkhqmjd1m3if05jj29dvr5hn6kayq9bkkkh881w472c0zhp8v"))
+       (patches (search-patches "dstat-fix-crash-when-specifying-delay.patch"
+                                "dstat-skip-devices-without-io.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no make check
diff --git a/gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch 
b/gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch
new file mode 100644
index 0000000..0b59387
--- /dev/null
+++ b/gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch
@@ -0,0 +1,48 @@
+From: Tobias Geerinckx-Rice <address@hidden>
+Date: Sun, 16 Jun 2019 02:34:10 +0200
+Subject: [PATCH] gnu: dstat: Fix crash when specifying a delay.
+
+Taken verbatim from a pull request[0] that will never be merged.
+
+[0]: https://github.com/dagwieers/dstat/pull/167
+
+From 220a785321b13b6df92a536080aca6ef1cb644ad Mon Sep 17 00:00:00 2001
+From: Falko Goettsch <address@hidden>
+Date: Mon, 11 Mar 2019 20:12:49 -0700
+Subject: [PATCH] Fixed bug when specifying a delay
+
+The division in the 'loop' calculation in perform() was returning floating 
point values
+after the migration to Python 3, rather than rounding down. Changed to floor 
division.
+
+I think the floating point values kept 'loop == 0' from ever being
+true and the variables inside that conditional were never initialized,
+causing the following error when a delay other than 1 was specified:
+
+You did not select any stats, using -cdngy by default.
+Traceback (most recent call last):
+  File "/home/falko/repos/dstat/dstat", line 2825, in <module>
+    main()
+  File "/home/falko/repos/dstat/dstat", line 2684, in main
+    scheduler.run()
+  File "/home/falko/.conda/envs/python3/lib/python3.7/sched.py", line 151, in 
run
+    action(*argument, **kwargs)
+  File "/home/falko/repos/dstat/dstat", line 2729, in perform
+    oldcols = cols
+NameError: name 'cols' is not defined
+---
+ dstat | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dstat b/dstat
+index 9359965..3b4980f 100755
+--- a/dstat
++++ b/dstat
+@@ -2697,7 +2697,7 @@ def perform(update):
+ 
+         starttime = time.time()
+ 
+-        loop = (update - 1 + op.delay) / op.delay
++        loop = (update - 1 + op.delay) // op.delay
+         step = ((update - 1) % op.delay) + 1
+ 
+         ### Get current time (may be different from schedule) for debugging
diff --git a/gnu/packages/patches/dstat-skip-devices-without-io.patch 
b/gnu/packages/patches/dstat-skip-devices-without-io.patch
new file mode 100644
index 0000000..eb0910f
--- /dev/null
+++ b/gnu/packages/patches/dstat-skip-devices-without-io.patch
@@ -0,0 +1,32 @@
+From: Tobias Geerinckx-Rice <address@hidden>
+Date: Sun, 16 Jun 2019 02:36:23 +0200
+Subject: [PATCH] gnu: dstat: Skip devices without I/O.
+
+Taken verbatim from a pull request[0] that will never be merged.
+
+[0]: https://github.com/dagwieers/dstat/pull/164
+
+From 0988589ea4ee092b285bd4049d56add5f61e3f69 Mon Sep 17 00:00:00 2001
+From: Tobias Gruetzmacher <address@hidden>
+Date: Fri, 15 Feb 2019 18:46:57 +0100
+Subject: [PATCH] Skip devices without I/O
+
+Linux 4.18+ has added more fields to the diskstats proc file, so the
+original skip condition for devices without I/O didn't apply anymore.
+---
+ dstat | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dstat b/dstat
+index 9359965..5c2fb53 100755
+--- a/dstat
++++ b/dstat
+@@ -763,7 +763,7 @@ class dstat_disk(dstat):
+         ret = []
+         for l in self.splitlines():
+             if len(l) < 13: continue
+-            if l[3:] == ['0',] * 11: continue
++            if l[3:] == ['0',] * (len(l) - 3): continue
+             name = l[2]
+             ret.append(name)
+         for item in objlist: ret.append(item)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]