summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Legoll <vincent.legoll@gmail.com>2020-03-15 21:25:54 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-03-20 19:15:52 +0100
commit12eb7bb8af3272bb1f16a9b73a3232e1294bd56f (patch)
tree950cd5b820db11afb13a9d8e1f1ed23f28ecb309
parentad64b09df4bcf0a57753c9ad2cdd442b78e205d3 (diff)
gnu: Add blktrace.
* gnu/packages/linux.scm (blktrace): New variable. * gnu/packages/patches/blktrace-use-rmtree.patch: Add file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/linux.scm43
-rw-r--r--gnu/packages/patches/blktrace-use-rmtree.patch32
3 files changed, 77 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 4fc1818ed4..0207c7547d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -27,6 +27,7 @@
# Copyright © 2019 Brett Gilio <brettg@gnu.org>
# Copyright © 2019 Amin Bandali <mab@gnu.org>
# Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
+# Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
#
# This file is part of GNU Guix.
#
@@ -766,6 +767,7 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
+ %D%/packages/patches/blktrace-use-rmtree.patch \
%D%/packages/patches/bluez-CVE-2020-0556.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 0e649d0fe3..12da3c8f63 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4012,6 +4012,49 @@ system calls, important for the performance of databases and other advanced
applications.")
(license license:lgpl2.1+)))
+(define-public blktrace
+ ;; Take a newer commit to get the fix for CVE-2018-10689.
+ (let ((commit "f4f8ef7cdea138cfaa2f3ca0ee31fa23d3bcf1cc")
+ (revision "0"))
+ (package
+ (name "blktrace")
+ (version (git-version "1.2.0" revision commit))
+ (home-page
+ "https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32 "1ihdfimg7mfcgdm6l09xfqx5kdyv42x743dxp3z3w65q5vd7xy89"))
+ (file-name (git-file-name name version))
+ (patches (search-patches "blktrace-use-rmtree.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags
+ (list "CC=gcc" (string-append "prefix=" %output))
+ #:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-after 'unpack 'fix-gnuplot-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gnuplot (assoc-ref inputs "gnuplot")))
+ (substitute* "btt/bno_plot.py"
+ (("gnuplot %s")
+ (string-append gnuplot "/bin/gnuplot %s")))
+ #t))))))
+ (inputs
+ `(("libaio" ,libaio)
+ ("gnuplot" ,gnuplot)
+ ("python" ,python-wrapper))) ;for 'bno_plot.py'
+ (synopsis "Block layer IO tracing mechanism")
+ (description "Blktrace is a block layer IO tracing mechanism which provides
+detailed information about request queue operations to user space. It extracts
+event traces from the kernel (via the relaying through the debug file system).")
+ (license license:gpl2))))
+
(define-public sbc
(package
(name "sbc")
diff --git a/gnu/packages/patches/blktrace-use-rmtree.patch b/gnu/packages/patches/blktrace-use-rmtree.patch
new file mode 100644
index 0000000000..bb0a10da72
--- /dev/null
+++ b/gnu/packages/patches/blktrace-use-rmtree.patch
@@ -0,0 +1,32 @@
+From 6d1ce4a3a1a561644695a50c00cbd28494728061 Mon Sep 17 00:00:00 2001
+From: Vincent Legoll <vincent.legoll@gmail.com>
+Date: Mon, 16 Mar 2020 11:43:19 +0100
+Subject: [PATCH 02/10] bno_plot.py: Use shutil.rmtree() instead of
+ os.system('/bin/rm')
+
+---
+ btt/bno_plot.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/btt/bno_plot.py b/btt/bno_plot.py
+index f05cfdc..36fc524 100644
+--- a/btt/bno_plot.py
++++ b/btt/bno_plot.py
+@@ -40,7 +40,7 @@ To exit the plotter, enter 'quit' or ^D at the 'gnuplot> ' prompt.
+
+ from __future__ import absolute_import
+ from __future__ import print_function
+-import getopt, glob, os, sys, tempfile
++import getopt, glob, os, sys, tempfile, shutil
+
+ verbose = 0
+ cmds = """
+@@ -125,4 +125,4 @@ if __name__ == '__main__':
+ sys.exit(1)
+
+ os.waitpid(pid, 0)
+- os.system('/bin/rm -rf ' + tmpdir)
++ shutil.rmtree(tmpdir)
+--
+2.20.1
+