summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2019-06-16 03:00:29 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2019-06-16 19:44:42 +0200
commit10a32973893f5229c963241b6339ecab05b6098e (patch)
treeae6c6a518d2a3af948585d8b35101d679b14aeff /gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch
parentfa67073f13a889589b4b0207e83891fe9226f2dc (diff)
downloadguix-patches-10a32973893f5229c963241b6339ecab05b6098e.tar
guix-patches-10a32973893f5229c963241b6339ecab05b6098e.tar.gz
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.
Diffstat (limited to 'gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch')
-rw-r--r--gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch48
1 files changed, 48 insertions, 0 deletions
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 0000000000..0b59387dc9
--- /dev/null
+++ b/gnu/packages/patches/dstat-fix-crash-when-specifying-delay.patch
@@ -0,0 +1,48 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+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 <falko@uw.edu>
+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